%bcond_with systemd %global with_secure_boot 0 %undefine _hardened_build %undefine _missing_build_ids_terminate_build %global _configure_gnuconfig_hack 0 %global tarversion 2.06~rc1 %global gnulibversion fixes %global build_cflags %{optflags} %global build_ldflags %{nil} Name: grub2 Version: 2.06~rc1 Release: 1%{?_dist_release}%{?with_systemd:.systemd} Summary: Bootloader with support for Linux, Multiboot and more Group: system License: GPLv3+ URL: https://www.gnu.org/software/grub/ Vendor: Project Vine Distribution: Vine Linux Packager: tomop #Obsoletes: grub < 1:0.98 Source0: https://ftp.gnu.org/gnu/grub/grub-%{tarversion}.tar.xz Source1: grub.macros Source2: gnulib-%{gnulibversion}.tar.gz Source3: 99-grub-mkconfig.install Source4: http://unifoundry.com/unifont-5.1.20080820.pcf.gz Source5: theme.tar.bz2 Source6: gitignore Source7: bootstrap Source8: bootstrap.conf Source9: strtoull_test.c Source10: 20-grub.install Source12: grub.patches # Vine Source1000: grub.default-vine Source1001: grub-%{version}-ja.po Source1002: grub2-theme-vine.tar.gz %include %{SOURCE1} # generate with do-rebase %include %{SOURCE12} # Vine patch(es) Patch100001: 100001-change-title-for-Vine-Linux.patch Patch100002: 100002-fix-localedir-in-grub.cfg.patch BuildRequires: gcc efi-srpm-macros BuildRequires: flex bison binutils python3 BuildRequires: ncurses-devel xz-devel bzip2-devel BuildRequires: freetype2-devel libusb1-devel fuse-devel BuildRequires: rpm-devel BuildRequires: rpm-libs BuildRequires: autoconf automake autogen device-mapper-devel BuildRequires: freetype-devel gettext-devel git BuildRequires: texinfo BuildRequires: TrueType-vlgothic BuildRequires: help2man %if 0%{with_secure_boot} %ifarch %{efi_arch} BuildRequires: pesign >= 0.99-8 %endif %endif %if %{?_with_ccache: 1}%{?!_with_ccache: 0} BuildRequires: ccache %endif ExcludeArch: s390 s390x %{arm} 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 %{desc} %package common Summary: grub2 common layout Group: system BuildArch: noarch %description common This package provides some directories which are required by various grub2 subpackages. %package tools Summary: Support tools for GRUB. Group: admin-tools Obsoletes: %{name}-tools < %{evr} Requires: %{name}-common = %{evr} Requires: gettext os-prober which file Requires(pre): dracut Requires(post): dracut %description tools %{desc} This subpackage provides tools for support of all platforms. %ifarch x86_64 %package tools-efi Summary: Support tools for GRUB. Group: admin-tools Requires: gettext os-prober which file Requires: %{name}-common = %{evr} Obsoletes: %{name}-tools < %{evr} %description tools-efi %{desc} This subpackage provides tools for support of EFI platforms. %endif %package tools-minimal Summary: Support tools for GRUB. Group: admin-tools Requires: gettext Requires: %{name}-common = %{evr} Obsoletes: %{name}-tools < %{evr} %description tools-minimal %{desc} This subpackage provides tools for support of all platforms. %package tools-extra Summary: Support tools for GRUB. Group: admin-tools Requires: gettext os-prober which file console-setup Requires: %{name}-tools-minimal = %{evr} Requires: %{name}-common = %{evr} Obsoletes: %{name}-tools < %{evr} %description tools-extra %{desc} This subpackage provides tools for support of all platforms. %if 0%{with_efi_arch} %{expand:%define_efi_variant %%{package_arch} -o} %endif %if 0%{with_alt_efi_arch} %{expand:%define_efi_variant %%{alt_package_arch}} %endif %if 0%{with_legacy_arch} %{expand:%define_legacy_variant %%{legacy_package_arch}} %endif %if 0%{with_emu_arch} %package emu Summary: GRUB user-space emulation. Group: system Requires: %{name}-tools-minimal = %{evr} %description emu %{desc} This subpackage provides the GRUB user-space emulation support of all platforms. %package emu-modules Summary: GRUB user-space emulation modules. Group: system Requires: %{name}-tools-minimal = %{evr} %description emu-modules %{desc} This subpackage provides the GRUB user-space emulation modules. %endif %package theme-starfield Summary: Starfield theme for GRUB2 Group: system Requires: %{name}-common = %{version}-%{release} %description theme-starfield %{desc} This subpackage provides Starfield theme. %package theme-vine Summary: Vine Linux theme for GRUB2 Group: system Requires: %{name}-common = %{version}-%{release} %description theme-vine %{desc} This package provides Vine Linux theme. %debug_package %prep %do_common_setup pushd po cp -f %{SOURCE1001} ja.po msgfmt -v ja.po -o ja.gmo popd %if 0%{with_efi_arch} mkdir grub-%{grubefiarch}-%{tarversion} grep -A100000 '# stuff "make" creates' .gitignore > grub-%{grubefiarch}-%{tarversion}/.gitignore cp %{SOURCE4} grub-%{grubefiarch}-%{tarversion}/unifont.pcf.gz git add grub-%{grubefiarch}-%{tarversion} %endif %if 0%{with_alt_efi_arch} mkdir grub-%{grubaltefiarch}-%{tarversion} grep -A100000 '# stuff "make" creates' .gitignore > grub-%{grubaltefiarch}-%{tarversion}/.gitignore cp %{SOURCE4} grub-%{grubaltefiarch}-%{tarversion}/unifont.pcf.gz git add grub-%{grubaltefiarch}-%{tarversion} %endif %if 0%{with_legacy_arch} mkdir grub-%{grublegacyarch}-%{tarversion} grep -A100000 '# stuff "make" creates' .gitignore > grub-%{grublegacyarch}-%{tarversion}/.gitignore cp %{SOURCE4} grub-%{grublegacyarch}-%{tarversion}/unifont.pcf.gz git add grub-%{grublegacyarch}-%{tarversion} %endif %if 0%{with_emu_arch} mkdir grub-emu-%{tarversion} grep -A100000 '# stuff "make" creates' .gitignore > grub-emu-%{tarversion}/.gitignore cp %{SOURCE4} grub-emu-%{tarversion}/unifont.pcf.gz git add grub-emu-%{tarversion} %endif git commit -m "After making subdirs" %build sed -i \ -e 's,-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 ,,g' \ -e 's,-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 ,,g' \ gnulib/gnulib-tool \ grub-core/lib/gnulib/Makefile.in \ grub-core/lib/gnulib/Makefile.am %if %{with systemd} sed -i \ -e 's|systemdunitdir = .*$|systemdunitdir = %{_unitdir}|' \ conf/Makefile.common %endif %if 0%{with_efi_arch} %{expand:%do_primary_efi_build %%{grubefiarch} %%{grubefiname} %%{grubeficdname} %%{_target_platform} %%{efi_target_cflags} %%{efi_host_cflags}} %endif %if 0%{with_alt_efi_arch} %{expand:%do_alt_efi_build %%{grubaltefiarch} %%{grubaltefiname} %%{grubalteficdname} %%{_alt_target_platform} %%{alt_efi_target_cflags} %%{alt_efi_host_cflags}} %endif %if 0%{with_legacy_arch} %{expand:%do_legacy_build %%{grublegacyarch}} %endif %if 0%{with_emu_arch} %{expand:%do_emu_build} %endif makeinfo --no-split -I docs -o docs/grub-dev.info \ docs/grub-dev.texi makeinfo --no-split -I docs -o docs/grub.info \ docs/grub.texi makeinfo --html --no-split -I docs -o docs/grub-dev.html \ docs/grub-dev.texi makeinfo --html --no-split -I docs -o docs/grub.html \ docs/grub.texi %install set -e rm -fr $RPM_BUILD_ROOT %do_common_install %if 0%{with_efi_arch} %{expand:%do_efi_install %%{grubefiarch} %%{grubefiname} %%{grubeficdname}} %endif %if 0%{with_alt_efi_arch} %{expand:%do_alt_efi_install %%{grubaltefiarch} %%{grubaltefiname} %%{grubalteficdname}} %endif %if 0%{with_legacy_arch} %{expand:%do_legacy_install %%{grublegacyarch} %%{alt_grub_target_name} 0%{with_efi_arch}} %endif %if 0%{with_emu_arch} %{expand:%do_emu_install %%{package_arch}} %endif rm -f $RPM_BUILD_ROOT%{_infodir}/dir ln -s %{name}-set-password ${RPM_BUILD_ROOT}/%{_sbindir}/%{name}-setpassword echo '.so man8/%{name}-set-password.8' > ${RPM_BUILD_ROOT}/%{_datadir}/man/man8/%{name}-setpassword.8 %ifnarch x86_64 rm -vf ${RPM_BUILD_ROOT}/%{_bindir}/%{name}-render-label rm -vf ${RPM_BUILD_ROOT}/%{_sbindir}/%{name}-bios-setup rm -vf ${RPM_BUILD_ROOT}/%{_sbindir}/%{name}-macbless %endif %find_lang grub # Make selinux happy with exec stack binaries. mkdir ${RPM_BUILD_ROOT}%{_sysconfdir}/prelink.conf.d/ cat << EOF > ${RPM_BUILD_ROOT}%{_sysconfdir}/prelink.conf.d/grub2.conf # these have execstack, and break under selinux -b /usr/bin/grub2-script-check -b /usr/bin/grub2-mkrelpath -b /usr/bin/grub2-mount -b /usr/bin/grub2-fstest -b /usr/sbin/grub2-bios-setup -b /usr/sbin/grub2-probe -b /usr/sbin/grub2-sparc64-setup EOF # Install kernel-install scripts install -d -m 0755 %{buildroot}%{_prefix}/lib/kernel/install.d/ #install -D -m 0755 -t %{buildroot}%{_prefix}/lib/kernel/install.d/ %{SOURCE10} install -D -m 0755 -t %{buildroot}%{_prefix}/lib/kernel/install.d/ %{SOURCE3} install -d -m 0755 %{buildroot}%{_sysconfdir}/kernel/install.d/ %if %{with systemd} # Install systemd user service to set the boot_success flag install -D -m 0755 -t %{buildroot}%{_userunitdir} \ docs/grub-boot-success.{timer,service} install -d -m 0755 %{buildroot}%{_userunitdir}/timers.target.wants ln -s ../grub-boot-success.timer \ %{buildroot}%{_userunitdir}/timers.target.wants # Install systemd system-update unit to set boot_indeterminate for offline-upd install -D -m 0755 -t %{buildroot}%{_unitdir} docs/grub-boot-indeterminate.service install -d -m 0755 %{buildroot}%{_unitdir}/system-update.target.wants install -d -m 0755 %{buildroot}%{_unitdir}/reboot.target.wants ln -s ../grub-boot-indeterminate.service \ %{buildroot}%{_unitdir}/system-update.target.wants ln -s ../grub2-systemd-integration.service \ %{buildroot}%{_unitdir}/reboot.target.wants %else rm -rf %{buildroot}/lib/systemd rm -rf %{buildroot}/usr/lib/systemd rm -rf %{buildroot}%{_libexecdir}/grub2 %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" %global dip RPM_BUILD_ROOT=%{finddebugroot} %{__debug_install_post} %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/ ) \ mv %{finddebugroot}/usr/bin %{buildroot}/usr/bin \ mv %{finddebugroot}/usr/sbin %{buildroot}/usr/sbin \ %{nil} %undefine buildsubdir # drop original configurations rm -rf %{buildroot}/boot/grub2/grub.cfg # install configuration for Vine Linux mkdir -p %{buildroot}%{_sysconfdir}/default cp %{SOURCE1000} %{buildroot}%{_sysconfdir}/default/grub # install japanese resources mkdir -p %{buildroot}/boot/grub2/{fonts,locale} cp -f po/ja.gmo %{buildroot}/boot/grub2/locale/ sed -i -e 's|locale_dir=.*$|locale_dir=/boot/grub2/locale|' \ %{buildroot}%{_sysconfdir}/grub.d/00_header %{buildroot}%{_bindir}/grub2-mkfont -s 16 -o %{buildroot}/boot/grub2/fonts/vlgothic.pf2 %{_datadir}/fonts/TrueType-vlgothic/VL-Gothic-Regular.ttf # install themes mkdir -p %{buildroot}%{_datarootdir}/grub/themes cp -af themes/starfield %{buildroot}%{_datarootdir}/grub/themes/ pushd %{buildroot}%{_datarootdir}/grub/themes tar xvf %{SOURCE1002} popd %clean rm -rf $RPM_BUILD_ROOT %pre tools if [ -f /boot/grub2/user.cfg ]; then if grep -q '^GRUB_PASSWORD=' /boot/grub2/user.cfg ; then sed -i 's/^GRUB_PASSWORD=/GRUB2_PASSWORD=/' /boot/grub2/user.cfg fi elif [ -f %{efi_esp_dir}/user.cfg ]; then if grep -q '^GRUB_PASSWORD=' %{efi_esp_dir}/user.cfg ; then sed -i 's/^GRUB_PASSWORD=/GRUB2_PASSWORD=/' \ %{efi_esp_dir}/user.cfg fi elif [ -f /etc/grub.d/01_users ] && \ grep -q '^password_pbkdf2 root' /etc/grub.d/01_users ; then if [ -f %{efi_esp_dir}/grub.cfg ]; then # on EFI we don't get permissions on the file, but # the directory is protected. grep '^password_pbkdf2 root' /etc/grub.d/01_users | \ sed 's/^password_pbkdf2 root \(.*\)$/GRUB2_PASSWORD=\1/' \ > %{efi_esp_dir}/user.cfg fi if [ -f /boot/grub2/grub.cfg ]; then install -m 0600 /dev/null /boot/grub2/user.cfg chmod 0600 /boot/grub2/user.cfg grep '^password_pbkdf2 root' /etc/grub.d/01_users | \ sed 's/^password_pbkdf2 root \(.*\)$/GRUB2_PASSWORD=\1/' \ > /boot/grub2/user.cfg fi fi %post tools if [ "$1" = 1 ]; then /sbin/install-info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz || : /sbin/install-info --info-dir=%{_infodir} %{_infodir}/%{name}-dev.info.gz || : fi %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 %files common -f grub.lang %dir %{_libdir}/grub/ %dir %{_datarootdir}/grub/ %dir %{_datarootdir}/grub/themes/ %exclude %{_datarootdir}/grub/themes/* %attr(0700,root,root) %dir %{_sysconfdir}/grub.d %{_prefix}/lib/kernel/install.d/* %exclude %{_datarootdir}/grub/* %attr(0700,root,root) %dir /boot/%{name} %dir /boot/%{name}/locale /boot/%{name}/locale/* %dir /boot/%{name}/fonts /boot/%{name}/fonts/* %dir /boot/%{name}/themes/ %dir /boot/%{name}/themes/system %dir %attr(0700,root,root) %{efi_esp_dir} %ifnarch %{ix86} %exclude %{efi_esp_dir}/* %endif %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 %files tools-minimal %{_sysconfdir}/prelink.conf.d/grub2.conf %{_sbindir}/%{name}-get-kernel-settings %{_sbindir}/%{name}-probe %attr(4755, root, root) %{_sbindir}/%{name}-set-bootflag %{_sbindir}/%{name}-set-default %{_sbindir}/%{name}-set*password %{_bindir}/%{name}-editenv %{_bindir}/%{name}-mkpasswd-pbkdf2 %{_bindir}/%{name}-mount %{_datadir}/man/man3/%{name}-get-kernel-settings* %{_datadir}/man/man8/%{name}-set-default* %{_datadir}/man/man8/%{name}-set*password* %{_datadir}/man/man1/%{name}-editenv* %{_datadir}/man/man1/%{name}-mkpasswd-* %ifarch x86_64 %files tools-efi %{_sbindir}/%{name}-macbless %{_bindir}/%{name}-render-label %{_datadir}/man/man8/%{name}-macbless* %{_datadir}/man/man1/%{name}-render-label* %endif %files tools %attr(0644,root,root) %config(noreplace) %{_sysconfdir}/default/grub %config %{_sysconfdir}/grub.d/??_* %{_sysconfdir}/grub.d/README %if %{with systemd} %{_userunitdir}/grub-boot-success.timer %{_userunitdir}/grub-boot-success.service %{_userunitdir}/timers.target.wants %{_unitdir}/grub-boot-indeterminate.service %{_unitdir}/system-update.target.wants %{_unitdir}/grub2-systemd-integration.service %{_unitdir}/reboot.target.wants %{_unitdir}/systemd-logind.service.d %dir %{_libexecdir}/grub2 %{_libexecdir}/grub2/systemd-integration.sh %endif %{_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}-switch-to-blscfg %{_sbindir}/%{name}-rpm-sort %{_sbindir}/%{name}-reboot %{_bindir}/%{name}-file %{_bindir}/%{name}-menulst2cfg %{_bindir}/%{name}-mkimage %{_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}-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}-set*password* %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} %ifarch x86_64 %{_sbindir}/%{name}-bios-setup %else %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}-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}-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 %if 0%{with_emu_arch} %files emu %{_bindir}/%{name}-emu* %{_datadir}/man/man1/%{name}-emu* %files emu-modules %{_libdir}/grub/%{emuarch}-emu/* %exclude %{_libdir}/grub/%{emuarch}-emu/*.module %endif %files theme-starfield %defattr(-,root,root) %{_datarootdir}/grub/themes/starfield %files theme-vine %defattr(-,root,root) %{_datarootdir}/grub/themes/vine %changelog * Tue Apr 06 2021 Tomohiro "Tomo-p" KATO - 2.06~rc1-1 - updated to 2.06-rc1. - updated ja.po. - updated kernel-install scripts. * Mon Feb 22 2021 Tomohiro "Tomo-p" KATO - 2.04-5 - rebuilt with rpm-4.16. * Wed Sep 16 2020 Tomohiro "Tomo-p" KATO - 2.04-4 - rebuilt with current environment. * Tue Jul 28 2020 Tomohiro "Tomo-p" KATO - 2.04-3 - imported Patch206-222 from rawhide. - updated ja.po. * Fri Apr 03 2020 Tomohiro "Tomo-p" KATO - 2.04-2 - replaced all patches to rawhide's. - fixed a path to locale files for UEFI. * Sat Sep 14 2019 Tomohiro "Tomo-p" KATO - 2.04-1 - new upstream release. - replaced all patches to rawhide's. - updated ja.po. * Sat Sep 16 2017 Tomohiro "Tomo-p" KATO - 2.02-16 - updated ja.po. * Fri Sep 15 2017 Tomohiro "Tomo-p" KATO - 2.02-15 - initial build for Vine Linux. - added configuration for Vine Linux. - added Patch100001: modified title-format. * Fri Aug 25 2017 Peter Jones - 2.02-14 - Revert the /usr/lib/.build-id/ change: https://fedoraproject.org/wiki/Changes/ParallelInstallableDebuginfo says (without any particularly convincing reasoning): The main build-id file should not be in the debuginfo file, but in the main package (this was always a problem since the package and debuginfo package installed might not match). If we want to make usr/lib/debug/ a network resource then we will need to move the symlink to another location (maybe /usr/lib/.build-id). So do it that way. Of course it doesn't matter, because exclude gets ignored due to implementation details. * Fri Aug 25 2017 Peter Jones - 2.02-13 - Add some unconditional Provides: grub2-efi on grub2-efi-${arch} grub2-efi-cdboot on grub2-efi-${arch}-cdboot grub2 on all grub2-${arch} pacakges - Something is somehow adding /usr/lib/.build-id/... to all the -tools subpackages, so exclude all that. * Thu Aug 24 2017 Peter Jones - 2.02-12 - Fix arm kernel command line allocation Resolves: rhbz#1484609 - Get rid of the temporary extra efi packages hack. * Wed Aug 23 2017 Peter Jones - 2.02-11 - Put grub2-mkimage in -tools, not -tools-extra. - Fix i686 building - Fix ppc HFS+ usage due to /boot/efi's presence. * Fri Aug 18 2017 Peter Jones - 2.02-10 - Add the .img files into grub2-pc-modules (and all legacy variants) * 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 - Rebuild again with new fixed rpm. (bug #1480407) * Fri Aug 11 2017 Kevin Fenzi - 2.02-6 - Rebuild again with new fixed rpm. (bug #1480407) * Thu Aug 10 2017 Kevin Fenzi - 2.02-5 - Rebuild for rpm soname bump again. * Thu Aug 10 2017 Igor Gnatenko - 2.02-4 - Rebuilt for RPM soname bump * Thu Aug 03 2017 Peter Jones - 2.02-3 - Rebuild so it gets SB signed correctly. Related: rhbz#1335533 - Enable lsefi * Mon Jul 24 2017 Michael Cronenworth - 2.02-2 - Fix symlink to work on both EFI and BIOS machines Resolves: rhbz#1335533 * Mon Jul 10 2017 Peter Jones - 2.02-1 - Rebased to newer upstream for fedora-27 * Wed Feb 01 2017 Stephen Gallagher - 2.02-0.39 - Add missing %%license macro - Fix deps that should have moved to -tools but didn't. * Thu Dec 08 2016 Peter Jones - 2.02-0.38 - Fix regexp in power compile flags, and synchronize release number with other branches. * Fri Dec 02 2016 pjones - 1:2.02-0.37 - Rebased to newer upstream for fedora-26 * Thu Dec 01 2016 Peter Jones - 2.02-0.36 - Update version to .36 because I already built an f25 one named 0.35 * Thu Dec 01 2016 pjones - 1:2.02-0.35 - Rebased to newer upstream for fedora-26 * Thu Dec 01 2016 Peter Jones - 2.02-0.34 - Fix power6 makefile bits for newer autoconf defaults. - efi/chainloader: fix wrong sanity check in relocate_coff() (Laszlo Ersek) Resolves: rhbz#1347291 * Thu Aug 25 2016 Peter Jones - 2.02-0.34 - Update to be newer than f24's branch. - Add grub2-get-kernel-settings Related: rhbz#1226325 * Thu Apr 07 2016 pjones - 1:2.02-0.30 - Revert 27e66193, which was replaced by upstream's 49426e9fd Resolves: rhbz#1251600 * Thu Apr 07 2016 Peter Jones - 2.02-0.29 - Fix ppc64 build failure and rebase to newer f24 code. * Tue Apr 05 2016 pjones - 1:2.02-0.27 - Pull TPM updates from mjg59. Resolves: rhbz#1318067 * Tue Mar 08 2016 pjones - 1:2.02-0.27 - Fix aarch64 build problem. * Fri Mar 04 2016 Peter Jones - 2.02-0.26 - Rebased to newer upstream (grub-2.02-beta3) for fedora-24 * Thu Dec 10 2015 Peter Jones - 2.02-0.25 - Fix security issue when reading username and password Related: CVE-2015-8370 - Do a better job of handling GRUB2_PASSWORD Related: rhbz#1284370 * Fri Nov 20 2015 Peter Jones - 2.02-0.24 - Rebuild without multiboot* modules in the EFI image. Related: rhbz#1264103 * Sat Sep 05 2015 Kalev Lember - 2.02-0.23 - Rebuilt for librpm soname bump * Wed Aug 05 2015 Peter Jones - 2.02-0.21 - Back out one of the debuginfo generation patches; it doesn't work right on aarch64 yet. Resolves: rhbz#1250197 * Mon Aug 03 2015 Peter Jones - 2.02-0.20 - The previous fix was completely not right, so fix it a different way. Resolves: rhbz#1249668 * Fri Jul 31 2015 Peter Jones - 2.02-0.19 - Fix grub2-mkconfig's sort to put kernels in the right order. Related: rhbz#1124074 * Thu Jul 30 2015 Peter Jones - 2.02-0.18 - Fix a build failure on aarch64 * Wed Jul 22 2015 Peter Jones - 2.02-0.17 - Don't build hardened (fixes FTBFS) (pbrobinson) - Reconcile with the current upstream - Fixes for gcc 5 * Tue Apr 28 2015 Peter Jones - 2.02-0.16 - Make grub2-mkconfig produce the kernel titles we actually want. Resolves: rhbz#1215839 * Sat Feb 21 2015 Till Maas - Rebuilt for Fedora 23 Change https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code * Mon Jan 05 2015 Peter Jones - 2.02-0.15 - Bump release to rebuild with Ralf Corsépius's fixes. * Sun Jan 04 2015 Ralf Corsépius - 2.02-0.14 - Move grub2.info/grub2-dev.info install-info scriptlets into *-tools package. - Use sub-shell in %%__debug_install_post (RHBZ#1168732). - Cleanup grub2-starfield-theme packaging. * Thu Dec 04 2014 Peter Jones - 2.02-0.13 - Update minilzo to 2.08 for CVE-2014-4607 Resolves: rhbz#1131793 * Thu Nov 13 2014 Peter Jones - 2.02-0.12 - Make backtrace and usb conditional on !arm - Make sure gcdaa64.efi is packaged. Resolves: rhbz#1163481 * Fri Nov 07 2014 Peter Jones - 2.02-0.11 - fix a copy-paste error in patch 0154. Resolves: rhbz#964828 * Mon Oct 27 2014 Peter Jones - 2.02-0.10 - Try to emit linux16/initrd16 and linuxefi/initrdefi when appropriate in 30_os-prober. Resolves: rhbz#1108296 - If $fw_path doesn't work to find the config file, try $prefix as well Resolves: rhbz#1148652 * Mon Sep 29 2014 Peter Jones - 2.02-0.9 - Clean up the build a bit to make it faster - Make grubenv work right on UEFI machines Related: rhbz#1119943 - Sort debug and rescue kernels later than normal ones Related: rhbz#1065360 - Allow "fallback" to include entries by title as well as number. Related: rhbz#1026084 - Fix a segfault on aarch64. - Load arm with SB enabled if available. - Add some serial port options to GRUB_MODULES. * Tue Aug 19 2014 Peter Jones - 2.02-0.8 - Add ppc64le support. Resolves: rhbz#1125540 * Thu Jul 24 2014 Peter Jones - 2.02-0.7 - Enabled syslinuxcfg module. * Wed Jul 02 2014 Peter Jones - 2.02-0.6 - Re-merge RHEL 7 changes and ARM works in progress. * Mon Jun 30 2014 Peter Jones - 2.02-0.5 - Avoid munging raw spaces when we're escaping command line arguments. Resolves: rhbz#923374 * Tue Jun 24 2014 Peter Jones - 2.02-0.4 - Update to latest upstream. * Thu Mar 13 2014 Peter Jones - 2.02-0.3 - Merge in RHEL 7 changes and ARM works in progress. * Mon Jan 06 2014 Peter Jones - 2.02-0.2 - Update to grub-2.02~beta2 * Sat Aug 10 2013 Peter Jones - 2.00-25 - Last build failed because of a hardware error on the builder. * Mon Aug 05 2013 Peter Jones - 2.00-24 - Fix compiler flags to deal with -fstack-protector-strong * Sat Aug 03 2013 Fedora Release Engineering - 1:2.00-24 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Tue Jul 02 2013 Dennis Gilmore - 2.00-23 - add epoch to obsoletes * Fri Jun 21 2013 Peter Jones - 2.00-22 - Fix linewrapping in edit menu. Resolves: rhbz #976643 * Thu Jun 20 2013 Peter Jones - 2.00-21 - Fix obsoletes to pull in -starfield-theme subpackage when it should. * Fri Jun 14 2013 Peter Jones - 2.00-20 - Put the theme entirely ento the subpackage where it belongs (#974667) * Wed Jun 12 2013 Peter Jones - 2.00-19 - Rebase to upstream snapshot. - Fix PPC build error (#967862) - Fix crash on net_bootp command (#960624) - Reset colors on ppc when appropriate (#908519) - Left align "Loading..." messages (#908492) - Fix probing of SAS disks on PPC (#953954) - Add support for UEFI OSes returned by os-prober - Disable "video" mode on PPC for now (#973205) - Make grub fit better into the boot sequence, visually (#966719) * Fri May 10 2013 Matthias Clasen - 2.00-18 - Move the starfield theme to a subpackage (#962004) - Don't allow SSE or MMX on UEFI builds (#949761) * Wed Apr 24 2013 Peter Jones - 2.00-17.pj0 - Rebase to upstream snapshot. * Thu Apr 04 2013 Peter Jones - 2.00-17 - Fix booting from drives with 4k sectors on UEFI. - Move bash completion to new location (#922997) - Include lvm support for /boot (#906203) * Thu Feb 14 2013 Peter Jones - 2.00-16 - Allow the user to disable submenu generation - (partially) support BLS-style configuration stanzas. * Tue Feb 12 2013 Peter Jones - 2.00-15.pj0 - Add various config file related changes. * Thu Dec 20 2012 Dennis Gilmore - 2.00-15 - bump nvr * Mon Dec 17 2012 Karsten Hopp 2.00-14 - add bootpath device to the device list (pfsmorigo, #886685) * Tue Nov 27 2012 Peter Jones - 2.00-13 - Add vlan tag support (pfsmorigo, #871563) - Follow symlinks during PReP installation in grub2-install (pfsmorigo, #874234) - Improve search paths for config files on network boot (pfsmorigo, #873406) * Tue Oct 23 2012 Peter Jones - 2.00-12 - Don't load modules when grub transitions to "normal" mode on UEFI. * Mon Oct 22 2012 Peter Jones - 2.00-11 - Rebuild with newer pesign so we'll get signed with the final signing keys. * Thu Oct 18 2012 Peter Jones - 2.00-10 - Various PPC fixes. - Fix crash fetching from http (gustavold, #860834) - Issue separate dns queries for ipv4 and ipv6 (gustavold, #860829) - Support IBM CAS reboot (pfsmorigo, #859223) - Include all modules in the core image on ppc (pfsmorigo, #866559) * Mon Oct 01 2012 Peter Jones - 1:2.00-9 - Work around bug with using "\x20" in linux command line. Related: rhbz#855849 * Thu Sep 20 2012 Peter Jones - 2.00-8 - Don't error on insmod on UEFI/SB, but also don't do any insmodding. - Increase device path size for ieee1275 Resolves: rhbz#857936 - Make network booting work on ieee1275 machines. Resolves: rhbz#857936 * Wed Sep 05 2012 Matthew Garrett - 2.00-7 - Add Apple partition map support for EFI * Thu Aug 23 2012 David Cantrell - 2.00-6 - Only require pesign on EFI architectures (#851215) * Tue Aug 14 2012 Peter Jones - 2.00-5 - Work around AHCI firmware bug in efidisk driver. - Move to newer pesign macros - Don't allow insmod if we're in secure-boot mode. * Wed Aug 08 2012 Peter Jones - Split module lists for UEFI boot vs UEFI cd images. - Add raid modules for UEFI image (related: #750794) - Include a prelink whitelist for binaries that need execstack (#839813) - Include fix efi memory map fix from upstream (#839363) * Wed Aug 08 2012 Peter Jones - 2.00-4 - Correct grub-mkimage invocation to use efidir RPM macro (jwb) - Sign with test keys on UEFI systems. - PPC - Handle device paths with commas correctly. Related: rhbz#828740 * Wed Jul 25 2012 Peter Jones - 2.00-3 - Add some more code to support Secure Boot, and temporarily disable some other bits that don't work well enough yet. Resolves: rhbz#836695 * Wed Jul 11 2012 Matthew Garrett - 2.00-2 - Set a prefix for the image - needed for installer work - Provide the font in the EFI directory for the same reason * Thu Jun 28 2012 Peter Jones - 2.00-1 - Rebase to grub-2.00 release. * Mon Jun 18 2012 Peter Jones - 2.0-0.37.beta6 - Fix double-free in grub-probe. * Wed Jun 06 2012 Peter Jones - 2.0-0.36.beta6 - Build with patch19 applied. * Wed Jun 06 2012 Peter Jones - 2.0-0.35.beta6 - More ppc fixes. * Wed Jun 06 2012 Peter Jones - 2.0-0.34.beta6 - Add IBM PPC fixes. * Mon Jun 04 2012 Peter Jones - 2.0-0.33.beta6 - Update to beta6. - Various fixes from mads. * Fri May 25 2012 Peter Jones - 2.0-0.32.beta5 - Revert builddep change for crt1.o; it breaks ppc build. * Fri May 25 2012 Peter Jones - 2.0-0.31.beta5 - Add fwsetup command (pjones) - More ppc fixes (IBM) * Tue May 22 2012 Peter Jones - 2.0-0.30.beta5 - Fix the /other/ grub2-tools require to include epoch. * Mon May 21 2012 Peter Jones - 2.0-0.29.beta5 - Get rid of efi_uga and efi_gop, favoring all_video instead. * Mon May 21 2012 Peter Jones - 2.0-0.28.beta5 - Name grub.efi something that's arch-appropriate (kiilerix, pjones) - use EFI/$SOMETHING_DISTRO_BASED/ not always EFI/redhat/grub2-efi/ . - move common stuff to -tools (kiilerix) - spec file cleanups (kiilerix) * Mon May 14 2012 Peter Jones - 2.0-0.27.beta5 - Fix module trampolining on ppc (benh) * Thu May 10 2012 Peter Jones - 2.0-0.27.beta5 - Fix license of theme (mizmo) Resolves: rhbz#820713 - Fix some PPC bootloader detection IBM problem Resolves: rhbz#820722 * Thu May 10 2012 Peter Jones - 2.0-0.26.beta5 - Update to beta5. - Update how efi building works (kiilerix) - Fix theme support to bring in fonts correctly (kiilerix, pjones) * Wed May 09 2012 Peter Jones - 2.0-0.25.beta4 - Include theme support (mizmo) - Include locale support (kiilerix) - Include html docs (kiilerix) * Thu Apr 26 2012 Peter Jones - 2.0-0.24 - Various fixes from Mads Kiilerich * Thu Apr 19 2012 Peter Jones - 2.0-0.23 - Update to 2.00~beta4 - Make fonts work so we can do graphics reasonably * Thu Mar 29 2012 David Aquilina - 2.0-0.22 - Fix ieee1275 platform define for ppc * Thu Mar 29 2012 Peter Jones - 2.0-0.21 - Remove ppc excludearch lines (dwa) - Update ppc terminfo patch (hamzy) * Wed Mar 28 2012 Peter Jones - 2.0-0.20 - Fix ppc64 vs ppc exclude according to what dwa tells me they need - Fix version number to better match policy. * Tue Mar 27 2012 Dan Horák - 1.99-19.2 - Add support for serial terminal consoles on PPC by Mark Hamzy * Sun Mar 25 2012 Dan Horák - 1.99-19.1 - Use Fix-tests-of-zeroed-partition patch by Mark Hamzy * Thu Mar 15 2012 Peter Jones - 1.99-19 - Use --with-grubdir= on configure to make it behave like -17 did. * Wed Mar 14 2012 Peter Jones - 1.99-18 - Rebase from 1.99 to 2.00~beta2 * Wed Mar 07 2012 Peter Jones - 1.99-17 - Update for newer autotools and gcc 4.7.0 Related: rhbz#782144 - Add /etc/sysconfig/grub link to /etc/default/grub Resolves: rhbz#800152 - ExcludeArch s390*, which is not supported by this package. Resolves: rhbz#758333 * Fri Feb 17 2012 Orion Poplawski - 1:1.99-16 - Build with -Os (bug 782144) * Fri Jan 13 2012 Fedora Release Engineering - 1:1.99-15 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Wed Dec 14 2011 Matthew Garrett - 1.99-14 - fix up various grub2-efi issues * Thu Dec 08 2011 Adam Williamson - 1.99-13 - fix hardwired call to grub-probe in 30_os-prober (rhbz#737203) * Mon Nov 07 2011 Peter Jones - 1.99-12 - Lots of .spec fixes from Mads Kiilerich: Remove comment about update-grub - it isn't run in any scriptlets patch info pages so they can be installed and removed correctly when renamed fix references to grub/grub2 renames in info pages (#743964) update README.Fedora (#734090) fix comments for the hack for upgrading from grub2 < 1.99-4 fix sed syntax error preventing use of $RPM_OPT_FLAGS (#704820) make /etc/grub2*.cfg %config(noreplace) make grub.cfg %ghost - an empty file is of no use anyway create /etc/default/grub more like anaconda would create it (#678453) don't create rescue entries by default - grubby will not maintain them anyway set GRUB_SAVEDEFAULT=true so saved defaults works (rbhz#732058) grub2-efi should have its own bash completion don't set gfxpayload in efi mode - backport upstream r3402 - Handle dmraid better. Resolves: rhbz#742226 * Wed Oct 26 2011 Fedora Release Engineering - 1:1.99-11 - Rebuilt for glibc bug#747377 * Wed Oct 19 2011 Adam Williamson - 1.99-10 - /etc/default/grub is explicitly intended for user customization, so mark it as config(noreplace) * Tue Oct 11 2011 Peter Jones - 1.99-9 - grub has an epoch, so we need that expressed in the obsolete as well. Today isn't my day. * Tue Oct 11 2011 Peter Jones - 1.99-8 - Fix my bad obsoletes syntax. * Thu Oct 06 2011 Peter Jones - 1.99-7 - Obsolete grub Resolves: rhbz#743381 * Wed Sep 14 2011 Peter Jones - 1.99-6 - Use mv not cp to try to avoid moving disk blocks around for -5 fix Related: rhbz#735259 - handle initramfs on xen better (patch from Marko Ristola) Resolves: rhbz#728775 * Sat Sep 03 2011 Kalev Lember - 1.99-5 - Fix upgrades from grub2 < 1.99-4 (#735259) * Fri Sep 02 2011 Peter Jones - 1.99-4 - Don't do sysadminny things in %preun or %post ever. (#735259) - Actually include the changelog in this build (sorry about -3) * Thu Sep 01 2011 Peter Jones - 1.99-2 - Require os-prober (#678456) (patch from Elad Alfassa) - Require which (#734959) (patch from Elad Alfassa) * Thu Sep 01 2011 Peter Jones - 1.99-1 - Update to grub-1.99 final. - Fix crt1.o require on x86-64 (fix from Mads Kiilerich) - Various CFLAGS fixes (from Mads Kiilerich) - -fexceptions and -m64 - Temporarily ignore translations (from Mads Kiilerich) * Thu Jul 21 2011 Peter Jones - 1.99-0.3 - Use /sbin not /usr/sbin . * Thu Jun 23 2011 Peter Lemenkov - 1:1.99-0.2 - Fixes for ppc and ppc64 * Wed Feb 09 2011 Fedora Release Engineering - 1:1.98-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild