redtamarin
redtamarin copied to clipboard
debian package under Mac OS X 10.10.5
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
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
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
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
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.
any update for this, got same issue here
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 $@