Packages and ports

Here are some tips for people wanting to make packages, or to add nosh service bundles to existing packages or ports.

Converting systemd units

One approach to adding a service bundle to an existing package or port is to convert an existing systemd service or socket unit that comes with the bundle as part of its build process. There are several things that the convert-systemd-units command does not do:

The problem of down files

When it comes to making pre-packaged service bundles, down files are a problem in two ways:

There are two approaches to dealing with this. One can arrange for the post-installation and post-upgrade scripts for one's package to explicitly preset all services at every install, reinstall, or upgrade; this matching the installing-package-enables-services philosophy of some operating systems. Or one can arrange for the post-installation and post-upgrade scripts for one's package to attempt to bring the mechanisms back into synch, usually by bringing the down file into synch with the wants/ and conflicts/ symbolic links rather than the converse.

Porting the toolset to other operating systems

The toolset is packaged as multiple binary packages built from a single source package.

For operating systems outwith the core ones that have binary packages built for them by the author, the source package requires patching. This is in two general areas: