grub 0.97-46

Robert Millan rmh at aybabtu.com
Sun Aug 10 09:24:31 UTC 2008


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."
-------------- next part --------------
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 <rmh at aybabtu.com>  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 <fzielcke at z-51.de>  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.


More information about the Pkg-grub-devel mailing list