Hi,
I don't know if this will be accepted but I propose to add a -u [url]
parameter to use older snapshots from an archive server for example.
I wanted to add an optional parameter to -s at first but in case of
sysupgrade -s [installurl] the install url would have been mistaken by
this.
If you specify a -u url and installurl at the same time, -u url
superseed installurl.
This would allow easier bisecting using older snapshots.
Index: sysupgrade.8
===================================================================
RCS file: /cvs/src/usr.sbin/sysupgrade/sysupgrade.8,v
retrieving revision 1.10
diff -u -p -r1.10 sysupgrade.8
--- sysupgrade.8 3 Oct 2019 12:43:58 -0000 1.10
+++ sysupgrade.8 25 May 2020 13:23:06 -0000
@@ -24,6 +24,7 @@
.Nm
.Op Fl fkn
.Op Fl r | s
+.Op Fl u Pa url
.Op Ar installurl
.Sh DESCRIPTION
.Nm
@@ -66,6 +67,13 @@ This is the default if the system is cur
.It Fl s
Upgrade to a snapshot.
This is the default if the system is currently running a snapshot.
+.It Fl u Pa url
+Fetch and verify the files downloaded from
+.Pa url .
+This is superseeding
+.Op Pa installurl ,
+its usage is intended for installing older snapshots available under url not
following
+the usual installurl format.
.El
.Sh FILES
.Bl -tag -width "/auto_upgrade.conf" -compact
Index: sysupgrade.sh
===================================================================
RCS file: /cvs/src/usr.sbin/sysupgrade/sysupgrade.sh,v
retrieving revision 1.37
diff -u -p -r1.37 sysupgrade.sh
--- sysupgrade.sh 26 Jan 2020 22:08:36 -0000 1.37
+++ sysupgrade.sh 25 May 2020 13:23:06 -0000
@@ -34,7 +34,7 @@ ug_err()
usage()
{
- ug_err "usage: ${0##*/} [-fkn] [-r | -s] [installurl]"
+ ug_err "usage: ${0##*/} [-fkn] [-r | -s] [-u url] [installurl]"
}
unpriv()
@@ -79,13 +79,14 @@ FORCE=false
KEEP=false
REBOOT=true
-while getopts fknrs arg; do
+while getopts fknrsu: arg; do
case ${arg} in
f) FORCE=true;;
k) KEEP=true;;
n) REBOOT=false;;
r) RELEASE=true;;
s) SNAP=true;;
+ u) SNAPURL=${OPTARG};;
*) usage;;
esac
done
@@ -121,7 +122,11 @@ else
fi
if $SNAP; then
- URL=${MIRROR}/snapshots/${ARCH}/
+ if [[ -n "$SNAPURL" ]]; then
+ URL=$SNAPURL
+ else
+ URL=${MIRROR}/snapshots/${ARCH}/
+ fi
else
URL=${MIRROR}/${NEXT_VERSION}/${ARCH}/
fi