Looks good. Nice to see this moving forward. Thanks.

On 2021-10-27 21:13 +0000, Klemens Nanni <k...@openbsd.org> wrote:
> On Mon, Sep 06, 2021 at 02:29:50PM -0500, Aaron Poffenberger wrote:
> > Ping.
> > 
> > Will someone commit this? Seems like no one knows about /upgrade.site and it
> > fits well with sysupgrade(8).
> 
> sysupgrade(8) is one potential /upgrade.site user but I disagree about
> documenting the latter through the former.
> 
> Here is a new manual roughly merging the FAQ bits with what you, Aaron,
> provided.
> 
> site(8) is a lame but fitting name;  autoinstall(8) and sysypgrade(8)
> reference it and both sets and scripts are documented.
> 
> Examples are intentionally brief to be shorter and more concise than the
> FAQ while showing enough to get going.
> 
> 
> I am quite certain that wording, examples and the references from other
> manuals can be tweaked, but this diff looks like a good enough start
> and --if this is the way to go-- I'd prefer to commit and keep polishing
> in-tree.
> 
> Feedback? Objections? OK?
> 
> 
> Index: distrib/sets/lists/man/mi
> ===================================================================
> RCS file: /cvs/src/distrib/sets/lists/man/mi,v
> retrieving revision 1.1643
> diff -u -p -r1.1643 mi
> --- distrib/sets/lists/man/mi 21 Oct 2021 18:36:41 -0000      1.1643
> +++ distrib/sets/lists/man/mi 27 Oct 2021 20:39:11 -0000
> @@ -2558,6 +2558,7 @@
>  ./usr/share/man/man8/security.8
>  ./usr/share/man/man8/sendmail.8
>  ./usr/share/man/man8/sensorsd.8
> +./usr/share/man/man8/site.8
>  ./usr/share/man/man8/sftp-server.8
>  ./usr/share/man/man8/showmount.8
>  ./usr/share/man/man8/shutdown.8
> Index: usr.sbin/sysupgrade/sysupgrade.8
> ===================================================================
> RCS file: /cvs/src/usr.sbin/sysupgrade/sysupgrade.8,v
> retrieving revision 1.10
> diff -u -p -r1.10 sysupgrade.8
> --- usr.sbin/sysupgrade/sysupgrade.8  3 Oct 2019 12:43:58 -0000       1.10
> +++ usr.sbin/sysupgrade/sysupgrade.8  27 Oct 2021 20:42:26 -0000
> @@ -67,6 +67,10 @@ This is the default if the system is cur
>  Upgrade to a snapshot.
>  This is the default if the system is currently running a snapshot.
>  .El
> +.Pp
> +See
> +.Xr site 8
> +for how to customize the upgrade process.
>  .Sh FILES
>  .Bl -tag -width "/auto_upgrade.conf" -compact
>  .It Pa /auto_upgrade.conf
> @@ -83,7 +87,8 @@ Directory the upgrade is downloaded to.
>  .Xr signify 1 ,
>  .Xr installurl 5 ,
>  .Xr autoinstall 8 ,
> -.Xr release 8
> +.Xr release 8 ,
> +.Xr site 8
>  .Sh HISTORY
>  .Nm
>  first appeared in
> Index: share/man/man8/Makefile
> ===================================================================
> RCS file: /cvs/src/share/man/man8/Makefile,v
> retrieving revision 1.102
> diff -u -p -r1.102 Makefile
> --- share/man/man8/Makefile   1 May 2021 16:11:10 -0000       1.102
> +++ share/man/man8/Makefile   27 Oct 2021 20:38:11 -0000
> @@ -6,7 +6,7 @@ MAN=  afterboot.8 autoinstall.8 boot_conf
>       crash.8 daily.8 \
>       diskless.8 genassym.sh.8 intro.8 netstart.8 rc.8 \
>       rc.conf.8 rc.d.8 rc.shutdown.8 rc.subr.8 release.8 \
> -     security.8 ssl.8 starttls.8 sticky.8 yp.8
> +     security.8 site.8 ssl.8 starttls.8 sticky.8 yp.8
>  
>  SUBDIR=      man8.alpha man8.amd64 man8.arm64 man8.armv7 \
>       man8.hppa man8.i386 man8.landisk \
> Index: share/man/man8/autoinstall.8
> ===================================================================
> RCS file: /cvs/src/share/man/man8/autoinstall.8,v
> retrieving revision 1.23
> diff -u -p -r1.23 autoinstall.8
> --- share/man/man8/autoinstall.8      18 Jul 2021 11:08:34 -0000      1.23
> +++ share/man/man8/autoinstall.8      27 Oct 2021 20:42:24 -0000
> @@ -32,6 +32,10 @@ file and HTTP to fetch the file.
>  If that fails, the installer asks for the location which can either be
>  a URL or a local path.
>  .Pp
> +See
> +.Xr site 8
> +for how to provide custom configuration.
> +.Pp
>  To start unattended installation or upgrade choose '(A)utoinstall' at the
>  install prompt.
>  If there is only one network interface, the installer fetches the response
> @@ -235,7 +239,8 @@ host foo {
>  .Sh SEE ALSO
>  .Xr dhcp-options 5 ,
>  .Xr dhcpd.conf 5 ,
> -.Xr diskless 8
> +.Xr diskless 8 ,
> +.Xr site 8
>  .Sh HISTORY
>  The
>  .Nm
> Index: share/man/man8/site.8
> ===================================================================
> RCS file: share/man/man8/site.8
> diff -N share/man/man8/site.8
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ share/man/man8/site.8     27 Oct 2021 21:11:48 -0000
> @@ -0,0 +1,87 @@
> +.\"     $OpenBSD: $
> +.\"
> +.\" Copyright (c) 2021 Klemens Nanni <k...@openbsd.org>
> +.\"
> +.\" Permission to use, copy, modify, and distribute this software for any
> +.\" purpose with or without fee is hereby granted, provided that the above
> +.\" copyright notice and this permission notice appear in all copies.
> +.\"
> +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
> +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
> +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
> +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
> +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
> +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
> +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
> +.\"
> +.Dd $Mdocdate: October 27 2021 $
> +.Dt SITE 8
> +.Os
> +.Sh NAME
> +.Nm site
> +.Nd OpenBSD installation and upgrade customization
> +.Sh DESCRIPTION
> +The
> +.Ox
> +installer allows user-created sets and scripts to complement
> +and modify the files from a default install prior to rebooting.
> +.Pp
> +Like the official file sets, generic
> +.Pa site${ Ns Va VERSION Ns }.tgz
> +and
> +hostname-specific
> +.Pa site${ Ns Va VERSION Ns }-$( Ns Ic hostname Fl s Ns ).tgz
> +sets are
> +.Xr gzip 1
> +compressed
> +.Xr tar 1
> +archives rooted in
> +.Pa /
> +and untarred with the
> +.Fl xzphf
> +options.
> +.Pp
> +.Nm sets
> +must be included in
> +.Pa index.txt
> +in order to be fetched via
> +HTTP(S) and selectable in the installer.
> +.Pp
> +If existent and executable,
> +.Pa /install.site
> +and
> +.Pa /upgrade.site
> +are run last during install and upgrade, respectively, with
> +.Xr chroot 8
> +based at the system's root.
> +.Sh FILES
> +.Bl -tag -width "site${VERSION}-$(hostname -s).tgz" -compact
> +.It Pa site${ Ns Va VERSION Ns }.tgz
> +Generic set.
> +.It Pa site${ Ns Va VERSION Ns }-$( Ns Ic hostname Fl s Ns ).tgz
> +Host-specific set.
> +.It Pa /upgrade.site
> +Generic post-upgrade script.
> +.It Pa /install.site
> +Generic post-install script.
> +.El
> +.Sh EXAMPLES
> +Create
> +.Nm
> +sets and update the index:
> +.Bd -literal -offset indent
> +# tar -czhf site70.tgz generic/
> +# tar -czhf site70-puffy.tgz puffy/
> +# ls -lT > index.txt
> +.Ed
> +.Pp
> +Trigger an upgrade of
> +.Xr packages 7
> +upon next boot:
> +.Bd -literal -offset indent
> +echo 'pkg_add -Iu' >>/etc/rc.firsttime
> +.Ed
> +.Sh SEE ALSO
> +.Xr autoinstall 8 ,
> +.Xr rc 8 ,
> +.Xr sysupgrade 8
> 

Reply via email to