doesn't work as intended just yet, but you can see how it's put together
look at the package.tar rule in the mkfile for a usage example
it really is dirt simple:
auth/none: build as a user who has no access rights
ramfs: create a /tmp we can access
divergefs /: analogous to Linux's overlayfs, catches all modifications in /tmp/files
create an archive of /tmp/files and print it to stdout
caveat emptor: /env and all temporary build files are packaged too. working on a fix.
gonna switch it to use nar once i have a way of opening nar files, or i could try to create the tar file deterministically with some hacks? but ye, once it's working i'll try to write some build scripts for /sys/src/cmd.
this is _not_ going to handle dependencies, that's going into the Nix port.
oh, and i need a way to dynamically enable and disable packages.
bind won't be enough.
divergefs might work but a custom file system might perform better. it might also be a good idea to support compressing package archives, since they won't be modified anyways.
@Shamar Nix the package manager.
bind doesn't do proper overlays by itself, it's the whole reason divergefs exists.
multiple binds would become ugly very quickly.
@Shamar nah, it's quite old. I stumbled upon it while looking for an overlayfs implementation. which it is.
original author: https://www.cs.cmu.edu/~412/history/2004S/chaokul.html
found it here: https://9p.io/wiki/plan9/Contrib_index/index.html
divergefs-fix.tgz is the one that works
the way i actually found the sources was by grepping through /n/9pio/contrib
@grainloom I saw your name of sr.ht, and thought to myself “Did I misread their name all this time?”. I look up, and no. I didn't.
That begs the question, which is your official name?
Cybrespace is an instance of Mastodon, a social network based on open web protocols and free, open-source software. It is decentralized like e-mail.