-
Notifications
You must be signed in to change notification settings - Fork 7
quickstart macos
Ravenports requires bootstrapping on each supported platform. For MacOS, the only supported platform is x86_64 (forward compatible from High Sierra (10.13.6) and later).
The Mac operating system is missing some key technologies found in FreeBSD, DragonFly, Linux and Solaris. Namely these are null mounts (mount --bind in linux) and tmpfs. The initial version of ravenadm works around this by using OSX FUSE with bindfs and building without any RAM filesystems. The OSX FUSE is not robust and causes freezes after a couple of ports are built, and it freezes more during parallel building. Building thus is currently usable for regular users.
The plan is to add capability for Ravenports to function on non-NULL mount systems (like MacOS and OpenBSD) by creating semi-permanent build environments using NFS mounts for common resources. Once this is complete, building on MacOS should be robust and suitable for anyone.
A static version of pkg(8) has been built for Mac High Sierra and later. It has been prepackaged along with an initial configuration file to allow for quick installation. To obtain the tarball, grab it at www.ravenports.com/repository/raven-darwin-bootstrap.tar.gz
To extract the contents to /raven, e.g:
cd ~/Downloads
sudo tar -xzf raven-darwin-bootstrap.tar.gz -C /
The following files should be installed now:
/raven/etc/pkg.conf
/raven/etc/pkg/repos/01_raven.conf
/raven/sbin/pkg
/raven/sbin/pkg-static
As root, edit the profile to alter path
vi ~/.bash_profile
append with line something like:
export PATH=$PATH:/raven/sbin:/raven/bin
Then open a new terminal and check:
printenv PATH
It's important to set the path now because some installation scripts may assume raven-specific executables are available during install time.
sudo pkg upgrade
sudo pkg install -y gmake-single-standard
- RPG Ch. 1: Introduction
- RPG Ch. 2: Making a new port
- RPG Ch. 3: Specification File
- RPG Ch. 4: Description Files
- RPG Ch. 5: Distinfo File
- RPG Ch. 6: Manifest Files
- RPG Ch. 7: Patches, Triggers, etc
- RPG Ch. 8: Package Operations Scripts
- RPG Ch. 9: Port Options
- RPG Ch. 10: USES Modules
- RPG Ch. 11: Special Considerations
- RPG Ch. 12: Testing
- RPG Ch. 13: Updating
- RPG Ch. 14: Walk-Through