Hi, Please consider approving grub 0.97-46 (debdiff attached).
Thanks -- Robert Millan The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and how) you may access your data; but nobody's threatening your freedom: we still allow you to remove your data and not access it at all."
diff -u grub-0.97/debian/update-grub grub-0.97/debian/update-grub --- grub-0.97/debian/update-grub +++ grub-0.97/debian/update-grub @@ -384,56 +384,15 @@ # 2.4.14-pre1 > 2.4.13-ac99 CompareVersions() { - #Changes the line something-x.y.z into somthing-x.y.z.q - #This is to ensure that kernels with a .q is treated as higher than the ones without - #First a space is put after the version number - v1=$(echo $1 | sed -e 's!^\(.*-\([0-9]\+\.\)\{2,3\}[0-9]\+\)\(.*\)!\1 \3!g') - v2=$(echo $2 | sed -e 's!^\(.*-\([0-9]\+\.\)\{2,3\}[0-9]\+\)\(.*\)!\1 \3!g') - #If the version number only has 3 digits then put in another .0 - v1=$(echo $v1 | sed -e 's!^\(.*-\([0-9]\+\.\)\{2\}[0-9]\+\)\( .*\|$\)!\1.0 \3!g') - v2=$(echo $v2 | sed -e 's!^\(.*-\([0-9]\+\.\)\{2\}[0-9]\+\)\( .*\|$\)!\1.0 \3!g') - - # Then split the version number and remove any '.' 's or dashes - v1=$(echo $v1 | sed -e 's![-\.]\+! !g' -e 's!\([0-9]\)\([[:alpha:]]\)!\1 \2!') - v2=$(echo $v2 | sed -e 's![-\.]\+! !g' -e 's!\([0-9]\)\([[:alpha:]]\)!\1 \2!') - - # we weight different kernel suffixes here - # ac = 50 - # pre = -50 - # rc = -40 - # test = -60 - # others are given 99 - v1=$(echo $v1 | sed -e 's! k7! 786 !g' -e 's! ac! 50 !g' -e 's! rc! -40 !g' -e 's! pre! -50 !g' -e 's! test! -60 !g' -e 's![^ ]*[^-0-9 ][^ ]*!99!g') - - v2=$(echo $v2 | sed -e 's! k7! 786 !g' -e 's! ac! 50 !g' -e 's! rc! -40 !g' -e 's! pre! -50 !g' -e 's! test! -60 !g' -e 's![^ ]*[^-0-9 ][^ ]*!99!g') - - result=0; v1finished=0; v2finished=0; - while [ $result -eq 0 ] && [ $v1finished -eq 0 ] && [ $v2finished -eq 0 ]; - do - if [ "$v1" = "" ]; then - v1comp=0; v1finished=1 - else - set -- $v1; v1comp=$1; shift; v1=$* - fi - - if [ "$v2" = "" ]; then - v2comp=0; v2finished=1 - else - set -- $v2; v2comp=$1; shift; v2=$* - fi - - set +e - result=`expr $v1comp - $v2comp` - result=`expr substr $result 1 2` - set -e - - if [ $result -gt 0 ]; then result=1 - elif [ $result -lt 0 ]; then result=-1 - fi - done - - # finally return the result - echo $result + local a=`echo $1 | sed -e "s,.*/vmlinu[zx]-,,g;s/[._-]\(pre\|rc\|test\|git\)/~\1/g"` + local b=`echo $2 | sed -e "s,.*/vmlinu[zx]-,,g;s/[._-]\(pre\|rc\|test\|git\)/~\1/g"` + if [ "$a" = "$b" ] ; then + echo 0 + elif dpkg --compare-versions "$a" gt "$b" ; then + echo 1 + else + echo -1 + fi } # looks in the directory specified for an initrd image with the version specified diff -u grub-0.97/debian/changelog grub-0.97/debian/changelog --- grub-0.97/debian/changelog +++ grub-0.97/debian/changelog @@ -1,3 +1,16 @@ +grub (0.97-46) unstable; urgency=high + + * Bring the rc/pre/etc exceptions back again when comparing versions. + (Closes: #493389) + + -- Robert Millan <[EMAIL PROTECTED]> Sat, 9 Aug 2008 21:07:20 +0200 + +grub (0.97-45) unstable; urgency=high + + * use dpkg --compare-versions in update-grub. (Closes: #493389) + + -- Felix Zielcke <[EMAIL PROTECTED]> Thu, 07 Aug 2008 15:57:02 +0200 + grub (0.97-44) unstable; urgency=low * Ignore -y option. When menu.lst doesn't exist, it's always generated.