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

Signed-off-by: Peter Jones <pjones@redhat.com>
This commit is contained in:
Peter Jones 2015-06-02 14:38:45 -04:00
parent 42633a3e4c
commit 9837a24422
3 changed files with 10 additions and 49 deletions

View File

@ -1,41 +0,0 @@
From 2a29824f84d08a9fa71094c0ab72ec2b5f3fbc79 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Mon, 1 Jun 2015 16:11:58 -0400
Subject: [PATCH] Work around LocateDevicePath() not grokking PcieRoot()
devices properly.
Basically: PNP0A03 always has to work, so everybody always uses it, so
nobody tests PNP0A08 working, so it doesn't.
So you have to lie to the machine about which hardware you want it to
find things on, because if you tell it the truth, it'll lie to you.
The truth is a lie.
Signed-off-by: Peter Jones <pjones@redhat.com>
---
src/linux.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/linux.c b/src/linux.c
index a812b0c..1231ecf 100644
--- a/src/linux.c
+++ b/src/linux.c
@@ -490,6 +490,14 @@ make_pci_path(uint8_t *buf, ssize_t size, char *pathstr, ssize_t *pathoff)
return -1;
acpi_hid = EFIDP_EFI_PNP_ID(tmp16);
+ /* Apparently basically nothing can look up a PcieRoot() node,
+ * because they just check _CID. So since _CID for the root pretty
+ * much always has to be PNP0A03 anyway, just use that no matter
+ * what.
+ */
+ if (acpi_hid == EFIDP_ACPI_PCIE_ROOT_HID)
+ acpi_hid = EFIDP_ACPI_PCI_ROOT_HID;
+
errno = 0;
fbuf = NULL;
int use_uid_str = 0;
--
2.4.2

View File

@ -1,6 +1,6 @@
Name: efivar
Version: 0.19
Release: 2%{?dist}
Version: 0.20
Release: 1%{?dist}
Summary: Tools to manage UEFI variables
License: LGPLv2.1
URL: https://github.com/rhinstaller/efivar
@ -9,7 +9,6 @@ ExclusiveArch: %{ix86} x86_64 aarch64
BuildRequires: popt-devel git
Source0: https://github.com/rhinstaller/efivar/releases/download/efivar-%{version}/efivar-%{version}.tar.bz2
Patch0001: 0001-Work-around-LocateDevicePath-not-grokking-PcieRoot-d.patch
%description
efivar provides a simple command line interface to the UEFI variable facility.
@ -69,9 +68,12 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/*.so.*
%changelog
* Mon Jun 01 2015 Peter Jones <pjones@redhat.com> - 0.19-2
- Work around device path creation on machines where PcieRoot() paths simply
don't work.
* 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

View File

@ -1 +1 @@
f627d22ad117c256278491dfa38ff3fb efivar-0.19.tar.bz2
c06aa46483c4da9c10c4458e006faa15 efivar-0.20.tar.bz2