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