Re: nosh version 1.17

From: Jonathan de Boyne Pollard <>
Date: Sun, 28 Jun 2015 17:39:04 +0100

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_at_*, fsck@*,
ttylogin_at_*, 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_at_* 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_at_* services which are individually enabled. Also note that whilst
the pre-built mount_at_-, fsck_at_-, mount_at_-usr, fsck_at_-usr, mount_at_-var, and
fsck_at_-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_at_* 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. (-:
Received on Sun Jun 28 2015 - 16:39:04 UTC

This archive was generated by hypermail 2.3.0 : Sun May 09 2021 - 19:44:19 UTC