commit grub for openSUSE:Factory
Hello community, here is the log from the commit of package grub for openSUSE:Factory checked in at Thu May 28 04:03:35 CEST 2009. -------- --- grub/grub.changes 2009-02-19 15:02:41.000000000 +0100 +++ grub/grub.changes 2009-05-27 23:07:30.000000000 +0200 @@ -1,0 +2,6 @@ +Wed May 27 23:06:35 CEST 2009 - jeffm@suse.de + +- Fix bug in iso9660 handling that will allow it to operate + on non-CDROM devices. + +------------------------------------------------------------------- calling whatdependson for head-i586 New: ---- grub-iso-fixes ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ grub.spec ++++++ --- /var/tmp/diff_new_pack.u30487/_old 2009-05-28 04:02:30.000000000 +0200 +++ /var/tmp/diff_new_pack.u30487/_new 2009-05-28 04:02:30.000000000 +0200 @@ -22,11 +22,13 @@ Name: grub %ifarch x86_64 BuildRequires: gcc-32bit glibc-devel-32bit libncurses5-32bit ncurses-devel-32bit +%else +BuildRequires: gcc glibc-devel libncurses5 ncurses-devel %endif License: GPL v2 or later Group: System/Boot Version: 0.97 -Release: 157 +Release: 159 Source0: %{name}-%{version}.tar.gz Source1: installgrub Source2: grubonce @@ -64,6 +66,7 @@ Patch30: remove-buildid.diff Patch31: string-ops-fix Patch39: document-grub-install.unsupported +Patch40: grub-iso-fixes Url: http://www.gnu.org/software/grub/grub.en.html BuildRoot: %{_tmppath}/%{name}-%{version}-build Summary: Grand Unified Boot Loader @@ -135,6 +138,7 @@ %patch30 %patch31 -p1 %patch39 -p1 +%patch40 -p1 %build perl -pi -e 's,/usr/share/grub/i386-pc,/usr/lib/grub,' docs/grub.texi @@ -232,6 +236,9 @@ exit 0 %changelog +* Wed May 27 2009 jeffm@suse.de +- Fix bug in iso9660 handling that will allow it to operate + on non-CDROM devices. * Thu Feb 19 2009 duwe@suse.de - fix high-priority documentation issue (bnc#339995) * Mon Dec 01 2008 duwe@suse.de @@ -334,7 +341,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) -* Thu Jun 09 2005 ro@suse.de +* Fri Jun 10 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) @@ -460,7 +467,7 @@ no device.map at all any more. * Thu Oct 10 2002 kukuk@suse.de - remove requires from bootsplash -* Tue Sep 10 2002 adrian@suse.de +* Wed Sep 11 2002 adrian@suse.de - remove PreReq to itself * Tue Sep 10 2002 duwe@suse.de - added --disable-auto-linux-mem-opt to ./configure options. ++++++ grub-iso-fixes ++++++ From: Jeff Mahoney <jeffm@suse.com> Subject: [PATCH] grub: Fix iso sector/offset calculations This patch fixes iso9660 sector calculations when byte_offset is nonzero and the device sector size != file system sector. This is due to it accounting for the byte_offset before left-shifting the sector number instead of afterwards. For example, the old code would make the following translation for a device with 512 byte sectors: file system device sector 10, offset 512 sector 44, offset 0 10 * 2048 + 512 = 20992 44 * 512 = 22528 The correct translation is sector 41, offset 0: 41 * 512 = 20992 Signed-off-by: Jeff Mahoney <jeffm@suse.com> --- stage2/fsys_iso9660.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/stage2/fsys_iso9660.c +++ b/stage2/fsys_iso9660.c @@ -81,12 +86,12 @@ iso9660_devread (int sector, int byte_of if (byte_len <= 0) return 1; - sector += (byte_offset >> sector_size_lg2); - byte_offset &= (buf_geom.sector_size - 1); asm volatile ("shl%L0 %1,%0" : "=r"(sector) : "Ic"((int8_t)(ISO_SECTOR_BITS - sector_size_lg2)), "0"(sector)); + sector += (byte_offset >> sector_size_lg2); + byte_offset &= (buf_geom.sector_size - 1); #if !defined(STAGE1_5) if (disk_read_hook && debug) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@Hilbert.suse.de