Hello community,
here is the log from the commit of package grub
checked in at Thu Nov 6 22:07:09 CET 2008.
--------
--- arch/i386/grub/grub.changes 2008-11-04 17:02:04.000000000 +0100
+++ /mounts/work_src_done/STABLE/grub/grub.changes 2008-11-06 18:01:15.734069000 +0100
@@ -1,0 +2,10 @@
+Thu Nov 6 17:14:42 CET 2008 - duwe@suse.de
+
+- recognise GPTs (bnc#386800 et.al.)
+- neither show nor count commented entries in grubonce (bnc#438236)
+- recognise additional disk naming schemes and deduce partitions
+ + bnc#408727 i2o
+ + bnc#435958 by-path
+ + bnc#422685 dev/mapper
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
New:
----
grub-read-gpt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ grub.spec ++++++
--- /var/tmp/diff_new_pack.v15769/_old 2008-11-06 22:06:23.000000000 +0100
+++ /var/tmp/diff_new_pack.v15769/_new 2008-11-06 22:06:23.000000000 +0100
@@ -26,7 +26,7 @@
License: GPL v2 or later
Group: System/Boot
Version: 0.97
-Release: 153
+Release: 154
Source0: %{name}-%{version}.tar.gz
Source1: installgrub
Source2: grubonce
@@ -50,6 +50,7 @@
Patch16: recognise-zen
Patch17: grub-install-fix-UUID_LABEL
Patch18: ext2-support-256byte-inodes
+Patch19: grub-read-gpt
Patch20: stage2-dir-callback.diff
Patch21: stage2-wildcard.diff
Patch22: stage2-wildcard-zerowidth.diff
@@ -65,6 +66,7 @@
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Summary: Grand Unified Boot Loader
PreReq: fileutils sh-utils udev
+Conflicts: trustedgrub
ExclusiveArch: %ix86 x86_64
%description
@@ -116,6 +118,7 @@
%patch16 -p1
%patch17 -p1
%patch18 -p1
+%patch19 -p1
# Disable the wildcard feature
#%patch20 -p1
#%patch21 -p1
@@ -150,7 +153,7 @@
make clean
CFLAGS="$RPM_OPT_FLAGS -Os -DNDEBUG -W -Wall -Wpointer-arith $EXTRACFLAGS" ./configure \
--prefix=/usr --infodir=%{_infodir} --mandir=%{_mandir} --datadir=/usr/lib \
- --disable-auto-linux-mem-opt
+ --disable-auto-linux-mem-opt --disable-ffs --disable-ufs2
make
%install
@@ -171,7 +174,7 @@
rm -f $RPM_BUILD_ROOT/usr/share/man/man8/grub-terminfo*
%clean
-[ "$RPM_BUILD_ROOT" != "" -a -d $RPM_BUILD_ROOT ] && rm -rf $RPM_BUILD_ROOT;
+rm -rf $RPM_BUILD_ROOT;
%preun
%install_info --delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
@@ -208,6 +211,8 @@
# copy especially stage2 over, because it will be modified in-place !
cp -p /usr/lib/grub/*stage1* /boot/grub 2>/dev/null || true
cp -p /usr/lib/grub/*/*stage1* /boot/grub 2>/dev/null || true
+%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
+%install_info --info-dir=%{_infodir} %{_infodir}/multiboot.info.gz
#special hack for #46843
dd if=/usr/lib/grub/stage2 of=/boot/grub/stage2 bs=256k
sync
@@ -220,11 +225,16 @@
# command sequence to update-install stage1/stage2.
# leave everything else alone !
[ -e /etc/grub.conf ] && /usr/sbin/grub --batch < /etc/grub.conf >/dev/null 2>&1
-%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
-%install_info --info-dir=%{_infodir} %{_infodir}/multiboot.info.gz
exit 0
%changelog
+* Thu Nov 06 2008 duwe@suse.de
+- recognise GPTs (bnc#386800 et.al.)
+- neither show nor count commented entries in grubonce (bnc#438236)
+- recognise additional disk naming schemes and deduce partitions
+ + bnc#408727 i2o
+ + bnc#435958 by-path
+ + bnc#422685 dev/mapper
* Tue Nov 04 2008 snwint@suse.de
- gfxmenu: increase usable mem size to 8MB
* Mon Oct 27 2008 coolo@suse.de
@@ -312,7 +322,7 @@
* Fri Sep 02 2005 duwe@suse.de
- Make grubonce work with the new 0.96 savedefault,
(fixing bug #95082, and by coincidence 99185 along the way, too)
-* Fri Jun 10 2005 ro@suse.de
+* Thu Jun 09 2005 ro@suse.de
- fix variable type in last change
* Thu Jun 09 2005 ro@suse.de
- fix gfx display (stackptr diff) (thanks to Steffen)
@@ -438,7 +448,7 @@
no device.map at all any more.
* Thu Oct 10 2002 kukuk@suse.de
- remove requires from bootsplash
-* Wed Sep 11 2002 adrian@suse.de
+* Tue Sep 10 2002 adrian@suse.de
- remove PreReq to itself
* Tue Sep 10 2002 duwe@suse.de
- added --disable-auto-linux-mem-opt to ./configure options.
++++++ disk-by-ID ++++++
--- /var/tmp/diff_new_pack.v15769/_old 2008-11-06 22:06:23.000000000 +0100
+++ /var/tmp/diff_new_pack.v15769/_new 2008-11-06 22:06:23.000000000 +0100
@@ -1,16 +1,20 @@
diff -Burbp grub-0.97.orig/lib/device.c grub-0.97/lib/device.c
--- grub-0.97.orig/lib/device.c 2007-03-16 14:15:52.000000000 +0100
+++ grub-0.97/lib/device.c 2007-03-16 17:19:59.000000000 +0100
-@@ -869,7 +869,11 @@ write_to_partition (char **map, int driv
+@@ -869,7 +869,15 @@ write_to_partition (char **map, int driv
len = strlen(dev);
pnum = ((partition >> 16) & 0xFF);
- if (isdigit(dev[len-1]))
-+ if (strncmp (dev, "/dev/disk/by-id/", 16) == 0)
++ if (strncmp (dev, "/dev/disk/by-", 13) == 0)
+ {
+ sprintf (dev + len, "-part%d", pnum + 1);
+ }
-+ else if (isdigit(dev[len-1]))
++ else if (strncmp (dev, "/dev/mapper/", 12) == 0)
++ {
++ sprintf (dev + len, "_part%d", pnum + 1);
++ }
++ else if (isdigit(dev[len-1]) || strncmp (dev, "/dev/i2o/", 9) == 0)
{
/* It is obviously some RAID disk: "/dev/<dsk>/c0d0" . "p1" */
sprintf (dev + len, "p%d", pnum + 1);
++++++ grubonce ++++++
--- /var/tmp/diff_new_pack.v15769/_old 2008-11-06 22:06:24.000000000 +0100
+++ /var/tmp/diff_new_pack.v15769/_new 2008-11-06 22:06:24.000000000 +0100
@@ -9,8 +9,8 @@
$titleno = -1;
$global_default = undef;
while(<MENU>) {
- m,\s*default\s+(.+), && $titleno == -1 && ($global_default = $1);
- next unless m,\s*title\s+(.*),i;
+ m,^\s*default\s+(.+), && $titleno == -1 && ($global_default = $1);
+ next unless m,^\s*title\s+(.*),i;
$title_name = $1;
$titleno++;
++++++ grub-read-gpt ++++++
diff -Nurp grub-0.97.old/stage2/builtins.c grub-0.97/stage2/builtins.c
--- grub-0.97.old/stage2/builtins.c 2008-11-05 17:39:17.000000000 +0100
+++ grub-0.97/stage2/builtins.c 2008-11-05 17:40:36.000000000 +0100
@@ -1255,14 +1255,15 @@ find_func (char *arg, int flags)
for (drive = 0x80; drive < 0x88; drive++)
{
unsigned long part = 0xFFFFFF;
- unsigned long start, len, offset, ext_offset;
- int type, entry;
+ unsigned long start, len, offset, ext_offset, gpt_offset;
+ int type, entry, gpt_count, gpt_size;
char buf[SECTOR_SIZE];
current_drive = drive;
while (next_partition (drive, 0xFFFFFF, &part, &type,
&start, &len, &offset, &entry,
- &ext_offset, buf))
+ &ext_offset, &gpt_offset,
+ &gpt_count, &gpt_size, buf))
{
if (type != PC_SLICE_TYPE_NONE
&& ! IS_PC_SLICE_TYPE_BSD (type)
@@ -2877,8 +2878,8 @@ parttype_func (char *arg, int flags)
{
int new_type;
unsigned long part = 0xFFFFFF;
- unsigned long start, len, offset, ext_offset;
- int entry, type;
+ unsigned long start, len, offset, ext_offset, gpt_offset;
+ int entry, type, gpt_count, gpt_size;
char mbr[512];
/* Get the drive and the partition. */
@@ -2915,8 +2916,15 @@ parttype_func (char *arg, int flags)
/* Look for the partition. */
while (next_partition (current_drive, 0xFFFFFF, &part, &type,
&start, &len, &offset, &entry,
- &ext_offset, mbr))
+ &ext_offset, &gpt_offset, &gpt_count, &gpt_size, mbr))
{
+ /* The partition may not be a GPT partition. */
+ if (gpt_offset != 0)
+ {
+ errnum = ERR_BAD_ARGUMENT;
+ return 1;
+ }
+
if (part == current_partition)
{
/* Found. */
diff -Nurp grub-0.97.old/stage2/disk_io.c grub-0.97/stage2/disk_io.c
--- grub-0.97.old/stage2/disk_io.c 2008-11-05 17:39:17.000000000 +0100
+++ grub-0.97/stage2/disk_io.c 2008-11-05 17:40:36.000000000 +0100
@@ -21,6 +21,7 @@
#include