Skip to content

Instantly share code, notes, and snippets.

@vathpela
Last active March 4, 2016 23:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vathpela/8d2d72fd51dd6dcb4ef0 to your computer and use it in GitHub Desktop.
Save vathpela/8d2d72fd51dd6dcb4ef0 to your computer and use it in GitHub Desktop.
%define define_efi_variant_files() \
%if %{1}\
%{expand:%%files %{2} -f grub.lang}\
%defattr(-,root,root,-)\
%config(noreplace) %{_sysconfdir}/%{name}-efi.cfg\
%dir %attr(0755,root,root)/boot/efi/EFI/%{efidir}\
/boot/efi/EFI/%{efidir}/%{3}\
%attr(0755,root,root)/boot/efi/EFI/%{efidir}/fonts\
%ghost %config(noreplace) /boot/efi/EFI/%{efidir}/grub.cfg\
%{!?_licensedir:%global license %%doc}\
%license grub-%{tarversion}/COPYING\
/boot/grub2/grubenv\
%config(noreplace) %ghost %attr(0700,root,root)/boot/efi/EFI/%{efidir}/grubenv\
%ifarch x86_64\
%{_sbindir}/%{name}-macbless\
%{_bindir}/%{name}-glue-efi\
%{_bindir}/%{name}-render-label\
%else\
%exclude %{_sbindir}/%{name}-macbless\
%exclude %{_bindir}/%{name}-glue-efi\
%exclude %{_bindir}/%{name}-render-label\
%endif\
%{expand:%%files modules-%{2}}\
%defattr(-,root,root,-)\
%{_libdir}/grub/%{2}\
%{expand:%%files extras-%{2}}\
%defattr(-,root,root,-)\
%attr(0755,root,root)/boot/efi/EFI/%{efidir}/%{4}\
%endif\
%{nil}
%undefine _hardened_build
%global tarversion 2.02~beta3
%undefine _missing_build_ids_terminate_build
Name: grub2
Epoch: 1
Version: 2.02
Release: 0.26%{?dist}
Summary: Bootloader with support for Linux, Multiboot and more
Group: System Environment/Base
License: GPLv3+
URL: http://www.gnu.org/software/grub/
Obsoletes: grub < 1:0.98
Source0: ftp://alpha.gnu.org/gnu/grub/grub-%{tarversion}.tar.xz
Source1: grub.macros
Source2: grub.patches
#Source0: ftp://ftp.gnu.org/gnu/grub/grub-%%{tarversion}.tar.xz
Source4: http://unifoundry.com/unifont-5.1.20080820.pcf.gz
Source5: theme.tar.bz2
Source6: gitignore
%include %{SOURCE1}
# generate with do-rebase
%include %{SOURCE2}
...
%package starfield-theme
Summary: An example theme for GRUB.
Group: System Environment/Base
Requires: system-logos
BuildArch: noarch
%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.
%define_efi_variant %{with_efi_arch} %{grubefiarch} \
%{grubefiname} %{grubeficdname}
%define_efi_variant %{with_alt_efi_arch} %{grubaltefiarch} \
%{grubaltefiname} %{grubalteficdname}
%define_legacy_variant %{with_legacy_arch} %{grublegacyarch}
%prep
...
%preun tools
if [ "$1" = 0 ]; then
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz || :
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/%{name}-dev.info.gz || :
fi
%define_efi_variant_files %{with_efi_arch} %{grubefiarch} %{grubefiname} %{grubeficdname}
%define_efi_variant_files %{with_alt_efi_arch} %{grubaltefiarch} %{grubaltefiname} %{grubalteficdname}
%define_legacy_variant_files %{with_legacy_arch} %{grublegacyarch}
%if 0
%ifnarch %{efi_only}
%files %{grublegacyarch} -f grub.lang
%config(noreplace) %{_sysconfdir}/%{name}.cfg
%ghost %config(noreplace) /boot/%{name}/grub.cfg
%doc grub-%{tarversion}/COPYING
%config(noreplace) %ghost /boot/grub2/grubenv
%endif
%endif
%files tools-minimal
%defattr(-,root,root,-)
%dir %{_libdir}/grub/
...
%changelog
* Fri Mar 04 2016 Peter Jones <pjones@redhat.com> - 2.02-0.26
- Rebased to newer upstream (grub-2.02-beta3) for fedora-24
%undefine _hardened_build
%global tarversion 2.02~beta3
%undefine _missing_build_ids_terminate_build
Name: grub2
Epoch: 1
Version: 2.02
Release: 0.26%{?dist}
Summary: Bootloader with support for Linux, Multiboot and more
Group: System Environment/Base
License: GPLv3+
URL: http://www.gnu.org/software/grub/
Obsoletes: grub < 1:0.98
Source0: ftp://alpha.gnu.org/gnu/grub/grub-%{tarversion}.tar.xz
Source1: grub.macros
Source2: grub.patches
#Source0: ftp://ftp.gnu.org/gnu/grub/grub-%%{tarversion}.tar.xz
Source4: http://unifoundry.com/unifont-5.1.20080820.pcf.gz
Source5: theme.tar.bz2
Source6: gitignore
%include %{SOURCE1}
# generate with do-rebase
%include %{SOURCE2}
...
%package starfield-theme
Summary: An example theme for GRUB.
Group: System Environment/Base
Requires: system-logos
BuildArch: noarch
%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.
%define_efi_variant %{with_efi_arch} %{grubefiarch} \
%{grubefiname} %{grubeficdname}
%define_efi_variant %{with_alt_efi_arch} %{grubaltefiarch} \
%{grubaltefiname} %{grubalteficdname}
%define_legacy_variant %{with_legacy_arch} %{grublegacyarch}
%prep
...
%preun tools
if [ "$1" = 0 ]; then
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz || :
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/%{name}-dev.info.gz || :
fi
%if 0
%ifnarch %{efi_only}
%files %{grublegacyarch} -f grub.lang
%config(noreplace) %{_sysconfdir}/%{name}.cfg
%ghost %config(noreplace) /boot/%{name}/grub.cfg
%doc grub-%{tarversion}/COPYING
%config(noreplace) %ghost /boot/grub2/grubenv
%endif
%endif
%files tools-minimal
%defattr(-,root,root,-)
%dir %{_libdir}/grub/
...
%define_efi_variant_files %{with_efi_arch} %{grubefiarch} %{grubefiname} %{grubeficdname}
%define_efi_variant_files %{with_alt_efi_arch} %{grubaltefiarch} %{grubaltefiname} %{grubalteficdname}
%define_legacy_variant_files %{with_legacy_arch} %{grublegacyarch}
%changelog
* Fri Mar 04 2016 Peter Jones <pjones@redhat.com> - 2.02-0.26
- Rebased to newer upstream (grub-2.02-beta3) for fedora-24
--- foo.spec 2016-03-04 17:59:55.179790089 -0500
+++ bar.spec 2016-03-04 18:00:03.737838742 -0500
@@ -860,46 +860,6 @@
fi
-%files x86_64-efi -f grub.lang
-%defattr(-,root,root,-)
-%config(noreplace) /etc/grub2-efi.cfg
-%dir %attr(0755,root,root)/boot/efi/EFI/fedora
-/boot/efi/EFI/fedora/grubx64.efi
-%attr(0755,root,root)/boot/efi/EFI/fedora/fonts
-%ghost %config(noreplace) /boot/efi/EFI/fedora/grub.cfg
-
-GPLv3+ grub-2.02~beta3/COPYING
-/boot/grub2/grubenv
-%config(noreplace) %ghost %attr(0700,root,root)/boot/efi/EFI/fedora/grubenv
-/usr/sbin/grub2-macbless
-/usr/bin/grub2-glue-efi
-/usr/bin/grub2-render-label
-%files modules-x86_64-efi
-%defattr(-,root,root,-)
-/usr/lib/grub/x86_64-efi
-%files extras-x86_64-efi
-%defattr(-,root,root,-)
-%attr(0755,root,root)/boot/efi/EFI/fedora/gcdx64.efi
-
-
-
-
-%files i386-pc
-%defattr(-,root,root,-)
-
-%license grub-2.02~beta3/COPYING
-%config(noreplace) /etc/grub2.cfg
-%ghost %config(noreplace) /boot/grub2/grub.cfg
-%config(noreplace) %ghost /boot/grub2/grubenv
-%files modules-i386-pc
-%defattr(-,root,root)
-
-%license grub-2.02~beta3/COPYING
-%dir /usr/lib/grub/i386-pc/
-/usr/lib/grub/i386-pc/*
-
-
-
%files tools-minimal
%defattr(-,root,root,-)
%dir /usr/lib/grub/
@@ -974,6 +934,46 @@
%files debuginfo -f debugfiles.list
%defattr(-,root,root)
+
+%files x86_64-efi -f grub.lang
+%defattr(-,root,root,-)
+%config(noreplace) /etc/grub2-efi.cfg
+%dir %attr(0755,root,root)/boot/efi/EFI/fedora
+/boot/efi/EFI/fedora/grubx64.efi
+%attr(0755,root,root)/boot/efi/EFI/fedora/fonts
+%ghost %config(noreplace) /boot/efi/EFI/fedora/grub.cfg
+
+%license grub-2.02~beta3/COPYING
+/boot/grub2/grubenv
+%config(noreplace) %ghost %attr(0700,root,root)/boot/efi/EFI/fedora/grubenv
+/usr/sbin/grub2-macbless
+/usr/bin/grub2-glue-efi
+/usr/bin/grub2-render-label
+%files modules-x86_64-efi
+%defattr(-,root,root,-)
+/usr/lib/grub/x86_64-efi
+%files extras-x86_64-efi
+%defattr(-,root,root,-)
+%attr(0755,root,root)/boot/efi/EFI/fedora/gcdx64.efi
+
+
+
+
+%files i386-pc
+%defattr(-,root,root,-)
+
+%license grub-2.02~beta3/COPYING
+%config(noreplace) /etc/grub2.cfg
+%ghost %config(noreplace) /boot/grub2/grub.cfg
+%config(noreplace) %ghost /boot/grub2/grubenv
+%files modules-i386-pc
+%defattr(-,root,root)
+
+%license grub-2.02~beta3/COPYING
+%dir /usr/lib/grub/i386-pc/
+/usr/lib/grub/i386-pc/*
+
+
%changelog
* Fri Mar 04 2016 Peter Jones <pjones@redhat.com> - 2.02-0.26
- Rebased to newer upstream (grub-2.02-beta3) for fedora-24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment