head 1.5; access; symbols pkgsrc-2013Q2:1.4.0.6 pkgsrc-2013Q2-base:1.4 pkgsrc-2013Q1:1.4.0.4 pkgsrc-2013Q1-base:1.4 pkgsrc-2012Q4:1.4.0.2 pkgsrc-2012Q4-base:1.4 pkgsrc-2012Q3:1.2.0.2 pkgsrc-2012Q3-base:1.2; locks; strict; comment @.\" @; 1.5 date 2013.07.28.23.37.14; author jmmv; state dead; branches; next 1.4; commitid 9u8esM6l3s21jiZw; 1.4 date 2012.10.11.07.56.13; author wiz; state Exp; branches; next 1.3; 1.3 date 2012.10.11.00.16.46; author jmmv; state Exp; branches; next 1.2; 1.2 date 2012.08.25.01.57.28; author jmmv; state Exp; branches; next 1.1; 1.1 date 2012.08.06.17.06.17; author jmmv; state Exp; branches; next ; desc @@ 1.5 log @Update to 1.5: Released on 2013-07-28. * Sources migrated to a GitHub project from the previous copy in the pkgsrc repository. sysupgrade is now a first-class package and includes a traditional build system based on automake and autoconf. * Moved the sysupgrade script from bin to sbin. @ text @.\" $NetBSD: sysupgrade.conf.5,v 1.4 2012/10/11 07:56:13 wiz Exp $ .\" Copyright 2012 Google Inc. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions are .\" met: .\" .\" * Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" * Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" * Neither the name of Google Inc. nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS .\" "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT .\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR .\" A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT .\" OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, .\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT .\" LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE .\" OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .Dd October 10, 2012 .Dt SYSUPGRADE.CONF 5 .Os .Sh NAME .Nm sysupgrade.conf .Nd configuration file to control NetBSD system upgrades .Sh DESCRIPTION Configuration files for .Xr sysupgrade 8 are simple shell scripts that set, or explicitly clear, a collection of known configuration variables. .Pp The following configuration variables are recognized: .Bl -tag .It Va AUTOCLEAN Whether to automatically delete the downloaded files or not as part of the .Sq auto command. .Pp If you set .Va ETCUPDATE to false, you will probably want to disable autocleaning. This will let you run the .Sq etcupdate command on your own at a later stage reusing the same distribution sets used to upgrade the system. .Pp Default: yes. .It Va CACHEDIR Path to the local directory into which distribution sets are temporarily fetched while applying a system upgrade. Note that all .Nm commands that need access to the distribution sets (pretty much all of them) will read from this directory. If you plan on issuing different upgrade steps at different times, this directory should persist across the different executions. .Pp Default: .Pa @@SYSUPGRADE_CACHEDIR@@ .It Va DESTDIR Path to the root of the system to be upgraded. This is prepended to all other paths affected by .Xr sysupgrade 8 and can be used to perform upgrades of non-live systems or for testing purposes. .Pp Default: not set (which means .Pa / is affected). .It Va ETCUPDATE Whether to run .Xr etcupdate 8 as part of an automated upgrade. You may want to disable this because this is the only interactive step in the upgrade process. .Pp If set to false, the .Sq auto subcommand will skip this step. In this case, you are also recommended to set .Va AUTOCLEAN to .Sq no so that you are not required to redownload the distribution files just to run .Xr etcupdate 8 later. .Pp Default: yes. .It Va KERNEL Name of the kernel to install. There must be a .Sq netbsd-.gz file in the release directory matching this name. .Pp If this is set to the magic value .Sq AUTO , .Xr sysupgrade 8 will attempt to automatically determine the name of the current kernel by using .Xr config 1 on .Pa /netbsd . If the guessing fails, an error is raised to prevent installing a mismatching kernel. .Pp Default: AUTO. .It Va POSTINSTALL_AUTOFIX Whitespace-separated list of .Xr postinstall 8 checks that will be unconditionally fixed as part of an upgrade. .Pp It is recommended that you include .Sq obsolete in this list at the very least: this check often fails because it is common for newer releases to drop existing files, and fixing it should be harmless. Note that old shared libraries are never cleaned by this check, so existing third-party binaries should not stop working even after auto-fixing this check. .Pp Default: empty. .It Va RELEASEDIR Location of the release directory (which must hold a .Pa binary/sets/ subdirectory). This can be either a local path or a URL. .Pp If the location is a URL, any of the HTTP, FTP or SSH protocols are supported. In the case of SSH, the URL takes the form: .Sq ssh://[user[:password]@@]/ , which is different to the syntax accepted by .Xr scp 1 . .Pp Default: not set. .It Va SETS Whitespace-separated list of distribution sets to install. If this is set to the magic value .Sq AUTO , the list of sets is determined from the files in .Pa /etc/mtree . .Pp This list cannot include any .Sq kern-* sets; the kernel to be installed is determined by the .Va KERNEL variable. .Pp The presence of any configuration sets (such as .Sq etc or .Sq xetc ) in this list enables the etcupdate and postinstall steps in the automated upgrade procedure. .Pp The presence of a modules set enables the modules step in the automated upgrade procedure. .Pp Default: AUTO. .El .Sh SEE ALSO .Xr sysupgrade 8 @ 1.4 log @Add RCS Id, remove dot at end of SEE ALSO. @ text @d1 1 a1 1 .\" $NetBSD$ @ 1.3 log @Update to 1.4: - Add support to fetch release sets via ssh. @ text @d1 1 d167 1 a167 1 .Xr sysupgrade 8 . @ 1.2 log @Update to 1.2: - Use netbsd-*.gz files to install the kernel rather than kern-*.tgz sets. This lets sysupgrade work in conjunction with the "releasekernel" target of build.sh, as this generates the former instead of the latter. - Preserve timestamps of the kernel when backing it up as onetbsd. - Fix some tests to not rely on the current state of the system (the cache directory and the autodetection of KERNEL). @ text @d28 1 a28 1 .Dd August 24, 2012 d133 6 @ 1.1 log @Initial addition of sysupgrade, version 1.0: sysupgrade is a script to automate NetBSD system upgrades. sysupgrade works by first fetching distribution sets from a specified site or local directory, then by upgrading the system using such distribution sets and later by ensuring that the system configuration is up to date. All the process is controlled by a configuration file, and the defaults should suit the most common NetBSD upgrades. sysupgrade can be used to perform upgrades across different system major and/or minor versions, and it can also be used to track a stable or development branch from the CVS repository. sysbuild is the perfect companion to sysupgrade in those cases where you want to roll your own binaries: both utilities share a very similar command-line and configuration interface, and the default configuration files provide examples on how to integrate one with the other. A few notes about the import: Right after I submitted sysbuild, I was pointed at etcmanage and its scripts to build and upgrade NetBSD. I am sending this anyway because 1) it matches sysbuild's behavior closely, 2) it has a detailed manual page, 3) it has tests... and, well, 4) I had already written most of it at that time and didn't want to throw it away! The config and utils modules in this import are a duplicate of the code in sysbuild, with a few tweaks. This is really bad and the code should be deduplicated somehow. I'm not sure what the best way of doing so is and can only think about introducing a common base package with the shared code (which brings its own problems). I have tested this to upgrade both -current and 6.0_BETA2 to newer snapshots, both from local and remote release files. @ text @d28 1 a28 1 .Dd August 6, 2012 d100 2 a101 2 .Sq kern- distribution set in the release directory matching this name. d141 1 a141 1 This list should not include any d143 1 a143 1 sets as this is automatically handled by the @