nosh is now up to version 1.17


As I said to gdiazhartusch a while back, and as listed on the roadmap page, there is now a tool for auto-creating the mount@*, fsck@*, ttylogin@*, dump@*, and swap@* service bundles from /etc/ttys and /etc/fstab, and propagating settings from /etc/rc.conf{,.local} to service bundle env/ directories. This is documented in the Nosh Guide, in the section on external formats. It involves the use of redo, as I just mentioned in the release annoucement for redo 1.2, because it's a suite of redo scripts that endeavour to re-import the settings only when the source files change. An important design choice, called out in the introduction to the Nosh Guide, is that this is not a system of continually-regenerated ephemera.

The Nosh Guide introduction has been completely rewritten, by the way.

The external formats import relies upon rcctl, which now has the full implementation of "set" and "get" that was promised in the roadmap. Note the caveat in the manual about not using "set" on a "status" variable. That's an OpenBSD idiosyncrasy that wouldn't be correct for FreeBSD even with the original tool. Use "enable" and "disable". They'll work.

Part of importing /etc/fstab is generating appropriate dump@* and swap@* service bundles. You'll note that swapauto and swaplate are no longer services but targets. As services, they relied upon options to "swapon" and were one giant lump. As targets, they pull in all of the generated swap@* services which are individually enabled. Also note that whilst the pre-built mount@-, fsck@-, mount@-usr, fsck@-usr, mount@-var, and fsck@-var service bundles are still supplied, the auto-creation system (or something similar) is meant to supersede them with bundles that match your /etc/fstab after system installation.

Those aren't the only service bundle changes. There's the steady chipping away at that list of 157 rc.d scripts, which has just lost off its list a few pf services and savecore amongst other things. You might be wondering why mountcritlocal and mountcritremote are still there. The new auto-creation system makes mount@* and fsck@* bundles, and links them into targets, after all. The answer is that those FreeBSD rc.d scripts (like several others) have had some feature creep, and mounting is not all that they in fact do. There's some temporary files cleanup in there, for example.

Which leaves just the last major change, which is the /etc/ subdirectories. /etc/system-manager/targets and /etc/sv have been brought together as /etc/service-bundles/targets and /etc/service-bundles/services. And /etc/system-manager/presets is now the better named /etc/system-control/presets as this is a function of the latter tool not of the former. The post-upgrade scripts in the binary packages will move the directories and create appropriate symbolic links in the right places. If you are building from source and hand-installing ... well look at what the post-upgrade scripts do, since they are right there in the source package, and do that. (-:

Reply via email to