|README(7)||Miscellaneous Information Manual||README(7)|
jorts — june's
This is my own personal ports tree for macOS (though I suspect it could work elsewhere). It's based on these big brain ideas:
- Sources get vendored. Either from release tarballs or with git-subtree(1). This allows dead simple local patching and inspection of the code currently installed, like /usr/src. It makes the tree entirely self-contained.
- Produce simple package tarballs. They're literally just the contents of
DESTDIRafter staging install. They can be uninstalled by removing the paths inside from the system. They're their own packing lists.
- Track installed packages with symbolic links to specific package tarballs. Keep old tarballs around for rollbacks. See what's currently installed with just ls(1)!
- Use bmake(1). It's scrutable.
- No GNU software. Unless I have no choice.
- Shell script to build and install bmake(1), then use bmake(1) to install itself.
- Shell script to install ports and their dependencies.
- Shell script to uninstall ports and their unneeded dependencies.
- Shell script to check for outdated ports against Repology.
- The guts.
See what's installed:
$ ls -l */Installed
To use sparse checkout, optionally clone with
--sparse and run:
$ git sparse-checkout set '/*' '!/*/src'
Source trees will automatically be checked out and removed in the course of building and cleaning ports.
|June 10, 2022||Causal Agency|