redtamarin icon indicating copy to clipboard operation
redtamarin copied to clipboard

debian package under Mac OS X 10.10.5

Open zwetan opened this issue 9 years ago • 6 comments

after installing dpkg with MacPorts sudo port install dpkg

when invoking dpkg we get this error

dpkg: warning: '/opt/local/bin/gnutar' not found in PATH or not executable
dpkg: warning: 1 expected program not found in PATH or not executable
Note: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin

we can not install sudo dpkg -i redtamarin-sdk_0.4.1_darwin-amd64.deb

or uninstall sudo dpkg -r redtamarin-sdk_0.4.1_darwin-amd64.deb

zwetan avatar Feb 03 '16 21:02 zwetan

workaround use --force-all

this will force the install of the deb package sudo dpkg --force-all -i redtamarin-sdk_0.4.1_darwin-amd64.deb

and this will force the uninstall of the deb package sudo dpkg --force-all -r redtamarin-sdk_0.4.1_darwin-amd64.deb

the warning will add this line

dpkg: warning: overriding problem because --force enabled:

but then everything get installed/uninstalled as planed

zwetan avatar Feb 03 '16 21:02 zwetan

It would be nice to know if it happen on other Mac OS X like 10.9, 10.11, etc. and/or if it happen when dpkg is installed with homebrew vs macports

zwetan avatar Feb 03 '16 21:02 zwetan

This is still an issue with Mac OS X 10.13.6 with MacPorts

Darwin Vlads-iMac 17.7.0 Darwin Kernel Version 17.7.0: Thu Jun 21 22:53:14 PDT 2018; root:xnu-4570.71.2~1/RELEASE_X86_64 x86_64

usptact avatar Sep 05 '18 18:09 usptact

on macOS 10.13 it will be worse as you can not install under the /usr/bin path

the plan is to abandon deb package for macOS and produce only pkg installers

see produce pkg packages for Mac OS

also we will have 2 type of installers

  • pre macOS 10.13 which install in /usr/bin both 32-bit and 64-bit that is for
    • OS X 10.9 Mavericks
    • OS X 10.10 Yosemite
    • OS X 10.11 El Capitan
    • macOS 10.12 Sierra
  • from macOS 10.13 which install in /usr/local/bin no more 32-bit release for macOS 10.13 and later
    • macOS 10.13 High Sierra
    • macOS 10.14 Mojave
    • etc.

for now we did some tests on a small'ish package

as3shebang-1.1.0-HighSierra-x86_64-unsigned.pkg
as3shebang-1.1.0-HighSierra-x86_64.pkg
as3shebang-1.1.0-i386-unsigned.pkg
as3shebang-1.1.0-i386.pkg
as3shebang-1.1.0-x86_64-unsigned.pkg
as3shebang-1.1.0-x86_64.pkg

but the "HighSierra" naming probably gonna change

the same kind of work is done on other platforms (Windows, Linux) in short, the whole SDK has been modularised to produce not-only the full SDK but also update/patch per module

redtamarin-sdk_x.y.z_{ARCH}
       |_ redtamarin_x.y.z_{ARCH}
       |     |_ redtamarin-cli_x.y.z_{ARCH}
       |     |_ redshell_x.y.z_{ARCH}
       |     |_ projectormake_x.y.z_{ARCH}
       |_ redbean_x.y.z_{ARCH}
       |     |_ asc1-cli_x.y.z_{ARCH}
       |     |_ asc2-cli_x.y.z_{ARCH}
       |_ redshell-linux_x.y.z_{ARCH}
       |_ redshell-macintosh_x.y.z_{ARCH}
       |_ redshell-windows_x.y.z_{ARCH}
       |_ redtamarin-binfmt_x.y.z_{ARCH}
       |_ as3shebang_x.y.z_{ARCH}
       |_ distro-cli_x.y.z_{ARCH}

so you could install redtamarin-sdk_0.4.2_HighSierra-x86_64.pkg but later on upgrade only one of the component while waiting for a new SDK

the components included or optional and the naming is not finalised yet, that said macOS 10.13 is taken under consideration and tested so the problem you experienced will not happen again.

zwetan avatar Sep 05 '18 19:09 zwetan

any update for this, got same issue here

prakasa1904 avatar Sep 06 '18 00:09 prakasa1904

I can not announce a release date for 0.4.2 yet but if you are really stuck with 0.4.1 and macOS 10.13 here a workaround

extract the .deb package in a temporary directory $ ar -x redtamarin-sdk_0.4.1-1_darwin-amd64.deb

then you will have a list of files

control.tar.gz
data.tar.xz
debian-binary

extract the .tar.xz archive $ xz -d data.tar.xz

then extract the .tar archive $ tar xopf data.tar

now you will have in the current directory this file structure

usr/
├── bin
├── lib
│   └── redtamarin
│       ├── bin
│       │   ├── redbean
│       │   └── redtamarin
│       ├── lib
│       │   ├── redbeanlib.abc
│       │   ├── redbeanlib.swc
│       │   ├── redtamarin.abc
│       │   └── redtamarin.swc
│       ├── run
│       │   └── redbean.abc
│       ├── runtimes
│       │   └── redshell
│       │       ├── linux
│       │       │   ├── 32
│       │       │   │   ├── redshell
│       │       │   │   ├── redshell_d
│       │       │   │   └── redshell_dd
│       │       │   └── 64
│       │       │       ├── redshell
│       │       │       ├── redshell_d
│       │       │       └── redshell_dd
│       │       ├── macintosh
│       │       │   ├── 32
│       │       │   │   ├── redshell
│       │       │   │   ├── redshell_d
│       │       │   │   └── redshell_dd
│       │       │   └── 64
│       │       │       ├── redshell
│       │       │       ├── redshell_d
│       │       │       └── redshell_dd
│       │       └── windows
│       │           ├── 32
│       │           │   ├── redshell.exe
│       │           │   ├── redshell_d.exe
│       │           │   └── redshell_dd.exe
│       │           └── 64
│       │               ├── redshell.exe
│       │               ├── redshell_d.exe
│       │               └── redshell_dd.exe
│       └── support
│           ├── asc.jar
│           └── asc2.jar
└── share
    ├── doc
...

copy the same structure so instead of ending up with /usr/lib/redtamarin instead you get /usr/local/lib/redtamarin

then in /usr/local/bin/ you will have to create shell wrappers

/usr/local/bin/redshell

#!/bin/bash
/usr/local/lib/redtamarin/runtimes/redshell/macintosh/64/redshell $@

/usr/local/bin/redshell_d

#!/bin/bash
/usr/local/lib/redtamarin/runtimes/redshell/macintosh/64/redshell_d $@

/usr/local/bin/redshell_dd

#!/bin/bash
/usr/local/lib/redtamarin/runtimes/redshell/macintosh/64/redshell_dd $@

/usr/local/bin/redtamarin

#!/bin/bash
/usr/local/lib/redtamarin/bin/redtamarin $@

/usr/local/bin/redbean

#!/bin/bash
/usr/local/lib/redtamarin/bin/redbean $@

zwetan avatar Sep 06 '18 01:09 zwetan