grub 0.97-44

Robert Millan rmh at aybabtu.com
Mon Jul 28 20:11:39 UTC 2008


Hi,

The PTS indicates that 0.97-42/0.97-43 wouldn't migrate normally, so I'm
forced to merge my request with the one for -44 (even though -42 and -43
don't meet the criteria, since they were uploaded before the freeze).

Anyway, please consider approving grub 0.97-44.

-- 
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
@@ -197,7 +197,8 @@
 
 # the "-t abstraction" check is a workaround untill #484297 is fixed
 if abstraction=`grub-probe -t abstraction --device ${root_device}` && [ "$abstraction" = "" ] && \
-    root_uuid=`grub-probe --device-map=${device_map} --device ${root_device} --target=fs_uuid 2> /dev/null` ; then
+    root_uuid=`grub-probe --device-map=${device_map} --device ${root_device} --target=fs_uuid 2> /dev/null` && \
+    test -e "/dev/disk/by-uuid/${root_uuid}" ; then
   linux_root_device=UUID=${root_uuid}
 else
   linux_root_device=${root_device}
@@ -603,27 +604,14 @@
 	menu="$menu_file"
 	echo >&2
 	echo >&2
-	echo -n "Could not find $menu_file file. " >&2
 	if [ "-y" = "$command_line_arguments" ] ; then
-		echo >&2
-		echo "Generating $menu_file" >&2
-		answer=y
-	else
-		echo -n "Would you like $menu_file generated for you? " >&2
-		echo -n "(y/N) " >&2
-		read answer
+		echo "Warning: ignoring deprecated -y option." >&2
 	fi
-
-	case "$answer" in
-		y* | Y*)
-		cat "$newtemplate" > $menu_file
-		rm -f $newtemplate
-		unset newtemplate
-		;;
-		*)
-		abort "Not creating $menu_file as you wish"
-		;;
-	esac
+	echo >&2
+	echo "Generating $menu_file" >&2
+	cat "$newtemplate" > $menu_file
+	rm -f $newtemplate
+	unset newtemplate
 fi
 
 # Extract the kernel options to use
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,38 @@
+grub (0.97-44) unstable; urgency=low
+
+  * Ignore -y option.  When menu.lst doesn't exist, it's always generated.
+    (Closes: #492213)
+  * NEWS: Add note recommending that users update their GRUB installs.
+    (Closes: #451701)
+
+ -- Robert Millan <rmh at aybabtu.com>  Mon, 28 Jul 2008 21:00:09 +0200
+
+grub (0.97-43) unstable; urgency=high
+
+  [ Felix Zielcke ]
+  * debian/rules: changed cvs rules to svn
+  * Update Standards version to 3.8.0. No changes need.
+  * add 2 overrides to make lintian happy
+
+  [ Robert Millan ]
+  * Fix regression in patches/ext3_256byte_inode.diff, thanks Eric Sandeen
+    <sandeen at redhat.com>.  (Closes: #491076)
+
+ -- Robert Millan <rmh at aybabtu.com>  Fri, 25 Jul 2008 14:36:15 +0200
+
+grub (0.97-42) unstable; urgency=high
+
+  * Avoid passing UUIDs to Linux when "/dev/disk/by-uuid/${root_uuid}" does
+    not exist
+  * control (grub): Add a note in description pointing at GRUB 2.
+    (Closes: #488304)
+  * patches/use_grub-probe_in_grub-install.diff: Use grub-mkdevicemap when
+    device.map needs to be regenerated (this brings in Virtio support, and
+    probably others).
+    (Closes: #491745)
+
+ -- Robert Millan <rmh at aybabtu.com>  Wed, 23 Jul 2008 01:19:36 +0200
+
 grub (0.97-41) unstable; urgency=low
 
   * Fix problem with root= argument generation in loop-AES.  Reported by
diff -u grub-0.97/debian/NEWS grub-0.97/debian/NEWS
--- grub-0.97/debian/NEWS
+++ grub-0.97/debian/NEWS
@@ -1,3 +1,28 @@
+grub (0.97-44) unstable; urgency=low
+
+  Versions of the kernel Linux newer than 2.6.23, like the ones included in
+  Debian Lenny, are known to differ slightly in their binary format, in a way
+  that very old versions of GRUB are unable to boot.
+
+  If you're upgrading GRUB in a system that was installed before Debian Etch,
+  and you have never manually updated your GRUB install, it is possible that
+  your system stops booting.
+
+  In order to prevent that, it is recommended that you install the latest GRUB
+  by issuing (as root) the following command after upgrading the grub package:
+
+    grub-install "(hd0)"
+
+  (assuming hd0 is mapped in /boot/grub/device.map to the disk used by your
+  BIOS to boot;  in a multi-disk environment you might need to use a different
+  parameter)
+
+  Note: even if your setup is not affected by this problem, it is always a
+  good idea to keep your GRUB install up-to-date, so if in doubt it's best
+  that you update it anyway.
+
+ -- Robert Millan <rmh at aybabtu.com>  Mon, 28 Jul 2008 20:19:52 +0200
+
 grub (0.97-16) unstable; urgency=low
 
   grub-install and update-grub has changed location.
diff -u grub-0.97/debian/control grub-0.97/debian/control
--- grub-0.97/debian/control
+++ grub-0.97/debian/control
@@ -5,7 +5,7 @@
 Uploaders: Jason Thomas <jason at debian.org>, Otavio Salvador <otavio at debian.org>, Robert Millan <rmh at aybabtu.com>
 Build-Depends: debhelper (>= 4.0.0), automake1.9, autoconf, autotools-dev, texinfo, libncurses5-dev | libncurses-dev, gcc-multilib [amd64 kfreebsd-amd64]
 Build-Depends-Indep: texi2html
-Standards-Version: 3.7.2.1
+Standards-Version: 3.8.0
 XS-X-Vcs-Svn: svn://svn.debian.org/svn/pkg-grub/grub/
 
 Package: grub
@@ -17,6 +17,9 @@
  operating systems.  In addition to loading the Linux kernel,
  it implements the Multiboot standard, which allows for flexible loading
  of multiple boot images (needed for modular kernels such as the GNU Hurd).
+ .
+ Please note that GRUB Legacy is in maintainance mode and new features are
+ only accepted in GRUB 2 (grub-pc package).
 
 Package: grub-disk
 Architecture: all
diff -u grub-0.97/debian/rules grub-0.97/debian/rules
--- grub-0.97/debian/rules
+++ grub-0.97/debian/rules
@@ -224,6 +224,14 @@
 	done
 	rm -rf debian/grub/usr/lib/grub/tmp/
 
+	mkdir -p $(CURDIR)/debian/grub/usr/share/lintian/overrides
+	cd $(CURDIR)/debian/grub && find ./usr/bin/ -name mbchk \
+		| sed -e "s%.*%grub: statically-linked-binary &%g" \
+	> $(CURDIR)/debian/grub/usr/share/lintian/overrides/grub
+	cd $(CURDIR)/debian/grub && find ./usr/sbin/ -name grub \
+		| sed -e "s%.*%grub: statically-linked-binary &%g" \
+	>> $(CURDIR)/debian/grub/usr/share/lintian/overrides/grub
+
 	dh_install -s
 
 # Must not depend on anything. This is to be called by
@@ -272,13 +280,13 @@
 	$(MAKE) -f debian/rules DH_OPTIONS=-a binary-common
 
-# Grab fixes from CVS using our version as reference.
-cvs-sync:
-	cvs -d:pserver:anonymous at cvs.savannah.gnu.org:/cvsroot/grub checkout -d grub-cvs grub; \
+# Grab fixes from SVN using our version as reference.
+svn-sync:
+	svn co svn://svn.sv.gnu.org/grub/trunk/grub grub-svn grub; \
 	UVERSION=$$(dpkg-parsechangelog | grep Version | sed 's,Version: ,,g;s,-[0-9]*$$,,g;s,\.,_,g'); \
-	cd grub-cvs && \
-	cvs diff -uN -x configure -x Makefile.in -r release_$$UVERSION -r HEAD \
+	cd grub-svn && \
+	svn diff -uN -x configure -x Makefile.in -r release_$$UVERSION -r HEAD \
          | sed 's,^\(---\|+++\) \(.*\)$$,\1 foo/\2,g' \
-         | filterdiff -x '*/.cvsignore' -x '*/docs/version.texi' -x '*/docs/stamp-vti' > ../debian/patches/cvs-sync.patch; \
-	cd .. && rm -rf grub-cvs
+         | filterdiff -x '*/.cvsignore' -x '*/docs/version.texi' -x '*/docs/stamp-vti' > ../debian/patches/svn-sync.patch; \
+	cd .. && rm -rf grub-svn
 binary: binary-arch binary-indep
 .PHONY: build clean binary-indep binary-arch binary install install-indep install-arch configure patch unpatch
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
@@ -14,11 +14,7 @@
 .SH "NAME"
 update\-grub \- program to generate GRUB's menu.lst file
 .SH "SYNOPSIS"
-.B update\-grub [-y]
-.SH "OPTIONS"
-.TP
-\fB-y\fR
-Assume 'yes' on all questions.
+.B update\-grub
 .SH "DESCRIPTION"
 .B \fBupdate\-grub\fR
 is a program used to generate the \fImenu.lst\fR file used by the grub bootloader.
diff -u grub-0.97/debian/patches/ext3_256byte_inode.diff grub-0.97/debian/patches/ext3_256byte_inode.diff
--- grub-0.97/debian/patches/ext3_256byte_inode.diff
+++ grub-0.97/debian/patches/ext3_256byte_inode.diff
@@ -1,10 +1,10 @@
 
-Patch from Red Hat. See #463236, #463123.
+Patch from Red Hat. See #463236, #463123 (and #491076 for the reviewed version)
 
-diff -Nrup a/stage2/fsys_ext2fs.c b/stage2/fsys_ext2fs.c
---- a/stage2/fsys_ext2fs.c	2004-08-08 20:19:18.000000000 +0200
-+++ b/stage2/fsys_ext2fs.c	2008-01-30 14:27:20.000000000 +0100
-@@ -79,7 +79,52 @@ struct ext2_super_block
+diff -ur grub-0.97/stage2/fsys_ext2fs.c grub-0.97.new/stage2/fsys_ext2fs.c
+--- grub-0.97/stage2/fsys_ext2fs.c	2008-07-23 01:18:18.000000000 +0200
++++ grub-0.97.new/stage2/fsys_ext2fs.c	2008-07-25 14:33:29.000000000 +0200
+@@ -79,7 +79,52 @@
      __u32 s_rev_level;		/* Revision level */
      __u16 s_def_resuid;		/* Default uid for reserved blocks */
      __u16 s_def_resgid;		/* Default gid for reserved blocks */
@@ -58,17 +58,22 @@
    };
  
  struct ext2_group_desc
-@@ -218,6 +263,9 @@ struct ext2_dir_entry
+@@ -218,6 +263,14 @@
  #define EXT2_ADDR_PER_BLOCK(s)          (EXT2_BLOCK_SIZE(s) / sizeof (__u32))
  #define EXT2_ADDR_PER_BLOCK_BITS(s)		(log2(EXT2_ADDR_PER_BLOCK(s)))
  
-+#define EXT2_INODE_SIZE(s)		(SUPERBLOCK->s_inode_size)
++#define EXT2_GOOD_OLD_REV	0	/* The good old (original) format */
++#define EXT2_DYNAMIC_REV	1	/* V2 format w/ dynamic inode sizes */
++#define EXT2_GOOD_OLD_INODE_SIZE 128
++#define EXT2_INODE_SIZE(s)	(((s)->s_rev_level == EXT2_GOOD_OLD_REV) ? \
++				EXT2_GOOD_OLD_INODE_SIZE : \
++				(s)->s_inode_size)
 +#define EXT2_INODES_PER_BLOCK(s)	(EXT2_BLOCK_SIZE(s)/EXT2_INODE_SIZE(s))
 +
  /* linux/ext2_fs.h */
  #define EXT2_BLOCK_SIZE_BITS(s)        ((s)->s_log_block_size + 10)
  /* kind of from ext2/super.c */
-@@ -553,7 +601,7 @@ ext2fs_dir (char *dirname)
+@@ -553,7 +606,7 @@
        gdp = GROUP_DESC;
        ino_blk = gdp[desc].bg_inode_table +
  	(((current_ino - 1) % (SUPERBLOCK->s_inodes_per_group))
@@ -77,7 +82,7 @@
  #ifdef E2DEBUG
        printf ("inode table fsblock=%d\n", ino_blk);
  #endif /* E2DEBUG */
-@@ -565,13 +613,12 @@ ext2fs_dir (char *dirname)
+@@ -565,13 +618,12 @@
        /* reset indirect blocks! */
        mapblock2 = mapblock1 = -1;
  
diff -u grub-0.97/debian/patches/use_grub-probe_in_grub-install.diff grub-0.97/debian/patches/use_grub-probe_in_grub-install.diff
--- grub-0.97/debian/patches/use_grub-probe_in_grub-install.diff
+++ grub-0.97/debian/patches/use_grub-probe_in_grub-install.diff
@@ -123,0 +124,27 @@
+diff -ur grub-0.97/util/grub-install.in grub-0.97.new/util/grub-install.in
+--- grub-0.97/util/grub-install.in	2008-07-23 01:14:29.000000000 +0200
++++ grub-0.97.new/util/grub-install.in	2008-07-23 01:16:46.000000000 +0200
+@@ -288,22 +288,7 @@
+ if test -f "$device_map"; then
+     :
+ else
+-    # Create a safe temporary file.
+-    test -n "$mklog" && log_file=`$mklog`
+-
+-    # Before all invocations of the grub shell, call sync to make sure
+-    # the raw device is in sync with any bufferring in filesystems.
+-    sync
+- 
+-    $grub_shell --batch $no_floppy --device-map=$device_map <<EOF >$log_file
+-quit
+-EOF
+-    if grep "Error [0-9]*: " $log_file >/dev/null; then
+-	cat $log_file 1>&2
+-	exit 1
+-    fi
+-
+-    rm -f $log_file
++    grub-mkdevicemap $no_floppy --device-map=$device_map
+ fi
+ 
+ # Make sure that there is no duplicated entry.


More information about the Pkg-grub-devel mailing list