svn commit: r352758 - stable/11/usr.sbin/freebsd-update
Michael Gmelin
grembo at FreeBSD.org
Thu Sep 26 16:33:21 UTC 2019
Author: grembo (ports committer)
Date: Thu Sep 26 16:33:20 2019
New Revision: 352758
URL: https://svnweb.freebsd.org/changeset/base/352758
Log:
MFC r352513, r352514, r352662:
As suggested by koobs, MFC recent freebsd-update changes to
have a consistent user experience on all supported
versions.
r352513:
freebsd-update.8: appease igor
igor follows American style guides in the belief that abbreviations i.e.
and e.g. are always followed by a comma. Make that change now so that
future updates to freebsd-update.8 do not complain about this.
r352514:
freebsd-update: make usage output consistent
Drop trailing . which appeared only on description of IDS.
r352662:
freebsd-update: Add `updatesready' and `showconfig' commands
`freebsd-update updatesready' can be used to check if there are any pending
fetched updates that can be installed.
`freebsd-update showconfig' writes freebsd-update's configuration to
stdout.
This also changes the exit code of `freebsd-update install' to 2 in case
there are no updates pending to be installed and there wasn't a fetch phase
in the same invocation. This allows scripts to tell apart these error
conditions without breaking existing jail managers.
PR: 240757, 240177, 229346
Reviewed by: manpages (bcr), secteam (emaste), yuripv
Differential Revision: https://reviews.freebsd.org/D21473
Modified:
stable/11/usr.sbin/freebsd-update/freebsd-update.8
stable/11/usr.sbin/freebsd-update/freebsd-update.sh
Modified: stable/11/usr.sbin/freebsd-update/freebsd-update.8
==============================================================================
--- stable/11/usr.sbin/freebsd-update/freebsd-update.8 Thu Sep 26 16:19:22 2019 (r352757)
+++ stable/11/usr.sbin/freebsd-update/freebsd-update.8 Thu Sep 26 16:33:20 2019 (r352758)
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd June 14, 2017
+.Dd September 24, 2019
.Dt FREEBSD-UPDATE 8
.Os
.Sh NAME
@@ -95,7 +95,7 @@ Trust an RSA key with SHA256 of
.Ar KEY .
(default: read value from configuration file.)
.It Fl r Ar newrelease
-Specify the new release (e.g. 11.2-RELEASE) to which
+Specify the new release (e.g., 11.2-RELEASE) to which
.Nm
should upgrade (upgrade command only).
.It Fl s Ar server
@@ -155,13 +155,24 @@ Note that this command may require up to 500 MB of spa
depending on which components of the
.Fx
base system are installed.
+.It Cm updatesready
+Check if there are fetched updates ready to install.
+Returns exit code 2 if there are no updates to install.
.It Cm install
Install the most recently fetched updates or upgrade.
+Returns exit code 2 if there are no updates to install
+and the
+.Cm fetch
+command wasn't passed as an earlier argument in the same
+invocation.
.It Cm rollback
Uninstall the most recently installed updates.
.It Cm IDS
Compare the system against a "known good" index of the
installed release.
+.It Cm showconfig
+Show configuration options after parsing conffile and command
+line options.
.El
.Sh TIPS
.Bl -bullet
Modified: stable/11/usr.sbin/freebsd-update/freebsd-update.sh
==============================================================================
--- stable/11/usr.sbin/freebsd-update/freebsd-update.sh Thu Sep 26 16:19:22 2019 (r352757)
+++ stable/11/usr.sbin/freebsd-update/freebsd-update.sh Thu Sep 26 16:33:20 2019 (r352758)
@@ -62,9 +62,11 @@ Commands:
cron -- Sleep rand(3600) seconds, fetch updates, and send an
email if updates were found
upgrade -- Fetch upgrades to FreeBSD version specified via -r option
+ updatesready -- Check if there are fetched updates ready to install
install -- Install downloaded updates or upgrades
rollback -- Uninstall most recently installed updates
- IDS -- Compare the system against an index of "known good" files.
+ IDS -- Compare the system against an index of "known good" files
+ showconfig -- Show configuration
EOF
exit 0
}
@@ -503,7 +505,8 @@ parse_cmdline () {
;;
# Commands
- cron | fetch | upgrade | install | rollback | IDS)
+ cron | fetch | upgrade | updatesready | install | rollback |\
+ IDS | showconfig)
COMMANDS="${COMMANDS} $1"
;;
@@ -827,7 +830,7 @@ install_check_params () {
echo "No updates are available to install."
if [ $ISFETCHED -eq 0 ]; then
echo "Run '$0 fetch' first."
- exit 1
+ exit 2
fi
exit 0
fi
@@ -3333,6 +3336,21 @@ cmd_upgrade () {
upgrade_run || exit 1
}
+# Check if there are fetched updates ready to install
+cmd_updatesready () {
+ # Construct a unique name from ${BASEDIR}
+ BDHASH=`echo ${BASEDIR} | sha256 -q`
+
+ # Check that we have updates ready to install
+ if ! [ -L ${BDHASH}-install ]; then
+ echo "No updates are available to install."
+ exit 2
+ fi
+
+ echo "There are updates available to install."
+ echo "Run '$0 install' to proceed."
+}
+
# Install downloaded updates.
cmd_install () {
install_check_params
@@ -3349,6 +3367,13 @@ cmd_rollback () {
cmd_IDS () {
IDS_check_params
IDS_run || exit 1
+}
+
+# Output configuration.
+cmd_showconfig () {
+ for X in ${CONFIGOPTIONS}; do
+ echo $X=$(eval echo \$${X})
+ done
}
#### Entry point
More information about the svn-src-stable
mailing list