Hi, it looks to me that the patch which removes the usage of "local" in scripts (http://lists.gnu.org/archive/html/grub-devel/2011-11/msg00037.html) introduces a bug in the function version_test_gt() in the file util/grub-mkconfig_lib.in:
The variable $cmp is set to "gt" or "ge", however, $version_test_gt_cmp is used instead and the case has no effect. This patch should fix it: --- a/util/grub-mkconfig_lib.in 2011-11-28 09:42:11.000000000 +0100 +++ b/util/grub-mkconfig_lib.in 2011-11-28 10:00:00.000000000 +0100 @@ -198,8 +198,8 @@ fi case "$version_test_gt_a:$version_test_gt_b" in *.old:*.old) ;; - *.old:*) version_test_gt_a="`echo -n "$version_test_gt_a" | sed -e 's/\.old$//'`" ; cmp=gt ;; - *:*.old) version_test_gt_b="`echo -n "$version_test_gt_b" | sed -e 's/\.old$//'`" ; cmp=ge ;; + *.old:*) version_test_gt_a="`echo -n "$version_test_gt_a" | sed -e 's/\.old$//'`" ; version_test_gt_cmp=gt ;; + *:*.old) version_test_gt_b="`echo -n "$version_test_gt_b" | sed -e 's/\.old$//'`" ; version_test_gt_cmp=ge ;; esac version_test_numeric "$version_test_gt_a" "$version_test_gt_cmp" "$version_test_gt_b" return "$?" I noticed the problem when I tried to apply the patch "dpkg_version_comparison.patch" from Debian. Maybe someone should take a look at the other variables ... Regards, Lukas _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel