SHA256
1
0
forked from pool/grub2

Accepting request 228720 from home:michael-chang:branches:Base:System

OBS-URL: https://build.opensuse.org/request/show/228720
OBS-URL: https://build.opensuse.org/package/show/Base:System/grub2?expand=0&rev=83
This commit is contained in:
2014-04-02 10:35:03 +00:00
committed by Git OBS Bridge
parent f679e1b059
commit 395270c067
42 changed files with 467 additions and 5698 deletions

View File

@@ -26,6 +26,9 @@ BuildRequires: glibc-devel-32bit
%else
BuildRequires: gcc
BuildRequires: glibc-devel
%ifarch s390x
BuildRequires: glibc-static
%endif
%endif
BuildRequires: automake
BuildRequires: bison
@@ -52,7 +55,6 @@ BuildRequires: xz-devel
BuildRequires: openssl >= 0.9.8
BuildRequires: pesign-obs-integration
%endif
BuildRequires: xen-devel
%endif
# Modules code is dynamically loaded and collected from a _fixed_ path.
@@ -109,12 +111,9 @@ Source4: grub2.rpmlintrc
Source5: translations-20130626.tar.xz
Source6: grub2-once
Source7: 20_memtest86+
Source8: README.ibm3215
Source10: openSUSE-UEFI-CA-Certificate.crt
Source11: SLES-UEFI-CA-Certificate.crt
Source12: grub2-snapper-plugin.sh
Source13: suse_btrfs_grub2_install.sh
Source14: 80_suse_btrfs_snapshot
Source1000: PATCH_POLICY
Patch1: rename-grub-info-file-to-grub2.patch
Patch2: grub2-linux.patch
@@ -139,51 +138,19 @@ Patch35: grub2-linguas.sh-no-rsync.patch
Patch36: 0001-look-for-DejaVu-also-in-usr-share-fonts-truetype.patch
Patch37: grub2-use-DejaVuSansMono-for-starfield-theme.patch
Patch38: grub2-s390x-01-Changes-made-and-files-added-in-order-to-allow-s390x.patch
Patch39: grub2-s390x-02-kexec-module-added-to-emu.patch
Patch40: grub2-s390x-03-output-7-bit-ascii.patch
Patch41: grub2-s390x-04-grub2-install.patch
Patch42: grub2-s390x-05-grub2-mkconfig.patch
# Btrfs snapshot booting related patches
Patch101: 0002-btrfs-add-ability-to-boot-from-subvolumes.patch
Patch102: 0003-cmdline-add-envvar-loader_cmdline_append.patch
Patch103: 0004-btrfs-export-subvolume-envvars.patch
Patch104: btrfs_follow_default.patch
Patch105: SUSE_BTRFS_SNAPSHOT_BOOTING.patch
Patch110: 0001-script-provide-overridable-root-by-subvol.patch
Patch111: 0002-script-create-menus-for-btrfs-snapshot.patch
# PowerPC LE support
Patch201: grub2-ppc64le-01-Add-Little-Endian-support-for-Power64-to-the-build.patch
Patch202: grub2-ppc64le-02-Build-grub-as-O1-until-we-add-savegpr-and-restgpr-ro.patch
Patch203: grub2-ppc64le-03-disable-creation-of-vsx-and-altivec-instructions.patch
Patch204: grub2-ppc64le-04-powerpc64-LE-s-linker-knows-how-to-handle-the-undefi.patch
Patch205: grub2-ppc64le-05-grub-install-can-now-recognize-and-install-a-LE-grub.patch
Patch206: grub2-ppc64le-06-set-the-ABI-version-to-0x02-in-the-e_flag-of-the-PPC.patch
Patch207: grub2-ppc64le-07-Add-IEEE1275_ADDR-helper.patch
Patch208: grub2-ppc64le-08-Fix-some-more-warnings-when-casting.patch
Patch209: grub2-ppc64le-09-Add-powerpc64-types.patch
Patch210: grub2-ppc64le-10-powerpc64-is-not-necessarily-BigEndian-anymore.patch
Patch211: grub2-ppc64le-11-Fix-warnings-when-building-powerpc-linux-loader-64bi.patch
Patch212: grub2-ppc64le-12-GRUB_ELF_R_PPC_-processing-is-applicable-only-for-32.patch
Patch213: grub2-ppc64le-13-Fix-powerpc-setjmp-longjmp-64bit-issues.patch
Patch214: grub2-ppc64le-14-Add-powerpc64-ieee1275-trampoline.patch
Patch215: grub2-ppc64le-15-Add-64bit-support-to-powerpc-startup-code.patch
Patch216: grub2-ppc64le-16-Add-grub_dl_find_section_addr.patch
Patch217: grub2-ppc64le-17-Add-ppc64-relocations.patch
Patch218: grub2-ppc64le-18-ppc64-doesn-t-need-libgcc-routines.patch
Patch219: grub2-ppc64le-19-Use-FUNC_START-FUNC_END-for-powerpc-function-definit.patch
Patch220: grub2-ppc64le-20-.TOC.-symbol-is-special-in-ppc64le-.-It-maps-to-the-.patch
Patch221: grub2-ppc64le-21-the-.toc-section-in-powerpc64le-modules-are-sometime.patch
Patch222: grub2-ppc64le-22-all-parameter-to-firmware-calls-should-to-be-BigEndi.patch
Patch223: grub2-ppc64le-23-grub-segfaults-if-initrd-is-specified-before-specify.patch
Patch224: grub2-ppc64-build-ppc64-32bit.patch
Patch225: grub2-ppc64-qemu.patch
Patch200: grub2-ppc64le-platform.patch
Patch201: grub2-powerpc-libgcc.patch
Patch202: grub2-ppc64le-core-bigendian.patch
Requires: gettext-runtime
%if 0%{?suse_version} >= 1140
%ifnarch s390x
Requires: os-prober
%endif
Recommends: libburnia-tools
%endif
Requires(post): /sbin/install-info
Requires(preun):/sbin/install-info
%if ! 0%{?only_efi:1}
@@ -234,9 +201,6 @@ Requires: %{name} = %{version}-%{release}
Requires(post): %{name} = %{version}-%{release}
Requires: perl-Bootloader
Requires(post): perl-Bootloader
%ifarch s390x
Requires: s390-tools
%endif
%description %{grubarch}
The GRand Unified Bootloader (GRUB) is a highly configurable and customizable
@@ -255,9 +219,6 @@ Group: System/Boot
Requires: efibootmgr
Requires(post): efibootmgr
%endif
%ifarch ppc ppc64 ppc64le
Requires: powerpc-utils
%endif
Requires: %{name} = %{version}-%{release}
Requires(post): %{name} = %{version}-%{release}
Requires: perl-Bootloader >= 0.706
@@ -273,23 +234,6 @@ provides support for EFI systems.
%endif
%ifarch x86_64
%package %{_target_cpu}-xen
Summary: Bootloader with support for Linux, Multiboot and more
Group: System/Boot
Provides: %{name}-xen = %{version}-%{release}
Obsoletes: %{name}-xen < %{version}-%{release}
%description %{_target_cpu}-xen
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 support for XEN systems.
%endif
%package snapper-plugin
Summary: Grub2's snapper plugin
@@ -324,7 +268,7 @@ mv po/grub.pot po/%{name}.pot
# we could enable it when
# 1 we have background with better contrast to the font's color
# 2 we confirm it's eligible to set the terminal background this way
#patch13 -p1
#%patch13 -p1
%patch15 -p1
%patch16 -p1
%patch17 -p1
@@ -339,42 +283,17 @@ mv po/grub.pot po/%{name}.pot
%patch36 -p1
%patch37 -p1
%patch38 -p1
%patch39 -p1
%patch40 -p1
%patch41 -p1
%patch42 -p1
%patch101 -p1
%patch102 -p1
%patch103 -p1
%patch104 -p1
%patch105 -p1
#patch110 -p1
#patch111 -p1
%patch110 -p1
%patch111 -p1
%patch200 -p1
%patch201 -p1
#We want to override endianess on Power LE only
%ifarch ppc64le
%patch202 -p1
%patch203 -p1
%patch204 -p1
%patch205 -p1
%patch206 -p1
%patch207 -p1
%patch208 -p1
%patch209 -p1
%patch210 -p1
%patch211 -p1
%patch212 -p1
%patch213 -p1
%patch214 -p1
%patch215 -p1
%patch216 -p1
%patch217 -p1
%patch218 -p1
%patch219 -p1
%patch220 -p1
%patch221 -p1
%patch222 -p1
%patch223 -p1
%patch224 -p1
%patch225 -p1
%endif
# Generate po/LINGUAS for message catalogs ...
./linguas.sh
@@ -383,14 +302,10 @@ rm -f po/stamp-po
# README.openSUSE
cp %{SOURCE3} .
cp %{SOURCE8} .
mkdir build
%ifarch %{efi}
mkdir build-efi
%endif
%ifarch x86_64
mkdir build-xen
%endif
%build
# autogen calls autoreconf -vi
@@ -406,37 +321,6 @@ CXXFLAGS=" "
FFLAGS=" "
export CFLAGS CXXFLAGS FFLAGS
%ifarch x86_64
cd build-xen
../configure \
TARGET_LDFLAGS=-static \
--prefix=%{_prefix} \
--sysconfdir=%{_sysconfdir} \
--target=%{_target_platform} \
--libdir=%{_libdir} \
--with-platform=xen \
--program-transform-name=s,grub,%{name},
make %{?_smp_mflags}
cat > ./grub.cfg <<EOF
insmod part_msdos
insmod part_gpt
insmod search
insmod configfile
insmod legacy_configfile
if search -s root -f /boot/grub2/grub.cfg ; then
configfile /boot/grub2/grub.cfg
elif search -s root -f /@/boot/grub2/grub.cfg ; then
configfile /@/boot/grub2/grub.cfg
elif search -s root -f /boot/grub/menu.lst ; then
legacy_configfile /boot/grub/menu.lst
fi
EOF
./grub-mkstandalone --grub-mkimage=./grub-mkimage -o grub.xen -O %{_target_cpu}-xen -d grub-core/ "/boot/grub/grub.cfg=./grub.cfg"
cd ..
%endif
%ifarch %{efi}
cd build-efi
../configure \
@@ -511,34 +395,24 @@ cd build
%endif
%ifarch s390x
%define arch_specific --enable-device-mapper --disable-grub-mount
TFLAGS="-fPIC"
%define _devmapper --disable-device-mapper
%else
%define arch_specific --enable-device-mapper
TFLAGS="-static"
%define _devmapper --enable-device-mapper
%endif
# -static is needed so that autoconf script is able to link
# test that looks for _start symbol on 64 bit platforms
../configure TARGET_LDFLAGS=$TFLAGS \
../configure TARGET_LDFLAGS=-static \
--prefix=%{_prefix} \
--sysconfdir=%{_sysconfdir} \
--target=%{_target_platform} \
--with-platform=%{platform} \
%{arch_specific} \
%{_devmapper} \
--program-transform-name=s,grub,%{name},
make %{?_smp_mflags}
%endif
%install
%ifarch x86_64
cd build-xen
make DESTDIR=$RPM_BUILD_ROOT install
install -m 644 grub.xen $RPM_BUILD_ROOT%{_libdir}/%{name}/%{_target_cpu}-xen/.
cd ..
%endif
%ifarch %{efi}
cd build-efi
make DESTDIR=$RPM_BUILD_ROOT install
@@ -598,57 +472,9 @@ rm $RPM_BUILD_ROOT%{_datadir}/%{name}/*.h
install -m 644 -D %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/default/grub
install -m 755 -D %{SOURCE6} $RPM_BUILD_ROOT%{_sbindir}/grub2-once
install -m 755 -D %{SOURCE12} $RPM_BUILD_ROOT%{_libdir}/snapper/plugins/grub
install -m 755 -D %{SOURCE13} $RPM_BUILD_ROOT%{_sbindir}/suse_btrfs_grub2_install.sh
install -m 755 -D %{SOURCE14} $RPM_BUILD_ROOT%{_sysconfdir}/grub.d/80_suse_btrfs_snapshot
R=$RPM_BUILD_ROOT
%ifarch %{ix86} x86_64
%else
rm -f $R%{_sysconfdir}/grub.d/20_memtest86+
%endif
%ifarch ppc ppc64 ppc64le
%else
rm -f $R%{_sysconfdir}/grub.d/20_ppc_terminfo
%endif
%ifarch s390x
mv $R%{_sysconfdir}/{grub.d,default}/zipl2grub.conf.in
chmod 600 $R%{_sysconfdir}/default/zipl2grub.conf.in
%define dracutlibdir %{_prefix}/lib/dracut
%define dracutgrubmoddir %{dracutlibdir}/modules.d/99grub2
install -m 755 -d $R%{dracutgrubmoddir}
for f in module-setup.sh grub2.sh; do
mv $R%{_libdir}/%{name}/%{grubarch}/dracut-$f $R%{dracutgrubmoddir}/$f
done
rm -f $R%{_sysconfdir}/grub.d/30_os-prober
perl -ni -e '
sub END() {
print "\n# on s390x always:\nGRUB_DISABLE_OS_PROBER=true\n";
}
if ( s{^#(GRUB_DISABLE_LINUX_RECOVERY)=\"?(true)\"?}{$1=$2} ) {
$_ .= "GRUB_DISABLE_RECOVERY=true\n";
}
if ( s{^#?(GRUB_TERMINAL)=(console|gfxterm)}{$1=console} ) {
$_ .= "GRUB_GFXPAYLOAD_LINUX=text\n";
}
if ( m{^# The resolution used on graphical} ||
m{^# # note that you can use only modes} ||
m{^# you can see them in real GRUB} ||
m{^#?GRUB_GFXMODE=} ) {
next;
}
s{openSUSE}{SUSE Linux Enterprise Server} if (m{^GRUB_DISTRIBUTOR});
print;
' $RPM_BUILD_ROOT%{_sysconfdir}/default/grub
%else
%endif
%find_lang %{name}
%fdupes %buildroot%{_bindir}
%fdupes %buildroot%{_libdir}
%post
/sbin/install-info %{_infodir}/grub-dev.info %{_infodir}/dir || :
@@ -781,31 +607,26 @@ fi
%doc THANKS TODO ChangeLog
%doc README.openSUSE
%doc docs/autoiso.cfg docs/osdetect.cfg
%ifarch s390x
%doc README.ibm3215
%endif
%dir /boot/%{name}
%ghost /boot/%{name}/grub.cfg
%{_sysconfdir}/bash_completion.d/grub
%config(noreplace) %{_sysconfdir}/default/grub
%dir %{_sysconfdir}/grub.d
%{_sysconfdir}/grub.d/README
%config %{_sysconfdir}/grub.d/00_header
%config %{_sysconfdir}/grub.d/10_linux
%config %{_sysconfdir}/grub.d/20_linux_xen
%config %{_sysconfdir}/grub.d/40_custom
%config %{_sysconfdir}/grub.d/41_custom
%config %{_sysconfdir}/grub.d/90_persistent
%{_sbindir}/%{name}-install
%config %{_sysconfdir}/grub.d/??_*
%{_sbindir}/%{name}-bios-setup
%{_sbindir}/%{name}-macbless
%{_sbindir}/%{name}-mkconfig
%{_sbindir}/%{name}-once
%{_sbindir}/%{name}-ofpathname
%{_sbindir}/%{name}-probe
%{_sbindir}/%{name}-reboot
%{_sbindir}/%{name}-set-default
%{_sbindir}/suse_btrfs_grub2_install.sh
%{_sbindir}/%{name}-sparc64-setup
%{_bindir}/%{name}-editenv
%{_bindir}/%{name}-file
%{_bindir}/%{name}-fstest
%{_bindir}/%{name}-glue-efi
%{_bindir}/%{name}-kbdcomp
%{_bindir}/%{name}-menulst2cfg
%{_bindir}/%{name}-mkfont
@@ -816,9 +637,16 @@ fi
%{_bindir}/%{name}-mkrelpath
%{_bindir}/%{name}-mkrescue
%{_bindir}/%{name}-mkstandalone
%{_bindir}/%{name}-mount
%{_bindir}/%{name}-render-label
%{_bindir}/%{name}-script-check
%{_bindir}/%{name}-syslinux2cfg
%ifarch s390x
%{_bindir}/%{name}-emu
%{_bindir}/%{name}-emu-lite
%else
%{_sbindir}/%{name}-install
%endif
%dir %{_libdir}/%{name}
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/themes
@@ -831,7 +659,9 @@ fi
%{_mandir}/man1/%{name}-editenv.1.*
%{_mandir}/man1/%{name}-file.1.*
%{_mandir}/man1/%{name}-fstest.1.*
%{_mandir}/man1/%{name}-glue-efi.1.*
%{_mandir}/man1/%{name}-kbdcomp.1.*
%{_mandir}/man1/%{name}-macbless.1.*
%{_mandir}/man1/%{name}-menulst2cfg.1.*
%{_mandir}/man1/%{name}-mkfont.1.*
%{_mandir}/man1/%{name}-mkimage.1.*
@@ -841,48 +671,32 @@ fi
%{_mandir}/man1/%{name}-mkrelpath.1.*
%{_mandir}/man1/%{name}-mkrescue.1.*
%{_mandir}/man1/%{name}-mkstandalone.1.*
%{_mandir}/man1/%{name}-mount.1.*
%{_mandir}/man1/%{name}-render-label.1.*
%{_mandir}/man1/%{name}-script-check.1.*
%{_mandir}/man1/%{name}-syslinux2cfg.1.*
%{_mandir}/man8/%{name}-install.8.*
%{_mandir}/man8/%{name}-bios-setup.8.*
%{_mandir}/man8/%{name}-mkconfig.8.*
%{_mandir}/man8/%{name}-ofpathname.8.*
%{_mandir}/man8/%{name}-probe.8.*
%{_mandir}/man8/%{name}-reboot.8.*
%{_mandir}/man8/%{name}-set-default.8.*
%{_mandir}/man8/%{name}-sparc64-setup.8.*
%ifarch s390x
%{_bindir}/%{name}-emu
%{_bindir}/%{name}-emu-lite
%{_mandir}/man1/%{name}-emu.1.*
%else
%config %{_sysconfdir}/grub.d/30_os-prober
%{_bindir}/%{name}-glue-efi
%{_bindir}/%{name}-mount
%{_sbindir}/%{name}-bios-setup
%{_sbindir}/%{name}-macbless
%{_sbindir}/%{name}-ofpathname
%{_sbindir}/%{name}-sparc64-setup
%{_mandir}/man1/%{name}-glue-efi.1.*
%{_mandir}/man1/%{name}-macbless.1.*
%{_mandir}/man1/%{name}-mount.1.*
%{_mandir}/man8/%{name}-bios-setup.8.*
%{_mandir}/man8/%{name}-ofpathname.8.*
%{_mandir}/man8/%{name}-sparc64-setup.8.*
%{_mandir}/man8/%{name}-install.8.*
%endif
%files branding-upstream
%defattr(-,root,root,-)
%{_datadir}/%{name}/themes/starfield
%if ! 0%{?only_efi:1}
%files %{grubarch}
%defattr(-,root,root,-)
%ifarch %{ix86} x86_64
%config %{_sysconfdir}/grub.d/20_memtest86+
%endif
%dir %{_libdir}/%{name}/%{grubarch}
%ifarch ppc ppc64 ppc64le
%config %{_sysconfdir}/grub.d/20_ppc_terminfo
%{_libdir}/%{name}/%{grubarch}/%{name}.chrp
%{_libdir}/%{name}/%{grubarch}/bootinfo.txt
%endif
@@ -901,11 +715,6 @@ fi
%{_libdir}/%{name}/%{grubarch}/kernel.exec
%{_libdir}/%{name}/%{grubarch}/modinfo.sh
%endif
%ifarch s390x
%{_sbindir}/%{name}-zipl-setup
%config(noreplace) %{_sysconfdir}/default/zipl2grub.conf.in
%{dracutlibdir}
%endif
%ifarch %{efi}
@@ -935,13 +744,6 @@ fi
%defattr(-,root,root,-)
%dir %{_libdir}/snapper
%dir %{_libdir}/snapper/plugins
%config %{_sysconfdir}/grub.d/80_suse_btrfs_snapshot
%{_libdir}/snapper/plugins/grub
%ifarch x86_64
%files %{_target_cpu}-xen
%dir %{_libdir}/%{name}/%{_target_cpu}-xen
%{_libdir}/%{name}/%{_target_cpu}-xen/*
%endif
%changelog