I like it, some comments in-line but overall I think this would have
helped me get started with siteXX stuff, so OK afresh1@

On Fri, Nov 05, 2021 at 03:19:03PM +0000, Klemens Nanni wrote:
> On Wed, Oct 27, 2021 at 07:35:28PM -0500, Aaron Poffenberger wrote:
> > Looks good. Nice to see this moving forward. Thanks.
> > 
> > On 2021-10-27 21:13 +0000, Klemens Nanni <[email protected]> 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?
> 
> I have not received any feedback on this except from Aaron.
> 
> Anyone? Anything?
> 
> Index: distrib/sets/lists/man/mi
> ===================================================================
> RCS file: /cvs/src/distrib/sets/lists/man/mi,v
> retrieving revision 1.1645
> diff -u -p -r1.1645 mi
> --- distrib/sets/lists/man/mi 2 Nov 2021 22:07:33 -0000       1.1645
> +++ distrib/sets/lists/man/mi 3 Nov 2021 02:26:16 -0000
> @@ -2561,6 +2561,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 <[email protected]>
> +.\"
> +.\" 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,

This whole sentence reads weird to me.  I don't know if this is better,
but it confused me.

     If they exist and are executable at the end of the install or
     upgrade process, /install.site or /upgrade.site respectively, are
     run with chroot(8) based at the system's root.

> +.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

I think some clarity that this should go into one of those siteXX.tgz
files as "/upgrade.site" would help folks connect how to get those files
onto the install media and make it clearer that those files get
extracted into the chroot and that you don't have to figure out how to
get them into the root of the install media.

Perhaps that is clear enough from "run [...] with chroot", but I think
this example makes things less clear, at least the way it is.


> +.Ed
> +.Sh SEE ALSO
> +.Xr autoinstall 8 ,
> +.Xr rc 8 ,
> +.Xr sysupgrade 8
> 

-- 
andrew - http://afresh1.com

Hey! It compiles! Ship it!

Reply via email to