forked from pool/grub2
Accepting request 110168 from devel:openSUSE:Factory
- Fix build with gcc 4.7 (needs -fno-strict-aliasing for zfs code). - Fix error in installation to extended partition (bnc#750897) - Added BuildRequires for gnu-unifont OBS-URL: https://build.opensuse.org/request/show/110168 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/grub2?expand=0&rev=30
This commit is contained in:
parent
9fd0838d17
commit
c0bc7d4966
30
grub2-gcc47.patch
Normal file
30
grub2-gcc47.patch
Normal file
@ -0,0 +1,30 @@
|
||||
Index: grub-1.99/grub-core/commands/usbtest.c
|
||||
===================================================================
|
||||
--- grub-1.99.orig/grub-core/commands/usbtest.c
|
||||
+++ grub-1.99/grub-core/commands/usbtest.c
|
||||
@@ -111,7 +111,7 @@ grub_usb_get_string (grub_usb_device_t d
|
||||
static void
|
||||
usb_print_str (const char *description, grub_usb_device_t dev, int idx)
|
||||
{
|
||||
- char *name;
|
||||
+ char *name = NULL;
|
||||
grub_usb_err_t err;
|
||||
/* XXX: LANGID */
|
||||
|
||||
Index: grub-1.99/conf/Makefile.common
|
||||
===================================================================
|
||||
--- grub-1.99.orig/conf/Makefile.common
|
||||
+++ grub-1.99/conf/Makefile.common
|
||||
@@ -11,10 +11,10 @@ if COND_i386_pc
|
||||
CFLAGS_PLATFORM += -mrtd -mregparm=3
|
||||
endif
|
||||
if COND_i386_efi
|
||||
- LDFLAGS_PLATFORM = -melf_i386
|
||||
+ LDFLAGS_PLATFORM = -Wl,-melf_i386
|
||||
endif
|
||||
if COND_x86_64_efi
|
||||
- LDFLAGS_PLATFORM = -melf_x86_64
|
||||
+ LDFLAGS_PLATFORM = -Wl,-melf_x86_64
|
||||
endif
|
||||
if COND_i386_qemu
|
||||
CFLAGS_PLATFORM += -mrtd -mregparm=3
|
23
grub2-install-opt-skip-fs-probe.patch
Normal file
23
grub2-install-opt-skip-fs-probe.patch
Normal file
@ -0,0 +1,23 @@
|
||||
Index: grub-1.99/util/grub-install.in
|
||||
===================================================================
|
||||
--- grub-1.99.orig/util/grub-install.in
|
||||
+++ grub-1.99/util/grub-install.in
|
||||
@@ -248,6 +248,9 @@ do
|
||||
-f | --force)
|
||||
setup_force="--force" ;;
|
||||
|
||||
+ -s | --skip-fs-probe)
|
||||
+ setup_skip_fs_probe="--skip-fs-probe" ;;
|
||||
+
|
||||
-*)
|
||||
echo "Unrecognized option \`$option'" 1>&2
|
||||
usage
|
||||
@@ -581,7 +584,7 @@ fi
|
||||
# Perform the platform-dependent install
|
||||
if [ "${target_cpu}-${platform}" = "i386-pc" ] || [ "${target_cpu}-${platform}" = "sparc64-ieee1275" ] ; then
|
||||
# Now perform the installation.
|
||||
- "$grub_setup" ${allow_floppy} ${setup_verbose} ${setup_force} --directory="${grubdir}" \
|
||||
+ "$grub_setup" ${allow_floppy} ${setup_verbose} ${setup_force} ${setup_skip_fs_probe} --directory="${grubdir}" \
|
||||
--device-map="${device_map}" "${install_device}" || exit 1
|
||||
elif [ "${target_cpu}-${platform}" = "i386-ieee1275" ] || [ "${target_cpu}-${platform}" = "powerpc-ieee1275" ]; then
|
||||
if [ x"$update_nvram" = xyes ]; then
|
22
grub2-iterate-and-hook-for-extended-partition.patch
Normal file
22
grub2-iterate-and-hook-for-extended-partition.patch
Normal file
@ -0,0 +1,22 @@
|
||||
Index: grub-1.99/grub-core/partmap/msdos.c
|
||||
===================================================================
|
||||
--- grub-1.99.orig/grub-core/partmap/msdos.c
|
||||
+++ grub-1.99/grub-core/partmap/msdos.c
|
||||
@@ -107,11 +107,15 @@ grub_partition_msdos_iterate (grub_disk_
|
||||
return grub_error (GRUB_ERR_BAD_PART_TABLE, "dummy mbr");
|
||||
|
||||
/* If this partition is a normal one, call the hook. */
|
||||
- if (! grub_msdos_partition_is_empty (e->type)
|
||||
- && ! grub_msdos_partition_is_extended (e->type))
|
||||
+ if (! grub_msdos_partition_is_empty (e->type))
|
||||
{
|
||||
p.number++;
|
||||
|
||||
+ /* prevent someone doing mkfs or mkswap on an
|
||||
+ extended partition, but leave room for LILO */
|
||||
+ if (grub_msdos_partition_is_extended (e->type))
|
||||
+ p.len = 2;
|
||||
+
|
||||
if (hook (disk, &p))
|
||||
return grub_errno;
|
||||
}
|
@ -1,8 +1,8 @@
|
||||
Index: util/grub.d/10_linux.in
|
||||
Index: grub-1.99/util/grub.d/10_linux.in
|
||||
===================================================================
|
||||
--- util/grub.d/10_linux.in.orig
|
||||
+++ util/grub.d/10_linux.in
|
||||
@@ -30,7 +30,7 @@ CLASS="--class gnu-linux --class gnu --c
|
||||
--- grub-1.99.orig/util/grub.d/10_linux.in
|
||||
+++ grub-1.99/util/grub.d/10_linux.in
|
||||
@@ -31,7 +31,7 @@ CLASS="--class gnu-linux --class gnu --c
|
||||
if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
|
||||
OS=GNU/Linux
|
||||
else
|
||||
@ -11,7 +11,7 @@ Index: util/grub.d/10_linux.in
|
||||
CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1) ${CLASS}"
|
||||
fi
|
||||
|
||||
@@ -84,7 +84,7 @@ EOF
|
||||
@@ -116,7 +116,7 @@ EOF
|
||||
message="$(gettext_printf "Loading Linux %s ..." ${version})"
|
||||
cat << EOF
|
||||
echo '$message'
|
||||
|
@ -8,11 +8,11 @@ Signed-off-by: Fedora Ninjas <pjones@fedoraproject.org>
|
||||
grub-core/lib/relocator.c | 3 +++
|
||||
1 files changed, 3 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/grub-core/lib/relocator.c b/grub-core/lib/relocator.c
|
||||
index dbd5fe4..606b545 100644
|
||||
--- a/grub-core/lib/relocator.c
|
||||
+++ b/grub-core/lib/relocator.c
|
||||
@@ -1010,6 +1010,9 @@ malloc_in_range (struct grub_relocator *rel,
|
||||
Index: grub-1.99/grub-core/lib/relocator.c
|
||||
===================================================================
|
||||
--- grub-1.99.orig/grub-core/lib/relocator.c
|
||||
+++ grub-1.99/grub-core/lib/relocator.c
|
||||
@@ -1021,6 +1021,9 @@ malloc_in_range (struct grub_relocator *
|
||||
= ALIGN_UP (alloc_end,
|
||||
GRUB_RELOCATOR_FIRMWARE_REQUESTS_QUANT);
|
||||
|
||||
@ -22,5 +22,3 @@ index dbd5fe4..606b545 100644
|
||||
#if GRUB_RELOCATOR_HAVE_LEFTOVERS
|
||||
{
|
||||
struct grub_relocator_fw_leftover *lo1 = NULL;
|
||||
--
|
||||
1.7.5.1
|
||||
|
@ -1,3 +1,21 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 16 09:21:40 UTC 2012 - aj@suse.de
|
||||
|
||||
- Fix build with gcc 4.7 (needs -fno-strict-aliasing for zfs code).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 13 04:06:06 UTC 2012 - mchang@suse.com
|
||||
|
||||
- Fix error in installation to extended partition (bnc#750897)
|
||||
add grub2-iterate-and-hook-for-extended-partition.patch
|
||||
add grub2-install-opt-skip-fs-probe.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 12 09:34:40 UTC 2012 - tittiatcoke@gmail.com
|
||||
|
||||
- Added BuildRequires for gnu-unifont in order to create the
|
||||
necessary fonts for a graphical boot menu.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 20 13:04:51 UTC 2012 - andrea.turrini@gmail.com
|
||||
|
||||
|
29
grub2.spec
29
grub2.spec
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package grub2
|
||||
#
|
||||
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -15,6 +15,8 @@
|
||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
|
||||
Name: grub2
|
||||
%ifarch x86_64 ppc64
|
||||
BuildRequires: freetype2-devel-32bit
|
||||
@ -37,6 +39,7 @@ BuildRequires: bison
|
||||
BuildRequires: device-mapper-devel
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: flex
|
||||
BuildRequires: gnu-unifont
|
||||
BuildRequires: lzma
|
||||
BuildRequires: ruby
|
||||
BuildRequires: xz
|
||||
@ -57,8 +60,8 @@ BuildRequires: xz
|
||||
Version: 1.99
|
||||
Release: 0
|
||||
Summary: Bootloader with support for Linux, Multiboot and more
|
||||
Group: System/Boot
|
||||
License: GPL-3.0+
|
||||
Group: System/Boot
|
||||
Url: http://www.gnu.org/software/grub/
|
||||
Source0: ftp://ftp.gnu.org/gnu/grub/grub-%{version}.tar.xz
|
||||
Source1: 90_persistent
|
||||
@ -72,6 +75,9 @@ Patch2: grub2-linux.patch
|
||||
Patch3: gccwarn.patch
|
||||
Patch4: grub2-linux-submenu.patch
|
||||
Patch5: grub2-unused.patch
|
||||
Patch6: grub2-iterate-and-hook-for-extended-partition.patch
|
||||
Patch7: grub2-install-opt-skip-fs-probe.patch
|
||||
Patch8: grub2-gcc47.patch
|
||||
PreReq: perl-Bootloader
|
||||
Requires: gettext-runtime
|
||||
Requires(post): /sbin/install-info
|
||||
@ -98,6 +104,7 @@ file that is part of this package's documentation for more information.
|
||||
%package efi
|
||||
|
||||
Summary: GRUB2 for EFI systems
|
||||
Group: System/Boot
|
||||
%ifarch ia64 x86_64
|
||||
#Package is available on ia64 and x86_64 only and not necessarily needed
|
||||
Requires: efibootmgr
|
||||
@ -120,12 +127,17 @@ provides support for EFI systems.
|
||||
(cd grub-%{version}/po && ls *.po | cut -d. -f1 | xargs) >grub-%{version}/po/LINGUAS
|
||||
sed 's,@setfilename grub.info,@setfilename grub2.info,' grub-%{version}/docs/grub.texi >grub-%{version}/docs/grub2.texi
|
||||
sed -i 's,grub.texi,grub2.texi,' grub-%{version}/docs/Makefile.am
|
||||
## fix unifont location so grub-mkfont can create *.pf2 files
|
||||
sed -i 's|/usr/share/fonts/unifont|/usr/share/fonts/uni|g' grub-%{version}/configure
|
||||
cd grub-%{version}
|
||||
%patch0 -p1
|
||||
%patch2 -p0
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
cd ..
|
||||
|
||||
# README.openSUSE
|
||||
@ -138,7 +150,7 @@ cp -a grub-%{version} grub-efi-%{version}
|
||||
%ifarch %{efi}
|
||||
cd grub-efi-%{version}
|
||||
# we don't want to let rpm to override *FLAGS by bogus ones
|
||||
CFLAGS=" "
|
||||
CFLAGS="-fno-strict-aliasing "
|
||||
CXXFLAGS=" "
|
||||
FFLAGS=" "
|
||||
export CFLAGS CXXFLAGS FFLAGS
|
||||
@ -162,7 +174,7 @@ cd grub-%{version}
|
||||
#./autogen.sh
|
||||
|
||||
# we don't want to let rpm to override *FLAGS by bogus ones
|
||||
CFLAGS=" "
|
||||
CFLAGS="-fno-strict-aliasing "
|
||||
CXXFLAGS=" "
|
||||
FFLAGS=" "
|
||||
export CFLAGS CXXFLAGS FFLAGS
|
||||
@ -197,8 +209,10 @@ install -m 755 -d $RPM_BUILD_ROOT/boot/efi/EFI/opensuse/
|
||||
install -m 755 grub.efi $RPM_BUILD_ROOT/boot/efi/EFI/opensuse/grub.efi
|
||||
# Remove devel files
|
||||
rm $RPM_BUILD_ROOT/%{_libdir}/%{name}-efi/*/*.h
|
||||
rm $RPM_BUILD_ROOT%{_datadir}/%{name}-efi/*.h
|
||||
|
||||
cd ..
|
||||
|
||||
%endif
|
||||
|
||||
cd grub-%{version}
|
||||
@ -214,6 +228,7 @@ ln -s ../boot/%{name}/grub.cfg $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.cfg
|
||||
|
||||
# Remove devel files
|
||||
rm $RPM_BUILD_ROOT/%{_libdir}/%{name}/*/*.h
|
||||
rm $RPM_BUILD_ROOT%{_datadir}/%{name}/*.h
|
||||
|
||||
# Defaults
|
||||
install -m 644 -D %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/default/grub
|
||||
@ -302,6 +317,8 @@ fi
|
||||
%doc grub-%{version}/ChangeLog grub-%{version}/README.openSUSE
|
||||
%{_infodir}/grub-dev.info*
|
||||
%{_infodir}/%{name}.info*
|
||||
%dir %{_datadir}/%{name}
|
||||
%{_datadir}/%{name}/*.pf2
|
||||
|
||||
%ifarch %{efi}
|
||||
|
||||
@ -347,6 +364,8 @@ fi
|
||||
%doc grub-%{version}/README grub-%{version}/THANKS grub-%{version}/TODO
|
||||
%doc grub-%{version}/ChangeLog grub-%{version}/README.openSUSE
|
||||
%exclude %{_mandir}
|
||||
%dir %{_datadir}/%{name}-efi
|
||||
%{_datadir}/%{name}-efi/*.pf2
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
|
Loading…
Reference in New Issue
Block a user