Hello community,
here is the log from the commit of package trustedgrub
checked in at Fri Nov 7 15:51:48 CET 2008.
--------
--- arch/i386/trustedgrub/trustedgrub.changes 2008-10-27 10:38:52.000000000 +0100
+++ /mounts/work_src_done/STABLE/trustedgrub/trustedgrub.changes 2008-11-07 14:07:06.000000000 +0100
@@ -1,0 +2,7 @@
+Fri Nov 7 14:02:41 CET 2008 - duwe@suse.de
+
+- pull from grub package fixes for BNC#
+ 386800,438236,408727,435958,422685
+- fix trustedgrub-specific bnc#425742, 433737
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
New:
----
ext2-support-256byte-inodes
grub-read-gpt
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ trustedgrub.spec ++++++
--- /var/tmp/diff_new_pack.O17554/_old 2008-11-07 15:50:43.000000000 +0100
+++ /var/tmp/diff_new_pack.O17554/_new 2008-11-07 15:50:43.000000000 +0100
@@ -26,7 +26,7 @@
License: GPL v2 or later
Group: System/Boot
Version: 1.1.3
-Release: 5
+Release: 6
Source0: TrustedGRUB-%{version}.tgz
Source2: grubonce
Source3: grub-install
@@ -44,6 +44,8 @@
Patch14: disk-by-ID
Patch16: recognise-zen
Patch17: grub-install-fix-UUID_LABEL
+Patch18: ext2-support-256byte-inodes
+Patch19: grub-read-gpt
Patch24: grub-%{version}-protexec.patch
Patch25: pacify-autoconf
Patch26: grub-grubonce-no-wait
@@ -110,6 +112,8 @@
# %patch15 -p1
%patch16 -p1
%patch17 -p1
+%patch18 -p1
+%patch19 -p1
# %patch18 -p1
# %patch24 -p1
%patch25 -p1
@@ -129,7 +133,7 @@
%endif
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-xfs
+ --disable-auto-linux-mem-opt --disable-xfs --disable-ffs --disable-ufs2
make
%install
@@ -146,7 +150,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}/grub.info.gz
@@ -183,6 +187,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}/grub.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
@@ -193,14 +199,18 @@
#if [ "X$ID_FS_TYPE" = "X" -o "t_$ID_FS_TYPE" = "t_xfs" ]; then
# sync; sleep 5; sync; sleep 5; sync
#fi
+# Do not try to update/install in the chrooted build environment
+[ -e /.buildenv ] && exit 0
# 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}/grub.info.gz
-%install_info --info-dir=%{_infodir} %{_infodir}/multiboot.info.gz
+[ -e /etc/grub.conf ] && /usr/sbin/grub --batch < /etc/grub.conf >/var/log/grub-install.log 2>&1 || true
exit 0
%changelog
+* Fri Nov 07 2008 duwe@suse.de
+- pull from grub package fixes for BNC#
+ 386800,438236,408727,435958,422685
+- fix trustedgrub-specific bnc#425742, 433737
* Mon Oct 27 2008 kukuk@suse.de
- disable unwind tables
* Tue Sep 23 2008 dmueller@suse.de
++++++ disk-by-ID ++++++
--- /var/tmp/diff_new_pack.O17554/_old 2008-11-07 15:50:43.000000000 +0100
+++ /var/tmp/diff_new_pack.O17554/_new 2008-11-07 15:50:43.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);
++++++ ext2-support-256byte-inodes ++++++
--- grub-0.97.orig/stage2/fsys_ext2fs.c 2008-04-14 11:57:47.000000000 +0200
+++ grub-0.97/stage2/fsys_ext2fs.c 2008-04-15 12:40:14.000000000 +0200
@@ -79,7 +79,50 @@ struct ext2_super_block
__u32 s_rev_level; /* Revision level */
__u16 s_def_resuid; /* Default uid for reserved blocks */
__u16 s_def_resgid; /* Default gid for reserved blocks */
- __u32 s_reserved[235]; /* Padding to the end of the block */
+ /*
+ * These fields are for EXT2_DYNAMIC_REV superblocks only.
+ *
+ * Note: the difference between the compatible feature set and
+ * the incompatible feature set is that if there is a bit set
+ * in the incompatible feature set that the kernel doesn't
+ * know about, it should refuse to mount the filesystem.
+ *
+ * e2fsck's requirements are more strict; if it doesn't know
+ * about a feature in either the compatible or incompatible
+ * feature set, it must abort and not try to meddle with
+ * things it doesn't understand...
+ */
+ __u32 s_first_ino; /* First non-reserved inode */
+ __u16 s_inode_size; /* size of inode structure */
+ __u16 s_block_group_nr; /* block group # of this superblock */
+ __u32 s_feature_compat; /* compatible feature set */
+ __u32 s_feature_incompat; /* incompatible feature set */
+ __u32 s_feature_ro_compat; /* readonly-compatible feature set */
+ __u8 s_uuid[16]; /* 128-bit uuid for volume */
+ char s_volume_name[16]; /* volume name */
+ char s_last_mounted[64]; /* directory where last mounted */
+ __u32 s_algorithm_usage_bitmap; /* For compression */
+ /*
+ * Performance hints. Directory preallocation should only
+ * happen if the EXT2_COMPAT_PREALLOC flag is on.
+ */
+ __u8 s_prealloc_blocks; /* Nr of blocks to try to preallocate*/
+ __u8 s_prealloc_dir_blocks; /* Nr to preallocate for dirs */
+ __u16 s_padding1;
+ /*
+ * Journaling support valid if EXT3_FEATURE_COMPAT_HAS_JOURNAL set.
+ */
+ __u8 s_journal_uuid[16]; /* uuid of journal superblock */
+ __u32 s_journal_inum; /* inode number of journal file */
+ __u32 s_journal_dev; /* device number of journal file */
+ __u32 s_last_orphan; /* start of list of inodes to delete */
+ __u32 s_hash_seed[4]; /* HTREE hash seed */
+ __u8 s_def_hash_version; /* Default hash version to use */
+ __u8 s_reserved_char_pad;
+ __u16 s_reserved_word_pad;
+ __u32 s_default_mount_opts;
+ __u32 s_first_meta_bg; /* First metablock block group */
+ __u32 s_reserved[190]; /* Padding to the end of the block */
};
struct ext2_group_desc
@@ -218,6 +260,9 @@ struct ext2_dir_entry
#define EXT2_ADDR_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (__u32))
#define EXT2_ADDR_PER_BLOCK_BITS(s) (grub_log2(EXT2_ADDR_PER_BLOCK(s)))
+#define EXT2_INODE_SIZE(s) (SUPERBLOCK->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 */
@@ -555,7 +600,7 @@ ext2fs_dir (char *dirname)
gdp = GROUP_DESC;
ino_blk = gdp[desc].bg_inode_table +
(((current_ino - 1) % (SUPERBLOCK->s_inodes_per_group))
- >> log2 (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode)));
+ >> log2 (EXT2_INODES_PER_BLOCK (SUPERBLOCK)));
#ifdef E2DEBUG
printf ("inode table fsblock=%d\n", ino_blk);
#endif /* E2DEBUG */
@@ -567,13 +612,13 @@ ext2fs_dir (char *dirname)
/* reset indirect blocks! */
mapblock2 = mapblock1 = -1;
- raw_inode = INODE +
- ((current_ino - 1)
- & (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode) - 1));
+ raw_inode = (struct ext2_inode *)( (unsigned long)INODE +
+ ((current_ino - 1) & (EXT2_INODES_PER_BLOCK (SUPERBLOCK) - 1))
+ * EXT2_INODE_SIZE(SUPERBLOCK));
#ifdef E2DEBUG
printf ("ipb=%d, sizeof(inode)=%d\n",
- (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode)),
- sizeof (struct ext2_inode));
+ EXT2_INODES_PER_BLOCK (SUPERBLOCK),
+ EXT2_INODE_SIZE(SUPERBLOCK));
printf ("inode=%x, raw_inode=%x\n", INODE, raw_inode);
printf ("offset into inode table block=%d\n", (int) raw_inode - (int) INODE);
for (i = (unsigned char *) INODE; i <= (unsigned char *) raw_inode;
++++++ grubonce ++++++
--- /var/tmp/diff_new_pack.O17554/_old 2008-11-07 15:50:44.000000000 +0100
+++ /var/tmp/diff_new_pack.O17554/_new 2008-11-07 15:50:44.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
participants (1)
-
root@Hilbert.suse.de