svn commit: r352662 - head/usr.sbin/freebsd-update
Kubilay Kocak
koobs at FreeBSD.org
Wed Sep 25 01:23:53 UTC 2019
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 at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/svn-src-head
> To unsubscribe, send any mail to "svn-src-head-unsubscribe at freebsd.org"
>
More information about the svn-src-all
mailing list