Benjamin-Dobell / Heimdall

Heimdall is a cross-platform open-source tool suite used to flash firmware (aka ROMs) onto Samsung Galaxy devices.
MIT License
2.58k stars 585 forks source link

Mac OS X build need repackaging #369

Open db17 opened 8 years ago

db17 commented 8 years ago

Since El Capitan (Mac OS X 10.11), it's not anymore possible to install file in /usr/bin and /usr/lib

Installation layout should be: /Applications/heimdall-frontend.app /Library/Extensions/heimdall.kext /usr/local/bin/heimdall /usr/local/lib/libusb-1.0.dylib

d5ve commented 7 years ago

I ran into this as well on macOS Sierra. I tried to rebuild the APK, but couldn't get it to work.

What did work was to create a new partition on my hard drive, and install Heimdall on that.

I followed the "How to create a partition on your Mac" steps from http://www.imore.com/how-partition-your-mac to create an 8GB partition. This is a non-destructive process, as it just resizes the existing partition (as long as you have enough free disk space). It didn't affect my OS install at all.

Then I ran the Heimdall installation process and chose "Change Install Location", where I was able to select my new partition, where it installed fine. The application seems to work as expected.

Edit:

I installed Heimdall on a new partition mounted at /Volumes/Heimdal-temp/. Then I ran the following commands to install Heimdall on the main partition.

$ cd /Volumes/Heimdal-temp/
$ sudo cp -R Applications/heimdall-frontend.app /Applications/
$ sudo cp -R System/Library/Extensions/heimdall.kext /Library/Extensions/
$ cp usr/bin/heimdall /usr/local/bin/heimdall
$ cp usr/lib/libusb-1.0.dylib /usr/local/lib/libusb-1.0.dylib
ehartford commented 7 years ago

i cant install heimdall in Sierra

db17 commented 6 years ago

@d5ve, to manually extract files from the .pkg installer, you can also run the following commands (once Heimdall's image disk is open):

mkdir /tmp/heimdall/
cd /tmp/heimdall/
xar -xf /Volumes/Heimdall\ Suite\ 1.4.0/Heimdall\ Suite\ 1.4.0.pkg Payload
sudo tar -xf Payload    # sudo is for extracting owner/mode

Then to install, the same commands as you proposed:

sudo cp -R Applications/heimdall-frontend.app /Applications/
sudo cp -R System/Library/Extensions/heimdall.kext /Library/Extensions/
sudo cp usr/bin/heimdall /usr/local/bin/heimdall
sudo usr/lib/libusb-1.0.dylib /usr/local/lib/libusb-1.0.dylib