- Update to upstream version 3.2:

* [COMPATIBILITY] The UUID is now displayed using lowercase
    letters, per RFC 4122 (#53569). You must ensure that any code
    parsing it is case-insensitive.
  * Support for SMBIOS 3.2.0. This includes new processor names,
    new socket and port connector types, new system slot state and
    property, and support for non-volatile memory (NVDIMM).
  * Support for Redfish management controllers.
  * A new command line option to query a specific structure by its
    handle.
  * A new command line option to query the system family string.
  * Support for 3 ThinkPad-specific structures (patch #9642).
  * Support for HPE's new company name.
  * Support UEFI on FreeBSD.
  * Important bug fixes:
    Fix firmware version of TPM device
    Fix the HPE UEFI feature flag check
  * (biosdecode) A new command line option to fully decode PIR
    information (support request #109339).
  * Obsoletes dmioem-reflect-hpe-new-company-name.patch,
    dmidecode-fix-tpm-device-firmware-version.patch, and
    dmioem-fix-hpe-type-219-uefi-flag.patch.

OBS-URL: https://build.opensuse.org/package/show/Base:System/dmidecode?expand=0&rev=44
This commit is contained in:
Jean Delvare 2018-09-17 11:17:57 +00:00 committed by Git OBS Bridge
parent da4b2bb7de
commit 07cb0f1165
10 changed files with 106 additions and 207 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d766ce9b25548c59b1e7e930505b4cad9a7bb0b904a1a391fbb604d529781ac0
size 61204

Binary file not shown.

3
dmidecode-3.2.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:077006fa2da0d06d6383728112f2edef9684e9c8da56752e97cd45a11f838edd
size 54440

BIN
dmidecode-3.2.tar.xz.sig Normal file

Binary file not shown.

View File

@ -1,26 +0,0 @@
From: Jean Delvare <jdelvare@suse.de>
Date: Wed, 31 Jan 2018 18:52:47 +0100
Subject: dmidecode: Fix firmware version of TPM device
Patch-mainline: yes
Git-commit: 174387405e98cd94c627832ae23abcb9be7e5623
Both the operator (detected by clang, reported by Xorg) and the mask
for the minor firmware version field of TPM devices were wrong.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Fixes: 48a8132058a0 ("dmidecode: Add support for structure type 43 (TPM Device)")
---
dmidecode.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- dmidecode-3.1.orig/dmidecode.c 2018-04-17 11:52:35.240556354 +0200
+++ dmidecode-3.1/dmidecode.c 2018-04-17 11:52:39.787614142 +0200
@@ -4506,7 +4506,7 @@ static void dmi_decode(const struct dmi_
case 0x02:
printf("\tFirmware Revision: %u.%u\n",
DWORD(data + 0x0A) >> 16,
- DWORD(data + 0x0A) && 0xFF);
+ DWORD(data + 0x0A) & 0xFFFF);
/*
* We skip the next 4 bytes, as their
* format is not standardized and their

View File

@ -1,3 +1,29 @@
-------------------------------------------------------------------
Mon Sep 17 13:01:40 CEST 2018 - jdelvare@suse.de
- Update to upstream version 3.2:
* [COMPATIBILITY] The UUID is now displayed using lowercase
letters, per RFC 4122 (#53569). You must ensure that any code
parsing it is case-insensitive.
* Support for SMBIOS 3.2.0. This includes new processor names,
new socket and port connector types, new system slot state and
property, and support for non-volatile memory (NVDIMM).
* Support for Redfish management controllers.
* A new command line option to query a specific structure by its
handle.
* A new command line option to query the system family string.
* Support for 3 ThinkPad-specific structures (patch #9642).
* Support for HPE's new company name.
* Support UEFI on FreeBSD.
* Important bug fixes:
Fix firmware version of TPM device
Fix the HPE UEFI feature flag check
* (biosdecode) A new command line option to fully decode PIR
information (support request #109339).
* Obsoletes dmioem-reflect-hpe-new-company-name.patch,
dmidecode-fix-tpm-device-firmware-version.patch, and
dmioem-fix-hpe-type-219-uefi-flag.patch.
-------------------------------------------------------------------
Tue Apr 17 09:54:57 UTC 2018 - jdelvare@suse.de

75
dmidecode.keyring Normal file
View File

@ -0,0 +1,75 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.2.0 (GNU/Linux)
mQGiBD74a5cRBACWiGIxhDFQ9K7tpD9sKVKxGNDj8D1vY53EUYBc3AheLvnevVjv
LlUQA2v/X6z4u0ack7BI3eTtkav2sjl5XdO3BX/XtsqzAwOb/73WlvDXFygP2s9o
BEzYQR00rMBgYw62pGdV6ib/Awdu+DXGb0P2bUw+ZQUJ4nUYIqmzh5fTawCg0ife
zZ3GwNNj5t3qO+lajuxDOKUD/AtZpkQTN7EOmVhOPLcFnOeK5n6IzEwldW6Yk5fx
7uGES4pXcbT5ACFL3Q4CB1+XKYpW9d0Xb40K1Pb4ghoSPeZ3/AW4CUUOIaiNXr0U
WNuoRxP8u1PncCt6kbRUaizSkbshwOLtHWR68rXmzHMD1j7Bn3+mLdH4TKzp3on8
4frTBACDOdioKUgwQS7h0pyCehDTwYR34akOGS02hcxYwI1DCNyggAirsraID2Ex
3dPsMvPtxsUjDNlRa9M4a6FxALF8zczOXlPPanznwGTpxZU0wVqnhlJpxrdvi0w5
Lj//E2LUpwMxF0jzDQo/dUIugiEYXTiXcjczbJIzPd9OGz3HA7QhSmVhbiBEZWx2
YXJlIDxraGFsaUBsaW51eC1mci5vcmc+iFkEExECABkFAj74a5gECwcDAgMVAgMD
FgIBAh4BAheAAAoJEIZWiNA48C/IBOgAniogNcE6Bw17UC4HyGOvRRvLtHAIAJ9V
N+OSFdqIkCx1weKswFOTsjxAiLkBDQQ++GuaEAQA2ALsYBHp9cISnXNwPYDYmK0C
ykv8875987Ky0oYbMnrala8d1dwnky1YjFuIK/nt/ATWCgaVWuu4bpvEhkFOORYw
TzfkaCM5R6EJY5IO8mtMYbAHAVKjt5MmVJkTKI7f6kV6q1kZ85Y7uj5zw2dC2v5Q
38tpe1O5iGeavW3S99sAAwUD/R7ww2mM7zCgTddMKq/8H1jWUgg3D1NwlWGLmrj2
6K6e/7sfMIPDqbbrFgoN38D8vTvbLFxL9IZ0+p3JjoIvDqI9U2OyNouYQltcPPu7
24okJUbt+z9Zbxb+EKGpuArS9oOPzQhEOsRQGd7wa721mGN6SY4E5MpLb7mjEk26
lltHiEYEGBECAAYFAj74a5oACgkQhlaI0DjwL8j8wACdH4sj7+piWPhVCWeyzxBi
XV4nETQAnRQyjDPAc5mY9f3kc2t58ERE5s0I
=yvCV
-----END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.10 (GNU/Linux)
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
Bo0o
=UkkO
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -17,7 +17,7 @@
Name: dmidecode
Version: 3.1
Version: 3.2
Release: 0
Summary: DMI table decoder
License: GPL-2.0+
@ -25,12 +25,8 @@ Group: System/Console
Url: http://www.nongnu.org/dmidecode/
Source0: http://download.savannah.gnu.org/releases/%{name}/%{name}-%{version}.tar.xz
Source1: http://download.savannah.gnu.org/releases/%{name}/%{name}-%{version}.tar.xz.sig
# would be, but tarball is signed by someone else without signatures.
# https://savannah.nongnu.org/project/memberlist-gpgkeys.php?group=dmidecode
# Source2: %{name}.keyring
Patch1: dmioem-reflect-hpe-new-company-name.patch
Patch2: dmidecode-fix-tpm-device-firmware-version.patch
Patch3: dmioem-fix-hpe-type-219-uefi-flag.patch
Source2: %{name}.keyring
Provides: pmtools:%{_sbindir}/dmidecode
Obsoletes: pmtools < 20071117
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -53,9 +49,6 @@ the BIOS told it to.
%prep
%setup -q
%patch1 -p1
%patch2 -p1
%patch3 -p1
%build
make CFLAGS="%{optflags}" %{?_smp_mflags}

View File

@ -1,32 +0,0 @@
From: Jerry Hoemann <jerry.hoemann@hpe.com>
Date: Wed, 11 Apr 2018 14:33:20 +0200
Subject: dmioem: decode HPE UEFI type 219 Misc Features
Patch-mainline: yes
Git-commit: 2ba4fab210e23cc97db57217af9a6f3b35a9b666
The incorrect "Misc Feature" bit in type 219 table was being used to
identify that the platform is capable of booting with UEFI.
For corresponding kernel change please see:
commit(c42cbe41727a)
in linux.
Signed-off-by: Jerry Hoemann <jerry.hoemann@hpe.com>
Signed-off-by: Jean Delvare <jdelvare@suse.de>
---
dmioem.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- dmidecode-3.1.orig/dmioem.c 2018-04-17 11:52:32.405520323 +0200
+++ dmidecode-3.1/dmioem.c 2018-04-17 11:52:41.919641237 +0200
@@ -226,7 +226,7 @@ static int dmi_decode_hp(const struct dm
feat = DWORD(data + 0x10);
printf("\tMisc. Features: 0x%08x\n", feat);
printf("\t\tiCRU: %s\n", feat & 0x0001 ? "Yes" : "No");
- printf("\t\tUEFI: %s\n", feat & 0x0408 ? "Yes" : "No");
+ printf("\t\tUEFI: %s\n", feat & 0x1400 ? "Yes" : "No");
break;
default:

View File

@ -1,137 +0,0 @@
From: Jerry Hoemann <jerry.hoemann@hpe.com>
Date: Wed, 13 Sep 2017 15:54:22 -0600
Subject: dmioem: Reflect HPE's new company name
Patch-mainline: yes
Git-commit: ee07a1b4249560d620d05194eb8ff61b40d3ce23
After Hewlett Packard Enterprise split from Hewlett-Packard, DMI OEM
tables reflect the new company name. Gen10 and subsequent systems will
use HPE. Gen9 and prior systems continue to use the old "HP" name.
Signed-off-by: Jerry Hoemann <jerry.hoemann@hpe.com>
Signed-off-by: Jean Delvare <jdelvare@suse.de>
---
dmioem.c | 32 +++++++++++++++++++-------------
1 file changed, 19 insertions(+), 13 deletions(-)
--- dmidecode-3.1.orig/dmioem.c 2017-05-23 15:34:14.000000000 +0200
+++ dmidecode-3.1/dmioem.c 2018-04-17 11:52:32.405520323 +0200
@@ -35,6 +35,7 @@ enum DMI_VENDORS
VENDOR_UNKNOWN,
VENDOR_HP,
VENDOR_ACER,
+ VENDOR_HPE,
};
static enum DMI_VENDORS dmi_vendor = VENDOR_UNKNOWN;
@@ -58,12 +59,14 @@ void dmi_set_vendor(const char *s)
if (strncmp(s, "HP", len) == 0 || strncmp(s, "Hewlett-Packard", len) == 0)
dmi_vendor = VENDOR_HP;
+ else if (strncmp(s, "HPE", len) == 0 || strncmp(s, "Hewlett Packard Enterprise", len) == 0)
+ dmi_vendor = VENDOR_HPE;
else if (strncmp(s, "Acer", len) == 0)
dmi_vendor = VENDOR_ACER;
}
/*
- * HP-specific data structures are decoded here.
+ * HPE-specific data structures are decoded here.
*
* Code contributed by John Cagle and Tyler Bell.
*/
@@ -98,14 +101,15 @@ static int dmi_decode_hp(const struct dm
u8 *data = h->data;
int nic, ptr;
u32 feat;
+ const char *company = (dmi_vendor == VENDOR_HP) ? "HP" : "HPE";
switch (h->type)
{
case 204:
/*
- * Vendor Specific: HP ProLiant System/Rack Locator
+ * Vendor Specific: HPE ProLiant System/Rack Locator
*/
- printf("HP ProLiant System/Rack Locator\n");
+ printf("%s ProLiant System/Rack Locator\n", company);
if (h->length < 0x0B) break;
printf("\tRack Name: %s\n", dmi_string(h, data[0x04]));
printf("\tEnclosure Name: %s\n", dmi_string(h, data[0x05]));
@@ -119,7 +123,7 @@ static int dmi_decode_hp(const struct dm
case 209:
case 221:
/*
- * Vendor Specific: HP ProLiant NIC MAC Information
+ * Vendor Specific: HPE ProLiant NIC MAC Information
*
* This prints the BIOS NIC number,
* PCI bus/device/function, and MAC address
@@ -137,9 +141,10 @@ static int dmi_decode_hp(const struct dm
*
* Type 221: is deprecated in the latest docs
*/
- printf(h->type == 221 ?
- "HP BIOS iSCSI NIC PCI and MAC Information\n" :
- "HP BIOS PXE NIC PCI and MAC Information\n");
+ printf("%s %s\n", company,
+ h->type == 221 ?
+ "BIOS iSCSI NIC PCI and MAC Information" :
+ "BIOS PXE NIC PCI and MAC Information");
nic = 1;
ptr = 4;
while (h->length >= ptr + 8)
@@ -155,7 +160,7 @@ static int dmi_decode_hp(const struct dm
case 233:
/*
- * Vendor Specific: HP ProLiant NIC MAC Information
+ * Vendor Specific: HPE ProLiant NIC MAC Information
*
* This prints the BIOS NIC number,
* PCI bus/device/function, and MAC address
@@ -171,7 +176,7 @@ static int dmi_decode_hp(const struct dm
* 0x08 | MAC | 32B | MAC addr padded w/ 0s
* 0x28 | Port No| BYTE | Each NIC maps to a Port
*/
- printf("HP BIOS PXE NIC PCI and MAC Information\n");
+ printf("%s BIOS PXE NIC PCI and MAC Information\n", company);
if (h->length < 0x0E) break;
/* If the record isn't long enough, we don't have an ID
* use 0xFF to use the internal counter.
@@ -183,11 +188,11 @@ static int dmi_decode_hp(const struct dm
case 212:
/*
- * Vendor Specific: HP 64-bit CRU Information
+ * Vendor Specific: HPE 64-bit CRU Information
*
* Source: hpwdt kernel driver
*/
- printf("HP 64-bit CRU Information\n");
+ printf("%s 64-bit CRU Information\n", company);
if (h->length < 0x18) break;
printf("\tSignature: 0x%08x", DWORD(data + 0x04));
if (is_printable(data + 0x04, 4))
@@ -208,11 +213,11 @@ static int dmi_decode_hp(const struct dm
case 219:
/*
- * Vendor Specific: HP ProLiant Information
+ * Vendor Specific: HPE ProLiant Information
*
* Source: hpwdt kernel driver
*/
- printf("HP ProLiant Information\n");
+ printf("%s ProLiant Information\n", company);
if (h->length < 0x08) break;
printf("\tPower Features: 0x%08x\n", DWORD(data + 0x04));
if (h->length < 0x0C) break;
@@ -281,6 +286,7 @@ int dmi_decode_oem(const struct dmi_head
switch (dmi_vendor)
{
case VENDOR_HP:
+ case VENDOR_HPE:
return dmi_decode_hp(h);
case VENDOR_ACER:
return dmi_decode_acer(h);