Hello community, here is the log from the commit of package grub2 for openSUSE:12.3 checked in at 2013-02-21 15:32:20 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:12.3/grub2 (Old) and /work/SRC/openSUSE:12.3/.grub2.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "grub2", Maintainer is "MChang@suse.com" Changes: -------- --- /work/SRC/openSUSE:12.3/grub2/grub2.changes 2013-02-07 14:16:26.000000000 +0100 +++ /work/SRC/openSUSE:12.3/.grub2.new/grub2.changes 2013-02-21 15:32:25.000000000 +0100 @@ -1,0 +2,23 @@ +Tue Feb 19 15:38:04 UTC 2013 - duwe@suse.com + + Fix up bogus items from the previous merge: + - efi_libdir = _libdir = /usr/lib + - package /usr/lib/grub2 dir only once + - move grub.efi to /usr/lib/grub2/%{grubefiarch}/ + - create a symlink so that scripts can find it there. + +------------------------------------------------------------------- +Thu Feb 14 11:42:40 UTC 2013 - duwe@suse.com + +- merge internal+external BS changes into superset spec file, + remove obsolete dependencies +- merge SLES+openSUSE patches, restrict "grub-efi" to 12.2 +- add efidisk-ahci-workaround (bnc#794674) +- fix unquoted-string-in-class.patch (bnc#788322) + +------------------------------------------------------------------- +Fri Feb 8 01:58:22 UTC 2013 - mchang@suse.com + +- adapt to pesign-obs-integration changes + +------------------------------------------------------------------- @@ -6,0 +30,5 @@ +Thu Jan 31 16:18:56 UTC 2013 - duwe@suse.com + +- switch to out of source / subdir build + +------------------------------------------------------------------- @@ -24,0 +53,13 @@ +Tue Jan 29 02:42:28 UTC 2013 - mchang@suse.com + +- set empty prefix to grub.efi for looking up in current directory +- remove grubcd.efi, as grub.efi can now be used for cdrom booting + +------------------------------------------------------------------- +Mon Jan 28 08:05:52 CET 2013 - snwint@suse.de + +- add fat module to grubcd +- explicitly set empty prefix to get grub to set $prefix to the currrent + directory + +------------------------------------------------------------------- @@ -31,0 +73,10 @@ +Fri Jan 18 06:24:57 UTC 2013 - mchang@suse.com + +- ship a Secure Boot UEFI compatible bootloader (fate#314485). +- update for cdrom boot support. +- grub2-cdpath.patch: fix the grub.cfg not found when booting from + optical disk. +- grubcd.efi: the efi image used for optial disk booting, with + reduced size and $prefix set to /EFI/BOOT. + +------------------------------------------------------------------- @@ -51,0 +103,20 @@ + +------------------------------------------------------------------- +Fri Dec 21 04:18:06 UTC 2012 - mchang@suse.com + +- put 32-bit grub2 modules to /usr/lib/grub2 +- put 64-bit grub2 modules to /usr/lib64/grub2 (x86_64-efi) +- put grub.efi to /usr/lib64/efi(x86_64) or /usr/lib/efi(i586) + +------------------------------------------------------------------- +Tue Dec 18 03:43:38 UTC 2012 - mchang@suse.com + +- ship a Secure Boot UEFI compatible bootloader (fate#314485) +- add grub2-secureboot-chainloader.patch, which expands the efi + chainloader to be able to verify images via shim lock protocol. + +------------------------------------------------------------------- +Fri Nov 30 06:39:15 UTC 2012 - mchang@suse.com + +- replace %{sles_version} by %{suse_version} +- use correct product name New: ---- efidisk-ahci-workaround ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ grub2.spec ++++++ --- /var/tmp/diff_new_pack.Kekzps/_old 2013-02-21 15:32:27.000000000 +0100 +++ /var/tmp/diff_new_pack.Kekzps/_new 2013-02-21 15:32:27.000000000 +0100 @@ -15,6 +15,7 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # + # needssslcertforbuild Name: grub2 @@ -43,18 +44,14 @@ BuildRequires: texinfo %endif BuildRequires: python -BuildRequires: ruby BuildRequires: xz-devel -%if 0%{?suse_version} == 1210 -BuildRequires: guile -%endif %ifarch x86_64 -%if 0%{?suse_version} >= 1230 +%if 0%{?suse_version} >= 1230 || 0%{?sles_version} >= 11 BuildRequires: pesign-obs-integration %endif %endif -# Modules always contain just 32-bit code +# Modules code is dynamically loaded and collected from a _fixed_ path. %define _libdir %{_exec_prefix}/lib %ifarch ppc ppc64 @@ -82,7 +79,7 @@ %endif %endif -%if 0%{?sles_version} == 11 +%if 0%{?suse_version} == 1110 || 0%{?sles_version} == 11 %define only_efi %{nil} %define only_x86_64 %{nil} %endif @@ -135,6 +132,7 @@ Patch28: grub2-fix-unquoted-string-in-class.patch Patch29: grub2-secureboot-chainloader.patch Patch30: grub2-cdpath.patch +Patch31: efidisk-ahci-workaround PreReq: perl-Bootloader Requires: gettext-runtime %if 0%{?suse_version} >= 1140 @@ -155,20 +153,26 @@ %endif %description -This is the second version of the GRUB (Grand Unified Bootloader), -a highly configurable and customizable bootloader with modular -architecture. It supports rich scale of kernel formats, file systems, +This is the second version of the GRUB (Grand Unified Bootloader), a +highly configurable and customizable bootloader with modular +architecture. It support rich scale of kernel formats, file systems, computer architectures and hardware devices. -PLEASE NOTE: This is a development snapshot, and as such will not -replace grub if you install it, but will be merely added as another -kernel to your existing GRUB menu. Do not replace GRUB (grub package) -with it unless you know what are you doing. Refer to README.openSUSE -file that is part of this package's documentation for more information. + + +Authors: +-------- + Gordon Matzigkeit + Yoshinori K. Okuji + Colin Watson + Colin D. Bennett + Vesa J��skel�inen + Robert Millan + Carles Pina %package %{grubarch} -Summary: GRUB2 for %{platform} systems +Summary: Bootloader with support for Linux, Multiboot and more Group: System/Boot %description %{grubarch} @@ -178,23 +182,36 @@ provides support for %{platform} systems. %ifarch %{efi} - +%if 0%{?suse_version} == 1220 || 0%{?suse_version} == 1230 %package efi -Summary: GRUB2 for EFI systems +Summary: Bootloader with support for Linux, Multiboot and more Group: System/Boot PreReq: %{name} = %{version}-%{release} PreReq: %{name}-%{grubefiarch} = %{version}-%{release} %description efi -The GRand Unified Bootloader (GRUB) is a highly configurable and customizable -bootloader with modular architecture. It supports rich variety of kernel formats, -file systems, computer architectures and hardware devices. This subpackage -provides compatibility to old package and install new required one. +This is the second version of the GRUB (Grand Unified Bootloader), a +highly configurable and customizable bootloader with modular +architecture. It support rich scale of kernel formats, file systems, +computer architectures and hardware devices. + + + +Authors: +-------- + Gordon Matzigkeit + Yoshinori K. Okuji + Colin Watson + Colin D. Bennett + Vesa J��skel�inen + Robert Millan + Carles Pina +%endif %package %{grubefiarch} -Summary: GRUB2 for EFI systems +Summary: Bootloader with support for Linux, Multiboot and more Group: System/Boot %ifarch ia64 x86_64 #Package is available on ia64 and x86_64 only and not necessarily needed @@ -211,14 +228,12 @@ %prep # We create (if we build for efi) two copies of the sources in the Builddir -%setup -q -T -c -n grub-%{version} -a 0 -a 5 -cp -r po grub-%{version}/ -cd grub-%{version} +%setup -q -n grub-%{version} -a 5 (cd po && ls *.po | cut -d. -f1 | xargs) >po/LINGUAS %patch0 -p1 %patch1 -p1 # Workaround SLE11's patch utility did not rename the file for us -%if 0%{?sles_version} == 11 +%if 0%{?suse_version} == 1110 || 0%{?sles_version} == 11 mv docs/grub.texi docs/grub2.texi %endif %patch2 -p1 @@ -252,28 +267,38 @@ %patch28 -p1 %patch29 -p1 %patch30 -p1 -cd .. +%patch31 -p1 # README.openSUSE -cp %{SOURCE3} grub-%{version}/ -cp %{SOURCE8} grub-%{version}/ -cp %{SOURCE9} grub-%{version}/grub-core/ +cp %{SOURCE3} . +cp %{SOURCE8} . +cp %{SOURCE9} grub-core/. +mkdir build %ifarch %{efi} -(cp -a grub-%{version} grub-efi-%{version}) +mkdir build-efi %endif %build -%ifarch %{efi} -cd grub-efi-%{version} autoreconf -vi -# we don't want to let rpm to override *FLAGS by bogus ones +# Not yet: +%define common_conf_options TARGET_LDFLAGS=-static --program-transform-name=s,grub,%{name}, +# This does NOT work on SLE11: +%define _configure ../configure + +# We don't want to let rpm override *FLAGS with default a.k.a bogus values. CFLAGS="-fno-strict-aliasing -fno-inline-functions-called-once " CXXFLAGS=" " FFLAGS=" " export CFLAGS CXXFLAGS FFLAGS -%configure \ + +%ifarch %{efi} +cd build-efi +../configure \ TARGET_LDFLAGS=-static \ + --prefix=%{_prefix} \ + --sysconfdir=%{_sysconfdir} \ --target=%{_target_platform} \ + --libdir=%{_libdir} \ --with-platform=efi \ --program-transform-name=s,grub,%{name}, make %{?_smp_mflags} @@ -282,10 +307,10 @@ FS_MODULES="ext2 btrfs ext2 xfs jfs reiserfs" CD_MODULES=" all_video boot cat chain configfile echo \ - efinet fat font gfxmenu gfxterm gzio halt iso9660 \ + efinet font gfxmenu gfxterm gzio halt iso9660 \ jpeg minicmd normal part_apple part_msdos part_gpt \ password_pbkdf2 png reboot search search_fs_uuid \ - search_fs_file search_label sleep test video" + search_fs_file search_label sleep test video fat" %ifarch x86_64 CD_MODULES="${CD_MODULES} linuxefi" @@ -303,14 +328,7 @@ %endif %if ! 0%{?only_efi:1} -cd grub-%{version} -autoreconf -vi - -# we don't want to let rpm to override *FLAGS by bogus ones -CFLAGS="-fno-strict-aliasing -fno-inline-functions-called-once " -CXXFLAGS=" " -FFLAGS=" " -export CFLAGS CXXFLAGS FFLAGS +cd build # 64-bit x86-64 machines use 32-bit boot loader # (We cannot just redefine _target_cpu, as we'd get i386.rpm packages then) @@ -324,26 +342,27 @@ # -static is needed so that autoconf script is able to link # test that looks for _start symbol on 64 bit platforms -%configure TARGET_LDFLAGS=-static \ +../configure TARGET_LDFLAGS=-static \ + --prefix=%{_prefix} \ + --sysconfdir=%{_sysconfdir} \ --target=%{_target_platform} \ --with-platform=%{platform} \ %{extraconfigure} \ --program-transform-name=s,grub,%{name}, - make %{?_smp_mflags} %endif %install %ifarch %{efi} -cd grub-efi-%{version} -make DESTDIR=$RPM_BUILD_ROOT install - -install -m 644 grub.efi $RPM_BUILD_ROOT%{_libdir}/%{name}/%{grubefiarch}/grub.efi %ifarch x86_64 -%if 0%{?suse_version} >= 1230 +%if 0%{?suse_version} >= 1230 || 0%{?sles_version} >= 11 export BRP_PESIGN_FILES="%{_libdir}/%{name}/%{grubefiarch}/grub.efi" %endif %endif +cd build-efi +make DESTDIR=$RPM_BUILD_ROOT install + +install -m 644 grub.efi $RPM_BUILD_ROOT%{_libdir}/%{name}/%{grubefiarch}/. # Create grub.efi link to system efi directory # This is for tools like kiwi not fiddling with the path @@ -359,10 +378,10 @@ %endif %if ! 0%{?only_efi:1} -cd grub-%{version} +cd build make DESTDIR=$RPM_BUILD_ROOT install %else -cd grub-efi-%{version} +cd build-efi %endif # Script that makes part of grub.cfg persist across updates @@ -382,6 +401,7 @@ %endif %ifarch %{efi} +%if 0%{?suse_version} == 1220 || 0%{?suse_version} == 1230 # grub2-efi compatibility links until other packages are fixed ln -sf %{name}-editenv $RPM_BUILD_ROOT%{_bindir}/%{name}-efi-editenv ln -sf %{name}-set-default $RPM_BUILD_ROOT%{_sbindir}/%{name}-efi-set-default @@ -389,6 +409,7 @@ ln -sf %{name}-install $RPM_BUILD_ROOT%{_sbindir}/%{name}-efi-install ln -sf %{name} $RPM_BUILD_ROOT/boot/%{name}-efi %endif +%endif # Defaults install -m 644 -D %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/default/grub @@ -441,6 +462,7 @@ %endif %ifarch %{efi} +%if 0%{?suse_version} == 1220 || 0%{?suse_version} == 1230 %triggerpostun -- %{name}-efi @@ -506,6 +528,7 @@ fi exit 0 %endif +%endif %preun if [ $1 = 0 ]; then @@ -543,16 +566,16 @@ %endif fi %if 0%{?only_efi:1} -%define source_dir grub-efi-%{version} +%define source_dir build-efi %else -%define source_dir grub-%{version} +%define source_dir build %endif %files -f %{source_dir}/%{name}.lang %defattr(-,root,root,-) -%doc %{source_dir}/COPYING %{source_dir}/NEWS %{source_dir}/README -%doc %{source_dir}/THANKS %{source_dir}/TODO %{source_dir}/ChangeLog -%doc %{source_dir}/README.openSUSE +%doc COPYING NEWS README +%doc THANKS TODO ChangeLog +%doc README.openSUSE %dir /boot/%{name} %ghost /boot/%{name}/grub.cfg %{_sysconfdir}/bash_completion.d/grub @@ -593,6 +616,7 @@ %{_infodir}/%{name}.info* %if ! 0%{?only_efi:1} + %files %{grubarch} %defattr(-,root,root,-) %dir %{_libdir}/%{name}/%{grubarch} @@ -613,14 +637,17 @@ %endif %ifarch %{efi} + +%if 0%{?suse_version} == 1220 || 0%{?suse_version} == 1230 %files efi %defattr(-,root,root,-) -%doc %{source_dir}/README +%doc README %ghost /boot/grub2-efi %{_sbindir}/grub2-efi-install %{_sbindir}/grub2-efi-mkconfig %{_sbindir}/grub2-efi-set-default %{_bindir}/grub2-efi-editenv +%endif %files %{grubefiarch} %defattr(-,root,root,-) ++++++ efidisk-ahci-workaround ++++++
From 61474615b8e177881caa89fc04cae16019cf01b9 Mon Sep 17 00:00:00 2001 From: Matthew Garrett <mjg@redhat.com> Date: Wed, 15 Aug 2012 14:37:07 -0400 Subject: [PATCH] efidisk: Read chunks in smaller blocks
--- grub-core/disk/efi/efidisk.c | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/grub-core/disk/efi/efidisk.c b/grub-core/disk/efi/efidisk.c index a432b44..77ab5b0 100644 --- a/grub-core/disk/efi/efidisk.c +++ b/grub-core/disk/efi/efidisk.c @@ -546,6 +546,9 @@ grub_efidisk_read (struct grub_disk *disk, grub_disk_addr_t sector, struct grub_efidisk_data *d; grub_efi_block_io_t *bio; grub_efi_status_t status; + grub_size_t remaining = size; + grub_size_t read = 0; + grub_size_t chunk = 0x500; d = disk->data; bio = d->block_io; @@ -554,14 +557,29 @@ grub_efidisk_read (struct grub_disk *disk, grub_disk_addr_t sector, "reading 0x%lx sectors at the sector 0x%llx from %s\n", (unsigned long) size, (unsigned long long) sector, disk->name); + while (remaining > chunk) { + status = efi_call_5 (bio->read_blocks, bio, bio->media->media_id, + (grub_efi_uint64_t) sector + read, + (grub_efi_uintn_t) chunk << disk->log_sector_size, + buf + (read << disk->log_sector_size)); + if (status != GRUB_EFI_SUCCESS) + return grub_error (GRUB_ERR_READ_ERROR, + N_("failure reading sector 0x%llx from `%s'"), + (unsigned long long) sector + read, + disk->name); + read += chunk; + remaining -= chunk; + } + status = efi_call_5 (bio->read_blocks, bio, bio->media->media_id, - (grub_efi_uint64_t) sector, - (grub_efi_uintn_t) size << disk->log_sector_size, - buf); + (grub_efi_uint64_t) sector + read, + (grub_efi_uintn_t) remaining << disk->log_sector_size, + buf + (read << disk->log_sector_size)); + if (status != GRUB_EFI_SUCCESS) return grub_error (GRUB_ERR_READ_ERROR, N_("failure reading sector 0x%llx from `%s'"), - (unsigned long long) sector, + (unsigned long long) sector + read, disk->name); return GRUB_ERR_NONE; -- 1.7.11.2 ++++++ grub2-fix-unquoted-string-in-class.patch ++++++ --- /var/tmp/diff_new_pack.Kekzps/_old 2013-02-21 15:32:27.000000000 +0100 +++ /var/tmp/diff_new_pack.Kekzps/_new 2013-02-21 15:32:27.000000000 +0100 @@ -20,58 +20,55 @@ util/grub.d/20_linux_xen.in | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) -diff --git a/util/grub.d/10_hurd.in b/util/grub.d/10_hurd.in -index 45f0ad3..5afc079 100644 ---- a/util/grub.d/10_hurd.in -+++ b/util/grub.d/10_hurd.in -@@ -32,7 +32,7 @@ if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then +Index: grub-2.00/util/grub.d/10_hurd.in +=================================================================== +--- grub-2.00.orig/util/grub.d/10_hurd.in ++++ grub-2.00/util/grub.d/10_hurd.in +@@ -32,7 +32,7 @@ if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; th OS=GNU else OS="${GRUB_DISTRIBUTOR} GNU/Hurd" - CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1) ${CLASS}" -+ CLASS="--class '$(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1)' ${CLASS}" ++ CLASS="--class '$(echo -n "${GRUB_DISTRIBUTOR}" | sed -r 's/[^[:alnum:]]+/-/g; s/(^-|-$)//g' | tr 'A-Z' 'a-z')' ${CLASS}" fi at_least_one=false -diff --git a/util/grub.d/10_kfreebsd.in b/util/grub.d/10_kfreebsd.in -index b0e84e2..4ec8d96 100644 ---- a/util/grub.d/10_kfreebsd.in -+++ b/util/grub.d/10_kfreebsd.in +Index: grub-2.00/util/grub.d/10_kfreebsd.in +=================================================================== +--- grub-2.00.orig/util/grub.d/10_kfreebsd.in ++++ grub-2.00/util/grub.d/10_kfreebsd.in @@ -30,7 +30,7 @@ CLASS="--class os" case "${GRUB_DISTRIBUTOR}" in Debian) OS="${GRUB_DISTRIBUTOR} GNU/kFreeBSD" - CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1) --class gnu-kfreebsd --class gnu ${CLASS}" -+ CLASS="--class '$(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1)' --class gnu-kfreebsd --class gnu ${CLASS}" ++ CLASS="--class '$(echo -n "${GRUB_DISTRIBUTOR}" | sed -r 's/[^[:alnum:]]+/-/g; s/(^-|-$)//g' | tr 'A-Z' 'a-z')' --class gnu-kfreebsd --class gnu ${CLASS}" ;; *) OS="FreeBSD" -diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in -index b2f65c0..40f8651 100644 ---- a/util/grub.d/10_linux.in -+++ b/util/grub.d/10_linux.in -@@ -32,7 +32,7 @@ if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then +Index: grub-2.00/util/grub.d/10_linux.in +=================================================================== +--- grub-2.00.orig/util/grub.d/10_linux.in ++++ grub-2.00/util/grub.d/10_linux.in +@@ -32,7 +32,7 @@ if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; th OS=GNU/Linux else OS="${GRUB_DISTRIBUTOR}" - CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1) ${CLASS}" -+ CLASS="--class '$(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1)' ${CLASS}" ++ CLASS="--class '$(echo -n "${GRUB_DISTRIBUTOR}" | sed -r 's/[^[:alnum:]]+/-/g; s/(^-|-$)//g' | tr 'A-Z' 'a-z')' ${CLASS}" fi # loop-AES arranges things so that /dev/loop/X can be our root device, but -diff --git a/util/grub.d/20_linux_xen.in b/util/grub.d/20_linux_xen.in -index 29184c2..f1ce61e 100644 ---- a/util/grub.d/20_linux_xen.in -+++ b/util/grub.d/20_linux_xen.in -@@ -32,7 +32,7 @@ if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then +Index: grub-2.00/util/grub.d/20_linux_xen.in +=================================================================== +--- grub-2.00.orig/util/grub.d/20_linux_xen.in ++++ grub-2.00/util/grub.d/20_linux_xen.in +@@ -32,7 +32,7 @@ if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; th OS=GNU/Linux else OS="${GRUB_DISTRIBUTOR} GNU/Linux" - CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1) ${CLASS}" -+ CLASS="--class '$(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1)' ${CLASS}" ++ CLASS="--class '$(echo -n "${GRUB_DISTRIBUTOR}" | sed -r 's/[^[:alnum:]]+/-/g; s/(^-|-$)//g' | tr 'A-Z' 'a-z')' ${CLASS}" fi # loop-AES arranges things so that /dev/loop/X can be our root device, but --- -1.7.3.4 - -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org