forked from pool/grub2
Accepting request 667984 from home:rwill:branches:Base:System
- Build platform-packages 'noarch' and move to '/usr/share/efi' for SUSE Manager. (FATE#326960) * grub2-efi-xen-chainload.patch (bsc#1122563) * grub2-efi-xen-removable.patch (refresh) OBS-URL: https://build.opensuse.org/request/show/667984 OBS-URL: https://build.opensuse.org/package/show/Base:System/grub2?expand=0&rev=321
This commit is contained in:
125
grub2.spec
125
grub2.spec
@@ -167,7 +167,6 @@ Source16: grub2-xen-pv-firmware.cfg
|
||||
# required hook for systemd-sleep (bsc#941758)
|
||||
Source17: grub2-systemd-sleep.sh
|
||||
Source18: grub2-check-default.sh
|
||||
Source999: grub2-rpmlintrc
|
||||
Source1000: PATCH_POLICY
|
||||
Patch1: rename-grub-info-file-to-grub2.patch
|
||||
Patch2: grub2-linux.patch
|
||||
@@ -383,7 +382,9 @@ Upstream branding for GRUB2's graphical console
|
||||
|
||||
Summary: Bootloader with support for Linux, Multiboot and more
|
||||
Group: System/Boot
|
||||
%if %{platform} != emu
|
||||
BuildArch: noarch
|
||||
%endif
|
||||
Requires: %{name} = %{version}
|
||||
Requires(post): %{name} = %{version}
|
||||
%if 0%{?update_bootloader_requires:1}
|
||||
@@ -612,6 +613,8 @@ swap partition while in resuming
|
||||
%patch501 -p1
|
||||
|
||||
%build
|
||||
# collect evidence to debug spurious build failure on SLE15
|
||||
ulimit -a
|
||||
# patches above may update the timestamp of grub.texi
|
||||
# and via build-aux/mdate-sh they end up in grub2.info, breaking build-compare
|
||||
[ -z "$SOURCE_DATE_EPOCH" ] ||\
|
||||
@@ -660,12 +663,13 @@ export CFLAGS CXXFLAGS FFLAGS
|
||||
%if %{emu}
|
||||
cd build-emu
|
||||
%define arch_specific --enable-device-mapper --disable-grub-mount
|
||||
TFLAGS="-fPIC"
|
||||
TLFLAGS="-fPIC"
|
||||
|
||||
# -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=$TLFLAGS \
|
||||
--prefix=%{_prefix} \
|
||||
--libdir=%{_datadir} \
|
||||
--sysconfdir=%{_sysconfdir} \
|
||||
--target=%{_target_platform} \
|
||||
--with-platform=emu \
|
||||
@@ -684,9 +688,9 @@ cd build-xen
|
||||
../configure \
|
||||
TARGET_LDFLAGS=-static \
|
||||
--prefix=%{_prefix} \
|
||||
--libdir=%{_datadir} \
|
||||
--sysconfdir=%{_sysconfdir} \
|
||||
--target=%{_target_platform} \
|
||||
--libdir=%{_libdir} \
|
||||
--with-platform=xen \
|
||||
--program-transform-name=s,grub,%{name},
|
||||
make %{?_smp_mflags}
|
||||
@@ -701,9 +705,9 @@ cd build-efi
|
||||
../configure \
|
||||
TARGET_LDFLAGS=-static \
|
||||
--prefix=%{_prefix} \
|
||||
--libdir=%{_datadir} \
|
||||
--sysconfdir=%{_sysconfdir} \
|
||||
--target=%{_target_platform} \
|
||||
--libdir=%{_libdir} \
|
||||
--with-platform=efi \
|
||||
--program-transform-name=s,grub,%{name},
|
||||
make %{?_smp_mflags}
|
||||
@@ -771,12 +775,13 @@ cd build
|
||||
|
||||
%if %{platform} != "emu"
|
||||
%define arch_specific --enable-device-mapper
|
||||
TFLAGS="-static"
|
||||
TLFLAGS="-static"
|
||||
|
||||
# -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="$TLFLAGS" \
|
||||
--prefix=%{_prefix} \
|
||||
--libdir=%{_datadir} \
|
||||
--sysconfdir=%{_sysconfdir} \
|
||||
--target=%{_target_platform} \
|
||||
--with-platform=%{platform} \
|
||||
@@ -792,7 +797,7 @@ cd ..
|
||||
%ifarch %{ix86} x86_64
|
||||
cd build-xen
|
||||
make DESTDIR=$RPM_BUILD_ROOT install
|
||||
install -m 644 grub.xen $RPM_BUILD_ROOT%{_libdir}/%{name}/%{grubxenarch}/.
|
||||
install -m 644 grub.xen $RPM_BUILD_ROOT%{_datadir}/%{name}/%{grubxenarch}/.
|
||||
cd ..
|
||||
%endif
|
||||
|
||||
@@ -800,26 +805,28 @@ cd ..
|
||||
cd build-efi
|
||||
make DESTDIR=$RPM_BUILD_ROOT install
|
||||
|
||||
install -m 644 grub.efi grub-tpm.efi $RPM_BUILD_ROOT%{_libdir}/%{name}/%{grubefiarch}/.
|
||||
install -m 644 grub.efi grub-tpm.efi $RPM_BUILD_ROOT%{_datadir}/%{name}/%{grubefiarch}/.
|
||||
|
||||
# Create grub.efi link to system efi directory
|
||||
# This is for tools like kiwi not fiddling with the path
|
||||
%if "%{grubefiarch}" == "x86_64-efi"
|
||||
%define sysefibasedir %{_exec_prefix}/lib64/efi
|
||||
%else
|
||||
%define sysefibasedir %{_libdir}/efi
|
||||
%endif
|
||||
%define sysefibasedir %{_datadir}/efi
|
||||
%define sysefidir %{sysefibasedir}/%{_target_cpu}
|
||||
install -d $RPM_BUILD_ROOT%{sysefidir}
|
||||
ln -sf ../../../../%{_libdir}/%{name}/%{grubefiarch}/grub.efi $RPM_BUILD_ROOT%{sysefidir}/grub.efi
|
||||
ln -sr $RPM_BUILD_ROOT%{_datadir}/%{name}/%{grubefiarch}/grub.efi $RPM_BUILD_ROOT%{sysefidir}/grub.efi
|
||||
%ifarch x86_64
|
||||
# provide compatibility sym-link for previous shim-install
|
||||
ln -sf %{_target_cpu}/grub.efi $RPM_BUILD_ROOT%{sysefibasedir}/grub.efi
|
||||
# provide compatibility sym-link for previous shim-install and the like
|
||||
install -d $RPM_BUILD_ROOT/usr/lib64/efi
|
||||
ln -srf $RPM_BUILD_ROOT%{_datadir}/%{name}/%{grubefiarch}/grub.efi $RPM_BUILD_ROOT/usr/lib64/efi/grub.efi
|
||||
cat <<-EoM > $RPM_BUILD_ROOT/usr/lib64/efi/DEPRECATED
|
||||
This directory and it's contents was moved to %{_datadir}/efi/x86_64.
|
||||
Individual symbolic links are provided for a smooth transition and
|
||||
may vanish at any point in time. Please use the new location!
|
||||
EoM
|
||||
%endif
|
||||
|
||||
%ifarch x86_64 aarch64
|
||||
%if 0%{?suse_version} >= 1230 || 0%{?suse_version} == 1110
|
||||
export BRP_PESIGN_FILES="%{_libdir}/%{name}/%{grubefiarch}/grub.efi %{_libdir}/%{name}/%{grubefiarch}/grub-tpm.efi"
|
||||
export BRP_PESIGN_FILES="%{_datadir}/%{name}/%{grubefiarch}/grub.efi %{_datadir}/%{name}/%{grubefiarch}/grub-tpm.efi"
|
||||
install -m 444 grub.der $RPM_BUILD_ROOT%{sysefidir}/
|
||||
%endif
|
||||
%endif
|
||||
@@ -833,17 +840,25 @@ make DESTDIR=$RPM_BUILD_ROOT install
|
||||
cd ..
|
||||
%endif
|
||||
|
||||
if [ -d build-emu/grub-core ]; then
|
||||
if [ "%{platform}" = "emu" ]; then
|
||||
# emu-lite is currently broken (and not needed), don't install!
|
||||
rm -f $RPM_BUILD_ROOT%{_bindir}/%{name}-emu-lite
|
||||
elif [ -d build-emu/grub-core ]; then
|
||||
cd build-emu/grub-core
|
||||
install -m 755 grub-emu $RPM_BUILD_ROOT%{_bindir}/%{name}-emu
|
||||
install -m 755 grub-emu-lite $RPM_BUILD_ROOT%{_bindir}/%{name}-emu-lite
|
||||
if false; then
|
||||
# this needs to go to '-emu'-package; until that is ready, don't install!
|
||||
install -m 755 grub-emu-lite $RPM_BUILD_ROOT%{_bindir}/%{name}-emu-lite
|
||||
else
|
||||
rm -f $RPM_BUILD_ROOT%{_bindir}/%{name}-emu-lite
|
||||
fi
|
||||
install -m 644 grub-emu.1 $RPM_BUILD_ROOT%{_mandir}/man1/%{name}-emu.1
|
||||
cd ../..
|
||||
fi
|
||||
|
||||
# *.module files are installed with executable bits due to the way grub2 build
|
||||
# system works. Clear executable bits to not confuse find-debuginfo.sh
|
||||
find $RPM_BUILD_ROOT%{_libdir}/%{name} \
|
||||
find $RPM_BUILD_ROOT%{_datadir}/%{name} \
|
||||
\( -name '*.module' -o -name '*.image' -o -name '*.exec' \) -print0 | \
|
||||
xargs --no-run-if-empty -0 chmod a-x
|
||||
|
||||
@@ -858,7 +873,7 @@ install -d $RPM_BUILD_ROOT/boot/%{name}
|
||||
touch $RPM_BUILD_ROOT/boot/%{name}/grub.cfg
|
||||
|
||||
# Remove devel files
|
||||
rm $RPM_BUILD_ROOT/%{_libdir}/%{name}/*/*.h
|
||||
rm $RPM_BUILD_ROOT/%{_datadir}/%{name}/*/*.h
|
||||
%if 0%{?suse_version} >= 1140
|
||||
rm $RPM_BUILD_ROOT%{_datadir}/%{name}/*.h
|
||||
%endif
|
||||
@@ -893,7 +908,7 @@ chmod 600 $R%{_sysconfdir}/default/zipl2grub.conf.in
|
||||
%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
|
||||
mv $R%{_datadir}/%{name}/%{grubarch}/dracut-$f $R%{dracutgrubmoddir}/$f
|
||||
done
|
||||
rm -f $R%{_sysconfdir}/grub.d/30_os-prober
|
||||
|
||||
@@ -919,6 +934,7 @@ perl -ni -e '
|
||||
%find_lang %{name}
|
||||
%fdupes %buildroot%{_bindir}
|
||||
%fdupes %buildroot%{_libdir}
|
||||
%fdupes %buildroot%{_datadir}
|
||||
|
||||
%pre
|
||||
%service_add_pre grub2-once.service
|
||||
@@ -1125,7 +1141,6 @@ fi
|
||||
%if 0%{?has_systemd:1}
|
||||
%{_unitdir}/grub2-once.service
|
||||
%endif
|
||||
%dir %{_libdir}/%{name}
|
||||
%dir %{_datadir}/%{name}
|
||||
%dir %{_datadir}/%{name}/themes
|
||||
%if 0%{?suse_version} >= 1140
|
||||
@@ -1156,7 +1171,7 @@ fi
|
||||
%{_mandir}/man8/%{name}-reboot.8.*
|
||||
%{_mandir}/man8/%{name}-set-default.8.*
|
||||
%if %{emu}
|
||||
%{_bindir}/%{name}-emu*
|
||||
%{_bindir}/%{name}-emu
|
||||
%{_mandir}/man1/%{name}-emu.1.*
|
||||
%endif
|
||||
%ifnarch s390x
|
||||
@@ -1183,49 +1198,53 @@ fi
|
||||
|
||||
%files %{grubarch}
|
||||
%defattr(-,root,root,-)
|
||||
%dir %{_libdir}/%{name}/%{grubarch}
|
||||
%dir %{_datadir}/%{name}/%{grubarch}
|
||||
%ifarch ppc ppc64 ppc64le
|
||||
# This is intentionally "grub.chrp" and not "%%{name}.chrp"
|
||||
%{_libdir}/%{name}/%{grubarch}/grub.chrp
|
||||
%{_libdir}/%{name}/%{grubarch}/bootinfo.txt
|
||||
%{_datadir}/%{name}/%{grubarch}/grub.chrp
|
||||
%{_datadir}/%{name}/%{grubarch}/bootinfo.txt
|
||||
%endif
|
||||
%ifnarch ppc ppc64 ppc64le s390x %{arm}
|
||||
%{_libdir}/%{name}/%{grubarch}/*.image
|
||||
%{_datadir}/%{name}/%{grubarch}/*.image
|
||||
%endif
|
||||
%{_libdir}/%{name}/%{grubarch}/*.img
|
||||
%{_libdir}/%{name}/%{grubarch}/*.lst
|
||||
%{_libdir}/%{name}/%{grubarch}/*.mod
|
||||
%{_libdir}/%{name}/%{grubarch}/*.module
|
||||
%{_datadir}/%{name}/%{grubarch}/*.img
|
||||
%{_datadir}/%{name}/%{grubarch}/*.lst
|
||||
%{_datadir}/%{name}/%{grubarch}/*.mod
|
||||
%{_datadir}/%{name}/%{grubarch}/*.module
|
||||
%ifarch x86_64
|
||||
%{_libdir}/%{name}/%{grubarch}/efiemu*.o
|
||||
%{_datadir}/%{name}/%{grubarch}/efiemu*.o
|
||||
%endif
|
||||
%{_libdir}/%{name}/%{grubarch}/gdb_grub
|
||||
%{_libdir}/%{name}/%{grubarch}/gmodule.pl
|
||||
%{_libdir}/%{name}/%{grubarch}/kernel.exec
|
||||
%{_libdir}/%{name}/%{grubarch}/modinfo.sh
|
||||
%{_datadir}/%{name}/%{grubarch}/gdb_grub
|
||||
%{_datadir}/%{name}/%{grubarch}/gmodule.pl
|
||||
%{_datadir}/%{name}/%{grubarch}/kernel.exec
|
||||
%{_datadir}/%{name}/%{grubarch}/modinfo.sh
|
||||
%endif
|
||||
|
||||
%ifarch %{efi}
|
||||
|
||||
%files %{grubefiarch}
|
||||
%defattr(-,root,root,-)
|
||||
%dir %{_libdir}/%{name}/%{grubefiarch}
|
||||
%{_libdir}/%{name}/%{grubefiarch}/grub.efi
|
||||
%{_libdir}/%{name}/%{grubefiarch}/grub-tpm.efi
|
||||
%{_libdir}/%{name}/%{grubefiarch}/*.img
|
||||
%{_libdir}/%{name}/%{grubefiarch}/*.lst
|
||||
%{_libdir}/%{name}/%{grubefiarch}/*.mod
|
||||
%{_libdir}/%{name}/%{grubefiarch}/*.module
|
||||
%{_libdir}/%{name}/%{grubefiarch}/gdb_grub
|
||||
%{_libdir}/%{name}/%{grubefiarch}/gmodule.pl
|
||||
%{_libdir}/%{name}/%{grubefiarch}/kernel.exec
|
||||
%{_libdir}/%{name}/%{grubefiarch}/modinfo.sh
|
||||
%dir %{_datadir}/%{name}/%{grubefiarch}
|
||||
%{_datadir}/%{name}/%{grubefiarch}/grub.efi
|
||||
%{_datadir}/%{name}/%{grubefiarch}/grub-tpm.efi
|
||||
%{_datadir}/%{name}/%{grubefiarch}/*.img
|
||||
%{_datadir}/%{name}/%{grubefiarch}/*.lst
|
||||
%{_datadir}/%{name}/%{grubefiarch}/*.mod
|
||||
%{_datadir}/%{name}/%{grubefiarch}/*.module
|
||||
%{_datadir}/%{name}/%{grubefiarch}/gdb_grub
|
||||
%{_datadir}/%{name}/%{grubefiarch}/gmodule.pl
|
||||
%{_datadir}/%{name}/%{grubefiarch}/kernel.exec
|
||||
%{_datadir}/%{name}/%{grubefiarch}/modinfo.sh
|
||||
%dir %{sysefibasedir}
|
||||
%dir %{sysefidir}
|
||||
%{sysefidir}/grub.efi
|
||||
%if 0%{?suse_version} < 1600
|
||||
%ifarch x86_64
|
||||
# provide compatibility sym-link for previous shim-install
|
||||
%{sysefibasedir}/grub.efi
|
||||
# provide compatibility sym-link for previous shim-install and kiwi
|
||||
%dir /usr/lib64/efi
|
||||
/usr/lib64/efi/DEPRECATED
|
||||
/usr/lib64/efi/grub.efi
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%ifarch x86_64 aarch64
|
||||
@@ -1244,8 +1263,8 @@ fi
|
||||
|
||||
%ifarch %{ix86} x86_64
|
||||
%files %{grubxenarch}
|
||||
%dir %{_libdir}/%{name}/%{grubxenarch}
|
||||
%{_libdir}/%{name}/%{grubxenarch}/*
|
||||
%dir %{_datadir}/%{name}/%{grubxenarch}
|
||||
%{_datadir}/%{name}/%{grubxenarch}/*
|
||||
%endif
|
||||
|
||||
%if 0%{?has_systemd:1}
|
||||
|
||||
Reference in New Issue
Block a user