Blob Blame History Raw
Summary: EFI Boot Manager
Name: efibootmgr
Version: 0.8.0
Release: 10%{?dist}
Group: System Environment/Base
License: GPLv2+
URL: http://github.com/vathpela/%{name}/
BuildRequires: pciutils-devel, zlib-devel, git
BuildRequires: efivar-libs, efivar-devel
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXXXX)
# EFI/UEFI don't exist on PPC
ExclusiveArch: x86_64 aarch64 i686

# for RHEL / Fedora when efibootmgr was part of the elilo package
Conflicts: elilo <= 3.6-6
Obsoletes: elilo <= 3.6-6

Source0: https://github.com/vathpela/%{name}/releases/download/%{name}-%{version}/%{name}-%{version}.tar.bz2
Patch0001: 0001-Make-EFI-redhat-shim.efi-the-default-bootloader.patch
Patch0002: 0002-Fix-a-bad-allocation-size.patch
Patch0003: 0003-Make-the-return-path-something-coverity-can-actually.patch
Patch0004: 0004-Don-t-leak-our-socket-s-fd-when-determining-network-.patch
Patch0005: 0005-Fix-another-leaked-fd.patch
Patch0006: 0006-Fix-some-minor-memory-leaks.patch
Patch0007: 0007-Make-sure-data-created-for-load-options-is-freed.patch
Patch0008: 0008-Fix-an-error-path-not-checking-the-return-right-in-m.patch
Patch0009: 0009-Try-to-avoid-covscan-freaking-out-about-sscanf-with-.patch
Patch0010: 0010-Get-rid-of-an-invalid-comparison.patch
Patch0011: 0011-Covscan-can-t-tell-that-we-re-not-filling-a-buffer.patch
Patch0012: 0012-Don-t-free-something-that-shouldn-t-ever-be-non-NULL.patch
Patch0013: 0013-Don-t-reuse-a-pointer-to-static-data-and-free-condit.patch
Patch0014: 0014-Handle-the-case-where-there-are-no-EFI-variables.patch
Patch0015: 0015-Make-a-free-non-conditional-since-the-condition-can-.patch
Patch0016: 0016-Check-malloc-return.patch
Patch0017: 0017-Check-open-s-return-correctly.patch
Patch0018: 0018-Check-lseek-for-errors.patch
Patch0019: 0019-Don-t-leak-our-partition-table-structures.patch
Patch0020: 0020-Don-t-error-on-unset-BootOrder-when-we-re-trying-to-.patch
Patch0021: 0021-Fix-buffer-overflow-when-remove_from_boot_order-remo.patch
Patch0022: 0022-Make-sure-BootOrder-gets-shortened-while-deleting.patch
Patch0023: 0023-Make-o-s-behavior-actually-match-the-documented-beha.patch
Patch0024: 0024-Make-all-the-other-places-we-re-parsing-XXXX-also-do.patch
Patch0025: 0025-Set-guid-when-reading-boot-entries-in-read_vars.patch
Patch0026: 0026-Don-t-check-for-bootnext-existing-until-we-ve-read-t.patch
Patch0027: 0027-Actually-set-the-values-we-re-using-to-the-results-o.patch
Patch0028: 0028-Add-m-and-M-options-to-support-address-range-mirror.patch
Patch0029: 0029-Fix-insusufficient-validation-check-of-M-option.patch
Patch0030: 0030-Add-lacking-description-of-man-for-m-and-M-option.patch
Patch0031: 0031-Manually-define-NVME_IOCTL_ID.patch
Patch0032: 0032-efibootmgr.8-Fix-typos-grammar-for-mirroring-options.patch

%description
%{name} displays and allows the user to edit the Intel Extensible
Firmware Interface (EFI) Boot Manager variables.  Additional
information about EFI can be found at
http://developer.intel.com/technology/efi/efi.htm and http://uefi.org/.

%prep
%setup -q
git init
git config user.email "example@example.com"
git config user.name "RHEL Ninjas"
git add .
git commit -a -q -m "%{version} baseline."
git am %{patches} </dev/null
git config --unset user.email
git config --unset user.name

%build
make %{?_smp_mflags} EXTRA_CFLAGS='%{optflags}'

%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{_sbindir} %{buildroot}%{_mandir}/man8
install -p --mode 755 src/%{name}/%{name} %{buildroot}%{_sbindir}
gzip -9 -c src/man/man8/%{name}.8 > src/man/man8/%{name}.8.gz
touch -r src/man/man8/%{name}.8 src/man/man8/%{name}.8.gz
install -p --mode 644 src/man/man8/%{name}.8.gz %{buildroot}%{_mandir}/man8

%clean
rm -rf %{buildroot}

%files
%defattr(-,root,root,-)
%{_sbindir}/%{name}
%{_mandir}/man8/%{name}.8.gz
%doc README INSTALL COPYING

%changelog
* Thu Dec 22 2016 Johnny Hughes <johnny@centos.org> - 0.8.0-10
- mod spec to build on i686

* Tue Jul 19 2016 Peter Jones <pjones@redhat.com> - 0.8.0-10
- Another man page update for Memory Address Range Mirroring
  Related: rhbz#1271412

* Wed Jul 13 2016 Peter Jones <pjones@redhat.com> - 0.8.0-9
- Update man page for Memory Address Range Mirroring
  Related: rhbz#1271412

* Mon Jun 06 2016 Peter Jones <pjones@redhat.com> - - 0.8.0-8
- Add options for Memory Address Range Mirroring
  Resolves: rhbz#1271412

* Thu Jul 09 2015 Peter Jones <pjones@redhat.com> - 0.8.0-7
- Fix a couple of problems parsing command line options QA is seeing.
  Resolves: rhbz#1241411

* Tue Jun 30 2015 Peter Jones <pjones@redhat.com> - 0.8.0-6
- Handle -b and -o parsing in a way that matches the documentation.
  Resolves: rhbz#1174964
- Use the right GUID when setting boot entries active/inactive
  Resolves: rhbz#1221771

* Mon Feb 02 2015 Peter Jones <pjones@redhat.com> - 0.8.0-5
- Fix patch merge error from -4
  Resolves: rhbz#1188313

* Thu Jan 08 2015 Peter Jones <pjones@redhat.com> - 0.8.0-4
- Fix buffer overflow when remove_from_boot_order removes nothing (lennysz)
  Resolves: rhbz#1168019

* Wed Oct 15 2014 Peter Jones <pjones@redhat.com> - 0.8.0-3
- Don't error when BootOrder is unset and we're trying to add to it.
  Related:rhbz#967969

* Wed Sep 10 2014 Peter Jones <pjones@redhat.com> - 0.8.0-2
- Fix some covscan related errors.
  Related: rhbz#1129435

* Fri Sep 05 2014 Peter Jones <pjones@redhat.com> - 0.8.0-1
- Rebase to 0.8.0
  Resolves: rhbz#1129435