Blame SPECS/efivar.spec

5e6fc3
Name:           efivar
5e6fc3
Version:        36
5e6fc3
Release:        1%{?dist}
5e6fc3
Summary:        Tools to manage UEFI variables
5e6fc3
License:        LGPLv2.1
5e6fc3
URL:            https://github.com/rhboot/efivar
5e6fc3
Requires:       %{name}-libs = %{version}-%{release}
5e6fc3
ExclusiveArch:  %{ix86} x86_64 aarch64 %{arm}
5e6fc3
5e6fc3
BuildRequires:  popt-devel git glibc-static libabigail
5e6fc3
# please don't fix this to reflect github's incomprehensible url that goes
5e6fc3
# to a different tarball.
5e6fc3
Source0:        https://github.com/rhboot/efivar/archive/efivar-%{version}.tar.bz2
5e6fc3
Patch0001: 0001-Move-the-syntastic-file-I-use-out-of-the-repo.patch
5e6fc3
Patch0002: 0002-Move-verbosity-headers-to-be-public.patch
5e6fc3
Patch0003: 0003-Pacify-some-coverity-nits.patch
5e6fc3
Patch0004: 0004-efivar-Fix-some-types-in-L-behavior-to-pacify-coveri.patch
5e6fc3
Patch0005: 0005-Promote-_make_hd_dn-to-make_hd_dn-and-get-rid-of-the.patch
5e6fc3
Patch0006: 0006-Try-to-convince-covscan-that-sysfs_read_file-doesn-t.patch
5e6fc3
Patch0007: 0007-Make-efidp_make_file-have-even-more-better-input-con.patch
5e6fc3
Patch0008: 0008-Make-path-helpers.c-also-import-fix_coverity.h.patch
5e6fc3
Patch0009: 0009-Fix-a-makeguids-building-problem-with-generics.h.patch
5e6fc3
Patch0010: 0010-Improve-ACPI-device-path-formatting.patch
5e6fc3
Patch0011: 0011-Give-linux-s-parse-functions-the-unmodified-device-l.patch
5e6fc3
Patch0012: 0012-Move-ACPI-ID-parsing-to-a-shared-location.patch
5e6fc3
Patch0013: 0013-Make-a-platform-ACPI-root-parser-separate-from-PCI-r.patch
5e6fc3
Patch0014: 0014-Make-a-way-to-say-e-3-isn-t-viable-for-a-kind-of-dev.patch
5e6fc3
Patch0015: 0015-Make-a-linux-device-root-for-SOC-devices-that-use-FD.patch
5e6fc3
Patch0016: 0016-If-we-can-t-parse-part-of-the-device-link-skip-it-an.patch
5e6fc3
Patch0017: 0017-Pacify-clang-analyzer-just-a-little.patch
5e6fc3
Patch0018: 0018-Try-even-harder-to-convince-coverity-that-get_file-i.patch
5e6fc3
Patch0019: 0019-Make-the-debug-code-less-intrusive.patch
5e6fc3
Patch0020: 0020-efiboot-Make-the-device-node-skipping-code-pass-cove.patch
5e6fc3
Patch0021: 0021-efiboot-don-t-error-on-unknown-type-with-DEV_ABBREV_.patch
5e6fc3
Patch0022: 0022-efiboot-fix-a-bad-error-check.patch
5e6fc3
Patch0023: 0023-efiboot-parse_scsi_link-fix-the-offset-searching-for.patch
5e6fc3
Patch0024: 0024-Coverity-still-doesn-t-believe-in-error-codes.patch
5e6fc3
Patch0025: 0025-Don-t-require-NVME-to-have-an-EUI.patch
5e6fc3
Patch0026: 0026-makeguids-initialize-memory.patch
5e6fc3
Patch0027: 0027-emmc_parser-add-emmc_parser.patch
5e6fc3
Patch0028: 0028-abignore-work-around-an-abidw-bug.patch
5e6fc3
Patch0029: 0029-Update-abidw-for-newer-tools.patch
5e6fc3
Patch0030: 0030-linux-emmc-update-for-internal-API-breakage.patch
5e6fc3
Patch0031: 0031-Fix-another-buggy-fake-acpi-pci-root-driver.patch
5e6fc3
Patch0032: 0032-Fix-dev-probes-intialization-test.patch
5e6fc3
Patch0033: 0033-Deal-with-devices-that-don-t-have-a-device-link-in-s.patch
5e6fc3
Patch0034: 0034-Handle-partition-name-parsing-and-formatting-for-par.patch
5e6fc3
Patch0035: 0035-Fix-partition-number-detection-when-it-s-not-provide.patch
5e6fc3
Patch0036: 0036-dp-acpi-fix-HID-vs-HID_EX-formatting-bug.patch
5e6fc3
Patch0037: 0037-Support-decoding-ACPI-Generic-Container-and-Embedded.patch
5e6fc3
Patch0038: 0038-pci-root-actually-create-the-device-path-node.patch
5e6fc3
Patch0039: 0039-sas-handle-port-expanders-at-all.patch
5e6fc3
5e6fc3
%description
5e6fc3
efivar provides a simple command line interface to the UEFI variable facility.
5e6fc3
5e6fc3
%package libs
5e6fc3
Summary: Library to manage UEFI variables
5e6fc3
5e6fc3
%description libs
5e6fc3
Library to allow for the simple manipulation of UEFI variables.
5e6fc3
5e6fc3
%package devel
5e6fc3
Summary: Development headers for libefivar
5e6fc3
Requires: %{name}-libs = %{version}-%{release}
5e6fc3
5e6fc3
%description devel
5e6fc3
development headers required to use libefivar.
5e6fc3
5e6fc3
%prep
5e6fc3
%setup -q -n %{name}-%{version}
5e6fc3
git init
5e6fc3
git config user.email "%{name}-owner@fedoraproject.org"
5e6fc3
git config user.name "Fedora Ninjas"
5e6fc3
git add .
5e6fc3
git commit -a -q -m "%{version} baseline."
5e6fc3
git am %{patches} 
5e6fc3
git config --unset user.email
5e6fc3
git config --unset user.name
5e6fc3
5e6fc3
%build
5e6fc3
make libdir=%{_libdir} bindir=%{_bindir} CFLAGS="$RPM_OPT_FLAGS -flto" LDFLAGS="$RPM_LD_FLAGS -flto"
5e6fc3
5e6fc3
%install
5e6fc3
%makeinstall
5e6fc3
5e6fc3
%check
5e6fc3
%ifarch x86_64
5e6fc3
#make abicheck
5e6fc3
%endif
5e6fc3
5e6fc3
%post libs -p /sbin/ldconfig
5e6fc3
5e6fc3
%postun libs -p /sbin/ldconfig
5e6fc3
5e6fc3
%files
5e6fc3
%{!?_licensedir:%global license %%doc}
5e6fc3
%license COPYING
5e6fc3
%doc README.md
5e6fc3
%{_bindir}/efivar
5e6fc3
%exclude %{_bindir}/efivar-static
5e6fc3
%{_mandir}/man1/*
5e6fc3
5e6fc3
%files devel
5e6fc3
%{_mandir}/man3/*
5e6fc3
%{_includedir}/*
5e6fc3
%{_libdir}/*.so
5e6fc3
%{_libdir}/pkgconfig/*.pc
5e6fc3
5e6fc3
%files libs
5e6fc3
%{_libdir}/*.so.*
5e6fc3
5e6fc3
%changelog
5e6fc3
* Tue Oct 02 2018 Peter Jones <pjones@redhat.com> - 36-1
5e6fc3
- Update to efivar 36 (and some change)
5e6fc3
  Resolves: rhbz#1635019
5e6fc3
- Add NVDIMM support
5e6fc3
- Re-written linux interface parser to handle how devices are
5e6fc3
  partitioned better, and for cleaner code, with one file per device
5e6fc3
  type.
5e6fc3
- lots of verbosity updates
5e6fc3
- better CI
5e6fc3
- analysis with clang's analyzer as well as coverity
5e6fc3
- Better handling of immutable bits in sysfs
5e6fc3
- LIBEFIVAR_OPS=help
5e6fc3
- lots of code cleanups.
5e6fc3
- Add emmc device support
5e6fc3
- Add SAS port expander support
5e6fc3
- Support for ACPI root nodes that are less common
5e6fc3
  (i.e. ACPI Generic Container and Embedded Controller PNP nodes)
5e6fc3
- Make abbreviated device paths if we can't parse a device's info
5e6fc3
- Don't require NVME to have an EUI
5e6fc3
5e6fc3
* Mon Apr 09 2018 Peter Jones <pjones@redhat.com> - 35-1
5e6fc3
- Update to efivar 35
5e6fc3
- fixes for older compilers
5e6fc3
- efi_get_variable_exists()
5e6fc3
- Lots of stuff to make CI work.
5e6fc3
- use usleep() to avoid hitting the kernel rate limiter on efivarfs
5e6fc3
- better EFI_GUID macro
5e6fc3
- add efi_guid_fwupdate (0abba7dc-e516-4167-bbf5-4d9d1c739416)
5e6fc3
5e6fc3
* Tue Feb 27 2018 Peter Jones <pjones@redhat.com> - 34-1
5e6fc3
- Update to efivar 34, and include a patch to avoid upstream rate limiting.
5e6fc3
5e6fc3
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 33-3
5e6fc3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
5e6fc3
5e6fc3
* Tue Jan 30 2018 Peter Robinson <pbrobinson@fedoraproject.org> 33-2
5e6fc3
- Enable ARMv7, minor spec cleanups
5e6fc3
5e6fc3
* Tue Jan 23 2018 Peter Jones <pjones@redhat.com> - 33-1
5e6fc3
- Add NVDIMM support
5e6fc3
- Bump version to 33
5e6fc3
5e6fc3
* Tue Sep 12 2017 Peter Jones <pjones@redhat.com> - 32-2
5e6fc3
- Make efi_guid_ux_capsule actually get exported right.
5e6fc3
5e6fc3
* Tue Sep 12 2017 Peter Jones <pjones@redhat.com> - 32-1
5e6fc3
- efivar 32
5e6fc3
- lots of coverity fixes; mostly leaked memory and fds and the like
5e6fc3
- fix sysfs pci path formats
5e6fc3
- handle device paths for dns, nfit, bluetooth, wifi, emmc, btle.
5e6fc3
- improved abi checking on releases
5e6fc3
- Fix failures on EDIT_WRITE in edit_variable() when the variable doesn't exist
5e6fc3
- Add efi_guid_ux_capsule_guid to our guids
5e6fc3
- Now with %%check
5e6fc3
5e6fc3
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 31-3
5e6fc3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
5e6fc3
5e6fc3
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 31-2
5e6fc3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
5e6fc3
5e6fc3
* Mon Mar 06 2017 Peter Jones <pjones@redhat.com> - 31-1
5e6fc3
- Update to efivar 31
5e6fc3
- Work around NVMe EUI sysfs change
5e6fc3
- Provide some oldish version strings we should have kept.
5e6fc3
- lots of overflow checking on our pointer math in dp parsing
5e6fc3
- fix major/minor device number handling in the linux code
5e6fc3
- Do better formatting checks for MBR partitions
5e6fc3
- Fixes for gcc 7
5e6fc3
5e6fc3
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 30-5
5e6fc3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
5e6fc3
5e6fc3
* Mon Oct 17 2016 Peter Jones <pjones@redhat.com> - 30-4
5e6fc3
- Handle NVMe device attributes paths moving around in sysfs.
5e6fc3
5e6fc3
* Wed Sep 28 2016 Peter Jones <pjones@redhat.com> - 30-3
5e6fc3
- Maybe even provide the *right* old linker deps.
5e6fc3
5e6fc3
* Tue Sep 27 2016 Peter Jones <pjones@redhat.com> - 30-2
5e6fc3
- Try not to screw up SONAME stuff quite so badly.
5e6fc3
5e6fc3
* Tue Sep 27 2016 Peter Jones <pjones@redhat.com> - 30-1
5e6fc3
- Fix efidp_*() functions with __pure__ that break with some optimizations
5e6fc3
- Fix NVMe EUI parsing.
5e6fc3
5e6fc3
* Tue Sep 27 2016 Peter Jones <pjones@redhat.com> - 29-1
5e6fc3
- Use -pie not -PIE in our linker config
5e6fc3
- Fix some overflow checks for gcc < 5.x
5e6fc3
- Make variable class probes other than the first one actually work
5e6fc3
- Move -flto to CFLAGS
5e6fc3
- Pack all of the efi device path headers
5e6fc3
- Fix redundant decl of efi_guid_zero()
5e6fc3
5e6fc3
* Wed Aug 17 2016 Peter Jones <pjones@redhat.com> - 28-1
5e6fc3
- Make our sonames always lib$FOO.1 , not lib$FOO.$VERSION .
5e6fc3
5e6fc3
* Tue Aug 16 2016 Peter Jones <pjones@redhat.com> - 27-1
5e6fc3
- Bug fix for 086eeb17 in efivar 26.
5e6fc3
5e6fc3
* Wed Aug 10 2016 Peter Jones <pjones@redhat.com> - 26-1
5e6fc3
- Update to efivar-26 .
5e6fc3
5e6fc3
* Thu Jun 30 2016 Peter Jones <pjones@redhat.com> - 0.24-1
5e6fc3
- Update to 0.24
5e6fc3
5e6fc3
* Mon Feb 15 2016 Peter Jones <pjones@redhat.com> - 0.23-1
5e6fc3
- Update to 0.23
5e6fc3
5e6fc3
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.21-3
5e6fc3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
5e6fc3
5e6fc3
* Mon Nov 02 2015 Peter Jones <pjones@redhat.com> - 0.21-2
5e6fc3
- Bump the release here so f22->f23->f24 updates work.
5e6fc3
5e6fc3
* Mon Jul 13 2015 Peter Jones <pjones@redhat.com> - 0.21-1
5e6fc3
- Rename "make test" so packagers don't think it's a good idea to run it
5e6fc3
  during builds.
5e6fc3
- Error check sizes in vars_get_variable()
5e6fc3
- Fix some file size comparisons
5e6fc3
- make SONAME reflect the correct values.
5e6fc3
- Fix some uses of "const"
5e6fc3
- Compile with -O2 by default
5e6fc3
- Fix some strict-aliasing violations
5e6fc3
- Fix some of the .pc files and how we do linking to work better.
5e6fc3
5e6fc3
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.20-2
5e6fc3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
5e6fc3
5e6fc3
* Tue Jun 02 2015 Peter Jones <pjones@redhat.com> - 0.20-1
5e6fc3
- Update to 0.20
5e6fc3
- Make sure tester is build with the right link order for libraries.
5e6fc3
- Adjust linker order for pkg-config
5e6fc3
- Work around LocateDevicePath() not grokking PcieRoot() devices properly.
5e6fc3
- Rectify some missing changelog entries
5e6fc3
5e6fc3
* Thu May 28 2015 Peter Jones <pjones@redhat.com> - 0.19-1
5e6fc3
- Update to 0.19
5e6fc3
- add API from efibootmgr so fwupdate and other tools can use it.
5e6fc3
5e6fc3
* Wed Oct 15 2014 Peter Jones <pjones@redhat.com> - 0.15-1
5e6fc3
- Update to 0.15
5e6fc3
- Make 32-bit builds set variables' DataSize correctly.
5e6fc3
5e6fc3
* Wed Oct 08 2014 Peter Jones <pjones@redhat.com> - 0.14-1
5e6fc3
- Update to 0.14
5e6fc3
- add efi_id_guid_to_guid() and efi_guid_to_id_guid(), which support {ID GUID}
5e6fc3
  as a concept.
5e6fc3
- Add some vendor specific guids to our guid list.
5e6fc3
- Call "empty" "zero" now, as many other places do.  References to
5e6fc3
  efi_guid_is_empty() and efi_guid_empty still exist for ABI compatibility.
5e6fc3
- add "efivar -L" to the man page.
5e6fc3
5e6fc3
* Tue Oct 07 2014 Peter Jones <pjones@redhat.com> - 0.13-1
5e6fc3
- Update to 0.13:
5e6fc3
- add efi_symbol_to_guid()
5e6fc3
- efi_name_to_guid() will now fall back on efi_symbol_to_guid() as a last
5e6fc3
  resort
5e6fc3
- "efivar -L" to list all the guids we know about
5e6fc3
- better namespacing on libefivar.so (rename well_known_* -> efi_well_known_*)
5e6fc3
5e6fc3
* Thu Sep 25 2014 Peter Jones <pjones@redhat.com> - 0.12-1
5e6fc3
- Update to 0.12
5e6fc3
5e6fc3
* Wed Aug 20 2014 Peter Jones <pjones@redhat.com> - 0.11-1
5e6fc3
- Update to 0.11
5e6fc3
5e6fc3
* Fri May 02 2014 Peter Jones <pjones@redhat.com> - 0.10-1
5e6fc3
- Update package to 0.10.
5e6fc3
- Fixes a build error due to different cflags in the builders vs updstream
5e6fc3
  makefile.
5e6fc3
5e6fc3
* Fri May 02 2014 Peter Jones <pjones@redhat.com> - 0.9-0.1
5e6fc3
- Update package to 0.9.
5e6fc3
5e6fc3
* Tue Apr 01 2014 Peter Jones <pjones@redhat.com> - 0.8-0.1
5e6fc3
- Update package to 0.8 as well.
5e6fc3
5e6fc3
* Fri Oct 25 2013 Peter Jones <pjones@redhat.com> - 0.7-1
5e6fc3
- Update package to 0.7
5e6fc3
- adds --append support to the binary.
5e6fc3
5e6fc3
* Fri Sep 06 2013 Peter Jones <pjones@redhat.com> - 0.6-1
5e6fc3
- Update package to 0.6
5e6fc3
- fixes to documentation from lersek
5e6fc3
- more validation of uefi guids
5e6fc3
- use .xz for archives
5e6fc3
5e6fc3
* Thu Sep 05 2013 Peter Jones <pjones@redhat.com> - 0.5-0.1
5e6fc3
- Update to 0.5
5e6fc3
5e6fc3
* Mon Jun 17 2013 Peter Jones <pjones@redhat.com> - 0.4-0.2
5e6fc3
- Fix ldconfig invocation
5e6fc3
5e6fc3
* Mon Jun 17 2013 Peter Jones <pjones@redhat.com> - 0.4-0.1
5e6fc3
- Initial spec file