sortix-mirror/share/man/man5/upgrade.conf.5

189 lines
5.2 KiB
Groff

.Dd January 4, 2016
.Dt UPGRADE.CONF 5
.Os
.Sh NAME
.Nm upgrade.conf
.Nd upgrade configuration
.Sh SYNOPSIS
.Nm /etc/upgrade.conf
.Sh DESCRIPTION
.Nm upgrade.conf
controls the actions taken by
.Xr sysupgrade 8
during a system upgrade as described in
.Xr upgrade 7 .
The file allows customizing whether the system itself is replaced, whether new
ports are installed, whether the new source code is installed and what happens
to the old source code.
It also records information about the system such as how the system is booted.
The file is created automatically by
.Xr sysinstall 8
as part of
.Xr installation 7
to match what was installed.
.Pp
The file also controls the actions of
.Xr tix 8
when upgrading releases and installing ports.
.Pp
Developers may wish to customize what happens to
.Pa /src
on a system upgrade.
The new source code can be installed or not.
If it is installed, it can be installed in
.Pa /newsrc
or by default in
.Pa /src .
Any existing source code will be safely moved inside a subdirectory of
.Pa /oldsrc .
.Pp
It is possible to disable any upgrading whatsoever.
If you do this, except the new source code is installed, then you can upgrade to
the new system manually as described in
.Xr development 7 .
Upgrading to the next release from source is not supported.
.Sh FORMAT
The file is read line by line.
The # character starts a comment and the rest of the line is ignored.
Lines are supposed to contain assignments to variables.
An assignment is the name of the variable, whitespace, an equal character,
whitespace, the value, whitespace, and then the end of the line.
.Bl -tag -width "12345678"
.It Sy channel Ns "=" Ns Ar channel
If the current release has an upgrade path named
.Ar channel
to a new release,
then system upgrades will upgrade to that new release.
If no such release path exists or if this variable is not set, upgrades will
continue to upgrade to the current release series.
Depending on the current release, the offically supported values are
.Sy stable
for stable releases and
.Sy nightly
for development releases.
Downgrading releases is not supported. For instance, if the current system is
a development release, specifying
.Sy stable
will not downgrade the system to the previous stable release, as no such upgrade
path exists.
Instead upgrades will upgrade to the next stable release when it becomes
available.
.It Sy force_mirror Ns "=" Ns Oo Sy no "|" yes Oc (default Sy no )
Use the preferred mirror set with
.Sy mirror
even if the file specified by
.Sy release_sig_url
does not list it.
.It Sy grub Ns "=" Ns Oo Sy no "|" yes Oc (default Sy no )
States GRUB is used as the bootloader.
If either the
.Sy system
or
.Sy ports
are set to
.Sy yes ,
then the bootloader is reinstalled
.Xr ( grub-install 8 )
and updated
.Xr ( update-grub 8 ) .
.It Sy mirror Ns "=" Ns Ar mirror
Download releases and ports from this preferred
.Ar mirror ,
a URL to the top level directory of a mirror.
The mirror is only used if the file specified by
.Sy release_sig_url
lists this mirror, unless
.Sy force_mirror
is set to
.Sy yes .
If no mirror is set, a default mirror is used.
.It Sy newsrc Ns "=" Ns Oo Sy no "|" yes Oc (default Sy no )
Place the new source code in
.Pa /newsrc
and move any existing
.Pa /newsrc
into
.Pa /oldsrc .
This preserves the current
.Pa /src
directory.
This takes precedence over and disables the behavior described under
.Sy src .
.It Sy ports Ns "=" Ns Oo Sy no "|" yes Oc (default Sy yes )
Install the new ports.
Ports that don't exist anymore will be removed.
.It Sy release_key Ns "=" Ns Ar release_key
Verify the file specified by
.Sy release_sig_url
with the
.Xr signify 1
public key file at the path
.Ar release_key .
This variable is updated during system upgrades and there is no need to change
this variable manually.
.It Sy release_sig_url Ns "=" Ns Ar release_sig_url
Download the meta-information about the current release from the URL
.Ar release_sig_url .
This file is verified with the
.Xr signify 1
public key in the
.Sy release_key
variable.
The file describes the current release, provides checksums of all the published
files, lists all the supported mirrors, provides instructions on how to upgrade
to this release, and lists all the supported upgrade paths to new releases.
This variable is updated during system upgrades and there is no need to change
this variable manually.
.It Sy src Ns "=" Ns Oo Sy no "|" yes Oc (default Sy no )
Place the new source code in
.Pa /src
and move any existing
.Pa /src
into
.Pa /oldsrc .
.It Sy system Ns "=" Ns Oo Sy no "|" yes Oc (default Sy yes )
Install the new system.
The upgrade hooks are run if needed as described in
.Xr following-development 7 .
This will run
.Xr update-initrd 8
and if
.Sy grub
is set to
.Sy no ,
then regenerate
.Pa /etc/grub.d/10_sortix.cache .
.El
.Pp
The defaults will be used if
.Pa /etc/upgrade.conf
is missing.
If
.Sy release_key
or
.Sy release_sig_url
are absent,
.Xr tix 8
will not be able to upgrade the current system nor install ports.
If
.Sy channel
is absent,
.Xr tix 8
will not upgrade to new releases.
.Sh FILES
.Bl -tag -width "/etc/upgrade.conf" -compact
.It Pa /etc/upgrade.conf
Upgrade configuration.
.El
.Sh EXAMPLES
.Bd -literal
grub = yes
ports = yes
src = no
system = yes
.Ed
.Sh SEE ALSO
.Xr upgrade 7 ,
.Xr sysupgrade 8 ,
.Xr tix 8