mpup
meta driver script for ports(8)
Description
If you are using CRUX, maybe sometimes you want to install an individual port
from a collection, but you do not want to checkout all the entire collection.
Just you can download the port to a 'local directory' and then add a prtdir to
your prt-get.conf file. This should be enough, but unfortunately every time you
want to update the port you couldn't use 'ports -u', and you should update this
'local directory' manually, and that's for what I wrote this tool.
mpup it's just a driver script for ports(8) that uses a list of httpup/rsync
commands to synchronize individual ports as if it were a real repository.
Installation
You can find released sources here: mpup
Usage
First of all, enable the meta collection for ports(8)
# mv /etc/ports/meta.mpup.inactive /etc/ports/meta.mpup
Now add every port you want from portdb collections to the list file (by default: /etc/mpup.lst).
For that, you should browse CRUX's portdb and use the download command returned by
portdb.
For example, I like to have mupdf from jue's collection, so I should do:
# echo 'httpup sync http://jue.li/crux/ports/#mupdf mupdf' >> /etc/mpup.lst
Then to update the meta collection just do:
# ports -u meta
Updating collection meta
Checkout: mupdf/
Checkout: mupdf/.footprint
Checkout: mupdf/.md5sum
Checkout: mupdf/Pkgfile
Finished successfully
You should repeat these steps for every port you want.
In addition, if you want to remove a port, just delete the line from the list.
For example, I removed mupdf from my /etc/mpup.lst:
# ports -u meta
Updating collection meta
Delete: mupdf/.footprint
Delete: mupdf/.md5sum
Delete: mupdf/Pkgfile
Delete: mupdf/
Finished successfully
Note that you will noticed when files are updated/deleted/added by the maintainer of a port:
# ports -u meta
Updating collection meta
Delete: mupdf/foo.diff
Edit: mupdf/.md5sum
Edit: mupdf/Pkgfile
Checkout: mupdf/README
Finished successfully
Bugs and reports
Please contact to me:
sepen @ crux.nu