Date: Wed, 25 Sep 2019 11:23:46 +1000 From: Kubilay Kocak <koobs@FreeBSD.org> To: Michael Gmelin <grembo@FreeBSD.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r352662 - head/usr.sbin/freebsd-update Message-ID: <794f4e65-80c8-46f7-f172-4b89a68891cd@FreeBSD.org> In-Reply-To: <201909242049.x8OKnXFJ028009@repo.freebsd.org> References: <201909242049.x8OKnXFJ028009@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 25/09/2019 6:49 am, Michael Gmelin wrote: > Author: grembo (ports committer) > Date: Tue Sep 24 20:49:33 2019 > New Revision: 352662 > URL: https://svnweb.freebsd.org/changeset/base/352662 > > Log: > 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. > > See freebsd-update(8) for details. > > PR: 240757, 240177, 229346 > Reviewed by: manpages (bcr), sectam (emaste), yuripv > Differential Revision: https://reviews.freebsd.org/D21473 Would love to see these MFC'd. Consistency between freebsd-update on all our supported versions for one of our major user features would be awesome. > Modified: > head/usr.sbin/freebsd-update/freebsd-update.8 > head/usr.sbin/freebsd-update/freebsd-update.sh > > Modified: head/usr.sbin/freebsd-update/freebsd-update.8 > ============================================================================== > --- head/usr.sbin/freebsd-update/freebsd-update.8 Tue Sep 24 20:36:43 2019 (r352661) > +++ head/usr.sbin/freebsd-update/freebsd-update.8 Tue Sep 24 20:49:33 2019 (r352662) > @@ -25,7 +25,7 @@ > .\" > .\" $FreeBSD$ > .\" > -.Dd June 14, 2017 > +.Dd September 24, 2019 > .Dt FREEBSD-UPDATE 8 > .Os > .Sh NAME > @@ -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: head/usr.sbin/freebsd-update/freebsd-update.sh > ============================================================================== > --- head/usr.sbin/freebsd-update/freebsd-update.sh Tue Sep 24 20:36:43 2019 (r352661) > +++ head/usr.sbin/freebsd-update/freebsd-update.sh Tue Sep 24 20:49:33 2019 (r352662) > @@ -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 > + 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 > _______________________________________________ > svn-src-head@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/svn-src-head > To unsubscribe, send any mail to "svn-src-head-unsubscribe@freebsd.org" >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?794f4e65-80c8-46f7-f172-4b89a68891cd>