Re: sysupgrade -c

Stuart Henderson <[email protected]>
Newsgroups gmane.os.openbsd.tech
Message-ID <[email protected]>
On 2026/07/03 14:15, Manuel Giraud wrote:
> Stuart Henderson <[email protected]> writes:
> 
> > On 2026/07/03 09:40, Manuel Giraud wrote:
> >> Hi,
> >> 
> >> From a discussion on misc@ some days ago, here's my attempt at
> >> supporting a "check new version" feature in sysupgrade:
> >> 
> >> Index: sysupgrade.8
> >> ===================================================================
> >> RCS file: /cvs/src/usr.sbin/sysupgrade/sysupgrade.8,v
> >> diff -u -p -r1.23 sysupgrade.8
> >> --- sysupgrade.8	11 Nov 2025 15:18:30 -0000	1.23
> >> +++ sysupgrade.8	3 Jul 2026 07:33:14 -0000
> >> @@ -22,7 +22,7 @@
> >>  .Nd upgrade system to the next release or a new snapshot
> >>  .Sh SYNOPSIS
> >>  .Nm
> >> -.Op Fl fkns
> >> +.Op Fl cfkns
> >>  .Op Fl b Ar base-directory
> >>  .Op Fl R Ar version
> >>  .Op Ar installurl | path
> >> @@ -54,6 +54,9 @@ Download files to
> >>  .Ar base-directory Ns / Ns Pa _sysupgrade
> >>  instead of
> >>  .Pa /home/_sysupgrade .
> >> +.It Fl c
> >> +Print availability of a new version.
> >> +The sets are not downloaded.
> >>  .It Fl f
> >>  For snapshots, force an already applied upgrade.
> >>  This option has no effect on releases.
> >> Index: sysupgrade.sh
> >> ===================================================================
> >> RCS file: /cvs/src/usr.sbin/sysupgrade/sysupgrade.sh,v
> >> diff -u -p -r1.62 sysupgrade.sh
> >> --- sysupgrade.sh	21 Mar 2026 01:34:25 -0000	1.62
> >> +++ sysupgrade.sh	3 Jul 2026 07:33:14 -0000
> >> @@ -74,6 +74,7 @@ rmel() {
> >>  
> >>  SNAP=false
> >>  FILE=false
> >> +CHECK=false
> >>  FORCE=false
> >>  FORCE_VERSION=false
> >>  KEEP=false
> >> @@ -83,9 +84,10 @@ WHAT='release'
> >>  VERSION=$(uname -r)
> >>  NEXT_VERSION=$(echo ${VERSION} + 0.1 | bc)
> >>  
> >> -while getopts b:fknrR:s arg; do
> >> +while getopts b:cfknrR:s arg; do
> >>  	case ${arg} in
> >>  	b)	SETSDIR=${OPTARG}/_sysupgrade;;
> >> +	c)	CHECK=true;;
> >>  	f)	FORCE=true;;
> >>  	k)	KEEP=true;;
> >>  	n)	REBOOT=false;;
> >> @@ -186,10 +188,22 @@ unpriv cksum -qC SHA256 BUILDINFO
> >>  if [[ -e /var/db/installed.BUILDINFO ]]; then
> >>  	installed_build_ts=$(cut -f3 -d' ' /var/db/installed.BUILDINFO)
> >>  	build_ts=$(cut -f3 -d' ' BUILDINFO)
> >> -	if (( $build_ts <= $installed_build_ts )) && ! $FORCE; then
> >> +	if $CHECK; then
> >> +	    build_human_ts=$(cut -f5- -d' ' BUILDINFO)
> >> +	    if (( $build_ts > $installed_build_ts )); then
> >> +		echo "A new version ($build_human_ts) is available."
> >> +		exit 0
> >> +	    else
> >> +		echo "No new version available."
> >
> > I'd recommend no new version -> no output (like syspatch -c does),
> > so it can be used in cron without an extra | grep -v.
> 
> Ok but then I think I should also tame the verbosity of ftp when using
> this flag, no?

yes.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.