CVS commit: pkgsrc/sysutils/sysupgrade

Module Name: pkgsrc
Committed By: jmmv
Date: Mon Aug 6 17:06:17 UTC 2012
Added Files:
pkgsrc/sysutils/sysupgrade: DESCR Makefile PLIST TODO
pkgsrc/sysutils/sysupgrade/files: Kyuafile config.subr config_test.sh
default.conf sysupgrade.8 sysupgrade.conf.5 sysupgrade.sh
sysupgrade_test.sh utils.subr utils_test.sh
Log Message:
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.
To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 pkgsrc/sysutils/sysupgrade/DESCR \
pkgsrc/sysutils/sysupgrade/Makefile pkgsrc/sysutils/sysupgrade/PLIST \
pkgsrc/sysutils/sysupgrade/TODO
cvs rdiff -u -r0 -r1.1 pkgsrc/sysutils/sysupgrade/files/Kyuafile \
pkgsrc/sysutils/sysupgrade/files/config.subr \
pkgsrc/sysutils/sysupgrade/files/config_test.sh \
pkgsrc/sysutils/sysupgrade/files/default.conf \
pkgsrc/sysutils/sysupgrade/files/sysupgrade.8 \
pkgsrc/sysutils/sysupgrade/files/sysupgrade.conf.5 \
pkgsrc/sysutils/sysupgrade/files/sysupgrade.sh \
pkgsrc/sysutils/sysupgrade/files/sysupgrade_test.sh \
pkgsrc/sysutils/sysupgrade/files/utils.subr \
pkgsrc/sysutils/sysupgrade/files/utils_test.sh
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.