nalika / rpms / grub2

Forked from rpms/grub2 2 years ago
Clone
f96e0b
# Modules always contain just 32-bit code
f96e0b
%define _libdir %{_exec_prefix}/lib
f96e0b
f96e0b
# 64bit intel machines use 32bit boot loader
f96e0b
# (We cannot just redefine _target_cpu, as we'd get i386.rpm packages then)
f96e0b
%ifarch x86_64
f96e0b
%define _target_platform i386-%{_vendor}-%{_target_os}%{?_gnu}
f96e0b
%endif
f96e0b
# sparc is always compiled 64 bit
f96e0b
%ifarch %{sparc}
f96e0b
%define _target_platform sparc64-%{_vendor}-%{_target_os}%{?_gnu}
f96e0b
%endif
f96e0b
f96e0b
%if ! 0%{?efi}
f96e0b
39700a
%global efi_only aarch64
39700a
%global efiarchs x86_64 ia64 %{efi_only}
f96e0b
f96e0b
%ifarch x86_64
f96e0b
%global grubefiarch %{_arch}-efi
f96e0b
%global grubefiname grubx64.efi
f96e0b
%global grubeficdname gcdx64.efi
f96e0b
%endif
39700a
%ifarch aarch64
39700a
%global grubefiarch arm64-efi
39700a
%global grubefiname grubaa64.efi
39700a
%global grubeficdname gcdaa64.efi
39700a
%endif
f96e0b
f96e0b
%if 0%{?rhel}
f96e0b
%global efidir redhat
f96e0b
%endif
f96e0b
%if 0%{?fedora}
f96e0b
%global efidir fedora
f96e0b
%endif
f96e0b
f96e0b
%endif
f96e0b
606ea6
%global tarversion 2.02~beta2
f96e0b
%undefine _missing_build_ids_terminate_build
f96e0b
f96e0b
Name:           grub2
f96e0b
Epoch:          1
606ea6
Version:        2.02
57a8ef
Release:        0.17%{?dist}.4
f96e0b
Summary:        Bootloader with support for Linux, Multiboot and more
f96e0b
f96e0b
Group:          System Environment/Base
f96e0b
License:        GPLv3+
f96e0b
URL:            http://www.gnu.org/software/grub/
f96e0b
Obsoletes:	grub < 1:0.98
606ea6
Source0:        ftp://alpha.gnu.org/gnu/grub/grub-%{tarversion}.tar.xz
606ea6
#Source0:	ftp://ftp.gnu.org/gnu/grub/grub-%{tarversion}.tar.xz
57a8ef
Source1:	securebootca.cer
57a8ef
Source2:	secureboot.cer
f96e0b
Source4:	http://unifoundry.com/unifont-5.1.20080820.pcf.gz
f96e0b
Source5:	theme.tar.bz2
39700a
Source6:	gitignore
f96e0b
#Source6:	grub-cd.cfg
39700a
39700a
Patch0001: 0001-fix-EFI-detection-on-Windows.patch
39700a
Patch0002: 0002-grub-core-kern-arm-cache_armv6.S-Remove-.arch-direct.patch
39700a
Patch0003: 0003-INSTALL-Cross-compiling-the-GRUB-Fix-some-spelling-m.patch
39700a
Patch0004: 0004-NEWS-First-draft-of-2.02-entry.patch
39700a
Patch0005: 0005-Merge-branch-master-of-git.sv.gnu.org-srv-git-grub.patch
39700a
Patch0006: 0006-NEWS-The-cmosclean-command-in-fact-dates-back-to-1.9.patch
39700a
Patch0007: 0007-remove-unused-error.h-from-kern-emu-misc.c.patch
39700a
Patch0008: 0008-Don-t-abort-on-unavailable-coreboot-tables-if-not-ru.patch
39700a
Patch0009: 0009-NEWS-Add-few-missing-entries.-Correct-existing-ones.patch
39700a
Patch0010: 0010-strip-.eh_frame-section-from-arm64-efi-kernel.patch
39700a
Patch0011: 0011-use-grub-boot-aa64.efi-for-boot-images-on-AArch64.patch
39700a
Patch0012: 0012-fix-32-bit-compilation-on-MinGW-w64.patch
39700a
Patch0013: 0013-Change-grub-mkrescue-to-use-bootaa64.efi-too.patch
39700a
Patch0014: 0014-arm64-set-correct-length-of-device-path-end-entry.patch
39700a
Patch0015: 0015-Makefile.util.def-grub-macbless-Change-mansection-to.patch
39700a
Patch0016: 0016-add-part_apple-to-EFI-rescue-image-to-fix-missing-pr.patch
39700a
Patch0017: 0017-freebsd-hostdisk.c-is-only-ever-compiled-on-FreeBSD.patch
39700a
Patch0018: 0018-Prefer-more-portable-test-1-constructs.patch
39700a
Patch0019: 0019-NEWS-Add-few-missing-entries.patch
39700a
Patch0020: 0020-grub-core-kern-efi-efi.c-Ensure-that-the-result-star.patch
39700a
Patch0021: 0021-util-grub-mount.c-Extend-GCC-warning-workaround-to-g.patch
39700a
Patch0022: 0022-reintroduce-BUILD_LDFLAGS-for-the-cross-compile-case.patch
39700a
Patch0023: 0023-grub-core-term-terminfo.c-Recognize-keys-F1-F12.patch
39700a
Patch0024: 0024-Fix-ChangeLog-date.patch
39700a
Patch0025: 0025-Use-_W64-to-detect-MinGW-W64-32-instead-of-_FILE_OFF.patch
39700a
Patch0026: 0026-add-BUILD_EXEEXT-support-to-fix-make-clean-on-Window.patch
39700a
Patch0027: 0027-fix-include-loop-on-MinGW-due-to-libintl.h-pulling-s.patch
39700a
Patch0028: 0028-grub-core-commands-macbless.c-Rename-FILE-and-DIR-to.patch
39700a
Patch0029: 0029-Makefile.util.def-Link-grub-ofpathname-with-zfs-libs.patch
39700a
Patch0030: 0030-Makefile.am-default_payload.elf-Add-modules.patch
39700a
Patch0031: 0031-fix-removal-of-cpu-machine-links-on-mingw-msys.patch
39700a
Patch0032: 0032-grub-core-normal-main.c-read_config_file-Buffer-conf.patch
39700a
Patch0033: 0033-util-grub-install.c-Fix-a-typo.patch
39700a
Patch0034: 0034-use-MODULE_FILES-for-genemuinit-instead-of-MOD_FILES.patch
39700a
Patch0035: 0035-Ignore-EPERM-when-modifying-kern.geom.debugflags.patch
39700a
Patch0036: 0036-change-stop-condition-to-avoid-infinite-loops.patch
39700a
Patch0037: 0037-increase-network-try-interval-gradually.patch
39700a
Patch0038: 0038-look-for-DejaVu-also-in-usr-share-fonts-truetype.patch
39700a
Patch0039: 0039-Show-detected-path-to-DejaVuSans-in-configure-summar.patch
39700a
Patch0040: 0040-add-GRUB_WINDOWS_EXTRA_DIST-to-allow-shipping-runtim.patch
39700a
Patch0041: 0041-util-grub-install.c-write_to_disk-Add-an-info-messag.patch
39700a
Patch0042: 0042-util-grub-install.c-List-available-targets.patch
39700a
Patch0043: 0043-Fix-several-translatable-strings.patch
39700a
Patch0044: 0044-do-not-set-default-prefix-in-grub-mkimage.patch
39700a
Patch0045: 0045-fix-Mingw-W64-32-cross-compile-failure-due-to-printf.patch
39700a
Patch0046: 0046-grub-core-term-serial.c-grub_serial_register-Fix-inv.patch
39700a
Patch0047: 0047-grub-install-support-for-partitioned-partx-loop-devi.patch
39700a
Patch0048: 0048-grub-core-term-at_keyboard.c-Tolerate-missing-keyboa.patch
39700a
Patch0049: 0049-.gitignore-add-missing-files-and-.exe-variants.patch
39700a
Patch0050: 0050-util-grub-mkfont.c-Downgrade-warnings-about-unhandle.patch
39700a
Patch0051: 0051-grub-core-disk-ahci.c-Do-not-enable-I-O-decoding-and.patch
39700a
Patch0052: 0052-grub-core-disk-ahci.c-Allocate-and-clean-space-for-a.patch
39700a
Patch0053: 0053-grub-core-disk-ahci.c-Add-safety-cleanups.patch
39700a
Patch0054: 0054-grub-core-disk-ahci.c-Properly-handle-transactions-w.patch
39700a
Patch0055: 0055-grub-core-disk-ahci.c-Increase-timeout.-Some-SSDs-ta.patch
39700a
Patch0056: 0056-util-grub-mkfont.c-Build-fix-for-argp.h-with-older-g.patch
39700a
Patch0057: 0057-util-grub-mkrescue.c-Build-fix-for-argp.h-with-older.patch
39700a
Patch0058: 0058-add-grub_env_set_net_property-function.patch
39700a
Patch0059: 0059-add-bootpath-parser-for-open-firmware.patch
39700a
Patch0060: 0060-grub-core-disk-ahci.c-Ignore-NPORTS-field-and-rely-o.patch
39700a
Patch0061: 0061-grub-core-kern-i386-coreboot-mmap.c-Filter-out-0xa00.patch
39700a
Patch0062: 0062-grub-core-loader-i386-multiboot_mbi.c-grub_multiboot.patch
39700a
Patch0063: 0063-grub-core-mmap-i386-uppermem.c-lower_hook-COREBOOT-I.patch
39700a
Patch0064: 0064-grub-core-kern-i386-pc-mmap.c-Fallback-to-EISA-memor.patch
39700a
Patch0065: 0065-include-grub-i386-openbsd_bootarg.h-Add-addr-and-fre.patch
39700a
Patch0066: 0066-ieee1275-check-for-IBM-pseries-emulated-machine.patch
39700a
Patch0067: 0067-grub-core-loader-arm64-linux.c-Remove-redundant-0x.patch
39700a
Patch0068: 0068-grub-core-lib-relocator.c-Fix-the-case-when-end-of-l.patch
39700a
Patch0069: 0069-Fix-grub-probe-0-option.patch
39700a
Patch0070: 0070-Fix-partmap-cryptodisk-and-abstraction-handling-in-g.patch
39700a
Patch0071: 0071-btrfs-fix-get_root-key-comparison-failures-due-to-en.patch
39700a
Patch0072: 0072-grub-core-osdep-linux-getroot.c-grub_util_part_to_di.patch
39700a
Patch0073: 0073-Replace-few-instances-of-memcmp-memcpy-in-the-code-t.patch
39700a
Patch0074: 0074-include-grub-libgcc.h-Remove-ctzsi2-and-ctzdi2.-They.patch
39700a
Patch0075: 0075-Add-missing-endif.patch
39700a
Patch0076: 0076-grub-core-lib-syslinux_parse.c-Fix-timeout-quoting.patch
39700a
Patch0077: 0077-Improve-LVM-logical_volumes-string-matching.patch
39700a
Patch0078: 0078-Tolerate-devices-with-no-filesystem-UUID-returned-by.patch
39700a
Patch0079: 0079-Allow-loading-old-kernels-by-placing-GDT-in-conventi.patch
39700a
Patch0080: 0080-grub-core-kern-misc.c-__bzero-Don-t-compile-in-GRUB_.patch
39700a
Patch0081: 0081-grub-core-commands-verify.c-grub_pubkey_open-Fix-mem.patch
39700a
Patch0082: 0082-grub-core-commands-verify.c-grub_pubkey_open-Trust-p.patch
39700a
Patch0083: 0083-util-grub-gen-asciih.c-add_glyph-Fix-uninitialised-v.patch
39700a
Patch0084: 0084-grub-core-commands-efi-lsefisystab.c-grub_cmd_lsefis.patch
39700a
Patch0085: 0085-grub-core-loader-i386-bsd.c-grub_netbsd_boot-Pass-po.patch
39700a
Patch0086: 0086-util-grub-install.c-Fix-handling-of-disk-module.patch
39700a
Patch0087: 0087-grub-core-commands-loadenv.c-check_blocklists-Fix-ov.patch
39700a
Patch0088: 0088-NEWS-The-cmosclean-command-in-fact-dates-back-to-1.9.patch
39700a
Patch0089: 0089-Migrate-PPC-from-Yaboot-to-Grub2.patch
39700a
Patch0090: 0090-Add-fw_path-variable-revised.patch
39700a
Patch0091: 0091-Add-support-for-linuxefi.patch
39700a
Patch0092: 0092-Use-linuxefi-and-initrdefi-where-appropriate.patch
39700a
Patch0093: 0093-Don-t-allow-insmod-when-secure-boot-is-enabled.patch
39700a
Patch0094: 0094-Pass-x-hex-hex-straight-through-unmolested.patch
39700a
Patch0095: 0095-Fix-crash-on-http.patch
39700a
Patch0096: 0096-IBM-client-architecture-CAS-reboot-support.patch
39700a
Patch0097: 0097-Add-vlan-tag-support.patch
39700a
Patch0098: 0098-Add-X-option-to-printf-functions.patch
39700a
Patch0099: 0099-DHCP-client-ID-and-UUID-options-added.patch
39700a
Patch0100: 0100-Search-for-specific-config-file-for-netboot.patch
39700a
Patch0101: 0101-blscfg-add-blscfg-module-to-parse-Boot-Loader-Specif.patch
39700a
Patch0102: 0102-Move-bash-completion-script-922997.patch
39700a
Patch0103: 0103-for-ppc-reset-console-display-attr-when-clear-screen.patch
39700a
Patch0104: 0104-Don-t-write-messages-to-the-screen.patch
39700a
Patch0105: 0105-Don-t-print-GNU-GRUB-header.patch
39700a
Patch0106: 0106-Don-t-add-to-highlighted-row.patch
39700a
Patch0107: 0107-Message-string-cleanups.patch
39700a
Patch0108: 0108-Fix-border-spacing-now-that-we-aren-t-displaying-it.patch
39700a
Patch0109: 0109-Use-the-correct-indentation-for-the-term-help-text.patch
39700a
Patch0110: 0110-Indent-menu-entries.patch
39700a
Patch0111: 0111-Fix-margins.patch
39700a
Patch0112: 0112-Add-support-for-UEFI-operating-systems-returned-by-o.patch
39700a
Patch0113: 0113-Disable-GRUB-video-support-for-IBM-power-machines.patch
39700a
Patch0114: 0114-Use-2-instead-of-1-for-our-right-hand-margin-so-line.patch
39700a
Patch0115: 0115-Use-linux16-when-appropriate-880840.patch
39700a
Patch0116: 0116-Enable-pager-by-default.-985860.patch
39700a
Patch0117: 0117-F10-doesn-t-work-on-serial-so-don-t-tell-the-user-to.patch
39700a
Patch0118: 0118-Don-t-say-GNU-Linux-in-generated-menus.patch
39700a
Patch0119: 0119-Don-t-draw-a-border-around-the-menu.patch
39700a
Patch0120: 0120-Use-the-standard-margin-for-the-timeout-string.patch
39700a
Patch0121: 0121-Fix-grub_script_execute_sourcecode-usage-on-ppc.patch
39700a
Patch0122: 0122-Add-.eh_frame-to-list-of-relocations-stripped.patch
39700a
Patch0123: 0123-Make-10_linux-work-with-our-changes-for-linux16-and-.patch
39700a
Patch0124: 0124-Don-t-print-during-fdt-loading-method.patch
39700a
Patch0125: 0125-Honor-a-symlink-when-generating-configuration-by-gru.patch
39700a
Patch0126: 0126-Don-t-munge-raw-spaces-when-we-re-doing-our-cmdline-.patch
39700a
Patch0127: 0127-Don-t-require-a-password-to-boot-entries-generated-b.patch
39700a
Patch0128: 0128-Don-t-emit-Booting-.-message.patch
39700a
Patch0129: 0129-Make-CTRL-and-ALT-keys-work-as-expected-on-EFI-syste.patch
39700a
Patch0130: 0130-May-as-well-try-it.patch
39700a
Patch0131: 0131-use-fw_path-prefix-when-fallback-searching-for-grub-.patch
39700a
Patch0132: 0132-Try-mac-guid-etc-before-grub.cfg-on-tftp-config-file.patch
39700a
Patch0133: 0133-trim-arp-packets-with-abnormal-size.patch
39700a
Patch0134: 0134-Fix-convert-function-to-support-NVMe-devices.patch
39700a
Patch0135: 0135-Fix-bad-test-on-GRUB_DISABLE_SUBMENU.patch
39700a
Patch0136: 0136-Switch-to-use-APM-Mustang-device-tree-for-hardware-t.patch
39700a
Patch0137: 0137-Use-the-default-device-tree-from-the-grub-default-fi.patch
39700a
Patch0138: 0138-reopen-SNP-protocol-for-exclusive-use-by-grub.patch
39700a
Patch0139: 0139-Reduce-timer-event-frequency-by-10.patch
39700a
Patch0140: 0140-always-return-error-to-UEFI.patch
39700a
Patch0141: 0141-Add-powerpc-little-endian-ppc64le-flags.patch
39700a
Patch0142: 0142-Files-reorganization-and-include-some-libgcc-fuction.patch
39700a
Patch0143: 0143-Suport-for-bi-endianess-in-elf-file.patch
39700a
Patch0144: 0001-Fix-exit-back-to-EFI-firmware.patch
39700a
Patch0145: 0144-Add-grub_util_readlink.patch
39700a
Patch0146: 0145-Make-editenv-chase-symlinks-including-those-across-d.patch
39700a
Patch0147: 0001-Generate-OS-and-CLASS-in-10_linux-from-etc-os-releas.patch
39700a
Patch0148: 0001-Minimize-the-sort-ordering-for-.debug-and-rescue-ker.patch
39700a
Patch0149: 0001-Add-GRUB_DISABLE_UUID.patch
39700a
Patch0150: 0001-Allow-fallback-to-include-entries-by-title-not-just-.patch
39700a
Patch0151: 0001-Initialized-initrd_ctx-so-we-don-t-free-a-random-poi.patch
39700a
Patch0152: 0002-Load-arm-with-SB-enabled.patch
39700a
Patch0153: 0001-Fix-up-some-man-pages-rpmdiff-noticed.patch
39700a
Patch0154: 0001-Try-prefix-if-fw_path-doesn-t-work.patch
57a8ef
Patch0155: 0002-Use-Distribution-Package-Sort-for-grub2-mkconfig-112.patch
57a8ef
Patch0156: 0001-Try-to-make-sure-configure.ac-and-grub-rpm-sort-play.patch
f96e0b
f96e0b
BuildRequires:  flex bison binutils python
39700a
BuildRequires:  ncurses-devel xz-devel bzip2-devel
f96e0b
BuildRequires:  freetype-devel libusb-devel
39700a
%ifarch %{sparc} x86_64 aarch64 ppc64le
f96e0b
# sparc builds need 64 bit glibc-devel - also for 32 bit userland
f96e0b
BuildRequires:  /usr/lib64/crt1.o glibc-static
f96e0b
%else
f96e0b
# ppc64 builds need the ppc crt1.o
f96e0b
BuildRequires:  /usr/lib/crt1.o glibc-static
f96e0b
%endif
f96e0b
BuildRequires:  autoconf automake autogen device-mapper-devel
f96e0b
BuildRequires:	freetype-devel gettext-devel git
f96e0b
BuildRequires:	texinfo
f96e0b
BuildRequires:	dejavu-sans-fonts
f96e0b
BuildRequires:	help2man
57a8ef
BuildRequires:	rpm-devel
f96e0b
%ifarch %{efiarchs}
39700a
%ifnarch aarch64
f96e0b
BuildRequires:	pesign >= 0.109-3.el7
f96e0b
%endif
39700a
%endif
f96e0b
f96e0b
Requires:	gettext os-prober which file
f96e0b
Requires:	%{name}-tools = %{epoch}:%{version}-%{release}
f96e0b
Requires(pre):  dracut
f96e0b
Requires(post): dracut
f96e0b
f96e0b
ExcludeArch:	s390 s390x %{arm}
39700a
Obsoletes:	grub2 <= 1:2.00-20%{?dist}
f96e0b
f96e0b
%description
f96e0b
The GRand Unified Bootloader (GRUB) is a highly configurable and customizable
f96e0b
bootloader with modular architecture.  It support rich varietyof kernel formats,
f96e0b
file systems, computer architectures and hardware devices.  This subpackage
f96e0b
provides support for PC BIOS systems.
f96e0b
f96e0b
%ifarch %{efiarchs}
f96e0b
%package efi
f96e0b
Summary:	GRUB for EFI systems.
f96e0b
Group:		System Environment/Base
f96e0b
Requires:	%{name}-tools = %{epoch}:%{version}-%{release}
39700a
Obsoletes:	grub2-efi <= 1:2.00-20%{?dist}
f96e0b
f96e0b
%description efi
f96e0b
The GRand Unified Bootloader (GRUB) is a highly configurable and customizable
f96e0b
bootloader with modular architecture.  It support rich varietyof kernel formats,
f96e0b
file systems, computer architectures and hardware devices.  This subpackage
f96e0b
provides support for EFI systems.
f96e0b
39700a
%package efi-modules
39700a
Summary:	Modules used to build custom grub.efi images
f96e0b
Group:		System Environment/Base
39700a
Requires:	%{name}-tools = %{epoch}:%{version}-%{release}
39700a
Obsoletes:	grub2-efi <= 1:2.00-20%{?dist}
f96e0b
39700a
%description efi-modules
f96e0b
The GRand Unified Bootloader (GRUB) is a highly configurable and customizable
f96e0b
bootloader with modular architecture.  It support rich varietyof kernel formats,
f96e0b
file systems, computer architectures and hardware devices.  This subpackage
39700a
provides support for rebuilding your own grub.efi on EFI systems.
39700a
%endif
f96e0b
39700a
%package tools
39700a
Summary:	Support tools for GRUB.
f96e0b
Group:		System Environment/Base
39700a
Requires:	gettext os-prober which file system-logos
f96e0b
39700a
%description tools
f96e0b
The GRand Unified Bootloader (GRUB) is a highly configurable and customizable
f96e0b
bootloader with modular architecture.  It support rich varietyof kernel formats,
f96e0b
file systems, computer architectures and hardware devices.  This subpackage
39700a
provides tools for support of all platforms.
f96e0b
f96e0b
%prep
f96e0b
%setup -T -c -n grub-%{tarversion}
f96e0b
%ifarch %{efiarchs}
f96e0b
%setup -D -q -T -a 0 -n grub-%{tarversion}
f96e0b
cd grub-%{tarversion}
f96e0b
# place unifont in the '.' from which configure is run
f96e0b
cp %{SOURCE4} unifont.pcf.gz
39700a
cp %{SOURCE6} .gitignore
f96e0b
git init
39700a
git config user.email "example@example.com"
39700a
git config user.name "RHEL Ninjas"
f96e0b
git add .
f96e0b
git commit -a -q -m "%{tarversion} baseline."
f96e0b
git am %{patches}
f96e0b
cd ..
f96e0b
mv grub-%{tarversion} grub-efi-%{tarversion}
f96e0b
%endif
39700a
39700a
%ifarch %{efi_only}
39700a
ln -s grub-efi-%{tarversion} grub-%{tarversion}
39700a
%else
f96e0b
%setup -D -q -T -a 0 -n grub-%{tarversion}
f96e0b
cd grub-%{tarversion}
f96e0b
# place unifont in the '.' from which configure is run
f96e0b
cp %{SOURCE4} unifont.pcf.gz
39700a
cp %{SOURCE6} .gitignore
f96e0b
git init
39700a
git config user.email "example@example.com"
39700a
git config user.name "RHEL Ninjas"
f96e0b
git add .
f96e0b
git commit -a -q -m "%{tarversion} baseline."
f96e0b
git am %{patches}
39700a
%endif
f96e0b
f96e0b
%build
f96e0b
%ifarch %{efiarchs}
f96e0b
cd grub-efi-%{tarversion}
f96e0b
./autogen.sh
f96e0b
%configure							\
f96e0b
	CFLAGS="$(echo $RPM_OPT_FLAGS | sed			\
f96e0b
		-e 's/-O.//g'					\
606ea6
		-e 's/-fstack-protector[[:alpha:]-]\+//g'	\
f96e0b
		-e 's/--param=ssp-buffer-size=4//g'		\
f96e0b
		-e 's/-mregparm=3/-mregparm=4/g'		\
f96e0b
		-e 's/-fexceptions//g'				\
f96e0b
		-e 's/-fasynchronous-unwind-tables//g'		\
606ea6
		-e 's/^/ -fno-strict-aliasing /' )"		\
f96e0b
	TARGET_LDFLAGS=-static					\
f96e0b
        --with-platform=efi					\
f96e0b
	--with-grubdir=%{name}					\
f96e0b
        --program-transform-name=s,grub,%{name},		\
f96e0b
	--disable-grub-mount					\
f96e0b
	--disable-werror
f96e0b
make %{?_smp_mflags}
606ea6
f96e0b
GRUB_MODULES="	all_video boot btrfs cat chain configfile echo efifwsetup \
f96e0b
		efinet ext2 fat font gfxmenu gfxterm gzio halt hfsplus iso9660 \
39700a
		jpeg loadenv lvm mdraid09 mdraid1x minicmd normal part_apple \
39700a
		part_msdos part_gpt password_pbkdf2 png reboot search \
39700a
		search_fs_uuid search_fs_file search_label sleep syslinuxcfg \
39700a
		test tftp regexp video xfs"
39700a
%ifarch aarch64
39700a
GRUB_MODULES="${GRUB_MODULES} linux"
39700a
%else
39700a
GRUB_MODULES="${GRUB_MODULES} linuxefi multiboot2 multiboot"
39700a
%endif
f96e0b
./grub-mkimage -O %{grubefiarch} -o %{grubefiname}.orig -p /EFI/%{efidir} \
f96e0b
		-d grub-core ${GRUB_MODULES}
39700a
./grub-mkimage -O %{grubefiarch} -o %{grubeficdname}.orig -p /EFI/BOOT \
39700a
		-d grub-core ${GRUB_MODULES}
39700a
%ifarch aarch64
39700a
mv %{grubefiname}.orig %{grubefiname}
39700a
mv %{grubeficdname}.orig %{grubeficdname}
39700a
%else
57a8ef
%pesign -s -i %{grubefiname}.orig -o %{grubefiname} -a %{SOURCE1} -c %{SOURCE2} -n redhatsecureboot301
57a8ef
%pesign -s -i %{grubeficdname}.orig -o %{grubeficdname} -a %{SOURCE1} -c %{SOURCE2} -n redhatsecureboot301
39700a
%endif
f96e0b
cd ..
f96e0b
%endif
f96e0b
f96e0b
cd grub-%{tarversion}
39700a
%ifnarch %{efi_only}
f96e0b
./autogen.sh
f96e0b
# -static is needed so that autoconf script is able to link
f96e0b
# test that looks for _start symbol on 64 bit platforms
39700a
%ifarch %{sparc} ppc ppc64 ppc64le
f96e0b
%define platform ieee1275
f96e0b
%else
f96e0b
%define platform pc
f96e0b
%endif
f96e0b
%configure							\
f96e0b
	CFLAGS="$(echo $RPM_OPT_FLAGS | sed			\
f96e0b
		-e 's/-O.//g'					\
606ea6
		-e 's/-fstack-protector[[:alpha:]-]\+//g'	\
f96e0b
		-e 's/--param=ssp-buffer-size=4//g'		\
f96e0b
		-e 's/-mregparm=3/-mregparm=4/g'		\
f96e0b
		-e 's/-fexceptions//g'				\
f96e0b
		-e 's/-m64//g'					\
f96e0b
		-e 's/-fasynchronous-unwind-tables//g'		\
f96e0b
		-e 's/-mcpu=power7/-mcpu=power6/g'		\
606ea6
		-e 's/^/ -fno-strict-aliasing /' )"		\
f96e0b
	TARGET_LDFLAGS=-static					\
f96e0b
        --with-platform=%{platform}				\
f96e0b
	--with-grubdir=%{name}					\
f96e0b
        --program-transform-name=s,grub,%{name},		\
f96e0b
	--disable-grub-mount					\
f96e0b
	--disable-werror
39700a
f96e0b
make %{?_smp_mflags}
39700a
%endif
f96e0b
f96e0b
sed -i -e 's,(grub),(%{name}),g' \
f96e0b
	-e 's,grub.info,%{name}.info,g' \
f96e0b
	-e 's,\* GRUB:,* GRUB2:,g' \
f96e0b
	-e 's,/boot/grub/,/boot/%{name}/,g' \
f96e0b
	-e 's,\([^-]\)grub-\([a-z]\),\1%{name}-\2,g' \
f96e0b
	docs/grub.info
f96e0b
sed -i -e 's,grub-dev,%{name}-dev,g' docs/grub-dev.info
f96e0b
f96e0b
/usr/bin/makeinfo --html --no-split -I docs -o grub-dev.html docs/grub-dev.texi
f96e0b
/usr/bin/makeinfo --html --no-split -I docs -o grub.html docs/grub.texi
f96e0b
sed -i	-e 's,/boot/grub/,/boot/%{name}/,g' \
f96e0b
	-e 's,\([^-]\)grub-\([a-z]\),\1%{name}-\2,g' \
f96e0b
	grub.html
f96e0b
f96e0b
%install
f96e0b
set -e
f96e0b
rm -fr $RPM_BUILD_ROOT
f96e0b
f96e0b
%ifarch %{efiarchs}
f96e0b
cd grub-efi-%{tarversion}
f96e0b
make DESTDIR=$RPM_BUILD_ROOT install
f96e0b
find $RPM_BUILD_ROOT -iname "*.module" -exec chmod a-x {} \;
f96e0b
f96e0b
# Ghost config file
f96e0b
install -m 755 -d $RPM_BUILD_ROOT/boot/efi/EFI/%{efidir}/
f96e0b
touch $RPM_BUILD_ROOT/boot/efi/EFI/%{efidir}/grub.cfg
f96e0b
ln -s ../boot/efi/EFI/%{efidir}/grub.cfg $RPM_BUILD_ROOT%{_sysconfdir}/%{name}-efi.cfg
f96e0b
f96e0b
# Install ELF files modules and images were created from into
f96e0b
# the shadow root, where debuginfo generator will grab them from
f96e0b
find $RPM_BUILD_ROOT -name '*.mod' -o -name '*.img' |
f96e0b
while read MODULE
f96e0b
do
f96e0b
        BASE=$(echo $MODULE |sed -r "s,.*/([^/]*)\.(mod|img),\1,")
f96e0b
        # Symbols from .img files are in .exec files, while .mod
f96e0b
        # modules store symbols in .elf. This is just because we
f96e0b
        # have both boot.img and boot.mod ...
f96e0b
        EXT=$(echo $MODULE |grep -q '.mod' && echo '.elf' || echo '.exec')
f96e0b
        TGT=$(echo $MODULE |sed "s,$RPM_BUILD_ROOT,.debugroot,")
f96e0b
#        install -m 755 -D $BASE$EXT $TGT
f96e0b
done
f96e0b
install -m 755 %{grubefiname} $RPM_BUILD_ROOT/boot/efi/EFI/%{efidir}/%{grubefiname}
f96e0b
install -m 755 %{grubeficdname} $RPM_BUILD_ROOT/boot/efi/EFI/%{efidir}/%{grubeficdname}
f96e0b
install -D -m 644 unicode.pf2 $RPM_BUILD_ROOT/boot/efi/EFI/%{efidir}/fonts/unicode.pf2
f96e0b
cd ..
f96e0b
%endif
f96e0b
f96e0b
cd grub-%{tarversion}
39700a
%ifnarch %{efi_only}
f96e0b
make DESTDIR=$RPM_BUILD_ROOT install
f96e0b
f96e0b
# Ghost config file
f96e0b
install -d $RPM_BUILD_ROOT/boot/%{name}
f96e0b
touch $RPM_BUILD_ROOT/boot/%{name}/grub.cfg
f96e0b
ln -s ../boot/%{name}/grub.cfg $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.cfg
39700a
%endif
f96e0b
f96e0b
cp -a $RPM_BUILD_ROOT%{_datarootdir}/locale/en\@quot $RPM_BUILD_ROOT%{_datarootdir}/locale/en
f96e0b
f96e0b
# Install ELF files modules and images were created from into
f96e0b
# the shadow root, where debuginfo generator will grab them from
f96e0b
find $RPM_BUILD_ROOT -name '*.mod' -o -name '*.img' |
f96e0b
while read MODULE
f96e0b
do
f96e0b
        BASE=$(echo $MODULE |sed -r "s,.*/([^/]*)\.(mod|img),\1,")
f96e0b
        # Symbols from .img files are in .exec files, while .mod
f96e0b
        # modules store symbols in .elf. This is just because we
f96e0b
        # have both boot.img and boot.mod ...
f96e0b
        EXT=$(echo $MODULE |grep -q '.mod' && echo '.elf' || echo '.exec')
f96e0b
        TGT=$(echo $MODULE |sed "s,$RPM_BUILD_ROOT,.debugroot,")
f96e0b
#        install -m 755 -D $BASE$EXT $TGT
f96e0b
done
f96e0b
f96e0b
mv $RPM_BUILD_ROOT%{_infodir}/grub.info $RPM_BUILD_ROOT%{_infodir}/%{name}.info
f96e0b
mv $RPM_BUILD_ROOT%{_infodir}/grub-dev.info $RPM_BUILD_ROOT%{_infodir}/%{name}-dev.info
f96e0b
rm $RPM_BUILD_ROOT%{_infodir}/dir
f96e0b
f96e0b
# Defaults
f96e0b
mkdir ${RPM_BUILD_ROOT}%{_sysconfdir}/default
f96e0b
touch ${RPM_BUILD_ROOT}%{_sysconfdir}/default/grub
f96e0b
mkdir ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig
f96e0b
ln -sf %{_sysconfdir}/default/grub \
f96e0b
	${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/grub
f96e0b
f96e0b
cd ..
f96e0b
%find_lang grub
f96e0b
f96e0b
# Fedora theme in /boot/grub2/themes/system/
f96e0b
cd $RPM_BUILD_ROOT
f96e0b
tar xjf %{SOURCE5}
f96e0b
$RPM_BUILD_ROOT%{_bindir}/%{name}-mkfont -o boot/grub2/themes/system/DejaVuSans-10.pf2      -s 10 /usr/share/fonts/dejavu/DejaVuSans.ttf # "DejaVu Sans Regular 10"
f96e0b
$RPM_BUILD_ROOT%{_bindir}/%{name}-mkfont -o boot/grub2/themes/system/DejaVuSans-12.pf2      -s 12 /usr/share/fonts/dejavu/DejaVuSans.ttf # "DejaVu Sans Regular 12"
f96e0b
$RPM_BUILD_ROOT%{_bindir}/%{name}-mkfont -o boot/grub2/themes/system/DejaVuSans-Bold-14.pf2 -s 14 /usr/share/fonts/dejavu/DejaVuSans-Bold.ttf # "DejaVu Sans Bold 14"
f96e0b
f96e0b
# Make selinux happy with exec stack binaries.
f96e0b
mkdir ${RPM_BUILD_ROOT}%{_sysconfdir}/prelink.conf.d/
f96e0b
cat << EOF > ${RPM_BUILD_ROOT}%{_sysconfdir}/prelink.conf.d/grub2.conf
f96e0b
# these have execstack, and break under selinux
f96e0b
-b /usr/bin/grub2-script-check
f96e0b
-b /usr/bin/grub2-mkrelpath
f96e0b
-b /usr/bin/grub2-fstest
f96e0b
-b /usr/sbin/grub2-bios-setup
f96e0b
-b /usr/sbin/grub2-probe
f96e0b
-b /usr/sbin/grub2-sparc64-setup
f96e0b
EOF
f96e0b
39700a
%ifarch %{efiarchs}
39700a
mkdir -p boot/efi/EFI/%{efidir}/
39700a
ln -s /boot/efi/EFI/%{efidir}/grubenv boot/grub2/grubenv
39700a
%endif
39700a
f96e0b
%clean    
f96e0b
rm -rf $RPM_BUILD_ROOT
f96e0b
f96e0b
%post
f96e0b
if [ "$1" = 1 ]; then
f96e0b
	/sbin/install-info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz || :
f96e0b
	/sbin/install-info --info-dir=%{_infodir} %{_infodir}/%{name}-dev.info.gz || :
f96e0b
fi
f96e0b
f96e0b
%triggerun -- grub2 < 1:1.99-4
f96e0b
# grub2 < 1.99-4 removed a number of essential files in postun. To fix upgrades
f96e0b
# from the affected grub2 packages, we first back up the files in triggerun and
f96e0b
# later restore them in triggerpostun.
f96e0b
# https://bugzilla.redhat.com/show_bug.cgi?id=735259
f96e0b
f96e0b
# Back up the files before uninstalling old grub2
f96e0b
mkdir -p /boot/grub2.tmp &&
f96e0b
mv -f /boot/grub2/*.mod \
f96e0b
      /boot/grub2/*.img \
f96e0b
      /boot/grub2/*.lst \
f96e0b
      /boot/grub2/device.map \
f96e0b
      /boot/grub2.tmp/ || :
f96e0b
f96e0b
%triggerpostun -- grub2 < 1:1.99-4
f96e0b
# ... and restore the files.
f96e0b
test ! -f /boot/grub2/device.map &&
f96e0b
test -d /boot/grub2.tmp &&
f96e0b
mv -f /boot/grub2.tmp/*.mod \
f96e0b
      /boot/grub2.tmp/*.img \
f96e0b
      /boot/grub2.tmp/*.lst \
f96e0b
      /boot/grub2.tmp/device.map \
f96e0b
      /boot/grub2/ &&
f96e0b
rm -r /boot/grub2.tmp/ || :
f96e0b
f96e0b
%preun
f96e0b
if [ "$1" = 0 ]; then
f96e0b
	/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz || :
f96e0b
	/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/%{name}-dev.info.gz || :
f96e0b
fi
f96e0b
39700a
%ifnarch %{efi_only}
f96e0b
%files -f grub.lang
f96e0b
%defattr(-,root,root,-)
f96e0b
%{_libdir}/grub/*-%{platform}/
f96e0b
%config(noreplace) %{_sysconfdir}/%{name}.cfg
f96e0b
%ghost %config(noreplace) /boot/%{name}/grub.cfg
f96e0b
%doc grub-%{tarversion}/COPYING
39700a
%config(noreplace) %ghost /boot/grub2/grubenv
39700a
%endif
f96e0b
f96e0b
%ifarch %{efiarchs}
f96e0b
%files efi
f96e0b
%defattr(-,root,root,-)
f96e0b
%config(noreplace) %{_sysconfdir}/%{name}-efi.cfg
f96e0b
%attr(0755,root,root)/boot/efi/EFI/%{efidir}
f96e0b
%attr(0755,root,root)/boot/efi/EFI/%{efidir}/fonts
f96e0b
%ghost %config(noreplace) /boot/efi/EFI/%{efidir}/grub.cfg
f96e0b
%doc grub-%{tarversion}/COPYING
39700a
/boot/grub2/grubenv
39700a
# I know 0700 seems strange, but it lives on FAT so that's what it'll
39700a
# get no matter what we do.
39700a
%config(noreplace) %ghost %attr(0700,root,root)/boot/efi/EFI/%{efidir}/grubenv
39700a
39700a
%files efi-modules
39700a
%defattr(-,root,root,-)
39700a
%{_libdir}/grub/%{grubefiarch}
f96e0b
%endif
f96e0b
f96e0b
%files tools -f grub.lang
f96e0b
%defattr(-,root,root,-)
f96e0b
%dir %{_libdir}/grub/
f96e0b
%dir %{_datarootdir}/grub/
f96e0b
%dir %{_datarootdir}/grub/themes
f96e0b
%{_datarootdir}/grub/*
606ea6
%{_sbindir}/%{name}-bios-setup
f96e0b
%{_sbindir}/%{name}-install
606ea6
%{_sbindir}/%{name}-macbless
606ea6
%{_sbindir}/%{name}-mkconfig
606ea6
%{_sbindir}/%{name}-ofpathname
f96e0b
%{_sbindir}/%{name}-probe
f96e0b
%{_sbindir}/%{name}-reboot
57a8ef
%{_sbindir}/%{name}-rpm-sort
f96e0b
%{_sbindir}/%{name}-set-default
f96e0b
%{_sbindir}/%{name}-sparc64-setup
f96e0b
%{_bindir}/%{name}-editenv
606ea6
%{_bindir}/%{name}-file
f96e0b
%{_bindir}/%{name}-fstest
606ea6
%{_bindir}/%{name}-glue-efi
f96e0b
%{_bindir}/%{name}-kbdcomp
f96e0b
%{_bindir}/%{name}-menulst2cfg
f96e0b
%{_bindir}/%{name}-mkfont
f96e0b
%{_bindir}/%{name}-mkimage
606ea6
%{_bindir}/%{name}-mklayout
606ea6
%{_bindir}/%{name}-mknetdir
f96e0b
%{_bindir}/%{name}-mkpasswd-pbkdf2
f96e0b
%{_bindir}/%{name}-mkrelpath
f96e0b
%ifnarch %{sparc}
f96e0b
%{_bindir}/%{name}-mkrescue
f96e0b
%endif
606ea6
%{_bindir}/%{name}-mkstandalone
606ea6
%{_bindir}/%{name}-render-label
f96e0b
%{_bindir}/%{name}-script-check
606ea6
%{_bindir}/%{name}-syslinux2cfg
f96e0b
%{_datarootdir}/bash-completion/completions/grub
f96e0b
%{_sysconfdir}/prelink.conf.d/grub2.conf
f96e0b
%attr(0700,root,root) %dir %{_sysconfdir}/grub.d
f96e0b
%config %{_sysconfdir}/grub.d/??_*
f96e0b
%{_sysconfdir}/grub.d/README
f96e0b
%attr(0644,root,root) %ghost %config(noreplace) %{_sysconfdir}/default/grub
f96e0b
%{_sysconfdir}/sysconfig/grub
f96e0b
%dir /boot/%{name}
f96e0b
%dir /boot/%{name}/themes/
f96e0b
%dir /boot/%{name}/themes/system
f96e0b
%exclude /boot/%{name}/themes/system/*
f96e0b
%exclude %{_datarootdir}/grub/themes/
f96e0b
%{_infodir}/%{name}*
f96e0b
%doc grub-%{tarversion}/COPYING grub-%{tarversion}/INSTALL
f96e0b
%doc grub-%{tarversion}/NEWS grub-%{tarversion}/README
f96e0b
%doc grub-%{tarversion}/THANKS grub-%{tarversion}/TODO
f96e0b
%doc grub-%{tarversion}/grub.html
f96e0b
%doc grub-%{tarversion}/grub-dev.html grub-%{tarversion}/docs/font_char_metrics.png
39700a
%doc %{_mandir}/man1/*
39700a
%doc %{_mandir}/man8/*
f96e0b
%dir /boot/%{name}/themes/
f96e0b
%dir %{_datarootdir}/grub/themes
39700a
%exclude %{_datarootdir}/grub/themes/starfield
f96e0b
f96e0b
%changelog
57a8ef
* Mon Aug 03 2015 Robert Marshall <rmarshall@redhat.com> - 2.02-0.17.4
57a8ef
- Reversed .17.2 and changed how rpm-sort availability is verified.
57a8ef
  Resolves: rhbz#1229329
57a8ef
57a8ef
* Fri Jul 31 2015 Robert Marshall <rmarshall@redhat.com> = 2.02.0.17.3
57a8ef
- Built again with proper build target and updates rhbz# to be zstream.
57a8ef
  Resolves: rhbz#1229329
57a8ef
57a8ef
* Thu Jul 30 2015 Robert Marshall <rmarshall@redhat.com> - 2.02.0.17.2
57a8ef
- Reversed order of kernel sorting.
57a8ef
  Resolves: rhbz#1229329
57a8ef
57a8ef
* Tue Jul 14 2015 Robert Marshall <rmarshall@redhat.com> - 2.02-0.17.1
57a8ef
- Fixed rpmdiff issues.
57a8ef
  Resolves: rhbz#1229329
57a8ef
57a8ef
* Mon Jul 13 2015 Robert Marshall <rmarshall@redhat.com> - 2.02.0.17
57a8ef
- Use an rpm-based version sorted in grub2-mkconfig
57a8ef
  Resolves: rhbz#1229329
c69518
39700a
* Thu Oct 09 2014 Peter Jones <pjones@redhat.com> - 2.02-0.16
39700a
- ... and build it on the right target.
39700a
  Related: rhbz#1148652
39700a
39700a
* Thu Oct 09 2014 Peter Jones <pjones@redhat.com> - 2.02-0.15
39700a
- Make netbooting do a better job of picking the config path *again*.
39700a
  Resolves: rhbz#1148652
39700a
39700a
* Sat Oct 04 2014 Peter Jones <pjones@redhat.com> - 2.02-0.14
39700a
- Be sure to *install* gcdaa64.efi
39700a
  Related: rhbz#1100048
39700a
39700a
* Fri Sep 26 2014 Peter Jones <pjones@redhat.com> - 2.02-0.13
39700a
- Make sure to build a gcdaa64.efi
39700a
  Related: rhbz#1100048
39700a
39700a
* Tue Sep 23 2014 Peter Jones <pjones@redhat.com> - 2.02-0.12
39700a
- Fix minor problems rpmdiff found.
39700a
  Related: rhbz#1125540
39700a
39700a
* Mon Sep 22 2014 Peter Jones <pjones@redhat.com> - 2.02-0.11
39700a
- Fix grub2 segfault when root isn't set.
39700a
  Resolves: rhbz#1084536
39700a
- Make the aarch64 loader be SB-aware.
39700a
  Related: rhbz#1100048
39700a
- Enable regexp module
39700a
  Resolves: rhbz#1125916
39700a
39700a
* Thu Sep 04 2014 Peter Jones <pjones@redhat.com> - 2.02-0.10
39700a
- Make editenv utilities (grub2-editenv, grub2-set-default, etc.) from
39700a
  non-UEFI builds work with UEFI builds as well, since they're shared
39700a
  from grub2-tools.
39700a
  Resolves: rhbz#1119943
39700a
- Make more grub2-mkconfig generate menu entries with the OS name and version
39700a
  included.
39700a
  Resolves: rhbz#996794
39700a
- Minimize the sort ordering for .debug and -rescue- kernels.
39700a
  Resolves: rhbz#1065360
39700a
- Add GRUB_DISABLE_UUID to disable filesystem searching by UUID.
39700a
  Resolves: rhbz#1027833
39700a
- Allow "fallback" to specify titles like the documentation says
39700a
  Resolves: rhbz#1026084
39700a
39700a
* Wed Aug 27 2014 Peter Jones <pjones@redhat.com> - 2.02-0.9.1
39700a
- A couple of patches for aarch64 got missed.
39700a
  Related: rhbz#967937
39700a
39700a
* Wed Aug 27 2014 Peter Jones <pjones@redhat.com> - 2.02-0.9
39700a
- Once again, I have built with the wrong target.
39700a
  Related: rhbz#1125540
39700a
  Resolves: rhbz#967937
39700a
39700a
* Fri Aug 22 2014 Peter Jones <pjones@redhat.com> - 2.02-0.8
39700a
- Add patches for ppc64le
39700a
  Related: rhbz#1125540
Karanbir Singh 2549ce
606ea6
* Thu Mar 20 2014 Peter Jones <pjones@redhat.com> - 2.02-0.2.10
606ea6
- Fix GRUB_DISABLE_SUBMENU one more time.
606ea6
  Resolves: rhbz#1063414
606ea6
606ea6
* Tue Mar 18 2014 Peter Jones <pjones@redhat.com> - 2.02-0.2.9
606ea6
- Not sure why the right build target wasn't used *again*.
606ea6
  Resolves: rhbz#1073337
606ea6
606ea6
* Wed Mar 12 2014 Peter Jones <pjones@redhat.com> - 2.02-0.2.8
606ea6
- Make GRUB_DISABLE_SUBMENU work again.
606ea6
  Resolves: rhbz#1063414
606ea6
606ea6
* Thu Mar 06 2014 Peter Jones <pjones@redhat.com> - 2.02-0.2.7
606ea6
- Build on the right target.
606ea6
  Resolves: rhbz#1073337
606ea6
606ea6
* Wed Mar 05 2014 Peter Jones <pjones@redhat.com> - 2.02-0.2.6
606ea6
- Fix minor man page install bug
606ea6
  Related: rhbz#948847
606ea6
606ea6
* Tue Mar 04 2014 Peter Jones <pjones@redhat.com> - 2.02-0.2.5
606ea6
- Add man pages for common grub utilities.
606ea6
  Resolves: rhbz#948847
606ea6
- Fix shift key behavior on UEFI.
606ea6
  Resolves: rhbz#1068215
606ea6
606ea6
* Tue Feb 18 2014 Peter Jones <pjones@redhat.com> - 2.02-0.2.4
606ea6
- Build against the right target.
606ea6
  Related: rhbz#1064424
606ea6
606ea6
* Tue Feb 18 2014 Peter Jones <pjones@redhat.com> - 2.02-0.2.3
606ea6
- Don't emit "Booting <foo>" message.
606ea6
  Resolves: rhbz#1023142
606ea6
- Don't require a password for booting, only for editing entries.
606ea6
  Resolves: rhbz#1030176
606ea6
- Several network fixes from IBM
606ea6
  Resolves: rhbz#1056324
606ea6
- Support NVMe device names
606ea6
  Resolves: rhbz#1019660
606ea6
- Make control keys work on UEFI systems.
606ea6
  Resolves: rhbz#1056035
606ea6
606ea6
* Fri Jan 31 2014 Peter Jones <pjones@redhat.com> - 2.02-0.2.2
606ea6
- Fix FORTIFY_SOURCE for util/
606ea6
  Related: rhbz#1049047
606ea6
606ea6
* Tue Jan 21 2014 Peter Jones <pjones@redhat.com> - 2.02-0.2.1
606ea6
- Don't destroy symlinks when re-writing grub.cfg
606ea6
  Resolves: rhbz#1032182
606ea6
606ea6
* Mon Jan 06 2014 Peter Jones <pjones@redhat.com> - 2.02-0.2
606ea6
- Update to grub-2.02~beta2
606ea6
606ea6
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 1:2.00-23
606ea6
- Mass rebuild 2013-12-27
606ea6
f96e0b
* Wed Nov 20 2013 Peter Jones <pjones@redhat.com> - 2.00-22.10
f96e0b
- Rebuild with correct release number and with correct target.
f96e0b
  Related: rhbz#1032530
f96e0b
f96e0b
* Wed Nov 20 2013 Daniel Mach <dmach@redhat.com> - 2.00-22.9.1
f96e0b
- Enable tftp module
f96e0b
  Resolves: rhbz#1032530
f96e0b
f96e0b
* Thu Nov 14 2013 Peter Jones <pjones@redhat.com> - 2.00-22.9
f96e0b
- Make "linux16" happen on x86_64 machines as well.
f96e0b
  Resolves: rhbz#880840
f96e0b
f96e0b
* Wed Nov 06 2013 Peter Jones <pjones@redhat.com> - 2.00-22.8
f96e0b
- Rebuild with correct build target for signing.
f96e0b
  Related: rhbz#996863
f96e0b
f96e0b
* Tue Nov 05 2013 Peter Jones <pjones@redhat.com> - 2.00-22.7
f96e0b
- Build with -mcpu=power6 as we did before redhat-rpm-config changed
f96e0b
  Resolves: rhbz#1026368
f96e0b
f96e0b
* Thu Oct 31 2013 Peter Jones <pjones@redhat.com> - 2.00-22.6
f96e0b
- Make linux16 work with the shell better.
f96e0b
  Resolves: rhbz#880840
f96e0b
f96e0b
* Thu Oct 31 2013 Peter Jones <pjones@redhat.com> - 2.00-22.5
f96e0b
- Rebuild because we were clobbering signing in the spec file...
f96e0b
  Related: rhbz#1017855
f96e0b
f96e0b
* Thu Oct 31 2013 Peter Jones <pjones@redhat.com> - 2.00-22.4
f96e0b
- Rebuild because signing didn't work.
f96e0b
  Related: rhbz#1017855
f96e0b
f96e0b
* Mon Oct 28 2013 Peter Jones <pjones@redhat.com> - 2.00-22.3
f96e0b
- Use linux16 when appropriate:
f96e0b
  Resolves: rhbz#880840
f96e0b
- Enable pager by default:
f96e0b
  Resolves: rhbz#985860
f96e0b
- Don't ask the user to hit keys that won't work.
f96e0b
  Resolves: rhbz#987443
f96e0b
- Sign grub2 during builds
f96e0b
  Resolves: rhbz#1017855
f96e0b
f96e0b
* Thu Aug 29 2013 Peter Jones <pjones@redhat.com> - 2.00-22.2
f96e0b
- Fix minor rpmdiff complaints.
f96e0b
f96e0b
* Wed Aug 07 2013 Peter Jones <pjones@redhat.com> - 2.00-22.1
f96e0b
- Fix url so PkgWrangler doesn't go crazy.
f96e0b
f96e0b
* Fri Jun 21 2013 Peter Jones <pjones@redhat.com> - 2.00-22
f96e0b
- Fix linewrapping in edit menu.
f96e0b
  Resolves: rhbz #976643
f96e0b
f96e0b
* Thu Jun 20 2013 Peter Jones <pjones@redhat.com> - 2.00-21
f96e0b
- Fix obsoletes to pull in -starfield-theme subpackage when it should.
f96e0b
f96e0b
* Fri Jun 14 2013 Peter Jones <pjones@redhat.com> - 2.00-20
f96e0b
- Put the theme entirely ento the subpackage where it belongs (#974667)
f96e0b
f96e0b
* Wed Jun 12 2013 Peter Jones <pjones@redhat.com> - 2.00-19
f96e0b
- Rebase to upstream snapshot.
f96e0b
- Fix PPC build error (#967862)
f96e0b
- Fix crash on net_bootp command (#960624)
f96e0b
- Reset colors on ppc when appropriate (#908519)
f96e0b
- Left align "Loading..." messages (#908492)
f96e0b
- Fix probing of SAS disks on PPC (#953954)
f96e0b
- Add support for UEFI OSes returned by os-prober
f96e0b
- Disable "video" mode on PPC for now (#973205)
f96e0b
- Make grub fit better into the boot sequence, visually (#966719)
f96e0b
f96e0b
* Fri May 10 2013 Matthias Clasen <mclasen@redhat.com> - 2.00-18
f96e0b
- Move the starfield theme to a subpackage (#962004)
f96e0b
- Don't allow SSE or MMX on UEFI builds (#949761)
f96e0b
f96e0b
* Wed Apr 24 2013 Peter Jones <pjones@redhat.com> - 2.00-17.pj0
f96e0b
- Rebase to upstream snapshot.
f96e0b
f96e0b
* Thu Apr 04 2013 Peter Jones <pjones@redhat.com> - 2.00-17
f96e0b
- Fix booting from drives with 4k sectors on UEFI.
f96e0b
- Move bash completion to new location (#922997)
f96e0b
- Include lvm support for /boot (#906203)
f96e0b
f96e0b
* Thu Feb 14 2013 Peter Jones <pjones@redhat.com> - 2.00-16
f96e0b
- Allow the user to disable submenu generation
f96e0b
- (partially) support BLS-style configuration stanzas.
f96e0b
f96e0b
* Tue Feb 12 2013 Peter Jones <pjones@redhat.com> - 2.00-15.pj0
f96e0b
- Add various config file related changes.
f96e0b
f96e0b
* Thu Dec 20 2012 Dennis Gilmore <dennis@ausil.us> - 2.00-15
f96e0b
- bump nvr
f96e0b
f96e0b
* Mon Dec 17 2012 Karsten Hopp <karsten@redhat.com> 2.00-14
f96e0b
- add bootpath device to the device list (pfsmorigo, #886685)
f96e0b
f96e0b
* Tue Nov 27 2012 Peter Jones <pjones@redhat.com> - 2.00-13
f96e0b
- Add vlan tag support (pfsmorigo, #871563)
f96e0b
- Follow symlinks during PReP installation in grub2-install (pfsmorigo, #874234)
f96e0b
- Improve search paths for config files on network boot (pfsmorigo, #873406)
f96e0b
f96e0b
* Tue Oct 23 2012 Peter Jones <pjones@redhat.com> - 2.00-12
f96e0b
- Don't load modules when grub transitions to "normal" mode on UEFI.
f96e0b
f96e0b
* Mon Oct 22 2012 Peter Jones <pjones@redhat.com> - 2.00-11
f96e0b
- Rebuild with newer pesign so we'll get signed with the final signing keys.
f96e0b
f96e0b
* Thu Oct 18 2012 Peter Jones <pjones@redhat.com> - 2.00-10
f96e0b
- Various PPC fixes.
f96e0b
- Fix crash fetching from http (gustavold, #860834)
f96e0b
- Issue separate dns queries for ipv4 and ipv6 (gustavold, #860829)
f96e0b
- Support IBM CAS reboot (pfsmorigo, #859223)
f96e0b
- Include all modules in the core image on ppc (pfsmorigo, #866559)
f96e0b
f96e0b
* Mon Oct 01 2012 Peter Jones <pjones@redhat.com> - 1:2.00-9
f96e0b
- Work around bug with using "\x20" in linux command line.
f96e0b
  Related: rhbz#855849
f96e0b
f96e0b
* Thu Sep 20 2012 Peter Jones <pjones@redhat.com> - 2.00-8
f96e0b
- Don't error on insmod on UEFI/SB, but also don't do any insmodding.
f96e0b
- Increase device path size for ieee1275
f96e0b
  Resolves: rhbz#857936
f96e0b
- Make network booting work on ieee1275 machines.
f96e0b
  Resolves: rhbz#857936
f96e0b
f96e0b
* Wed Sep 05 2012 Matthew Garrett <mjg@redhat.com> - 2.00-7
f96e0b
- Add Apple partition map support for EFI
f96e0b
f96e0b
* Thu Aug 23 2012 David Cantrell <dcantrell@redhat.com> - 2.00-6
f96e0b
- Only require pesign on EFI architectures (#851215)
f96e0b
f96e0b
* Tue Aug 14 2012 Peter Jones <pjones@redhat.com> - 2.00-5
f96e0b
- Work around AHCI firmware bug in efidisk driver.
f96e0b
- Move to newer pesign macros
f96e0b
- Don't allow insmod if we're in secure-boot mode.
f96e0b
f96e0b
* Wed Aug 08 2012 Peter Jones <pjones@redhat.com>
f96e0b
- Split module lists for UEFI boot vs UEFI cd images.
f96e0b
- Add raid modules for UEFI image (related: #750794)
f96e0b
- Include a prelink whitelist for binaries that need execstack (#839813)
f96e0b
- Include fix efi memory map fix from upstream (#839363)
f96e0b
f96e0b
* Wed Aug 08 2012 Peter Jones <pjones@redhat.com> - 2.00-4
f96e0b
- Correct grub-mkimage invocation to use efidir RPM macro (jwb)
f96e0b
- Sign with test keys on UEFI systems.
f96e0b
- PPC - Handle device paths with commas correctly.
f96e0b
  Related: rhbz#828740
f96e0b
f96e0b
* Wed Jul 25 2012 Peter Jones <pjones@redhat.com> - 2.00-3
f96e0b
- Add some more code to support Secure Boot, and temporarily disable
f96e0b
  some other bits that don't work well enough yet.
f96e0b
  Resolves: rhbz#836695
f96e0b
f96e0b
* Wed Jul 11 2012 Matthew Garrett <mjg@redhat.com> - 2.00-2
f96e0b
- Set a prefix for the image - needed for installer work
f96e0b
- Provide the font in the EFI directory for the same reason
f96e0b
f96e0b
* Thu Jun 28 2012 Peter Jones <pjones@redhat.com> - 2.00-1
f96e0b
- Rebase to grub-2.00 release.
f96e0b
f96e0b
* Mon Jun 18 2012 Peter Jones <pjones@redhat.com> - 2.0-0.37.beta6
f96e0b
- Fix double-free in grub-probe.
f96e0b
f96e0b
* Wed Jun 06 2012 Peter Jones <pjones@redhat.com> - 2.0-0.36.beta6
f96e0b
- Build with patch19 applied.
f96e0b
f96e0b
* Wed Jun 06 2012 Peter Jones <pjones@redhat.com> - 2.0-0.35.beta6
f96e0b
- More ppc fixes.
f96e0b
f96e0b
* Wed Jun 06 2012 Peter Jones <pjones@redhat.com> - 2.0-0.34.beta6
f96e0b
- Add IBM PPC fixes.
f96e0b
f96e0b
* Mon Jun 04 2012 Peter Jones <pjones@redhat.com> - 2.0-0.33.beta6
f96e0b
- Update to beta6.
f96e0b
- Various fixes from mads.
f96e0b
f96e0b
* Fri May 25 2012 Peter Jones <pjones@redhat.com> - 2.0-0.32.beta5
f96e0b
- Revert builddep change for crt1.o; it breaks ppc build.
f96e0b
f96e0b
* Fri May 25 2012 Peter Jones <pjones@redhat.com> - 2.0-0.31.beta5
f96e0b
- Add fwsetup command (pjones)
f96e0b
- More ppc fixes (IBM)
f96e0b
f96e0b
* Tue May 22 2012 Peter Jones <pjones@redhat.com> - 2.0-0.30.beta5
f96e0b
- Fix the /other/ grub2-tools require to include epoch.
f96e0b
f96e0b
* Mon May 21 2012 Peter Jones <pjones@redhat.com> - 2.0-0.29.beta5
f96e0b
- Get rid of efi_uga and efi_gop, favoring all_video instead.
f96e0b
f96e0b
* Mon May 21 2012 Peter Jones <pjones@redhat.com> - 2.0-0.28.beta5
f96e0b
- Name grub.efi something that's arch-appropriate (kiilerix, pjones)
f96e0b
- use EFI/$SOMETHING_DISTRO_BASED/ not always EFI/redhat/grub2-efi/ .
f96e0b
- move common stuff to -tools (kiilerix)
f96e0b
- spec file cleanups (kiilerix)
f96e0b
f96e0b
* Mon May 14 2012 Peter Jones <pjones@redhat.com> - 2.0-0.27.beta5
f96e0b
- Fix module trampolining on ppc (benh)
f96e0b
f96e0b
* Thu May 10 2012 Peter Jones <pjones@redhat.com> - 2.0-0.27.beta5
f96e0b
- Fix license of theme (mizmo)
f96e0b
  Resolves: rhbz#820713
f96e0b
- Fix some PPC bootloader detection IBM problem
f96e0b
  Resolves: rhbz#820722
f96e0b
f96e0b
* Thu May 10 2012 Peter Jones <pjones@redhat.com> - 2.0-0.26.beta5
f96e0b
- Update to beta5.
f96e0b
- Update how efi building works (kiilerix)
f96e0b
- Fix theme support to bring in fonts correctly (kiilerix, pjones)
f96e0b
f96e0b
* Wed May 09 2012 Peter Jones <pjones@redhat.com> - 2.0-0.25.beta4
f96e0b
- Include theme support (mizmo)
f96e0b
- Include locale support (kiilerix)
f96e0b
- Include html docs (kiilerix)
f96e0b
f96e0b
* Thu Apr 26 2012 Peter Jones <pjones@redhat.com> - 2.0-0.24
f96e0b
- Various fixes from Mads Kiilerich
f96e0b
f96e0b
* Thu Apr 19 2012 Peter Jones <pjones@redhat.com> - 2.0-0.23
f96e0b
- Update to 2.00~beta4
f96e0b
- Make fonts work so we can do graphics reasonably
f96e0b
f96e0b
* Thu Mar 29 2012 David Aquilina <dwa@redhat.com> - 2.0-0.22
f96e0b
- Fix ieee1275 platform define for ppc
f96e0b
f96e0b
* Thu Mar 29 2012 Peter Jones <pjones@redhat.com> - 2.0-0.21
f96e0b
- Remove ppc excludearch lines (dwa)
f96e0b
- Update ppc terminfo patch (hamzy)
f96e0b
f96e0b
* Wed Mar 28 2012 Peter Jones <pjones@redhat.com> - 2.0-0.20
f96e0b
- Fix ppc64 vs ppc exclude according to what dwa tells me they need
f96e0b
- Fix version number to better match policy.
f96e0b
f96e0b
* Tue Mar 27 2012 Dan Horák <dan[at]danny.cz> - 1.99-19.2
f96e0b
- Add support for serial terminal consoles on PPC by Mark Hamzy
f96e0b
f96e0b
* Sun Mar 25 2012 Dan Horák <dan[at]danny.cz> - 1.99-19.1
f96e0b
- Use Fix-tests-of-zeroed-partition patch by Mark Hamzy
f96e0b
f96e0b
* Thu Mar 15 2012 Peter Jones <pjones@redhat.com> - 1.99-19
f96e0b
- Use --with-grubdir= on configure to make it behave like -17 did.
f96e0b
f96e0b
* Wed Mar 14 2012 Peter Jones <pjones@redhat.com> - 1.99-18
f96e0b
- Rebase from 1.99 to 2.00~beta2
f96e0b
f96e0b
* Wed Mar 07 2012 Peter Jones <pjones@redhat.com> - 1.99-17
f96e0b
- Update for newer autotools and gcc 4.7.0
f96e0b
  Related: rhbz#782144
f96e0b
- Add /etc/sysconfig/grub link to /etc/default/grub
f96e0b
  Resolves: rhbz#800152
f96e0b
- ExcludeArch s390*, which is not supported by this package.
f96e0b
  Resolves: rhbz#758333
f96e0b
f96e0b
* Fri Feb 17 2012 Orion Poplawski <orion@cora.nwra.com> - 1:1.99-16
f96e0b
- Build with -Os (bug 782144)
f96e0b
f96e0b
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:1.99-15
f96e0b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
f96e0b
f96e0b
* Wed Dec 14 2011 Matthew Garrett <mjg@redhat.com> - 1.99-14
f96e0b
- fix up various grub2-efi issues
f96e0b
f96e0b
* Thu Dec 08 2011 Adam Williamson <awilliam@redhat.com> - 1.99-13
f96e0b
- fix hardwired call to grub-probe in 30_os-prober (rhbz#737203)
f96e0b
f96e0b
* Mon Nov 07 2011 Peter Jones <pjones@redhat.com> - 1.99-12
f96e0b
- Lots of .spec fixes from Mads Kiilerich:
f96e0b
  Remove comment about update-grub - it isn't run in any scriptlets
f96e0b
  patch info pages so they can be installed and removed correctly when renamed
f96e0b
  fix references to grub/grub2 renames in info pages (#743964)
f96e0b
  update README.Fedora (#734090)
f96e0b
  fix comments for the hack for upgrading from grub2 < 1.99-4
f96e0b
  fix sed syntax error preventing use of $RPM_OPT_FLAGS (#704820)
f96e0b
  make /etc/grub2*.cfg %config(noreplace)
f96e0b
  make grub.cfg %ghost - an empty file is of no use anyway
f96e0b
  create /etc/default/grub more like anaconda would create it (#678453)
f96e0b
  don't create rescue entries by default - grubby will not maintain them anyway
f96e0b
  set GRUB_SAVEDEFAULT=true so saved defaults works (rbhz#732058)
f96e0b
  grub2-efi should have its own bash completion
f96e0b
  don't set gfxpayload in efi mode - backport upstream r3402
f96e0b
- Handle dmraid better. Resolves: rhbz#742226
f96e0b
f96e0b
* Wed Oct 26 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:1.99-11
f96e0b
- Rebuilt for glibc bug#747377
f96e0b
f96e0b
* Wed Oct 19 2011 Adam Williamson <awilliam@redhat.com> - 1.99-10
f96e0b
- /etc/default/grub is explicitly intended for user customization, so
f96e0b
  mark it as config(noreplace)
f96e0b
f96e0b
* Tue Oct 11 2011 Peter Jones <pjones@redhat.com> - 1.99-9
f96e0b
- grub has an epoch, so we need that expressed in the obsolete as well.
f96e0b
  Today isn't my day.
f96e0b
f96e0b
* Tue Oct 11 2011 Peter Jones <pjones@redhat.com> - 1.99-8
f96e0b
- Fix my bad obsoletes syntax.
f96e0b
f96e0b
* Thu Oct 06 2011 Peter Jones <pjones@redhat.com> - 1.99-7
f96e0b
- Obsolete grub
f96e0b
  Resolves: rhbz#743381
f96e0b
f96e0b
* Wed Sep 14 2011 Peter Jones <pjones@redhat.com> - 1.99-6
f96e0b
- Use mv not cp to try to avoid moving disk blocks around for -5 fix
f96e0b
  Related: rhbz#735259
f96e0b
- handle initramfs on xen better (patch from Marko Ristola)
f96e0b
  Resolves: rhbz#728775
f96e0b
f96e0b
* Sat Sep 03 2011 Kalev Lember <kalevlember@gmail.com> - 1.99-5
f96e0b
- Fix upgrades from grub2 < 1.99-4 (#735259)
f96e0b
f96e0b
* Fri Sep 02 2011 Peter Jones <pjones@redhat.com> - 1.99-4
f96e0b
- Don't do sysadminny things in %preun or %post ever. (#735259)
f96e0b
- Actually include the changelog in this build (sorry about -3)
f96e0b
f96e0b
* Thu Sep 01 2011 Peter Jones <pjones@redhat.com> - 1.99-2
f96e0b
- Require os-prober (#678456) (patch from Elad Alfassa)
f96e0b
- Require which (#734959) (patch from Elad Alfassa)
f96e0b
f96e0b
* Thu Sep 01 2011 Peter Jones <pjones@redhat.com> - 1.99-1
f96e0b
- Update to grub-1.99 final.
f96e0b
- Fix crt1.o require on x86-64 (fix from Mads Kiilerich)
f96e0b
- Various CFLAGS fixes (from Mads Kiilerich)
f96e0b
  - -fexceptions and -m64
f96e0b
- Temporarily ignore translations (from Mads Kiilerich)
f96e0b
f96e0b
* Thu Jul 21 2011 Peter Jones <pjones@redhat.com> - 1.99-0.3
f96e0b
- Use /sbin not /usr/sbin .
f96e0b
f96e0b
* Thu Jun 23 2011 Peter Lemenkov <lemenkov@gmail.com> - 1:1.99-0.2
f96e0b
- Fixes for ppc and ppc64
f96e0b
f96e0b
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:1.98-4
f96e0b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild