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