From b50565e33ea67d83aebb59f9e22b111d2f1747e3 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Mon, 14 Aug 2017 18:03:55 -0400 Subject: [PATCH] Make ia32 work as well. - make it work with rpm-4.13.90 - split up the packages for various arch targets so ia32 can work Signed-off-by: Peter Jones --- .gitignore | 2 + grub.macros | 481 +++++++++++++++++++++++++++++++++++ grub2.spec | 708 +++++++++++++++++++++++----------------------------- 3 files changed, 793 insertions(+), 398 deletions(-) create mode 100644 grub.macros diff --git a/.gitignore b/.gitignore index 0b76f70f..21193e90 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,5 @@ kojilogs /grub-*/ .build*.log .*.git/ +tmp/ +.*.sw? diff --git a/grub.macros b/grub.macros new file mode 100644 index 00000000..0241be71 --- /dev/null +++ b/grub.macros @@ -0,0 +1,481 @@ +# vim:filetype=spec +# Modules always contain just 32-bit code +%global _libdir %{_exec_prefix}/lib +%global _binaries_in_noarch_packages_terminate_build 0 +#%%undefine _missing_build_ids_terminate_build +%{expand:%%{!?buildsubdir:%%global buildsubdir grub-%{tarversion}}} +%{expand:%%{!?_licensedir:%%global license %%%%doc}} + +%if %{?_with_ccache: 1}%{?!_with_ccache: 0} +%global cc_equals CC=/usr/%{_lib}/ccache/gcc +%else +%global cc_equals %{nil} +%endif + +%global efi_cflags %(echo %{optflags} | \\\ + sed \\\ + -e 's/-O. //g' \\\ + -e 's/-g /-g3 /g' \\\ + -e 's/-fstack-protector[[:alpha:]-]\\+//g' \\\ + -e 's/-Wp,-D_FORTIFY_SOURCE=[[:digit:]]\\+//g' \\\ + -e 's/--param=ssp-buffer-size=4//g' \\\ + -e 's/-mregparm=3/-mregparm=4/g' \\\ + -e 's/-fexceptions//g' \\\ + -e 's/-fasynchronous-unwind-tables//g' \\\ + -e 's/$/ -I$(pwd)/' \\\ + -e 's/^/ -fno-strict-aliasing /' ) %{nil} +%global legacy_cflags %(echo %{efi_cflags} | \\\ + sed \\\ + -e 's/-m64//g' \\\ + -e 's/-mcpu=power[[:alnum:]]\\+/-mcpu=power6/g' \\\ + ) %{nil} + + +%global with_efi_arch 0 +%global with_alt_efi_arch 0 +%global with_legacy_arch 0 +%global grubefiarch %{nil} +%global grublegacyarch %{nil} + +# sparc is always compiled 64 bit +%ifarch %{sparc} +%global target_cpu_name sparc64 +%global _target_platform %{target_cpu_name}-%{_vendor}-%{_target_os}%{?_gnu} +%global legacy_target_cpu_name %{_arch} +%global legacy_package_arch ieee1275 +%global platform ieee1275 +%endif +# ppc is always compiled 64 bit +%ifarch ppc ppc64 ppc64le +%global target_cpu_name %{_arch} +%global legacy_target_cpu_name powerpc +%global legacy_package_arch %{_arch} +%global legacy_grub_dir powerpc-ieee1275 +%global _target_platform %{target_cpu_name}-%{_vendor}-%{_target_os}%{?_gnu} +%global platform ieee1275 +%endif + +%global efi_only aarch64 %{arm} +%global efi_arch x86_64 ia64 %{efi_only} +%ifarch %{efi_arch} +%global with_efi_arch 1 +%else +%global with_efi_arch 0 +%endif +%ifarch %{efi_only} +%global with_efi_only 1 +%else +%global with_efi_only 0 +%endif +%{!?with_efi_arch:%global without_efi_arch 0} +%{?with_efi_arch:%global without_efi_arch 1} +%{!?with_efi_only:%global without_efi_only 0} +%{?with_efi_only:%global without_efi_only 1} + +### fixme +%ifarch aarch64 %{arm} +%global efi_modules " http linux " +%else +%global efi_modules " backtrace http linuxefi usb usbserial_common usbserial_pl2303 usbserial_ftdi usbserial_usbdebug " +%endif + +%ifarch x86_64 +%global efiarch x64 +%global target_cpu_name %{_arch} +%global grub_target_name %{_arch}-efi +%global package_arch efi-x64 + +%global legacy_target_cpu_name i386 +%global legacy_package_arch pc +%global platform pc + +%global alt_efi_arch ia32 +%global alt_target_cpu_name i386 +%global alt_grub_target_name i386-efi +%global alt_platform efi +%global alt_package_arch efi-ia32 +%global alt_efi_cflags %(echo %{efi_cflags} | \\\ + sed \\\ + -e 's/-m64//g' \\\ + ) %{nil} +%endif + +%ifarch aarch64 +%global efiarch aa64 +%global target_cpu_name aarch64 +%global grub_target_name arm64-efi +%global package_arch efi-aa64 +%endif + +%ifarch %{arm} +%global efiarch arm +%global target_cpu_name arm +%global grub_target_name arm-efi +%global package_arch efi-arm +%endif + +%global _target_platform %{target_cpu_name}-%{_vendor}-%{_target_os}%{?_gnu} +%global _alt_target_platform %{alt_target_cpu_name}-%{_vendor}-%{_target_os}%{?_gnu} + +%ifarch %{efi_arch} +%global with_efi_arch 1 +%global grubefiname grub%{efiarch}.efi +%global grubeficdname gcd%{efiarch}.efi +%global grubefiarch %{target_cpu_name}-efi +%endif + +%if 0%{?alt_efi_arch:1} +%global with_alt_efi_arch 1 +%global grubaltefiname grub%{alt_efi_arch}.efi +%global grubalteficdname gcd%{alt_efi_arch}.efi +%global grubaltefiarch %{alt_target_cpu_name}-efi +%endif + +# Figure out the right file path to use +%global efidir %(eval echo $(grep ^ID= /etc/os-release | sed -e 's/^ID=//' -e 's/rhel/redhat/')) + +%ifnarch %{efi_only} +%global with_legacy_arch 1 +%global grublegacyarch %{legacy_target_cpu_name}-%{platform} +%global moduledir %{legacy_target_cpu_name}-%{platform} +%endif + +%global evr %{epoch}:%{version}-%{release} + +%if %{with_legacy_arch} +%global with_efi_common 0 +%global with_legacy_common 1 +%else +%global with_efi_common 1 +%global with_legacy_common 0 +%endif + +%define define_legacy_variant() \ +%{expand:%%package %%{1}} \ +Summary: Bootloader with support for Linux, Multiboot, and more \ +Group: System Environment/Base \ +Requires: %{name}-common = %{evr} \ +Requires: %{name}-tools-minimal = %{evr} \ +Requires: %{name}-%{1}-modules = %{evr} \ +Requires: gettext which file \ +Requires: %{name}-tools-extra = %{evr} \ +Requires: %{name}-tools = %{evr} \ +Requires(pre): dracut \ +Requires(post): dracut \ +%{expand:%%description %%{1}} \ +%{desc} \ +This subpackage provides support for %%{1} systems. \ + \ +%{expand:%%{?!buildsubdir:%%define buildsubdir grub-%%{1}-%{tarversion}}}\ +%{expand:%%package %%{1}-modules} \ +Summary: Modules used to build custom grub images \ +Group: System Environment/Base \ +BuildArch: noarch \ +Requires: %{name}-common = %{evr} \ +%{expand:%%description %%{1}-modules} \ +%{desc} \ +This subpackage provides support for rebuilding your own grub.efi. \ + \ +%{expand:%%{?!buildsubdir:%%define buildsubdir grub-%%{1}-%{tarversion}}}\ +%{expand:%%package %%{1}-tools} \ +Summary: Support tools for GRUB. \ +Group: System Environment/Base \ +Requires: gettext os-prober which file system-logos \ +Requires: %{name}-common = %{evr} \ +Requires: %{name}-tools-minimal = %{evr} \ +Requires: os-prober >= 1.58-11 \ +Requires: gettext which file \ + \ +%{expand:%%description %%{1}-tools} \ +%{desc} \ +This subpackage provides tools for support of %%{1} platforms. \ +%{nil} + +%define define_efi_variant(p) \ +%{expand:%%package %{1}} \ +Summary: GRUB for EFI systems. \ +Group: System Environment/Base \ +Requires: %{name}-common = %{evr} \ +Requires: %{name}-tools-minimal >= %{evr} \ +Requires: %{name}-tools-extra = %{evr} \ +Requires: %{name}-tools = %{evr} \ +%{-p:Provides: %{name}-efi = %{evr}} \ +%{-p:Obsoletes: %{name}-efi < %{evr}} \ + \ +%{expand:%%description %{1}} \ +%{desc} \ +This subpackage provides support for %{1} systems. \ + \ +%{expand:%%{?!buildsubdir:%%define buildsubdir grub-%{1}-%{tarversion}}}\ +%{expand:%%package %{1}-modules} \ +Summary: Modules used to build custom grub.efi images \ +Group: System Environment/Base \ +BuildArch: noarch \ +Requires: %{name}-common = %{evr} \ +%{-p:Provides: %{name}-efi-modules = %{evr}} \ +%{-p:Obsoletes: %{name}-efi-modules < %{evr}} \ +%{expand:%%description %{1}-modules} \ +%{desc} \ +This subpackage provides support for rebuilding your own grub.efi. \ + \ +%{expand:%%package %{1}-cdboot} \ +Summary: Files used to boot removeable media with EFI \ +Group: System Environment/Base \ +Requires: %{name}-common = %{evr} \ +%{expand:%%description %{1}-cdboot} \ +%{desc} \ +This subpackage provides optional components of grub used with removeable media on %{1} systems.\ +%{nil} + +%global do_common_setup() \ +%setup -q -n grub-%{tarversion} \ +rm -fv docs/*.info \ +cp %{SOURCE6} .gitignore \ +cp %{SOURCE8} ./grub-core/tests/strtoull_test.c \ +git init \ +echo '![[:digit:]][[:digit:]]_*.in' > util/grub.d/.gitignore \ +echo '!*.[[:digit:]]' > util/.gitignore \ +echo '!config.h' > include/grub/emu/.gitignore \ +./autogen.sh \ +git config user.email "%{name}-owner@fedoraproject.org" \ +git config user.name "Fedora Ninjas" \ +git config gc.auto 0 \ +git add . \ +git commit -a -q -m "%{tarversion} baseline." \ +git am %%{patches} = 0.99-8 %endif +%if %{?_with_ccache: 1}%{?!_with_ccache: 0} +BuildRequires: ccache %endif -Provides: grub2-base = %{epoch}:%{version}-%{release} -ExcludeArch: s390 s390x %{arm} -Obsoletes: grub2 <= 1:2.00-20%{?dist} -Requires: %{name}-tools = %{epoch}:%{version}-%{release} +ExcludeArch: s390 s390x %{arm} %{?ix86} +Obsoletes: %{name} <= %{evr} + +%if 0%{with_legacy_arch} +Requires: %{name}-%{legacy_package_arch} = %{evr} +%else +Requires: %{name}-%{package_arch} = %{evr} +%endif + +%global desc \ +The GRand Unified Bootloader (GRUB) is a highly configurable and \ +customizable bootloader with modular architecture. It supports a rich \ +variety of kernel formats, file systems, computer architectures and \ +hardware devices.\ +%{nil} %description -The GRand Unified Bootloader (GRUB) is a highly configurable and customizable -bootloader with modular architecture. It support rich varietyof kernel formats, -file systems, computer architectures and hardware devices. This subpackage -provides support for PC BIOS systems. +%{desc} -%ifarch %{efiarchs} -%package efi -Summary: GRUB for EFI systems. +%package common +Summary: grub2 common layout Group: System Environment/Base -Requires: %{name}-tools = %{epoch}:%{version}-%{release} -Obsoletes: grub2-efi <= 1:2.00-20%{?dist} -Provides: grub2-base = %{epoch}:%{version}-%{release} +BuildArch: noarch -%description efi -The GRand Unified Bootloader (GRUB) is a highly configurable and customizable -bootloader with modular architecture. It support rich varietyof kernel formats, -file systems, computer architectures and hardware devices. This subpackage -provides support for EFI systems. - -%package efi-modules -Summary: Modules used to build custom grub.efi images -Group: System Environment/Base -Requires: %{name}-tools = %{epoch}:%{version}-%{release} -Obsoletes: grub2-efi <= 1:2.00-20%{?dist} - -%description efi-modules -The GRand Unified Bootloader (GRUB) is a highly configurable and customizable -bootloader with modular architecture. It support rich varietyof kernel formats, -file systems, computer architectures and hardware devices. This subpackage -provides support for rebuilding your own grub.efi on EFI systems. -%endif +%description common +This package provides some directories which are required by various grub2 +subpackages. %package tools Summary: Support tools for GRUB. Group: System Environment/Base -Requires: gettext which file system-logos -Requires: os-prober >= 1.58-11 -Requires: grub2-base -Requires(pre): dracut -Requires(post): dracut +Obsoletes: %{name}-tools < %{evr} +Requires: %{name}-common = %{epoch}:%{version}-%{release} +Requires: gettext os-prober which file +Requires(pre): dracut +Requires(post): dracut %description tools -The GRand Unified Bootloader (GRUB) is a highly configurable and customizable -bootloader with modular architecture. It support rich varietyof kernel formats, -file systems, computer architectures and hardware devices. This subpackage -provides tools for support of all platforms. +%{desc} +This subpackage provides tools for support of all platforms. -%package starfield-theme -Summary: An example theme for GRUB. +%ifarch x86_64 +%package tools-efi +Summary: Support tools for GRUB. Group: System Environment/Base -Requires: system-logos -Obsoletes: grub2 <= 1:2.00-20%{?dist} -Obsoletes: grub2-efi <= 1:2.00-20%{?dist} +Requires: gettext os-prober which file +Requires: %{name}-common = %{epoch}:%{version}-%{release} +Obsoletes: %{name}-tools < %{evr} -%description starfield-theme -The GRand Unified Bootloader (GRUB) is a highly configurable and customizable -bootloader with modular architecture. It support rich varietyof kernel formats, -file systems, computer architectures and hardware devices. This subpackage -provides an example theme for the grub screen. - -%prep -%setup -T -c -n grub-%{tarversion} -%ifarch %{efiarchs} -%setup -D -q -T -a 0 -n grub-%{tarversion} -cd grub-%{tarversion} -# place unifont in the '.' from which configure is run -cp %{SOURCE4} unifont.pcf.gz -cp %{SOURCE6} .gitignore -cp %{SOURCE8} ./grub-core/tests/strtoull_test.c -git init -echo '![[:digit:]][[:digit:]]_*.in' > util/grub.d/.gitignore -echo '!*.[[:digit:]]' > util/.gitignore -echo '!config.h' > grub-core/efiemu/runtime/.gitignore -echo '!config.h' > include/grub/emu/.gitignore -git config user.email "%{name}-owner@fedoraproject.org" -git config user.name "Fedora Ninjas" -git config gc.auto 0 -git add . -git commit -a -q -m "%{tarversion} baseline." -git am %{patches} util/grub.d/.gitignore -echo '!*.[[:digit:]]' > util/.gitignore -echo '!config.h' > grub-core/efiemu/runtime/.gitignore -echo '!config.h' > include/grub/emu/.gitignore -git config user.email "%{name}-owner@fedoraproject.org" -git config user.name "Fedora Ninjas" -git config gc.auto 0 -git add . -git commit -a -q -m "%{tarversion} baseline." -git am %{patches} ${RPM_BUILD_ROOT}%{_sysconfdir}/prelink.conf.d/grub2.conf @@ -375,27 +212,28 @@ cat << EOF > ${RPM_BUILD_ROOT}%{_sysconfdir}/prelink.conf.d/grub2.conf -b /usr/sbin/grub2-sparc64-setup EOF -%ifarch %{efiarchs} -mkdir -p boot/efi/EFI/%{efidir}/ -ln -s ../efi/EFI/%{efidir}/grubenv boot/grub2/grubenv -%endif - # Don't run debuginfo on all the grub modules and whatnot; it just # rejects them, complains, and slows down extraction. %global finddebugroot "%{_builddir}/%{?buildsubdir}/debug" -mkdir -p %{finddebugroot}/usr -cp -a ${RPM_BUILD_ROOT}/usr/bin %{finddebugroot}/usr/bin -cp -a ${RPM_BUILD_ROOT}/usr/sbin %{finddebugroot}/usr/sbin %global dip RPM_BUILD_ROOT=%{finddebugroot} %{__debug_install_post} -%define __debug_install_post ( %{dip} \ +%define __debug_install_post ( \ + mkdir -p %{finddebugroot}/usr \ + mv ${RPM_BUILD_ROOT}/usr/bin %{finddebugroot}/usr/bin \ + mv ${RPM_BUILD_ROOT}/usr/sbin %{finddebugroot}/usr/sbin \ + %{dip} \ install -m 0755 -d %{buildroot}/usr/lib/ %{buildroot}/usr/src/ \ cp -al %{finddebugroot}/usr/lib/debug/ \\\ %{buildroot}/usr/lib/debug/ \ cp -al %{finddebugroot}/usr/src/debug/ \\\ - %{buildroot}/usr/src/debug/ ) + %{buildroot}/usr/src/debug/ ) \ + mv %{finddebugroot}/usr/bin %{buildroot}/usr/bin \ + mv %{finddebugroot}/usr/sbin %{buildroot}/usr/sbin \ + %{nil} -%clean +%undefine buildsubdir + +%clean rm -rf $RPM_BUILD_ROOT %pre tools @@ -463,102 +301,176 @@ if [ "$1" = 0 ]; then /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/%{name}-dev.info.gz || : fi -%ifnarch %{efi_only} -%files -f grub.lang -%defattr(-,root,root,-) -%{_libdir}/grub/*-%{platform}/ -%config(noreplace) %{_sysconfdir}/%{name}.cfg -%ghost %config(noreplace) /boot/%{name}/grub.cfg -%license grub-%{tarversion}/COPYING -%config(noreplace) %ghost /boot/grub2/grubenv -%endif +%files -%ifarch %{efiarchs} -%files efi -%defattr(-,root,root,-) -%config(noreplace) %{_sysconfdir}/%{name}-efi.cfg -%attr(0755,root,root)/boot/efi/EFI/%{efidir} -%attr(0755,root,root)/boot/efi/EFI/%{efidir}/fonts -%ghost %config(noreplace) /boot/efi/EFI/%{efidir}/grub.cfg -%license grub-%{tarversion}/COPYING -/boot/grub2/grubenv -# I know 0700 seems strange, but it lives on FAT so that's what it'll -# get no matter what we do. -%config(noreplace) %ghost %attr(0700,root,root)/boot/efi/EFI/%{efidir}/grubenv - -%files efi-modules -%defattr(-,root,root,-) -%{_libdir}/grub/%{grubefiarch} -%endif - -%files tools -f grub.lang -%defattr(-,root,root,-) +%files common -f grub.lang %dir %{_libdir}/grub/ %dir %{_datarootdir}/grub/ -%dir %{_datarootdir}/grub/themes -%{_datarootdir}/grub/* -%{_sbindir}/%{name}-bios-setup -%{_sbindir}/%{name}-install -%{_sbindir}/%{name}-get-kernel-settings -%{_sbindir}/%{name}-macbless -%{_sbindir}/%{name}-mkconfig -%{_sbindir}/%{name}-ofpathname -%{_sbindir}/%{name}-probe -%{_sbindir}/%{name}-reboot -%{_sbindir}/%{name}-rpm-sort -%{_sbindir}/%{name}-set-default -%{_sbindir}/%{name}-setpassword -%{_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 -%{_bindir}/%{name}-mkimage -%{_bindir}/%{name}-mklayout -%{_bindir}/%{name}-mknetdir -%{_bindir}/%{name}-mkpasswd-pbkdf2 -%{_bindir}/%{name}-mkrelpath -%ifnarch %{sparc} -%{_bindir}/%{name}-mkrescue -%endif -%{_bindir}/%{name}-mkstandalone -%{_bindir}/%{name}-render-label -%{_bindir}/%{name}-script-check -%{_bindir}/%{name}-syslinux2cfg -%{_datarootdir}/bash-completion/completions/grub -%{_sysconfdir}/prelink.conf.d/grub2.conf +%dir %{_datarootdir}/grub/themes/ +%exclude %{_datarootdir}/grub/themes/* %attr(0700,root,root) %dir %{_sysconfdir}/grub.d -%config %{_sysconfdir}/grub.d/??_* -%{_sysconfdir}/grub.d/README -%attr(0644,root,root) %ghost %config(noreplace) %{_sysconfdir}/default/grub -%{_sysconfdir}/sysconfig/grub +%dir %{_datarootdir}/grub +%exclude %{_datarootdir}/grub/* %dir /boot/%{name} %dir /boot/%{name}/themes/ %dir /boot/%{name}/themes/system %exclude /boot/%{name}/themes/system/* -%exclude %{_datarootdir}/grub/themes/ -%{_infodir}/%{name}* -%{_datadir}/man/man?/* -%license grub-%{tarversion}/COPYING -%doc grub-%{tarversion}/INSTALL -%doc grub-%{tarversion}/NEWS grub-%{tarversion}/README -%doc grub-%{tarversion}/THANKS grub-%{tarversion}/TODO -%doc grub-%{tarversion}/%{name}.html -%doc grub-%{tarversion}/%{name}-dev.html -%doc grub-%{tarversion}/font_char_metrics.png -%license grub-%{tarversion}/themes/starfield/COPYING.CC-BY-SA-3.0 +%attr(0700,root,root) %dir /boot/grub2 +%exclude /boot/grub2/* +%dir %attr(0755,root,root) /boot/efi/EFI/%{efidir} +%exclude /boot/efi/EFI/%{efidir}/* +%license COPYING +%ghost %config(noreplace) /boot/grub2/grubenv +%doc INSTALL +%doc NEWS +%doc README +%doc THANKS +%doc TODO +%doc docs/grub.html +%doc docs/grub-dev.html +%doc docs/font_char_metrics.png +%ifnarch x86_64 %{ix86} +%exclude %{_bindir}/%{name}-render-label +%exclude %{_sbindir}/%{name}-bios-setup +%exclude %{_sbindir}/%{name}-macbless +%endif -%files starfield-theme -%dir /boot/%{name}/themes/ -/boot/%{name}/themes/system -%dir %{_datarootdir}/grub/themes -%{_datarootdir}/grub/themes/starfield +%files tools-minimal +%defattr(-,root,root,-) +%{_sysconfdir}/prelink.conf.d/grub2.conf +%{_sbindir}/%{name}-get-kernel-settings +%{_sbindir}/%{name}-set-default +%{_sbindir}/%{name}-setpassword +%{_bindir}/%{name}-editenv +%{_bindir}/%{name}-mkpasswd-pbkdf2 + +%{_datadir}/man/man3/%{name}-get-kernel-settings* +%{_datadir}/man/man8/%{name}-set-default* +%{_datadir}/man/man8/%{name}-setpassword* +%{_datadir}/man/man1/%{name}-editenv* +%{_datadir}/man/man1/%{name}-mkpasswd-* + +%ifarch x86_64 %{ix86} +%files tools-efi +%defattr(-,root,root,-) +%{_sbindir}/%{name}-macbless +%{_bindir}/%{name}-render-label +%{_datadir}/man/man8/%{name}-macbless* +%{_datadir}/man/man1/%{name}-render-label* +%endif + +%files tools +%defattr(-,root,root,-) +%attr(0644,root,root) %ghost %config(noreplace) %{_sysconfdir}/default/grub +%config %{_sysconfdir}/grub.d/??_* +%{_sysconfdir}/grub.d/README +%{_infodir}/%{name}* +%{_datarootdir}/grub/* +%{_sbindir}/%{name}-install +%exclude %{_datarootdir}/grub/themes +%exclude %{_datarootdir}/grub/*.h +%{_datarootdir}/bash-completion/completions/grub +%{_sbindir}/%{name}-mkconfig +%{_sbindir}/%{name}-probe +%{_sbindir}/%{name}-rpm-sort +%{_sbindir}/%{name}-reboot +%{_bindir}/%{name}-file +%{_bindir}/%{name}-menulst2cfg +%{_bindir}/%{name}-mkrelpath +%{_bindir}/%{name}-script-check +%{_datadir}/man/man?/* + +# exclude man pages from tools-extra +%exclude %{_datadir}/man/man8/%{name}-sparc64-setup* +%exclude %{_datadir}/man/man8/%{name}-install* +%exclude %{_datadir}/man/man1/%{name}-fstest* +%exclude %{_datadir}/man/man1/%{name}-glue-efi* +%exclude %{_datadir}/man/man1/%{name}-kbdcomp* +%exclude %{_datadir}/man/man1/%{name}-mkfont* +%exclude %{_datadir}/man/man1/%{name}-mkimage* +%exclude %{_datadir}/man/man1/%{name}-mklayout* +%exclude %{_datadir}/man/man1/%{name}-mknetdir* +%exclude %{_datadir}/man/man1/%{name}-mkrescue* +%exclude %{_datadir}/man/man1/%{name}-mkstandalone* +%exclude %{_datadir}/man/man1/%{name}-syslinux2cfg* + +# exclude man pages from tools-minimal +%exclude %{_datadir}/man/man3/%{name}-get-kernel-settings* +%exclude %{_datadir}/man/man8/%{name}-set-default* +%exclude %{_datadir}/man/man8/%{name}-setpassword* +%exclude %{_datadir}/man/man1/%{name}-editenv* +%exclude %{_datadir}/man/man1/%{name}-mkpasswd-* +%exclude %{_datadir}/man/man8/%{name}-macbless* +%exclude %{_datadir}/man/man1/%{name}-render-label* + +%if %{with_legacy_arch} +%{_sbindir}/%{name}-install +%ifarch %{ix86} x86_64 +%{_sbindir}/%{name}-bios-setup +%else +%exclude %{_sbindir}/%{name}-bios-setup +%exclude %{_datadir}/man/man8/%{name}-bios-setup* +%endif +%ifarch %{sparc} +%{_sbindir}/%{name}-sparc64-setup +%else +%exclude %{_sbindir}/%{name}-sparc64-setup +%exclude %{_datadir}/man/man8/%{name}-sparc64-setup* +%endif +%ifarch %{sparc} ppc ppc64 ppc64le +%{_sbindir}/%{name}-ofpathname +%else +%exclude %{_sbindir}/%{name}-ofpathname +%exclude %{_datadir}/man/man8/%{name}-ofpathname* +%endif +%endif + +%files tools-extra +%{_sbindir}/%{name}-sparc64-setup +%{_sbindir}/%{name}-ofpathname +%{_bindir}/%{name}-fstest +%{_bindir}/%{name}-glue-efi +%{_bindir}/%{name}-kbdcomp +%{_bindir}/%{name}-mkfont +%{_bindir}/%{name}-mkimage +%{_bindir}/%{name}-mklayout +%{_bindir}/%{name}-mknetdir +%ifnarch %{sparc} +%{_bindir}/%{name}-mkrescue +%endif +%{_bindir}/%{name}-mkstandalone +%{_bindir}/%{name}-syslinux2cfg +%{_sysconfdir}/sysconfig/grub +%{_datadir}/man/man8/%{name}-sparc64-setup* +%{_datadir}/man/man8/%{name}-install* +%{_datadir}/man/man1/%{name}-fstest* +%{_datadir}/man/man1/%{name}-glue-efi* +%{_datadir}/man/man1/%{name}-kbdcomp* +%{_datadir}/man/man1/%{name}-mkfont* +%{_datadir}/man/man1/%{name}-mkimage* +%{_datadir}/man/man1/%{name}-mklayout* +%{_datadir}/man/man1/%{name}-mknetdir* +%{_datadir}/man/man1/%{name}-mkrescue* +%{_datadir}/man/man1/%{name}-mkstandalone* +%{_datadir}/man/man8/%{name}-ofpathname* +%{_datadir}/man/man1/%{name}-syslinux2cfg* +%exclude %{_datarootdir}/grub/themes/starfield + +%if 0%{with_efi_arch} +%{expand:%define_efi_variant_files %%{package_arch} %%{grubefiname} %%{grubeficdname} %%{grubefiarch} %%{target_cpu_name} %%{grub_target_name}} +%endif +%if 0%{with_alt_efi_arch} +%{expand:%define_efi_variant_files %%{alt_package_arch} %%{grubaltefiname} %%{grubalteficdname} %%{grubaltefiarch} %%{alt_target_cpu_name} %%{alt_grub_target_name}} +%endif +%if 0%{with_legacy_arch} +%{expand:%define_legacy_variant_files %%{legacy_package_arch} %%{grublegacyarch}} +%endif %changelog -* Wed Aug 16 2017 pjones - 1:2.02-8 +* Wed Aug 16 2017 Peter Jones - 2.02-9 +- Re-work for ia32-efi. + +* Wed Aug 16 2017 pjones - 2.02-8 - Rebased to newer upstream for fedora-27 * Tue Aug 15 2017 Peter Jones - 2.02-7