also sprach Otavio Salvador <[EMAIL PROTECTED]> [2006.06.03.1950 +0200]: > If you can, check the patch and submit it. I'm with a new upload > almost ready and want to do it asap.
Attached is the debdiff which I have thoroughly tested. -- Please do not send copies of list mail to me; I read the list! .''`. martin f. krafft <[EMAIL PROTECTED]> : :' : proud Debian developer and author: http://debiansystem.info `. `'` `- Debian - when you have better things to do than fixing a system
diff -u grub-0.97/debian/update-grub.8 grub-0.97/debian/update-grub.8
--- grub-0.97/debian/update-grub.8
+++ grub-0.97/debian/update-grub.8
@@ -51,6 +51,12 @@
.br
# lockalternative=false
+This option controls if grub should lock the old kernels.
+.br
+# lockold=true
+.br
+# lockold=false
+
This options controls what is used for the alternative boot options, multiple
altoptions lines are allowed.
.br
# altoptions=(some description) some kernel command line options
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,11 @@
+grub (0.97-9.2) unstable; urgency=low
+
+ * Implemented the "lockold" feature, which allows older kernel stanzas to be
+ automatically locked (pasword-protected). My work is based on a patch by
+ Dominic Hargreaves (closes: Bug#120125).
+
+ -- martin f. krafft <[EMAIL PROTECTED]> Sun, 4 Jun 2006 15:51:43 +0200
+
grub (0.97-9.1) unstable; urgency=low
* NMU.
@@ -1269,2 +1276,0 @@
-
-# vim:ai:et:sts=4:sw=4:tw=78:
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
@@ -322,6 +322,9 @@
# alternatives
defoptions=""
+# should grub lock the old kernels
+ lockold="false"
+
# options to use with the alternative boot options
altoptions="(recovery mode) single"
@@ -578,15 +581,16 @@
write_kernel_entry()
{
- kernel_version=$1
- recovery_desc=$2
- lock_alternative=$3
- grub_root_device=$4
- kernel=$5
- kernel_options=$6
- recovery_suffix=$7
- initrd=$8
- savedefault=$9
+ local kernel_version; kernel_version=$1; shift
+ local recovery_desc; recovery_desc=$1; shift
+ local lock_alternative; lock_alternative=$1; shift
+ local grub_root_device; grub_root_device=$1; shift
+ local kernel; kernel=$1; shift
+ local kernel_options; kernel_options=$1; shift
+ local recovery_suffix; recovery_suffix=$1; shift
+ local initrd; initrd=$1; shift
+ local savedefault; savedefault=$1; shift
+ local lockold; lockold=$1; shift
echo -n "title $title" >> $buffer
if [ -n "$kernel_version" ]; then
@@ -601,6 +605,10 @@
if test x"$lock_alternative" = x"true" ; then
echo "lock" >> $buffer
fi
+ # lock the old entries
+ if test x"$lockold" = x"true" ; then
+ echo "lock" >> $buffer
+ fi
echo "root $grub_root_device" >> $buffer
echo -n "kernel $kernel" >> $buffer
@@ -687,6 +695,9 @@
# Extract the additional default options
defoptions=$(GetMenuOpt "defoptions" "$defoptions")
+# Extract the lockold value
+lockold=$(GetMenuOpt "lockold" "$lockold")
+
# Extract the howmany value
howmany=$(GetMenuOpt "howmany" "$howmany")
@@ -746,6 +757,12 @@
echo "# defoptions=$defoptions" >> $buffer
echo >> $buffer
+echo "## should update-grub lock old automagic boot options" >> $buffer
+echo "## e.g. lockold=false" >> $buffer
+echo "## lockold=true" >> $buffer
+echo "# lockold=$lockold" >> $buffer
+echo >> $buffer
+
echo "## altoption boot targets option" >> $buffer
echo "## multiple altoptions lines are allowed" >> $buffer
echo "## e.g. altoptions=(extra menu suffix) extra boot options" >> $buffer
@@ -914,8 +931,12 @@
currentOpt=$(get_kernel_opt $kernelVersion)
+ do_lockold=$lockold
+ # do not lockold for the first entry
+ [ $counter -eq 1 ] && do_lockold=false
+
write_kernel_entry "$kernelVersion" "" "" "$grub_root_device" "$kernel"
\
- "$currentOpt $defoptions" "" "$initrd" "true"
+ "$currentOpt $defoptions" "" "$initrd" "true" "$do_lockold"
# insert the alternative boot options
if test ! x"$alternative" = x"false" ; then
@@ -924,9 +945,10 @@
descr=$(echo $line | sed -ne
's/\(([^)]*)\)[[:space:]]\(.*\)/\1/p')
suffix=$(echo $line | sed -ne
's/\(([^)]*)\)[[:space:]]\(.*\)/\2/p')
+ test x"$lockalternative" = x"true" && do_lockold=false
write_kernel_entry "$kernelVersion" "$descr"
"$lockalternative" \
- "$grub_root_device" "$kernel" "$currentOpt" "$suffix"
"$initrd" \
- "true"
+ "$grub_root_device" "$kernel" "$currentOpt" "$suffix" "$initrd" \
+ "true" "$do_lockold"
done
fi
signature.asc
Description: Digital signature (GPG/PGP)

