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.

Reply via email to