svn commit: r359685 - in head: . etc lib/libc/gen share/mk share/termcap usr.bin/login usr.bin/vgrind usr.sbin/services_mkdb

Maxim Sobolev sobomax at freebsd.org
Wed Apr 8 23:01:47 UTC 2020


On Tue, Apr 7, 2020 at 3:37 AM Rodney W. Grimes <freebsd at gndrsh.dnsmgr.net>
wrote:

> > Author: sobomax
> > Date: Tue Apr  7 02:46:22 2020
> > New Revision: 359685
> > URL: https://svnweb.freebsd.org/changeset/base/359685
> >
> > Log:
> >   Normalize deployment tools usage and definitions by putting into one
> place
> >   instead of sprinkling them out over many disjoint files. This is a
> follow-up
> >   to achieve the same goal in an incomplete rev.348521.
>
> I have concerns that this factoring out of 5 values that have not changed
> in 25 years is a pessimization, it is one more file that make has to
> open on each invocation.
>

Well, luckily enough the cost of opening a file has been exponentially
declining over those 25 years, so we are probably many-orders of magnitude
faster than  we used to be back in 1995. Or so I've heard. :)

Having those variables defined in a centralized manner allows us here for
example to convert the result of what would be
installworld/installkernel/distribution action into a self-extracting
archive (optionally signed) with automatically generated script, which does
the action in question. As such, we can now build in a completely sandboxed
environment with 0 privileges (potentially even on something completely
alien like GNU/Linux) and then deploy it to as many systems as we need or
use to create VM images / Jails.

https://github.com/sobomax/sysmaker/blob/master/makeargs/distribution.sub
https://github.com/sobomax/sysmaker/blob/master/makeargs/installkernel.sub
https://github.com/sobomax/sysmaker/blob/master/makeargs/installworld.sub

I have very few reasons to believe that our needs to be unique in this, I
am pretty sure others will find some interesting use for this as well (e.g.
signing binaries being installed, etc).

-Max


More information about the svn-src-all mailing list