Browse Source

dmidecode package update

Signed-off-by: basebuilder_pel7x64builder0 <basebuilder@powerel.org>
master
basebuilder_pel7x64builder0 6 years ago
parent
commit
8764c7c3bc
  1. 42
      SOURCES/0001-dmidecode-Add-system-family-direct-string-option.patch
  2. 30
      SOURCES/0001-dmidecode-Fix-firmware-version-of-TPM-device.patch
  3. 1774
      SOURCES/0002-Goodbye-CHANGELOG-welcome-NEWS.patch
  4. 36
      SOURCES/0002-dmioem-decode-HPE-UEFI-type-219-Misc-Features.patch
  5. 46
      SOURCES/0003-Fix-install-doc-target.patch
  6. 36
      SOURCES/0003-dmidecode-Use-lowercase-letters-for-UUID.patch
  7. 136
      SOURCES/0004-biosdecode-Add-option-pir-full.patch
  8. 96
      SOURCES/0005-biosdecode-Clean-up-the-PIR-table-output.patch
  9. 54
      SOURCES/0006-biosdecode-Avoid-repeating-pointer-arithmetic.patch
  10. 141
      SOURCES/0007-dmioem-Reflect-HPE-s-new-company-name.patch
  11. 134
      SOURCES/0008-dmioem-Sort-vendor-names-alphabetically.patch
  12. 90
      SOURCES/0009-UEFI-support-on-FreeBSD.patch
  13. 58
      SOURCES/0010-dmidecode-Share-common-EFI-code.patch
  14. 253
      SPECS/dmidecode.spec

42
SOURCES/0001-dmidecode-Add-system-family-direct-string-option.patch

@ -0,0 +1,42 @@
From aad65d8a53a00d5426990fc8b5af9d749fc879b9 Mon Sep 17 00:00:00 2001
From: Mika Westerberg <mika.westerberg@linux.intel.com>
Date: Thu, 1 Jun 2017 14:21:38 +0300
Subject: [PATCH 01/10] dmidecode: Add system-family direct string option

This allows users to print system-family using '-s' option.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Jean Delvare <jdelvare@suse.de>
---
dmiopt.c | 1 +
man/dmidecode.8 | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/dmiopt.c b/dmiopt.c
index da42546..a36cf16 100644
--- a/dmiopt.c
+++ b/dmiopt.c
@@ -156,6 +156,7 @@ static const struct string_keyword opt_string_keyword[] = {
{ "system-version", 1, 0x06 },
{ "system-serial-number", 1, 0x07 },
{ "system-uuid", 1, 0x08 }, /* dmi_system_uuid() */
+ { "system-family", 1, 0x1a },
{ "baseboard-manufacturer", 2, 0x04 },
{ "baseboard-product-name", 2, 0x05 },
{ "baseboard-version", 2, 0x06 },
diff --git a/man/dmidecode.8 b/man/dmidecode.8
index bef204e..e3b6b2a 100644
--- a/man/dmidecode.8
+++ b/man/dmidecode.8
@@ -74,7 +74,7 @@ Only display the value of the \s-1DMI\s0 string identified by \fBKEYWORD\fR.
\fBbios-version\fR, \fBbios-release-date\fR,
\fBsystem-manufacturer\fR, \fBsystem-product-name\fR,
\fBsystem-version\fR, \fBsystem-serial-number\fR,
-\fBsystem-uuid\fR,
+\fBsystem-uuid\fR, \fBsystem-family\fR,
\fBbaseboard-manufacturer\fR, \fBbaseboard-product-name\fR,
\fBbaseboard-version\fR, \fBbaseboard-serial-number\fR,
\fBbaseboard-asset-tag\fR, \fBchassis-manufacturer\fR,
--
2.9.5

30
SOURCES/0001-dmidecode-Fix-firmware-version-of-TPM-device.patch

@ -0,0 +1,30 @@
From 174387405e98cd94c627832ae23abcb9be7e5623 Mon Sep 17 00:00:00 2001
From: Jean Delvare <jdelvare@suse.de>
Date: Wed, 31 Jan 2018 18:52:47 +0100
Subject: [PATCH 1/3] dmidecode: Fix firmware version of TPM device

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(-)

diff --git a/dmidecode.c b/dmidecode.c
index 87faaa9..a593170 100644
--- a/dmidecode.c
+++ b/dmidecode.c
@@ -4511,7 +4511,7 @@ static void dmi_decode(const struct dmi_header *h, u16 ver)
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
--
2.9.5

1774
SOURCES/0002-Goodbye-CHANGELOG-welcome-NEWS.patch

File diff suppressed because it is too large Load Diff

36
SOURCES/0002-dmioem-decode-HPE-UEFI-type-219-Misc-Features.patch

@ -0,0 +1,36 @@
From 2ba4fab210e23cc97db57217af9a6f3b35a9b666 Mon Sep 17 00:00:00 2001
From: Jerry Hoemann <jerry.hoemann@hpe.com>
Date: Wed, 11 Apr 2018 14:33:20 +0200
Subject: [PATCH 2/3] dmioem: decode HPE UEFI type 219 Misc Features

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(-)

diff --git a/dmioem.c b/dmioem.c
index 8a72ac9..1742330 100644
--- a/dmioem.c
+++ b/dmioem.c
@@ -268,7 +268,7 @@ static int dmi_decode_hp(const struct dmi_header *h)
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:
--
2.9.5

46
SOURCES/0003-Fix-install-doc-target.patch

@ -0,0 +1,46 @@
From 371056cc0345ba8e950f0c002a0e145a3930b39c Mon Sep 17 00:00:00 2001
From: Jean Delvare <jdelvare@suse.de>
Date: Mon, 17 Jul 2017 09:45:39 +0200
Subject: [PATCH 03/10] Fix install-doc target

CHANGELOG was replaced by NEWS but I forgot to update the references
to that file.

This fixes bug #51475:
https://savannah.nongnu.org/bugs/?51475

Fixes: 82a34ddbc524 ("Goodbye CHANGELOG, welcome NEWS")
---
Makefile | 2 +-
README | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 1f54a1f..77c9310 100644
--- a/Makefile
+++ b/Makefile
@@ -134,7 +134,7 @@ uninstall-man :
install-doc :
$(INSTALL_DIR) $(DESTDIR)$(docdir)
$(INSTALL_DATA) README $(DESTDIR)$(docdir)
- $(INSTALL_DATA) CHANGELOG $(DESTDIR)$(docdir)
+ $(INSTALL_DATA) NEWS $(DESTDIR)$(docdir)
$(INSTALL_DATA) AUTHORS $(DESTDIR)$(docdir)
uninstall-doc :
diff --git a/README b/README
index f612b36..c87e52c 100644
--- a/README
+++ b/README
@@ -56,7 +56,7 @@ Each tool has a manual page, found in the "man" subdirectory. Manual pages
are installed by "make install". See these manual pages for command line
interface details and tool specific information.
-For an history of the changes made to dmidecode, see the CHANGELOG file.
+For an history of the changes made to dmidecode, see the NEWS file.
If you need help, your best chances are to visit the web page (see the
INSTALLATION section above) or to get in touch with the developers directly.
--
2.9.5

36
SOURCES/0003-dmidecode-Use-lowercase-letters-for-UUID.patch

@ -0,0 +1,36 @@
From aec83995082070c47edf394c4b7f9f17fea7fd16 Mon Sep 17 00:00:00 2001
From: Jean Delvare <jdelvare@suse.de>
Date: Mon, 16 Apr 2018 09:42:25 +0200
Subject: [PATCH 3/3] dmidecode: Use lowercase letters for UUID

RFC 4122 asks for letters a-f in UUID to be lowercase. Follow this
recommendation.

This closes bug #53569:
https://savannah.nongnu.org/bugs/index.php?53569

---
dmidecode.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/dmidecode.c b/dmidecode.c
index a593170..d18a258 100644
--- a/dmidecode.c
+++ b/dmidecode.c
@@ -445,11 +445,11 @@ static void dmi_system_uuid(const u8 *p, u16 ver)
* for older versions.
*/
if (ver >= 0x0206)
- printf("%02X%02X%02X%02X-%02X%02X-%02X%02X-%02X%02X-%02X%02X%02X%02X%02X%02X",
+ printf("%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x",
p[3], p[2], p[1], p[0], p[5], p[4], p[7], p[6],
p[8], p[9], p[10], p[11], p[12], p[13], p[14], p[15]);
else
- printf("%02X%02X%02X%02X-%02X%02X-%02X%02X-%02X%02X-%02X%02X%02X%02X%02X%02X",
+ printf("%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x",
p[0], p[1], p[2], p[3], p[4], p[5], p[6], p[7],
p[8], p[9], p[10], p[11], p[12], p[13], p[14], p[15]);
}
--
2.9.5

136
SOURCES/0004-biosdecode-Add-option-pir-full.patch

@ -0,0 +1,136 @@
From 6486331cf66e35bcf01e1c15c4396af68b6eb4d4 Mon Sep 17 00:00:00 2001
From: Jean Delvare <jdelvare@suse.de>
Date: Tue, 25 Jul 2017 11:21:22 +0200
Subject: [PATCH 04/10] biosdecode: Add option --pir full

Add an option to decode the details of the PIR table.

This implements support request #109339:
https://savannah.nongnu.org/support/index.php?109339

---
biosdecode.c | 59 +++++++++++++++++++++++++++++++-------------------------
man/biosdecode.8 | 3 +++
2 files changed, 36 insertions(+), 26 deletions(-)

diff --git a/biosdecode.c b/biosdecode.c
index ad3d4bc..8293e61 100644
--- a/biosdecode.c
+++ b/biosdecode.c
@@ -73,12 +73,16 @@ struct opt
{
const char *devmem;
unsigned int flags;
+ unsigned char pir;
};
static struct opt opt;
#define FLAG_VERSION (1 << 0)
#define FLAG_HELP (1 << 1)
+#define PIR_SHORT 0
+#define PIR_FULL 1
+
struct bios_entry {
const char *anchor;
size_t anchor_len; /* computed */
@@ -386,32 +390,29 @@ static int pir_decode(const u8 *p, size_t len)
i, p[(i + 1) * 16], p[(i + 1) * 16 + 1] >> 3);
pir_slot_number(p[(i + 1) * 16 + 14]);
printf("\n");
-/* printf("\tSlot Entry %u\n", i);
- printf("\t\tID: %02x:%02x\n",
- p[(i + 1) * 16], p[(i + 1) * 16 + 1] >> 3);
- printf("\t\tLink Value for INTA#: %u\n",
- p[(i + 1) * 16 + 2]);
- printf("\t\tIRQ Bitmap for INTA#:");
- pir_irqs(WORD(p + (i + 1) * 16 + 3));
- printf("\n");
- printf("\t\tLink Value for INTB#: %u\n",
- p[(i + 1) * 16 + 5]);
- printf("\t\tIRQ Bitmap for INTB#:");
- pir_irqs(WORD(p + (i + 1) * 16 + 6));
- printf("\n");
- printf("\t\tLink Value for INTC#: %u\n",
- p[(i + 1) * 16 + 8]);
- printf("\t\tIRQ Bitmap for INTC#:");
- pir_irqs(WORD(p + (i + 1) * 16 + 9));
- printf("\n");
- printf("\t\tLink Value for INTD#: %u\n",
- p[(i + 1) * 16 + 11]);
- printf("\t\tIRQ Bitmap for INTD#:");
- pir_irqs(WORD(p + (i + 1) * 16 + 12));
- printf("\n");
- printf("\t\tSlot Number:");
- pir_slot_number(p[(i + 1) * 16 + 14]);
- printf("\n");*/
+ if (opt.pir == PIR_FULL)
+ {
+ printf("\t\tLink Value for INTA#: %u\n",
+ p[(i + 1) * 16 + 2]);
+ printf("\t\tIRQ Bitmap for INTA#:");
+ pir_irqs(WORD(p + (i + 1) * 16 + 3));
+ printf("\n");
+ printf("\t\tLink Value for INTB#: %u\n",
+ p[(i + 1) * 16 + 5]);
+ printf("\t\tIRQ Bitmap for INTB#:");
+ pir_irqs(WORD(p + (i + 1) * 16 + 6));
+ printf("\n");
+ printf("\t\tLink Value for INTC#: %u\n",
+ p[(i + 1) * 16 + 8]);
+ printf("\t\tIRQ Bitmap for INTC#:");
+ pir_irqs(WORD(p + (i + 1) * 16 + 9));
+ printf("\n");
+ printf("\t\tLink Value for INTD#: %u\n",
+ p[(i + 1) * 16 + 11]);
+ printf("\t\tIRQ Bitmap for INTD#:");
+ pir_irqs(WORD(p + (i + 1) * 16 + 12));
+ printf("\n");
+ }
}
return 1;
@@ -616,6 +617,7 @@ static int parse_command_line(int argc, char * const argv[])
const char *optstring = "d:hV";
struct option longopts[] = {
{ "dev-mem", required_argument, NULL, 'd' },
+ { "pir", required_argument, NULL, 'P' },
{ "help", no_argument, NULL, 'h' },
{ "version", no_argument, NULL, 'V' },
{ NULL, 0, NULL, 0 }
@@ -627,6 +629,10 @@ static int parse_command_line(int argc, char * const argv[])
case 'd':
opt.devmem = optarg;
break;
+ case 'P':
+ if (strcmp(optarg, "full") == 0)
+ opt.pir = PIR_FULL;
+ break;
case 'h':
opt.flags |= FLAG_HELP;
break;
@@ -646,6 +652,7 @@ static void print_help(void)
"Usage: biosdecode [OPTIONS]\n"
"Options are:\n"
" -d, --dev-mem FILE Read memory from device FILE (default: " DEFAULT_MEM_DEV ")\n"
+ " --pir full Decode the details of the PCI IRQ routing table\n"
" -h, --help Display this help text and exit\n"
" -V, --version Display the version and exit\n";
diff --git a/man/biosdecode.8 b/man/biosdecode.8
index c39d6a0..a96eb68 100644
--- a/man/biosdecode.8
+++ b/man/biosdecode.8
@@ -60,6 +60,9 @@ program.
.BR "-d" ", " "--dev-mem FILE"
Read memory from device \fBFILE\fR (default: \fB/dev/mem\fR)
.TP
+.BR " " " " "--pir full"
+Decode the details of the PCI IRQ routing table
+.TP
.BR "-h" ", " "--help"
Display usage information and exit
.TP
--
2.9.5

96
SOURCES/0005-biosdecode-Clean-up-the-PIR-table-output.patch

@ -0,0 +1,96 @@
From baeacaa7b9930badc074eaad3700b075ed9d622f Mon Sep 17 00:00:00 2001
From: Jean Delvare <jdelvare@suse.de>
Date: Tue, 25 Jul 2017 11:21:27 +0200
Subject: [PATCH 05/10] biosdecode: Clean up the PIR table output

* Remove entry numbers.
* Use "Device" instead of "ID".
* Put repeated code in a function.
* Don't display unconnected links.
* Shorten "slot number" to just "slot".

---
biosdecode.c | 42 ++++++++++++++++++------------------------
1 file changed, 18 insertions(+), 24 deletions(-)

diff --git a/biosdecode.c b/biosdecode.c
index 8293e61..b37e510 100644
--- a/biosdecode.c
+++ b/biosdecode.c
@@ -355,7 +355,7 @@ static void pir_slot_number(u8 code)
if (code == 0)
printf(" on-board");
else
- printf(" slot number %u", code);
+ printf(" slot %u", code);
}
static size_t pir_length(const u8 *p)
@@ -363,6 +363,16 @@ static size_t pir_length(const u8 *p)
return WORD(p + 6);
}
+static void pir_link_bitmap(char letter, const u8 *p)
+{
+ if (p[0] == 0) /* Not connected */
+ return;
+
+ printf("\t\tINT%c#: Link 0x%02x, IRQ Bitmap", letter, p[0]);
+ pir_irqs(WORD(p + 1));
+ printf("\n");
+}
+
static int pir_decode(const u8 *p, size_t len)
{
int i;
@@ -372,7 +382,7 @@ static int pir_decode(const u8 *p, size_t len)
printf("PCI Interrupt Routing %u.%u present.\n",
p[5], p[4]);
- printf("\tRouter ID: %02x:%02x.%1x\n",
+ printf("\tRouter Device: %02x:%02x.%1x\n",
p[8], p[9]>>3, p[9] & 0x07);
printf("\tExclusive IRQs:");
pir_irqs(WORD(p + 10));
@@ -386,32 +396,16 @@ static int pir_decode(const u8 *p, size_t len)
for (i = 1; i <= (WORD(p + 6) - 32) / 16; i++)
{
- printf("\tSlot Entry %u: ID %02x:%02x,",
- i, p[(i + 1) * 16], p[(i + 1) * 16 + 1] >> 3);
+ printf("\tDevice: %02x:%02x,",
+ p[(i + 1) * 16], p[(i + 1) * 16 + 1] >> 3);
pir_slot_number(p[(i + 1) * 16 + 14]);
printf("\n");
if (opt.pir == PIR_FULL)
{
- printf("\t\tLink Value for INTA#: %u\n",
- p[(i + 1) * 16 + 2]);
- printf("\t\tIRQ Bitmap for INTA#:");
- pir_irqs(WORD(p + (i + 1) * 16 + 3));
- printf("\n");
- printf("\t\tLink Value for INTB#: %u\n",
- p[(i + 1) * 16 + 5]);
- printf("\t\tIRQ Bitmap for INTB#:");
- pir_irqs(WORD(p + (i + 1) * 16 + 6));
- printf("\n");
- printf("\t\tLink Value for INTC#: %u\n",
- p[(i + 1) * 16 + 8]);
- printf("\t\tIRQ Bitmap for INTC#:");
- pir_irqs(WORD(p + (i + 1) * 16 + 9));
- printf("\n");
- printf("\t\tLink Value for INTD#: %u\n",
- p[(i + 1) * 16 + 11]);
- printf("\t\tIRQ Bitmap for INTD#:");
- pir_irqs(WORD(p + (i + 1) * 16 + 12));
- printf("\n");
+ pir_link_bitmap('A', p + (i + 1) * 16 + 2);
+ pir_link_bitmap('B', p + (i + 1) * 16 + 5);
+ pir_link_bitmap('C', p + (i + 1) * 16 + 8);
+ pir_link_bitmap('D', p + (i + 1) * 16 + 11);
}
}
--
2.9.5

54
SOURCES/0006-biosdecode-Avoid-repeating-pointer-arithmetic.patch

@ -0,0 +1,54 @@
From 2b5c925d19e1eeecf6a24809396fed2774ee0695 Mon Sep 17 00:00:00 2001
From: Jean Delvare <jdelvare@suse.de>
Date: Tue, 25 Jul 2017 11:21:30 +0200
Subject: [PATCH 06/10] biosdecode: Avoid repeating pointer arithmetic

This makes the code both more efficient and more readable.

---
biosdecode.c | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/biosdecode.c b/biosdecode.c
index b37e510..99a27fe 100644
--- a/biosdecode.c
+++ b/biosdecode.c
@@ -375,7 +375,7 @@ static void pir_link_bitmap(char letter, const u8 *p)
static int pir_decode(const u8 *p, size_t len)
{
- int i;
+ int i, n;
if (len < 32 || !checksum(p, WORD(p + 6)))
return 0;
@@ -394,18 +394,18 @@ static int pir_decode(const u8 *p, size_t len)
printf("\tMiniport Data: 0x%08X\n",
DWORD(p + 16));
- for (i = 1; i <= (WORD(p + 6) - 32) / 16; i++)
+ n = (len - 32) / 16;
+ for (i = 1, p += 32; i <= n; i++, p += 16)
{
- printf("\tDevice: %02x:%02x,",
- p[(i + 1) * 16], p[(i + 1) * 16 + 1] >> 3);
- pir_slot_number(p[(i + 1) * 16 + 14]);
+ printf("\tDevice: %02x:%02x,", p[0], p[1] >> 3);
+ pir_slot_number(p[14]);
printf("\n");
if (opt.pir == PIR_FULL)
{
- pir_link_bitmap('A', p + (i + 1) * 16 + 2);
- pir_link_bitmap('B', p + (i + 1) * 16 + 5);
- pir_link_bitmap('C', p + (i + 1) * 16 + 8);
- pir_link_bitmap('D', p + (i + 1) * 16 + 11);
+ pir_link_bitmap('A', p + 2);
+ pir_link_bitmap('B', p + 5);
+ pir_link_bitmap('C', p + 8);
+ pir_link_bitmap('D', p + 11);
}
}
--
2.9.5

141
SOURCES/0007-dmioem-Reflect-HPE-s-new-company-name.patch

@ -0,0 +1,141 @@
From ee07a1b4249560d620d05194eb8ff61b40d3ce23 Mon Sep 17 00:00:00 2001
From: Jerry Hoemann <jerry.hoemann@hpe.com>
Date: Wed, 13 Sep 2017 15:54:22 -0600
Subject: [PATCH 07/10] dmioem: Reflect HPE's new company name

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(-)

diff --git a/dmioem.c b/dmioem.c
index 034ad9f..a032344 100644
--- a/dmioem.c
+++ b/dmioem.c
@@ -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 dmi_header *h)
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 dmi_header *h)
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 dmi_header *h)
*
* 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 dmi_header *h)
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 dmi_header *h)
* 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 dmi_header *h)
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 dmi_header *h)
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_header *h)
switch (dmi_vendor)
{
case VENDOR_HP:
+ case VENDOR_HPE:
return dmi_decode_hp(h);
case VENDOR_ACER:
return dmi_decode_acer(h);
--
2.9.5

134
SOURCES/0008-dmioem-Sort-vendor-names-alphabetically.patch

@ -0,0 +1,134 @@
From 6517fa7c8c8a74a9eae9e6192de316ef8952f2a8 Mon Sep 17 00:00:00 2001
From: Jean Delvare <jdelvare@suse.de>
Date: Thu, 14 Sep 2017 10:08:10 +0200
Subject: [PATCH 08/10] dmioem: Sort vendor names alphabetically

Signed-off-by: Jean Delvare <jdelvare@suse.de>
---
dmioem.c | 92 ++++++++++++++++++++++++++++++++--------------------------------
1 file changed, 46 insertions(+), 46 deletions(-)

diff --git a/dmioem.c b/dmioem.c
index a032344..8a72ac9 100644
--- a/dmioem.c
+++ b/dmioem.c
@@ -33,8 +33,8 @@
enum DMI_VENDORS
{
VENDOR_UNKNOWN,
- VENDOR_HP,
VENDOR_ACER,
+ VENDOR_HP,
VENDOR_HPE,
};
@@ -57,12 +57,54 @@ void dmi_set_vendor(const char *s)
while (len && s[len - 1] == ' ')
len--;
- if (strncmp(s, "HP", len) == 0 || strncmp(s, "Hewlett-Packard", len) == 0)
+ if (strncmp(s, "Acer", len) == 0)
+ dmi_vendor = VENDOR_ACER;
+ else 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;
+}
+
+/*
+ * Acer-specific data structures are decoded here.
+ */
+
+static int dmi_decode_acer(const struct dmi_header *h)
+{
+ u8 *data = h->data;
+ u16 cap;
+
+ switch (h->type)
+ {
+ case 170:
+ /*
+ * Vendor Specific: Acer Hotkey Function
+ *
+ * Source: acer-wmi kernel driver
+ *
+ * Probably applies to some laptop models of other
+ * brands, including Fujitsu-Siemens, Medion, Lenovo,
+ * and eMachines.
+ */
+ printf("Acer Hotkey Function\n");
+ if (h->length < 0x0F) break;
+ cap = WORD(data + 0x04);
+ printf("\tFunction bitmap for Communication Button: 0x%04hx\n", cap);
+ printf("\t\tWiFi: %s\n", cap & 0x0001 ? "Yes" : "No");
+ printf("\t\t3G: %s\n", cap & 0x0040 ? "Yes" : "No");
+ printf("\t\tWiMAX: %s\n", cap & 0x0080 ? "Yes" : "No");
+ printf("\t\tBluetooth: %s\n", cap & 0x0800 ? "Yes" : "No");
+ printf("\tFunction bitmap for Application Button: 0x%04hx\n", WORD(data + 0x06));
+ printf("\tFunction bitmap for Media Button: 0x%04hx\n", WORD(data + 0x08));
+ printf("\tFunction bitmap for Display Button: 0x%04hx\n", WORD(data + 0x0A));
+ printf("\tFunction bitmap for Others Button: 0x%04hx\n", WORD(data + 0x0C));
+ printf("\tCommunication Function Key Number: %d\n", data[0x0E]);
+ break;
+
+ default:
+ return 0;
+ }
+ return 1;
}
/*
@@ -236,48 +278,6 @@ static int dmi_decode_hp(const struct dmi_header *h)
}
/*
- * Acer-specific data structures are decoded here.
- */
-
-static int dmi_decode_acer(const struct dmi_header *h)
-{
- u8 *data = h->data;
- u16 cap;
-
- switch (h->type)
- {
- case 170:
- /*
- * Vendor Specific: Acer Hotkey Function
- *
- * Source: acer-wmi kernel driver
- *
- * Probably applies to some laptop models of other
- * brands, including Fujitsu-Siemens, Medion, Lenovo,
- * and eMachines.
- */
- printf("Acer Hotkey Function\n");
- if (h->length < 0x0F) break;
- cap = WORD(data + 0x04);
- printf("\tFunction bitmap for Communication Button: 0x%04hx\n", cap);
- printf("\t\tWiFi: %s\n", cap & 0x0001 ? "Yes" : "No");
- printf("\t\t3G: %s\n", cap & 0x0040 ? "Yes" : "No");
- printf("\t\tWiMAX: %s\n", cap & 0x0080 ? "Yes" : "No");
- printf("\t\tBluetooth: %s\n", cap & 0x0800 ? "Yes" : "No");
- printf("\tFunction bitmap for Application Button: 0x%04hx\n", WORD(data + 0x06));
- printf("\tFunction bitmap for Media Button: 0x%04hx\n", WORD(data + 0x08));
- printf("\tFunction bitmap for Display Button: 0x%04hx\n", WORD(data + 0x0A));
- printf("\tFunction bitmap for Others Button: 0x%04hx\n", WORD(data + 0x0C));
- printf("\tCommunication Function Key Number: %d\n", data[0x0E]);
- break;
-
- default:
- return 0;
- }
- return 1;
-}
-
-/*
* Dispatch vendor-specific entries decoding
* Return 1 if decoding was successful, 0 otherwise
*/
--
2.9.5

90
SOURCES/0009-UEFI-support-on-FreeBSD.patch

@ -0,0 +1,90 @@
From e629bccb2ced5f9e52e142bd841d310434975c63 Mon Sep 17 00:00:00 2001
From: Alexey Dokuchaev <danfe@nsu.ru>
Date: Thu, 30 Nov 2017 16:27:48 +0100
Subject: [PATCH 09/10] UEFI support on FreeBSD

Currently, dmidecode(8) does not work on FreeBSD booted in UEFI mode.
Previously it was understandable, since there are no things like Linuxish
/proc/efi/systab or /sys/firmware/efi/systab to read from under FreeBSD.

However, 7 months ago, ambrisko@ had added support for exposing the SMBIOS
anchor base address via kernel environment:

https://svnweb.freebsd.org/base?view=revision&revision=307326

I've patched dmidecode.c to try to get the address from hint.smbios.0.mem
and fall back to traditional address space scanning. I've tested it both
on EFI (amd64 laptop) and non-EFI (i386 desktop) machines.

---
dmidecode.c | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

diff --git a/dmidecode.c b/dmidecode.c
index 6559567..aadef75 100644
--- a/dmidecode.c
+++ b/dmidecode.c
@@ -64,6 +64,11 @@
#include <stdlib.h>
#include <unistd.h>
+#ifdef __FreeBSD__
+#include <errno.h>
+#include <kenv.h>
+#endif
+
#include "version.h"
#include "config.h"
#include "types.h"
@@ -4934,13 +4939,18 @@ static int legacy_decode(u8 *buf, const char *devmem, u32 flags)
#define EFI_NO_SMBIOS (-2)
static int address_from_efi(off_t *address)
{
+#if defined(__linux__)
FILE *efi_systab;
const char *filename;
char linebuf[64];
+#elif defined(__FreeBSD__)
+ char addrstr[KENV_MVALLEN + 1];
+#endif
int ret;
*address = 0; /* Prevent compiler warning */
+#if defined(__linux__)
/*
* Linux up to 2.6.6: /proc/efi/systab
* Linux 2.6.7 and up: /sys/firmware/efi/systab
@@ -4972,6 +4982,29 @@ static int address_from_efi(off_t *address)
if (ret == EFI_NO_SMBIOS)
fprintf(stderr, "%s: SMBIOS entry point missing\n", filename);
+#elif defined(__FreeBSD__)
+ /*
+ * On FreeBSD, SMBIOS anchor base address in UEFI mode is exposed
+ * via kernel environment:
+ * https://svnweb.freebsd.org/base?view=revision&revision=307326
+ */
+ ret = kenv(KENV_GET, "hint.smbios.0.mem", addrstr, sizeof(addrstr));
+ if (ret == -1)
+ {
+ if (errno != ENOENT)
+ perror("kenv");
+ return EFI_NOT_FOUND;
+ }
+
+ *address = strtoull(addrstr, NULL, 0);
+ if (!(opt.flags & FLAG_QUIET))
+ printf("# SMBIOS entry point at 0x%08llx\n",
+ (unsigned long long)*address);
+
+ ret = 0;
+#else
+ ret = EFI_NOT_FOUND;
+#endif
return ret;
}
--
2.9.5

58
SOURCES/0010-dmidecode-Share-common-EFI-code.patch

@ -0,0 +1,58 @@
From 97d23fb9a642574ef4415e71e4a01387d06744d6 Mon Sep 17 00:00:00 2001
From: Jean Delvare <jdelvare@suse.de>
Date: Thu, 30 Nov 2017 16:27:56 +0100
Subject: [PATCH 10/10] dmidecode: Share common EFI code

Avoid duplicating code between OS-specific paths.

---
dmidecode.c | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/dmidecode.c b/dmidecode.c
index aadef75..87faaa9 100644
--- a/dmidecode.c
+++ b/dmidecode.c
@@ -4946,6 +4946,7 @@ static int address_from_efi(off_t *address)
#elif defined(__FreeBSD__)
char addrstr[KENV_MVALLEN + 1];
#endif
+ const char *eptype;
int ret;
*address = 0; /* Prevent compiler warning */
@@ -4970,9 +4971,7 @@ static int address_from_efi(off_t *address)
|| strcmp(linebuf, "SMBIOS") == 0)
{
*address = strtoull(addrp, NULL, 0);
- if (!(opt.flags & FLAG_QUIET))
- printf("# %s entry point at 0x%08llx\n",
- linebuf, (unsigned long long)*address);
+ eptype = linebuf;
ret = 0;
break;
}
@@ -4997,14 +4996,16 @@ static int address_from_efi(off_t *address)
}
*address = strtoull(addrstr, NULL, 0);
- if (!(opt.flags & FLAG_QUIET))
- printf("# SMBIOS entry point at 0x%08llx\n",
- (unsigned long long)*address);
-
+ eptype = "SMBIOS";
ret = 0;
#else
ret = EFI_NOT_FOUND;
#endif
+
+ if (ret == 0 && !(opt.flags & FLAG_QUIET))
+ printf("# %s entry point at 0x%08llx\n",
+ eptype, (unsigned long long)*address);
+
return ret;
}
--
2.9.5

253
SPECS/dmidecode.spec

@ -0,0 +1,253 @@
Summary: Tool to analyse BIOS DMI data
Name: dmidecode
Version: 3.1
Release: 2%{?dist}
Epoch: 1
Group: System Environment/Base
License: GPLv2+
Source0: %{name}-%{version}.tar.xz
URL: http://www.nongnu.org/dmidecode/
Patch0: 0001-dmidecode-Add-system-family-direct-string-option.patch
Patch1: 0002-Goodbye-CHANGELOG-welcome-NEWS.patch
Patch2: 0003-Fix-install-doc-target.patch
Patch3: 0004-biosdecode-Add-option-pir-full.patch
Patch4: 0005-biosdecode-Clean-up-the-PIR-table-output.patch
Patch5: 0006-biosdecode-Avoid-repeating-pointer-arithmetic.patch
Patch6: 0007-dmioem-Reflect-HPE-s-new-company-name.patch
Patch7: 0008-dmioem-Sort-vendor-names-alphabetically.patch
Patch8: 0009-UEFI-support-on-FreeBSD.patch
Patch9: 0010-dmidecode-Share-common-EFI-code.patch
Patch10: 0001-dmidecode-Fix-firmware-version-of-TPM-device.patch
Patch11: 0002-dmioem-decode-HPE-UEFI-type-219-Misc-Features.patch
Patch12: 0003-dmidecode-Use-lowercase-letters-for-UUID.patch

Buildroot: %{_tmppath}/%{name}-%{version}-root
BuildRequires: automake autoconf
ExclusiveArch: %{ix86} x86_64 ia64 aarch64

%description
dmidecode reports information about x86 & ia64 hardware as described in the
system BIOS according to the SMBIOS/DMI standard. This information
typically includes system manufacturer, model name, serial number,
BIOS version, asset tag as well as a lot of other details of varying
level of interest and reliability depending on the manufacturer.

This will often include usage status for the CPU sockets, expansion
slots (e.g. AGP, PCI, ISA) and memory module slots, and the list of
I/O ports (e.g. serial, parallel, USB).

%prep
%setup -q
%patch0 -p1 -b .add_system_family
%patch1 -p1 -b .changelog_to_new
%patch2 -p1 -b .fix_install_doc
%patch3 -p1 -b .add_option_pir
%patch4 -p1 -b .clean_up_pir
%patch5 -p1 -b .avoid_repeating
%patch6 -p1 -b .reflect_hpe
%patch7 -p1 -b .sort_vendor_names
%patch8 -p1 -b .uefi_support_bsd
%patch9 -p1 -b .share_common_efi
%patch10 -p1
%patch11 -p1
%patch12 -p1

%build
make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS -fPIE" LDFLAGS="-pie -Wl,-z,now"

%install
rm -rf ${buildroot}
make %{?_smp_mflags} DESTDIR=%{buildroot} prefix=%{_prefix} install-bin install-man

%clean
rm -rf ${buildroot}

%files
%doc AUTHORS NEWS README
%{!?_licensedir:%global license %%doc}
%license LICENSE
%{_sbindir}/dmidecode
%ifnarch ia64 aarch64
%{_sbindir}/vpddecode
%{_sbindir}/ownership
%{_sbindir}/biosdecode
%endif
%{_mandir}/man8/*

%changelog
* Thu Apr 26 2018 Lianbo Jiang <lijiang@redhat.com> - 1:3.1-1
- Sync with upstream
- Resolves: rhbz#1568227

* Wed May 3 2017 Petr Oros <poros@redhat.com> - 1:3.0-5
- Update compiler flags for hardened builds
- Resolves: #1420763

* Tue Feb 28 2017 Petr Oros <poros@redhat.com> - 1:3.0-4
- Sync with upstream
- Resolves: #1385884

* Tue Nov 8 2016 Petr Oros <poros@redhat.com> - 1:3.0-3
- Hide irrelevant fixup message
- Resolves: #1384195

* Wed Jun 29 2016 Petr Oros <poros@redhat.com> - 1:3.0-2
- Unmask LRDIMM in memmory type detail
- Resolves: #1321342

* Wed May 4 2016 Petr Oros <poros@redhat.com> - 1:3.0-1
- Update to upstream 3.0 release.
- Resolves: #1273487

* Mon Sep 21 2015 Petr Oros <poros@redhat.com> - 1:2.12-9
- dmioem: Decode Acer-specific DMI type 170
- dmioem: Decode HP-specific DMI types 212 and 219
- dmioem: Decode HP-specific DMI type 233, and refactored 209 and 221 to use a common function
- Resolves: #1232501

* Thu Jul 23 2015 Petr Oros <poros@redhat.com> - 1:2.12-8
- Support upstream sysfs filename for smbios entry point (Mark Salter)
- Resolves: #1232153

* Thu Jul 16 2015 Petr Oros <poros@redhat.com> - 1:2.12-7
- only use SMBIOS3 on aarch64 systems (Jeffrey Bastian)
- Resolves: #1242409

* Wed May 13 2015 Petr Oros <poros@redhat.com> - 1:2.12-6
- Add preliminary support for SMBIOS 64-bit entry point (Mark Salter)
- Add support for DDR4 memmory

* Fri Feb 21 2014 Anton Arapov <anton@redhat.com> - 2.12-5
- Spec file fixes for the Aarch64. (John Feeney )

* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 1:2.12-4
- Mass rebuild 2013-12-27

* Thu May 09 2013 Anton Arapov <anton@redhat.com> - 1:2.12-3
- Accomodate few more necesary, to enable SMBIOS v2.8, changes from upstream.

* Fri Apr 26 2013 Anton Arapov <anton@redhat.com> - 1:2.12-2
- Fixup, so that it actually read SMBIOS 2.8.0 table.

* Wed Apr 17 2013 Anton Arapov <anton@redhat.com> - 1:2.12-1
- Update to upstream 2.12 release.

* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:2.11-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:2.11-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Mon Mar 26 2012 Anton Arapov <anton@redhat.com> - 1:2.11-8
- Update dmidecode.8 manpage

* Mon Mar 12 2012 Anton Arapov <anton@redhat.com> - 1:2.11-7
- Add "PXE" to HP OEM Type 209 record output
- Properly print the hexadecimal value of invalid string characters

* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:2.11-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Mon Nov 14 2011 Anton Arapov <anton@redhat.com> - 1:2.11-5
- Fix the wrong call of the dmi_chassis_type function call. Thus fix
an issue on the systems with the chassis lock available, application
doesn't fall out with the out of spec error anymore.

* Tue May 03 2011 Anton Arapov <anton@redhat.com> - 1:2.11-4
- Update to SMBIOS 2.7.1
- Fix the boundaries check in type16

* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:2.11-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Wed Jan 19 2011 Anton Arapov <anton@redhat.com> - 1:2.11-2
- Update to upstream 2.11 release. (#623047)

* Wed Jan 19 2011 Anton Arapov <anton@redhat.com> - 1:2.11-1
- Fix the changelog's NVR.

* Mon Nov 08 2010 Prarit Bhargava <prarit@redhat.com> - 1:2.10-3
- updated kernel.spec for review [BZ 225698]

* Fri Oct 15 2010 Anton Arapov <aarapov@redhat.com> - 1:2.10-2
- Does not build with gnu make v3.82+ (#631407)

* Fri Dec 18 2009 Prarit Bhargava <prarit@redhat.com> - 1:2.10-1.40
- Fix rpmlint errors in specfile

* Fri Aug 28 2009 Jarod Wilson <jarod@redhat.com> - 1:2.10-1.39
- Fix cache associativity mapping (was missing some commas)

* Mon Aug 24 2009 Jarod Wilson <jarod@redhat.com> - 1:2.10-1.38
- Add support for newer sockets, processors and pcie slot types

* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:2.10-1.36.2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Fri Feb 27 2009 Matthias Clasen <mclasen@redhat.com>
- Build for i586

* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:2.10-1.34.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Mon Feb 09 2009 Prarit Bhargava <prarit@redhat.com> 1:2.10
- rebuild with version 2.10

* Wed Jan 28 2009 Prarit Bhargava <prarit@redhat.com> 1:2.9-1.32
- fix Summary field (BZ 225698)

* Wed Jul 16 2008 Tom "spot" Callaway <tcallawa@redhat.com> 1:2.9-1.30
- fix license tag

* Fri Mar 14 2008 Doug Chapman <doug.chapman@hp.com> 1:2.9-1.29.1
- Do not package vpddecode, ownership and biosdecode on ia64 since those are x86 only

* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 1:2.9-1.27.1
- Autorebuild for GCC 4.3

* Mon Oct 22 2007 Prarit Bhargava <prarit@redhat.com> - 1:2.9
- rebuild with version 2.9
* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 1:2.7-1.25.1
- rebuild

* Thu Feb 09 2006 Dave Jones <davej@redhat.com>
- rebuild.

* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
- rebuilt

* Mon Nov 28 2005 Dave Jones <davej@redhat.com>
- Integrate several specfile cleanups from Robert Scheck. (#172543)

* Sat Sep 24 2005 Dave Jones <davej@redhat.com>
- Revert yesterdays patch, its unneeded in 2.7

* Fri Sep 23 2005 Dave Jones <davej@redhat.com>
- Don't try to modify areas mmap'd read-only.
- Don't build on ia64 any more.
(It breaks on some boxes very badly, and works on very few).

* Mon Sep 12 2005 Dave Jones <davej@redhat.com>
- Update to upstream 2.7

* Fri Apr 15 2005 Florian La Roche <laroche@redhat.com>
- remove empty scripts

* Wed Mar 2 2005 Dave Jones <davej@redhat.com>
- Update to upstream 2.6

* Tue Mar 1 2005 Dave Jones <davej@redhat.com>
- Rebuild for gcc4

* Tue Feb 8 2005 Dave Jones <davej@redhat.com>
- Rebuild with -D_FORTIFY_SOURCE=2

* Tue Jan 11 2005 Dave Jones <davej@redhat.com>
- Add missing Obsoletes: kernel-utils

* Mon Jan 10 2005 Dave Jones <davej@redhat.com>
- Update to upstream 2.5 release.

* Sat Dec 18 2004 Dave Jones <davej@redhat.com>
- Initial packaging, based upon kernel-utils package.

Loading…
Cancel
Save