diff --git a/ChangeLog-current.txt b/ChangeLog-current.txt index 2984e7e..907d787 100644 --- a/ChangeLog-current.txt +++ b/ChangeLog-current.txt @@ -35,4 +35,8 @@ enhancements: of the actual options; thanks to Erik Hanson for the bug report. * Work around build issues caused by custom LC_COLLATE values. * Add tint=tint2 to /etc/sbopkg/renames.d/50-default file. + * The 'check for updates' function now always lists apparent downgrades, + since it sometimes can mistakenly classify an upgrade as a downgrade + (e.g. version 1.0.1 looks older than 1.0-rc2 to sbopkg). The apparent + downgrades are added to the queue but are disabled by default. +--------------------------+ diff --git a/src/usr/man/man5/sbopkg.conf.5 b/src/usr/man/man5/sbopkg.conf.5 index 4984b74..44a0bc9 100644 --- a/src/usr/man/man5/sbopkg.conf.5 +++ b/src/usr/man/man5/sbopkg.conf.5 @@ -177,11 +177,11 @@ There can be more unsafe situations we haven't thought about. Take care. .br This option should be set to 0, 1, or 2. DEBUG sets the default debugging level for the update list feature of sbopkg. When DEBUG is -set to 0, then only potential updated packages are listed. This was -the default output prior to the DEBUG variable. When DEBUG is set to -1, then potential updates plus packages not in the repo and packages -that are newer than the repo are listed. Changing DEBUG to 1 may be -helpful if it appears the updatelist might be missing an update. +set to 0, then only potential updated (or downgraded) packages are listed. +When DEBUG is set to 1, then potential updates plus packages not in the +repo and packages that are newer than the repo are listed. When DEBUG is +set to 2, all non-updated packages are also listed. Changing DEBUG to 1 or +2 may be helpful if it appears the updatelist might be missing an update. The default value of DEBUG is: 0. diff --git a/src/usr/sbin/sbopkg b/src/usr/sbin/sbopkg index 36a640c..39431fb 100755 --- a/src/usr/sbin/sbopkg +++ b/src/usr/sbin/sbopkg @@ -779,15 +779,23 @@ check_for_updates() { >> $UPDATELIST echo "$NAME" >> $SBOPKGTMP/sbopkg-update-queue elif [[ $UPDATED -eq -1 ]]; then - if [[ $DEBUG -ge 1 ]]; then - echo $NAME: >> $UPDATELIST - echo " INSTALLED PACKAGE IS NEWER THAN REPO" \ - >> $UPDATELIST - echo " Installed version: " $CURPKG >> $UPDATELIST - echo " Repo version: " \ - $NAME-$NEWVER-$NEWARCH-${NEWBUILD}$REPO_TAG \ - >> $UPDATELIST - fi + echo $NAME: >> $UPDATELIST + echo " INSTALLED PACKAGE IS NEWER THAN REPO" \ + >> $UPDATELIST + echo " Installed version: " $CURPKG >> $UPDATELIST + echo " Repo version: " \ + $NAME-$NEWVER-$NEWARCH-${NEWBUILD}$REPO_TAG \ + >> $UPDATELIST + echo "-$NAME" >> $SBOPKGTMP/sbopkg-update-queue + elif [[ $PKG_VER != $NEWVER ]]; then + echo $NAME: >> $UPDATELIST + echo " UNCLASSIFIED VERSION CHANGE" \ + >> $UPDATELIST + echo " Installed version: " $CURPKG >> $UPDATELIST + echo " Repo version: " \ + $NAME-$NEWVER-$NEWARCH-${NEWBUILD}$REPO_TAG \ + >> $UPDATELIST + echo "-$NAME" >> $SBOPKGTMP/sbopkg-update-queue else if [[ $DEBUG -eq 2 ]]; then echo $NAME: >> $UPDATELIST @@ -4140,7 +4148,8 @@ main_updates() { if [[ -f $UPDATES_QUEUE ]]; then dialog --title "Add Updates to Queue?" --yesno \ "$(crunch "Would you like to add the flagged updates to \ - the build queue?")" 8 35 + the build queue?\\n\\nApparent downgrades will be added to the \ + queue but will be kept disabled.")" 9 50 if [[ $? == 0 ]]; then touch $USERQUEUE_LOCK parse_queue $UPDATES_QUEUE