![](https://seccdn.libravatar.org/avatar/e2145bc5cf53dda95c308a3c75e8fef3.jpg?s=120&d=mm&r=g)
Hello community, here is the log from the commit of package grub for openSUSE:Factory checked in at 2013-10-17 14:10:42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/grub (Old) and /work/SRC/openSUSE:Factory/.grub.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "grub" Changes: -------- --- /work/SRC/openSUSE:Factory/grub/grub.changes 2013-07-22 14:51:17.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.grub.new/grub.changes 2013-10-17 14:10:42.000000000 +0200 @@ -1,0 +2,25 @@ +Wed Oct 16 16:19:00 UTC 2013 - duwe@suse.com + +- pull fixes from SLES (bnc#830796) + + more unsigned-blocks-n-offsets + + more e2fs IDs -- rename patch accordingly + recognise-zen -> add-e2fs-slice-types + + look for protective MBR partition in all 4 slots + + grub-bigraid-failsafe: + try harder to provide a reasonable geometry on soft RAIDs +- remove the wildcard patches for good: + stage2-dir-callback.diff + stage2-wildcard.diff + stage2-wildcard-zerowidth.diff + stage2-wildcard-doc.diff + +------------------------------------------------------------------- +Wed Oct 16 15:01:30 UTC 2013 - duwe@suse.com + +- restructure %post in order to fix + bnc#846163, bnc#844893, bnc#805732, bnc#682337 + Only walk through the boot loader install logic + if it is configured. Use fsync if available. +- revert misguided "ncurses-devel" hackery (again!) + +------------------------------------------------------------------- Old: ---- recognise-zen stage2-dir-callback.diff stage2-wildcard-doc.diff stage2-wildcard-zerowidth.diff stage2-wildcard.diff New: ---- add-e2fs-slice-types grub-bigraid-failsafe ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ grub.spec ++++++ --- /var/tmp/diff_new_pack.jsafh8/_old 2013-10-17 14:10:46.000000000 +0200 +++ /var/tmp/diff_new_pack.jsafh8/_new 2013-10-17 14:10:46.000000000 +0200 @@ -27,8 +27,8 @@ BuildRequires: gcc41 BuildRequires: glibc-devel BuildRequires: libncurses5 -%endif BuildRequires: ncurses-devel +%endif %if %suse_version >= 1230 BuildRequires: makeinfo %endif @@ -54,14 +54,10 @@ Patch13: grub-a20.patch Patch14: disk-by-ID Patch15: e100-newIDs -Patch16: recognise-zen +Patch16: add-e2fs-slice-types 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 -Patch23: stage2-wildcard-doc.diff Patch24: grub-%{version}-protexec.patch Patch25: pacify-autoconf Patch26: grub-grubonce-no-wait @@ -78,6 +74,7 @@ Patch43: handle-incomplete-last-track Patch44: no-MAP_GROWSDOWN Patch45: grub-automake.patch +Patch46: grub-bigraid-failsafe Url: http://www.gnu.org/software/grub/grub.en.html BuildRoot: %{_tmppath}/%{name}-%{version}-build Summary: Grand Unified Boot Loader @@ -121,11 +118,6 @@ %patch17 -p1 %patch18 -p1 %patch19 -p1 -# Disable the wildcard feature -#%patch20 -p1 -#%patch21 -p1 -#%patch22 -p1 -#%patch23 -p1 %patch24 -p1 %patch25 -p1 %patch26 -p1 @@ -142,6 +134,7 @@ %patch43 -p1 %patch44 -p1 %patch45 -p1 +%patch46 -p1 %build perl -pi -e 's,/usr/share/grub/i386-pc,/usr/lib/grub,' docs/grub.texi @@ -219,17 +212,41 @@ /boot/boot %post +%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz +%install_info --info-dir=%{_infodir} %{_infodir}/multiboot.info.gz + +if [ -e /etc/sysconfig/bootloader ] ; then + source /etc/sysconfig/bootloader +else + if test "$YAST_IS_RUNNING" != "instsys"; then + echo "grub postinstall: no /etc/sysconfig/bootloader" + fi + exit 0 +fi + +# bnc#682337 +if [ "x$LOADER_TYPE" != "xgrub" -o ! -r /etc/grub.conf ] ; then + echo "grub postinstall: grub is not the active boot loader" + exit 0 +fi + # should anything go wrong the system will remain bootable : if [ -e /boot/grub/stage2 ] ; then mv /boot/grub/stage2{,.old} fi # copy especially stage2 over, because it will be modified in-place ! 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 +# Avoid fragmentation on reiserfs. dd if=/usr/lib/grub/stage2 of=/boot/grub/stage2 bs=256k -sync +# bnc#682337 -- Dr. Schroeder's special ointment: +if [ -x /bin/fsync ]; then + fsync /boot/grub/stage2 + fsync /boot/grub + fsync /boot + fsync / +else + sync +fi # sync may take much longer on XFS (Bug#223773) if test "$YAST_IS_RUNNING" != "instsys"; then bootpart=`df /boot/. 2>/dev/null | perl -ane '$F[0] =~ m,/dev/[^\s]*, && print $F[0]'` @@ -238,21 +255,17 @@ if [ -n "$XFS_FREEZE" ] ; then if [ "t_$ID_FS_TYPE" = "t_xfs" ]; then sync; sleep 5; sync; - ( xfs_freeze -f /boot; xfs_freeze -u /boot ) > /dev/null 2>&1 + # bnc#805732 + (xfs_freeze -f /; xfs_freeze -f /boot; \ + xfs_freeze -u /; xfs_freeze -u /boot ) > /dev/null 2>&1 fi fi fi -if [ -e /etc/sysconfig/bootloader ] ; then - source /etc/sysconfig/bootloader -fi - -LOADER_TYPE=${LOADER_TYPE:-grub} # command sequence to update-install stage1/stage2. # leave everything else alone ! -if [ "x$LOADER_TYPE" = "xgrub" -a -e /etc/grub.conf ] ; then - /usr/sbin/grub --batch < /etc/grub.conf >/dev/null 2>&1 -fi +/usr/sbin/grub --batch < /etc/grub.conf >/dev/null 2>&1 + exit 0 %changelog ++++++ add-e2fs-slice-types ++++++ Index: grub-0.97/stage2/fsys_ext2fs.c =================================================================== --- grub-0.97.orig/stage2/fsys_ext2fs.c +++ grub-0.97/stage2/fsys_ext2fs.c @@ -257,6 +257,9 @@ ext2fs_mount (void) if ((((current_drive & 0x80) || (current_slice != 0)) && (current_slice != PC_SLICE_TYPE_EXT2FS) && (current_slice != PC_SLICE_TYPE_LINUX_RAID) + && (current_slice != PC_SLICE_TYPE_ZEN) + && (current_slice != PC_SLICE_TYPE_ZEN_DISABLED) + && (current_slice != PC_SLICE_TYPE_OEM_RECOVERY) && (! IS_PC_SLICE_TYPE_BSD_WITH_FS (current_slice, FS_EXT2FS)) && (! IS_PC_SLICE_TYPE_BSD_WITH_FS (current_slice, FS_OTHER))) || part_length < (SBLOCK + (sizeof (struct ext2_super_block) / DEV_BSIZE)) Index: grub-0.97/stage2/pc_slice.h =================================================================== --- grub-0.97.orig/stage2/pc_slice.h +++ grub-0.97/stage2/pc_slice.h @@ -114,6 +114,9 @@ #define PC_SLICE_TYPE_EXT2FS 0x83 #define PC_SLICE_TYPE_LINUX_EXTENDED 0x85 #define PC_SLICE_TYPE_VSTAFS 0x9e +#define PC_SLICE_TYPE_ZEN 0xbc +#define PC_SLICE_TYPE_ZEN_DISABLED 0xbd +#define PC_SLICE_TYPE_OEM_RECOVERY 0x27 #define PC_SLICE_TYPE_DELL_UTIL 0xde #define PC_SLICE_TYPE_LINUX_RAID 0xfd ++++++ grub-bigraid-failsafe ++++++ --- grub-0.97/lib/device.c.orig 2010-05-11 13:09:13.000000000 +0200 +++ grub-0.97/lib/device.c 2010-05-11 13:13:58.000000000 +0200 @@ -26,6 +26,8 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> +#include <stdint.h> +#include <sys/mount.h> #include <ctype.h> #include <assert.h> #include <unistd.h> @@ -153,12 +154,37 @@ get_drive_geometry (struct geometry *geo { struct hd_geometry hdg; unsigned long nr; + uint64_t size64; if (ioctl (fd, HDIO_GETGEO, &hdg)) goto fail; + /* Provide some sanity for obsolete legacy code. This shouldn't + * be really necessary, but better safe than sorry. + */ + if (hdg.heads == 0) + hdg.heads = 240; + + if (hdg.sectors == 0) + hdg.sectors = 63; + +#ifdef BLKGETSIZE64 + if (ioctl(fd, BLKGETSIZE64, &size64) == 0) + { + /* BLKGETSIZE64 returns the size of the device in octets. */ + size64 >>= 9; + nr = (size64 < ~0UL)? size64 : ~0UL; + } + else +#endif if (ioctl (fd, BLKGETSIZE, &nr)) - goto fail; + { + /* If the device is big, then use all we can from it. */ + if (errno == EFBIG) + nr = ~0UL; + else + goto fail; + } /* Got the geometry, so save it. */ geom->cylinders = hdg.cylinders; ++++++ grub-read-gpt ++++++ --- /var/tmp/diff_new_pack.jsafh8/_old 2013-10-17 14:10:46.000000000 +0200 +++ /var/tmp/diff_new_pack.jsafh8/_new 2013-10-17 14:10:46.000000000 +0200 @@ -1,6 +1,6 @@ -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 +diff -Nurp grub-0.97.orig/stage2/builtins.c grub-0.97/stage2/builtins.c +--- grub-0.97.orig/stage2/builtins.c 2011-09-12 11:48:25.000000000 +0200 ++++ grub-0.97/stage2/builtins.c 2011-09-12 11:48:42.000000000 +0200 @@ -1255,14 +1255,15 @@ find_func (char *arg, int flags) for (drive = 0x80; drive < 0x88; drive++) { @@ -20,7 +20,7 @@ { if (type != PC_SLICE_TYPE_NONE && ! IS_PC_SLICE_TYPE_BSD (type) -@@ -2877,8 +2878,8 @@ parttype_func (char *arg, int flags) +@@ -2880,8 +2881,8 @@ parttype_func (char *arg, int flags) { int new_type; unsigned long part = 0xFFFFFF; @@ -31,7 +31,7 @@ char mbr[512]; /* Get the drive and the partition. */ -@@ -2915,8 +2916,15 @@ parttype_func (char *arg, int flags) +@@ -2918,8 +2919,15 @@ parttype_func (char *arg, int flags) /* Look for the partition. */ while (next_partition (current_drive, 0xFFFFFF, &part, &type, &start, &len, &offset, &entry, @@ -48,9 +48,9 @@ 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 +diff -Nurp grub-0.97.orig/stage2/disk_io.c grub-0.97/stage2/disk_io.c +--- grub-0.97.orig/stage2/disk_io.c 2011-09-12 11:48:25.000000000 +0200 ++++ grub-0.97/stage2/disk_io.c 2011-09-12 11:51:24.000000000 +0200 @@ -21,6 +21,7 @@ #include <shared.h> @@ -59,7 +59,7 @@ #ifdef SUPPORT_NETBOOT # define GRUB 1 -@@ -502,8 +503,8 @@ int +@@ -501,8 +502,8 @@ int set_partition_hidden_flag (int hidden) { unsigned long part = 0xFFFFFF; @@ -70,7 +70,7 @@ char mbr[512]; /* The drive must be a hard disk. */ -@@ -524,8 +525,15 @@ set_partition_hidden_flag (int hidden) +@@ -523,8 +524,15 @@ set_partition_hidden_flag (int hidden) /* Look for the partition. */ while (next_partition (current_drive, 0xFFFFFF, &part, &type, &start, &len, &offset, &entry, @@ -87,7 +87,7 @@ if (part == current_partition) { /* Found. */ -@@ -577,11 +585,14 @@ next_partition (unsigned long drive, uns +@@ -576,11 +584,14 @@ next_partition (unsigned long drive, uns unsigned long *partition, int *type, unsigned long *start, unsigned long *len, unsigned long *offset, int *entry, @@ -103,12 +103,17 @@ /* Get next BSD partition in current PC slice. */ int next_bsd_partition (void) -@@ -666,6 +677,40 @@ next_partition (unsigned long drive, uns +@@ -665,6 +676,45 @@ next_partition (unsigned long drive, uns return 0; } + /* If this is a GPT partition table, read it as such. */ -+ if (*entry == -1 && *offset == 0 && PC_SLICE_TYPE (buf, 0) == PC_SLICE_TYPE_GPT) ++ if (*entry == -1 && *offset == 0 && ++ (PC_SLICE_TYPE (buf, 0) == PC_SLICE_TYPE_GPT || ++ PC_SLICE_TYPE (buf, 1) == PC_SLICE_TYPE_GPT || ++ PC_SLICE_TYPE (buf, 2) == PC_SLICE_TYPE_GPT || ++ PC_SLICE_TYPE (buf, 3) == PC_SLICE_TYPE_GPT ) ++ ) + { + struct grub_gpt_header *hdr = (struct grub_gpt_header *) buf; + @@ -144,7 +149,7 @@ /* Increase the entry number. */ (*entry)++; -@@ -710,6 +755,43 @@ next_partition (unsigned long drive, uns +@@ -709,6 +759,43 @@ next_partition (unsigned long drive, uns return 1; } @@ -188,7 +193,7 @@ /* Start the body of this function. */ #ifndef STAGE1_5 -@@ -717,6 +799,9 @@ next_partition (unsigned long drive, uns +@@ -716,6 +803,9 @@ next_partition (unsigned long drive, uns return 0; #endif @@ -198,7 +203,7 @@ /* If previous partition is a BSD partition or a PC slice which contains BSD partitions... */ if ((*partition != 0xFFFFFF && IS_PC_SLICE_TYPE_BSD (*type & 0xff)) -@@ -755,6 +840,9 @@ real_open_partition (int flags) +@@ -754,6 +844,9 @@ real_open_partition (int flags) unsigned long dest_partition = current_partition; unsigned long part_offset; unsigned long ext_offset; @@ -208,7 +213,7 @@ int entry; char buf[SECTOR_SIZE]; int bsd_part, pc_slice; -@@ -766,7 +854,8 @@ real_open_partition (int flags) +@@ -765,7 +858,8 @@ real_open_partition (int flags) int ret = next_partition (current_drive, dest_partition, ¤t_partition, ¤t_slice, &part_start, &part_length, @@ -218,9 +223,9 @@ bsd_part = (current_partition >> 8) & 0xFF; pc_slice = current_partition >> 16; return ret; -diff -Nurp grub-0.97.old/stage2/gpt.h grub-0.97/stage2/gpt.h ---- grub-0.97.old/stage2/gpt.h 1970-01-01 01:00:00.000000000 +0100 -+++ grub-0.97/stage2/gpt.h 2008-11-05 17:40:36.000000000 +0100 +diff -Nurp grub-0.97.orig/stage2/gpt.h grub-0.97/stage2/gpt.h +--- grub-0.97.orig/stage2/gpt.h 1970-01-01 01:00:00.000000000 +0100 ++++ grub-0.97/stage2/gpt.h 2011-09-12 11:48:42.000000000 +0200 @@ -0,0 +1,68 @@ +/* + * GRUB -- GRand Unified Bootloader @@ -290,20 +295,20 @@ + ((((entry) * (size) + 1) & (SECTOR_SIZE - 1)) - 1) + +#endif /* _GPT_H */ -diff -Nurp grub-0.97.old/stage2/pc_slice.h grub-0.97/stage2/pc_slice.h ---- grub-0.97.old/stage2/pc_slice.h 2008-11-05 17:39:17.000000000 +0100 -+++ grub-0.97/stage2/pc_slice.h 2008-11-05 17:40:36.000000000 +0100 +diff -Nurp grub-0.97.orig/stage2/pc_slice.h grub-0.97/stage2/pc_slice.h +--- grub-0.97.orig/stage2/pc_slice.h 2011-09-12 11:48:25.000000000 +0200 ++++ grub-0.97/stage2/pc_slice.h 2011-09-12 11:48:42.000000000 +0200 @@ -117,6 +117,7 @@ - #define PC_SLICE_TYPE_ZEN 0xbc #define PC_SLICE_TYPE_ZEN_DISABLED 0xbd + #define PC_SLICE_TYPE_OEM_RECOVERY 0x27 #define PC_SLICE_TYPE_DELL_UTIL 0xde +#define PC_SLICE_TYPE_GPT 0xee #define PC_SLICE_TYPE_LINUX_RAID 0xfd -diff -Nurp grub-0.97.old/stage2/shared.h grub-0.97/stage2/shared.h ---- grub-0.97.old/stage2/shared.h 2008-11-05 17:39:17.000000000 +0100 -+++ grub-0.97/stage2/shared.h 2008-11-05 17:40:36.000000000 +0100 +diff -Nurp grub-0.97.orig/stage2/shared.h grub-0.97/stage2/shared.h +--- grub-0.97.orig/stage2/shared.h 2011-09-12 11:48:25.000000000 +0200 ++++ grub-0.97/stage2/shared.h 2011-09-12 11:48:42.000000000 +0200 @@ -984,7 +984,9 @@ int next_partition (unsigned long drive, unsigned long *partition, int *type, unsigned long *start, unsigned long *len, ++++++ unsigned-blocks-n-offsets ++++++ --- /var/tmp/diff_new_pack.jsafh8/_old 2013-10-17 14:10:46.000000000 +0200 +++ /var/tmp/diff_new_pack.jsafh8/_new 2013-10-17 14:10:46.000000000 +0200 @@ -1,7 +1,91 @@ -Index: grub-0.97/stage2/disk_io.c -=================================================================== ---- grub-0.97.orig/stage2/disk_io.c -+++ grub-0.97/stage2/disk_io.c +diff -urp grub-0.97.orig/grub/asmstub.c grub-0.97/grub/asmstub.c +--- grub-0.97.orig/grub/asmstub.c 2010-05-10 12:48:00.000000000 +0200 ++++ grub-0.97/grub/asmstub.c 2010-05-10 12:54:54.000000000 +0200 +@@ -970,7 +970,7 @@ hex_dump (void *buf, size_t size) + + int + biosdisk (int subfunc, int drive, struct geometry *geometry, +- int sector, int nsec, int segment) ++ unsigned sector, unsigned nsec, int segment) + { + char *buf; + int fd = geometry->flags; +diff -urp grub-0.97.orig/stage2/bios.c grub-0.97/stage2/bios.c +--- grub-0.97.orig/stage2/bios.c 2004-03-27 17:34:04.000000000 +0100 ++++ grub-0.97/stage2/bios.c 2010-05-10 12:54:54.000000000 +0200 +@@ -47,7 +47,7 @@ extern int get_diskinfo_floppy (int driv + return the error number. Otherwise, return 0. */ + int + biosdisk (int read, int drive, struct geometry *geometry, +- int sector, int nsec, int segment) ++ unsigned sector, unsigned nsec, int segment) + { + int err; + +diff -urp grub-0.97.orig/stage2/builtins.c grub-0.97/stage2/builtins.c +--- grub-0.97.orig/stage2/builtins.c 2010-05-10 12:48:01.000000000 +0200 ++++ grub-0.97/stage2/builtins.c 2010-05-10 12:54:54.000000000 +0200 +@@ -127,7 +127,7 @@ check_password (char *entered, char* exp + + /* Print which sector is read when loading a file. */ + static void +-disk_read_print_func (int sector, int offset, int length) ++disk_read_print_func (unsigned sector, unsigned offset, int length) + { + grub_printf ("[%d,%d,%d]", sector, offset, length); + } +@@ -143,11 +143,11 @@ blocklist_func (char *arg, int flags) + int num_entries = 0; + int last_length = 0; + +- auto void disk_read_blocklist_func (int sector, int offset, int length); ++ auto void disk_read_blocklist_func (unsigned sector, unsigned offset, int length); + + /* Collect contiguous blocks into one entry as many as possible, + and print the blocklist notation on the screen. */ +- auto void disk_read_blocklist_func (int sector, int offset, int length) ++ auto void disk_read_blocklist_func (unsigned sector, unsigned offset, int length) + { + if (num_sectors > 0) + { +@@ -1821,11 +1821,11 @@ install_func (char *arg, int flags) + char *stage2_os_file = 0; + #endif /* GRUB_UTIL */ + +- auto void disk_read_savesect_func (int sector, int offset, int length); +- auto void disk_read_blocklist_func (int sector, int offset, int length); ++ auto void disk_read_savesect_func (unsigned sector, unsigned offset, int length); ++ auto void disk_read_blocklist_func (unsigned sector, unsigned offset, int length); + + /* Save the first sector of Stage2 in STAGE2_SECT. */ +- auto void disk_read_savesect_func (int sector, int offset, int length) ++ auto void disk_read_savesect_func (unsigned sector, unsigned offset, int length) + { + if (debug) + printf ("[%d]", sector); +@@ -1841,7 +1841,7 @@ install_func (char *arg, int flags) + + /* Write SECTOR to INSTALLLIST, and update INSTALLADDR and + INSTALLSECT. */ +- auto void disk_read_blocklist_func (int sector, int offset, int length) ++ auto void disk_read_blocklist_func (unsigned sector, unsigned offset, int length) + { + if (debug) + printf("[%d]", sector); +@@ -3307,8 +3307,8 @@ savedefault_func (char *arg, int flags) + int saved_lengths[2]; + + /* Save sector information about at most two sectors. */ +- auto void disk_read_savesect_func (int sector, int offset, int length); +- void disk_read_savesect_func (int sector, int offset, int length) ++ auto void disk_read_savesect_func (unsigned sector, unsigned offset, int length); ++ void disk_read_savesect_func (unsigned sector, unsigned offset, int length) + { + if (sector_count < 2) + { +diff -urp grub-0.97.orig/stage2/disk_io.c grub-0.97/stage2/disk_io.c +--- grub-0.97.orig/stage2/disk_io.c 2010-05-10 12:49:49.000000000 +0200 ++++ grub-0.97/stage2/disk_io.c 2010-05-10 12:54:54.000000000 +0200 @@ -125,8 +125,8 @@ int buf_track; struct geometry buf_geom; @@ -22,6 +106,15 @@ { int slen, sectors_per_vtrack; int sector_size_bits = grub_log2 (buf_geom.sector_size); +@@ -148,7 +148,7 @@ rawread (int drive, int sector, int byte + + while (byte_len > 0 && !errnum) + { +- int soff, num_sect, track, size = byte_len; ++ unsigned soff, num_sect, track, size = byte_len; + char *bufaddr; + + /* @@ -168,7 +168,7 @@ rawread (int drive, int sector, int byte } @@ -31,7 +124,17 @@ { errnum = ERR_GEOM; return 0; -@@ -292,13 +292,12 @@ rawread (int drive, int sector, int byte +@@ -192,7 +192,8 @@ rawread (int drive, int sector, int byte + + if (track != buf_track) + { +- int bios_err, read_start = track, read_len = sectors_per_vtrack; ++ int bios_err; ++ unsigned read_start = track, read_len = sectors_per_vtrack; + + /* + * If there's more than one read in this entire loop, then +@@ -292,13 +293,12 @@ rawread (int drive, int sector, int byte int @@ -47,7 +150,7 @@ >= part_length)) { errnum = ERR_OUTSIDE_PART; -@@ -1734,14 +1733,14 @@ grub_open (char *filename) +@@ -1734,14 +1734,14 @@ grub_open (char *filename) int @@ -65,7 +168,7 @@ len = filemax - filepos; /* if target file position is past the end of -@@ -1831,9 +1830,9 @@ grub_read (char *buf, int len) +@@ -1831,9 +1831,9 @@ grub_read (char *buf, int len) #ifndef STAGE1_5 /* Reposition a file offset. */ int @@ -77,10 +180,9 @@ return -1; filepos = offset; -Index: grub-0.97/stage2/filesys.h -=================================================================== ---- grub-0.97.orig/stage2/filesys.h -+++ grub-0.97/stage2/filesys.h +diff -urp grub-0.97.orig/stage2/filesys.h grub-0.97/stage2/filesys.h +--- grub-0.97.orig/stage2/filesys.h 2010-05-10 12:49:49.000000000 +0200 ++++ grub-0.97/stage2/filesys.h 2010-05-10 12:50:07.000000000 +0200 @@ -52,7 +52,7 @@ int fat_dir (char *dirname); #ifdef FSYS_EXT2FS #define FSYS_EXT2FS_NUM 1 @@ -99,10 +201,9 @@ int reiserfs_dir (char *dirname); int reiserfs_embed (int *start_sector, int needed_sectors); #if defined(__linux__) && defined (GRUB_UTIL) -Index: grub-0.97/stage2/fsys_ext2fs.c -=================================================================== ---- grub-0.97.orig/stage2/fsys_ext2fs.c -+++ grub-0.97/stage2/fsys_ext2fs.c +diff -urp grub-0.97.orig/stage2/fsys_ext2fs.c grub-0.97/stage2/fsys_ext2fs.c +--- grub-0.97.orig/stage2/fsys_ext2fs.c 2010-05-10 12:49:49.000000000 +0200 ++++ grub-0.97/stage2/fsys_ext2fs.c 2010-05-10 12:50:07.000000000 +0200 @@ -22,7 +22,7 @@ #include "shared.h" #include "filesys.h" @@ -323,10 +424,9 @@ { *rest = ch; return 0; -Index: grub-0.97/stage2/fsys_reiserfs.c -=================================================================== ---- grub-0.97.orig/stage2/fsys_reiserfs.c -+++ grub-0.97/stage2/fsys_reiserfs.c +diff -urp grub-0.97.orig/stage2/fsys_reiserfs.c grub-0.97/stage2/fsys_reiserfs.c +--- grub-0.97.orig/stage2/fsys_reiserfs.c 2010-05-10 12:49:49.000000000 +0200 ++++ grub-0.97/stage2/fsys_reiserfs.c 2010-05-10 12:50:07.000000000 +0200 @@ -382,7 +382,7 @@ is_power_of_two (unsigned long word) } @@ -445,10 +545,9 @@ if (++link_count > MAX_LINK_COUNT) { errnum = ERR_SYMLINK_LOOP; -Index: grub-0.97/stage2/fsys_vstafs.c -=================================================================== ---- grub-0.97.orig/stage2/fsys_vstafs.c -+++ grub-0.97/stage2/fsys_vstafs.c +diff -urp grub-0.97.orig/stage2/fsys_vstafs.c grub-0.97/stage2/fsys_vstafs.c +--- grub-0.97.orig/stage2/fsys_vstafs.c 2010-05-10 12:49:49.000000000 +0200 ++++ grub-0.97/stage2/fsys_vstafs.c 2010-05-10 12:50:07.000000000 +0200 @@ -39,7 +39,7 @@ static struct dir_entry *vstafs_nextdir * In f_sector we store the sector number in which the information about * the found file is. @@ -458,10 +557,9 @@ static int f_sector; int -Index: grub-0.97/stage2/shared.h -=================================================================== ---- grub-0.97.orig/stage2/shared.h -+++ grub-0.97/stage2/shared.h +diff -urp grub-0.97.orig/stage2/shared.h grub-0.97/stage2/shared.h +--- grub-0.97.orig/stage2/shared.h 2010-05-10 12:49:49.000000000 +0200 ++++ grub-0.97/stage2/shared.h 2010-05-10 12:54:54.000000000 +0200 @@ -713,8 +713,8 @@ extern int buf_track; extern struct geometry buf_geom; @@ -473,6 +571,15 @@ /* * Common BIOS/boot data. +@@ -857,7 +857,7 @@ int checkkey (void); + /* Low-level disk I/O */ + int get_diskinfo (int drive, struct geometry *geometry); + int biosdisk (int subfunc, int drive, struct geometry *geometry, +- int sector, int nsec, int segment); ++ unsigned sector, unsigned nsec, int segment); + void stop_floppy (void); + + /* Command-line interface functions. */ @@ -970,8 +970,8 @@ int gunzip_test_header (void); int gunzip_read (char *buf, int len); #endif /* NO_DECOMPRESSION */ -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org