README(7) | Miscellaneous Information Manual | README(7) |
NAME
jorts
— june's
ports
DESCRIPTION
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
DESTDIR
after 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.
FILES
- Bootstrap
- Shell script to build and install bmake(1), then use bmake(1) to install itself.
- Install
- Shell script to install ports and their dependencies.
- Uninstall
- Shell script to uninstall ports and their unneeded dependencies.
- Outdated
- Shell script to check for outdated ports against Repology.
- Port.mk
- The guts.
EXAMPLES
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.
SEE ALSO
AUTHORS
june <june@causal.agency>
June 10, 2022 | Causal Agency |