Merge tag 'debian/3.7-1' into develop

New upstream release
This commit is contained in:
Jörg Frings-Fürst 2026-03-10 19:14:15 +01:00
commit 27a0bec2c1
19 changed files with 325 additions and 635 deletions

1
debian/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
files

6
debian/changelog vendored
View File

@ -1,4 +1,4 @@
dmidecode (3.7-1) UNRELEASED; urgency=medium
dmidecode (3.7-1) unstable; urgency=medium
* New upstream release.
- Refresh patches.
@ -12,8 +12,10 @@ dmidecode (3.7-1) UNRELEASED; urgency=medium
* debian/control:
- Remove redundant Priority field.
- Remove redundant Rules-Requires-Root field.
* New debian/patches/0605-man.patch (Closes: #1088088)
* Remove old patches.
-- Jörg Frings-Fürst <debian@jff.email> Tue, 10 Mar 2026 09:31:58 +0100
-- Jörg Frings-Fürst <debian@jff.email> Tue, 10 Mar 2026 11:52:04 +0100
dmidecode (3.6-2) unstable; urgency=medium

View File

@ -1,25 +0,0 @@
Author: Daniel Baumann <daniel.baumann@progress-technologies.net>
Description: Avoid overwriting build environment rather than to just extend it.
Index: trunk/Makefile
===================================================================
--- trunk.orig/Makefile
+++ trunk/Makefile
@@ -13,7 +13,7 @@
#
CC = gcc
-CFLAGS = -W -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual \
+CFLAGS += -W -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual \
-Wcast-align -Wwrite-strings -Wmissing-prototypes -Winline -Wundef
# Let lseek and mmap support 64-bit wide offsets
@@ -27,7 +27,7 @@ CFLAGS += -O2
#CFLAGS += -g
# Pass linker flags here
-LDFLAGS =
+#LDFLAGS =
DESTDIR =
prefix = /usr/local

View File

@ -1,18 +0,0 @@
Author: Petter Reinholdtsen <pere@hungry.com>
Description:
Make sure the code compiles when using -ansi. Renames non-ANSI C 'inline' to
'__inline'.
Index: trunk/types.h
===================================================================
--- trunk.orig/types.h
+++ trunk/types.h
@@ -31,7 +31,7 @@ typedef struct {
#endif
#if defined(ALIGNMENT_WORKAROUND) || defined(BIGENDIAN)
-static inline u64 U64(u32 low, u32 high)
+static __inline u64 U64(u32 low, u32 high)
{
u64 self;

View File

@ -1,50 +0,0 @@
Description: Avoid SIGBUS on mmap failure
mmap will fail with SIGBUS if trying to map a non-existent portion of
a file. While this should never happen with /dev/mem, it can happen if
passing a regular file with option -d. While people should no longer
do that, failure gracefully seems better than crashing. So check for
the file size before calling mmap.
Author: Jean Delvare <jdelvare@suse.de>
Origin: https://savannah.nongnu.org/bugs/download.php?file_id=35008
Bug: https://savannah.nongnu.org/bugs/index.php?46066
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=796963
Last-Update: 2015-10-01
----
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
--- dmidecode.orig/util.c 2015-09-29 11:27:02.136566009 +0200
+++ dmidecode/util.c 2015-09-29 11:37:24.746191083 +0200
@@ -152,6 +152,7 @@ void *mem_chunk(off_t base, size_t len,
void *p;
int fd;
#ifdef USE_MMAP
+ struct stat statbuf;
off_t mmoffset;
void *mmp;
#endif
@@ -169,6 +170,26 @@ void *mem_chunk(off_t base, size_t len,
}
#ifdef USE_MMAP
+ if (fstat(fd, &statbuf) == -1)
+ {
+ fprintf(stderr, "%s: ", devmem);
+ perror("stat");
+ free(p);
+ return NULL;
+ }
+
+ /*
+ * mmap() will fail with SIGBUS if trying to map beyond the end of
+ * the file.
+ */
+ if (S_ISREG(statbuf.st_mode) && base + (off_t)len > statbuf.st_size)
+ {
+ fprintf(stderr, "mmap: Can't map beyond end of file %s\n",
+ devmem);
+ free(p);
+ return NULL;
+ }
+
#ifdef _SC_PAGESIZE
mmoffset = base % sysconf(_SC_PAGESIZE);
#else

View File

@ -1,32 +0,0 @@
From 33b5aafc6ee6b5de9f2526fb1cf4b14d1e16e4f0 Mon Sep 17 00:00:00 2001
From: Roy Franz <roy.franz@linaro.org>
Date: Thu, 01 Oct 2015 06:41:43 +0000
Subject: Add "--no-sysfs" option description to -h output
A description of --no-sysfs was not added to the output of "-h" when
the feature was added, so add it now.
---
Index: trunk/CHANGELOG
===================================================================
--- trunk.orig/CHANGELOG
+++ trunk/CHANGELOG
@@ -1,3 +1,7 @@
+2015-10-01 Roy Franz <roy.franz@linaro.org>
+
+ * dmiopt.c: Add "--no-sysfs" option description to -h output.
+
2015-09-03 Jean Delvare <jdelvare@suse.de>
* version.h: Set version to 3.0.
Index: trunk/dmiopt.c
===================================================================
--- trunk.orig/dmiopt.c
+++ trunk/dmiopt.c
@@ -314,6 +314,7 @@ void print_help(void)
" -u, --dump Do not decode the entries\n"
" --dump-bin FILE Dump the DMI data to a binary file\n"
" --from-dump FILE Read the DMI data from a binary file\n"
+ " --no-sysfs Do not attempt to read DMI data from sysfs files\n"
" -V, --version Display the version and exit\n";
printf("%s", help);

View File

@ -1,55 +0,0 @@
From bf7bad24ce141dab5b5acc3ffb98ce5fe4a8e0f9 Mon Sep 17 00:00:00 2001
From: Xie XiuQi <xiexiuqi@huawei.com>
Date: Wed, 21 Oct 2015 13:12:50 +0000
Subject: Fix 'No SMBIOS nor DMI entry point found' on SMBIOS3
address_from_efi may return a SMBIOS or SMBIOS3 format entry
point, so add this condition.
---
Index: trunk/AUTHORS
===================================================================
--- trunk.orig/AUTHORS
+++ trunk/AUTHORS
@@ -19,6 +19,7 @@ Jarod Wilson <jarod@redhat.com>
Anton Arapov <anton@redhat.com>
Roy Franz <roy.franz@linaro.org>
Tyler Bell <tyler.bell@hp.com>
+Xie XiuQi <xiexiuqi@huawei.com>
MANY THANKS TO (IN CHRONOLOGICAL ORDER)
Werner Heuser
Index: trunk/CHANGELOG
===================================================================
--- trunk.orig/CHANGELOG
+++ trunk/CHANGELOG
@@ -1,3 +1,7 @@
+2015-10-21 Xie XiuQi <xiexiuqi@huawei.com>
+
+ * dmidecode.c: Handle SMBIOS 3.0 entry points on EFI systems.
+
2015-10-01 Roy Franz <roy.franz@linaro.org>
* dmiopt.c: Add "--no-sysfs" option description to -h output.
Index: trunk/dmidecode.c
===================================================================
--- trunk.orig/dmidecode.c
+++ trunk/dmidecode.c
@@ -4864,8 +4864,16 @@ int main(int argc, char * const argv[])
goto exit_free;
}
- if (smbios_decode(buf, opt.devmem, 0))
- found++;
+ if (memcmp(buf, "_SM3_", 5) == 0)
+ {
+ if (smbios3_decode(buf, opt.devmem, 0))
+ found++;
+ }
+ else if (memcmp(buf, "_SM_", 4) == 0)
+ {
+ if (smbios_decode(buf, opt.devmem, 0))
+ found++;
+ }
goto done;
memory_scan:

View File

@ -1,103 +0,0 @@
From de9a74e1c60210bee229fcf55b1678a99d1b44dd Mon Sep 17 00:00:00 2001
From: Jean Delvare <jdelvare@suse.de>
Date: Mon, 02 Nov 2015 08:45:26 +0000
Subject: Let read_file return the actual data size
Let read_file return the actual data size to the caller. This gives
the caller the possibility to check that the data size is as expected
and large enough for the purpose, and report to the user if not.
---
Index: trunk/CHANGELOG
===================================================================
--- trunk.orig/CHANGELOG
+++ trunk/CHANGELOG
@@ -1,3 +1,8 @@
+2015-11-02 Jean Delvare <jdelvare@suse.de>
+
+ * dmidecode.c, util.c, util.h: Let read_file return the actual data
+ size.
+
2015-10-21 Xie XiuQi <xiexiuqi@huawei.com>
* dmidecode.c: Handle SMBIOS 3.0 entry points on EFI systems.
Index: trunk/dmidecode.c
===================================================================
--- trunk.orig/dmidecode.c
+++ trunk/dmidecode.c
@@ -4748,6 +4748,7 @@ int main(int argc, char * const argv[])
int ret = 0; /* Returned value */
int found = 0;
off_t fp;
+ size_t size;
int efi;
u8 *buf;
@@ -4817,8 +4818,9 @@ int main(int argc, char * const argv[])
* contain one of several types of entry points, so read enough for
* the largest one, then determine what type it contains.
*/
+ size = 0x20;
if (!(opt.flags & FLAG_NO_SYSFS)
- && (buf = read_file(0x20, SYS_ENTRY_FILE)) != NULL)
+ && (buf = read_file(&size, SYS_ENTRY_FILE)) != NULL)
{
if (!(opt.flags & FLAG_QUIET))
printf("Getting SMBIOS data from sysfs.\n");
Index: trunk/util.c
===================================================================
--- trunk.orig/util.c
+++ trunk/util.c
@@ -94,10 +94,11 @@ int checksum(const u8 *buf, size_t len)
* needs to be freed by the caller.
* This provides a similar usage model to mem_chunk()
*
- * Returns pointer to buffer of max_len bytes, or NULL on error
+ * Returns pointer to buffer of max_len bytes, or NULL on error, and
+ * sets max_len to the length actually read.
*
*/
-void *read_file(size_t max_len, const char *filename)
+void *read_file(size_t *max_len, const char *filename)
{
int fd;
size_t r2 = 0;
@@ -115,7 +116,7 @@ void *read_file(size_t max_len, const ch
return(NULL);
}
- if ((p = malloc(max_len)) == NULL)
+ if ((p = malloc(*max_len)) == NULL)
{
perror("malloc");
return NULL;
@@ -123,7 +124,7 @@ void *read_file(size_t max_len, const ch
do
{
- r = read(fd, p + r2, max_len - r2);
+ r = read(fd, p + r2, *max_len - r2);
if (r == -1)
{
if (errno != EINTR)
@@ -140,6 +141,8 @@ void *read_file(size_t max_len, const ch
while (r != 0);
close(fd);
+ *max_len = r2;
+
return p;
}
Index: trunk/util.h
===================================================================
--- trunk.orig/util.h
+++ trunk/util.h
@@ -25,7 +25,7 @@
#define ARRAY_SIZE(x) (sizeof(x)/sizeof((x)[0]))
int checksum(const u8 *buf, size_t len);
-void *read_file(size_t len, const char *filename);
+void *read_file(size_t *len, const char *filename);
void *mem_chunk(off_t base, size_t len, const char *devmem);
int write_dump(size_t base, size_t len, const void *data, const char *dumpfile, int add);
u64 u64_range(u64 start, u64 end);

View File

@ -1,78 +0,0 @@
From 364055211b1956539c6a6268e111e244e1292c8c Mon Sep 17 00:00:00 2001
From: Jean Delvare <jdelvare@suse.de>
Date: Mon, 02 Nov 2015 08:45:31 +0000
Subject: dmidecode: Use read_file() to read the DMI table from sysfs
We shouldn't use mem_chunk() to read the DMI table from sysfs. This
will fail for SMBIOS v3 implementations which specify a maximum length
for the table rather than its exact length. The kernel will trim the
table to the actual length, so the DMI file will be shorter than the
length announced in entry point.
read_file() fits the bill in this case, as it deals with end of file
nicely.
This also helps with corrupted DMI tables, as the kernel will not
export the part of the table that it wasn't able to parse, effectively
trimming it.
This fixes bug #46176:
https://savannah.nongnu.org/bugs/?46176
Unexpected end of file error
---
Index: trunk/CHANGELOG
===================================================================
--- trunk.orig/CHANGELOG
+++ trunk/CHANGELOG
@@ -2,6 +2,9 @@
* dmidecode.c, util.c, util.h: Let read_file return the actual data
size.
+ * dmidecode.c: Use read_file to read the DMI table from sysfs.
+ This fixes Savannah bug #46176:
+ https://savannah.nongnu.org/bugs/?46176
2015-10-21 Xie XiuQi <xiexiuqi@huawei.com>
Index: trunk/dmidecode.c
===================================================================
--- trunk.orig/dmidecode.c
+++ trunk/dmidecode.c
@@ -4521,16 +4521,29 @@ static void dmi_table(off_t base, u32 le
printf("\n");
}
- /*
- * When we are reading the DMI table from sysfs, we want to print
- * the address of the table (done above), but the offset of the
- * data in the file is 0. When reading from /dev/mem, the offset
- * in the file is the address.
- */
if (flags & FLAG_NO_FILE_OFFSET)
- base = 0;
+ {
+ /*
+ * When reading from sysfs, the file may be shorter than
+ * announced. For SMBIOS v3 this is expcted, as we only know
+ * the maximum table size, not the actual table size. For older
+ * implementations (and for SMBIOS v3 too), this would be the
+ * result of the kernel truncating the table on parse error.
+ */
+ size_t size = len;
+ buf = read_file(&size, devmem);
+ if (!(opt.flags & FLAG_QUIET) && num && size != (size_t)len)
+ {
+ printf("Wrong DMI structures length: %u bytes "
+ "announced, only %lu bytes available.\n",
+ len, (unsigned long)size);
+ }
+ len = size;
+ }
+ else
+ buf = mem_chunk(base, len, devmem);
- if ((buf = mem_chunk(base, len, devmem)) == NULL)
+ if (buf == NULL)
{
fprintf(stderr, "Table is unreachable, sorry."
#ifndef USE_MMAP

View File

@ -1,27 +0,0 @@
From ab02b117511230e46bbef7febbd854b9c832c13c Mon Sep 17 00:00:00 2001
From: Xie XiuQi <xiexiuqi@huawei.com>
Date: Mon, 01 Feb 2016 08:30:31 +0000
Subject: Use DWORD for Structure table maximum size in SMBIOS3
0Ch DWORD "Structure table maximum size"
Maximum size of SMBIOS Structure Table, pointed to by
the Structure Table Address, in bytes. The actual size is
guaranteed to be less or equal to the maximum size.
Signed-off-by: Xie XiuQi <xiexiuqi@huawei.com>
Signed-off-by: Jean Delvare <jdelvare@suse.de>
---
Index: trunk/dmidecode.c
===================================================================
--- trunk.orig/dmidecode.c
+++ trunk/dmidecode.c
@@ -4612,7 +4612,7 @@ static int smbios3_decode(u8 *buf, const
}
dmi_table(((off_t)offset.h << 32) | offset.l,
- WORD(buf + 0x0C), 0, ver, devmem, flags | FLAG_STOP_AT_EOT);
+ DWORD(buf + 0x0C), 0, ver, devmem, flags | FLAG_STOP_AT_EOT);
if (opt.flags & FLAG_DUMP_BIN)
{

View File

@ -1,46 +0,0 @@
From cff11afa886a0147d734b650755d232b5e7f2099 Mon Sep 17 00:00:00 2001
From: Jean Delvare <jdelvare@suse.de>
Date: Tue, 03 May 2016 13:32:21 +0000
Subject: dmidecode: Hide irrelevant fixup message
Only display the message about type 34 length fixup if the entry in
question is going to be displayed. Otherwise it's only confusing.
This fixes bug #109024:
http://savannah.nongnu.org/support/?109024
Fixes: 3f70b3515d91 ("dmidecode: Fix up invalid DMI type 34 structure length")
---
Index: trunk/dmidecode.c
===================================================================
--- trunk.orig/dmidecode.c
+++ trunk/dmidecode.c
@@ -2946,7 +2946,7 @@ static void dmi_64bit_memory_error_addre
* first 5 characters of the device name to be trimmed. It's easy to
* check and fix, so do it, but warn.
*/
-static void dmi_fixup_type_34(struct dmi_header *h)
+static void dmi_fixup_type_34(struct dmi_header *h, int display)
{
u8 *p = h->data;
@@ -2954,7 +2954,9 @@ static void dmi_fixup_type_34(struct dmi
if (h->length == 0x10
&& is_printable(p + 0x0B, 0x10 - 0x0B))
{
- printf("Invalid entry length (%u). Fixed up to %u.\n", 0x10, 0x0B);
+ if (!(opt.flags & FLAG_QUIET) && display)
+ printf("Invalid entry length (%u). Fixed up to %u.\n",
+ 0x10, 0x0B);
h->length = 0x0B;
}
}
@@ -4443,7 +4445,7 @@ static void dmi_table_decode(u8 *buf, u3
/* Fixup a common mistake */
if (h.type == 34)
- dmi_fixup_type_34(&h);
+ dmi_fixup_type_34(&h, display);
/* look for the next handle */
next = data + h.length;

View File

@ -1,54 +0,0 @@
Description: Cherry picked fix Only scan /dev/mem for entry point on x86
Author: <name and email of author, optional>
Origin: upstream, http://git.savannah.nongnu.org/cgit/dmidecode.git/commit/?id=e12ec26e19e02281d3e7258c3aabb88a5cf5ec1d
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=946911
Last-Update: 2019-12-19
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
Index: trunk/dmidecode.c
===================================================================
--- trunk.orig/dmidecode.c
+++ trunk/dmidecode.c
@@ -2,7 +2,7 @@
* DMI Decode
*
* Copyright (C) 2000-2002 Alan Cox <alan@redhat.com>
- * Copyright (C) 2002-2018 Jean Delvare <jdelvare@suse.de>
+ * Copyright (C) 2002-2019 Jean Delvare <jdelvare@suse.de>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -5534,7 +5534,7 @@ int main(int argc, char * const argv[])
off_t fp;
size_t size;
int efi;
- u8 *buf;
+ u8 *buf = NULL;
/*
* We don't want stdout and stderr to be mixed up if both are
@@ -5638,7 +5638,7 @@ int main(int argc, char * const argv[])
printf("Failed to get SMBIOS data from sysfs.\n");
}
- /* Next try EFI (ia64, Intel-based Mac) */
+ /* Next try EFI (ia64, Intel-based Mac, arm64) */
efi = address_from_efi(&fp);
switch (efi)
{
@@ -5671,6 +5671,7 @@ int main(int argc, char * const argv[])
goto done;
memory_scan:
+#if defined __i386__ || defined __x86_64__
if (!(opt.flags & FLAG_QUIET))
printf("Scanning %s for entry point.\n", opt.devmem);
/* Fallback to memory scan (x86, x86_64) */
@@ -5713,6 +5714,7 @@ memory_scan:
}
}
}
+#endif
done:
if (!found && !(opt.flags & FLAG_QUIET))

View File

@ -1,18 +0,0 @@
Description: Fix the condition error in ascii_filter
Origin: upstream, http://git.savannah.gnu.org/cgit/dmidecode.git/commit/?id=1117390ccd9cea139638db6f460bb6de70e28f94
Last-Update: 2021-05-07
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
Index: trunk/dmidecode.c
===================================================================
--- trunk.orig/dmidecode.c
+++ trunk/dmidecode.c
@@ -116,7 +116,7 @@ static void ascii_filter(char *bp, size_
size_t i;
for (i = 0; i < len; i++)
- if (bp[i] < 32 || bp[i] == 127)
+ if (bp[i] < 32 || bp[i] >= 127)
bp[i] = '.';
}

View File

@ -1,21 +0,0 @@
Description: Fix crash with -u option
Origin: upstream, http://git.savannah.gnu.org/cgit/dmidecode.git/commit/?id=11e134e54d15e67a64c39a623f492a28df922517
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=987033
Last-Update: 2021-05-07
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
Index: trunk/dmidecode.c
===================================================================
--- trunk.orig/dmidecode.c
+++ trunk/dmidecode.c
@@ -248,9 +248,9 @@ static void dmi_dump(const struct dmi_he
{
int j, l = strlen(s) + 1;
- off = 0;
for (row = 0; row < ((l - 1) >> 4) + 1; row++)
{
+ off = 0;
for (j = 0; j < 16 && j < l - (row << 4); j++)
off += sprintf(raw_data + off,
j ? " %02X" : "%02X",

View File

@ -1,43 +0,0 @@
Description: Use read_file() instead of mem_chunk()
Origin: upstream, https://git.savannah.gnu.org/cgit/dmidecode.git/commit/?id=c76ddda0ba0aa99a55945e3290095c2ec493c892
Forwarded: not-needed
Last-Update: 2023-07-15
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
Index: trunk/dmidecode.c
===================================================================
--- trunk.orig/dmidecode.c
+++ trunk/dmidecode.c
@@ -6025,15 +6025,23 @@ int main(int argc, char * const argv[])
pr_comment("dmidecode %s", VERSION);
/* Read from dump if so instructed */
+ size = 0x20;
if (opt.flags & FLAG_FROM_DUMP)
{
if (!(opt.flags & FLAG_QUIET))
pr_info("Reading SMBIOS/DMI data from file %s.",
opt.dumpfile);
- if ((buf = mem_chunk(0, 0x20, opt.dumpfile)) == NULL)
+ if ((buf = read_file(0, &size, opt.dumpfile)) == NULL)
{
ret = 1;
goto exit_free;
+ }
+
+ /* Truncated entry point can't be processed */
+ if (size < 0x20)
+ {
+ ret = 1;
+ goto done;
}
if (memcmp(buf, "_SM3_", 5) == 0)
@@ -6059,7 +6067,6 @@ int main(int argc, char * const argv[])
* contain one of several types of entry points, so read enough for
* the largest one, then determine what type it contains.
*/
- size = 0x20;
if (!(opt.flags & FLAG_NO_SYSFS)
&& (buf = read_file(0, &size, SYS_ENTRY_FILE)) != NULL)
{

View File

@ -1,32 +0,0 @@
Description: HPE OEM Record 237 Firmware change
Origin: upstream, http://git.savannah.gnu.org/cgit/dmidecode.git/commit/?id=80de376231e903d2cbea95e51ffea31860502159
Forwarded: not-needed
Last-Update: 2023-07-15
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
Index: trunk/dmioem.c
===================================================================
--- trunk.orig/dmioem.c
+++ trunk/dmioem.c
@@ -1094,7 +1094,8 @@ static int dmi_decode_hp(const struct dm
* 0x06 | Manufacture|STRING | DIMM Manufacturer
* 0x07 | Part Number|STRING | DIMM Manufacturer's Part Number
* 0x08 | Serial Num |STRING | DIMM Vendor Serial Number
- * 0x09 | Spare Part |STRING | DIMM Spare Part Number
+ * 0x09 | Man Date | BYTE | DIMM Manufacture Date (YEAR) in BCD
+ * 0x0A | Man Date | BYTE | DIMM Manufacture Date (WEEK) in BCD
*/
if (gen < G9) return 0;
pr_handle_name("%s DIMM Vendor Information", company);
@@ -1105,8 +1106,9 @@ static int dmi_decode_hp(const struct dm
pr_attr("DIMM Manufacturer Part Number", "%s", dmi_string(h, data[0x07]));
if (h->length < 0x09) break;
pr_attr("DIMM Vendor Serial Number", "%s", dmi_string(h, data[0x08]));
- if (h->length < 0x0A) break;
- pr_attr("DIMM Spare Part Number", "%s", dmi_string(h, data[0x09]));
+ if (h->length < 0x0B) break;
+ if (WORD(data + 0x09))
+ pr_attr("DIMM Manufacture Date", "20%02x-W%02x", data[0x09], data[0x0A]);
break;
case 238:

View File

@ -1,16 +0,0 @@
Description: dmidecode.8 Fix groff error
Author: Soren Stoutner <soren@debian.org>
Forwarded: https://savannah.nongnu.org/patch/index.php?10463
Last-Update: 2024-07-07
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
Index: trunk/man/dmidecode.8
===================================================================
--- trunk.orig/man/dmidecode.8
+++ trunk/man/dmidecode.8
@@ -1,3 +1,5 @@
+'\" t
+.\" ** The above line should force tbl to be a preprocessor **
.TH DMIDECODE 8 "February 2023" "dmidecode"
.\"
.SH NAME

319
debian/patches/0605-man.patch vendored Normal file
View File

@ -0,0 +1,319 @@
Description: Some remarks and editorial changes
Author: Bjarni Ingi Gislason <bjarniig@simnet.is>
Origin: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1088088
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1088088
Forwarded: no: due to constant network errors
Last-Update: 2026-03-10
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
Index: trunk/man/dmidecode.8
===================================================================
--- trunk.orig/man/dmidecode.8
+++ trunk/man/dmidecode.8
@@ -45,39 +45,52 @@ Base Board Information
Each record has:
.IP \(bu "\w'\(bu'u+1n"
-A handle. This is a unique identifier, which allows records to
-reference each other. For example, processor records usually reference
-cache memory records using their handles.
+A handle.
+This is a unique identifier,
+which allows records to reference each other.
+For example,
+processor records usually reference cache memory records
+using their handles.
.IP \(bu
-A type. The \s-1SMBIOS\s0 specification defines different types of elements
-a computer can be made of. In this example, the type is 2, which
-means that the record contains "Base Board Information".
+A type.
+The \s-1SMBIOS\s0 specification defines different types of elements
+a computer can be made of.
+In this example,
+the type is 2,
+which means that the record contains "Base Board Information".
.IP \(bu
-A size. Each record has a 4-byte header (2 for the handle, 1 for the type,
-1 for the size), the rest is used by the record data. This value doesn't
-take text strings into account (these are placed at the end of the record),
-so the actual length of the record may be (and is often) greater than the
-displayed value.
+A size.
+Each record has a 4-byte header
+(2 for the handle, 1 for the type, 1 for the size),
+the rest is used by the record data.
+This value doesn't take text strings into account
+(these are placed at the end of the record),
+so the actual length of the record may be
+(and is often)
+greater than the displayed value.
.IP \(bu
-Decoded values. The information presented of course depends on the type
-of record. Here, we learn about the board's manufacturer, model, version
-and serial number.
+Decoded values.
+The information presented of course depends on the type of record.
+Here, we learn about the board's manufacturer,
+model, version and serial number.
.\"
.SH OPTIONS
.TP
-.BR "-d" ", " "--dev-mem \fIFILE\fP"
+.BR "\-d" ", " "\-\-dev-mem \fIFILE\fP"
Read memory from device \fIFILE\fP (default: \fI/dev/mem\fP)
.TP
-.BR "-q" ", " "--quiet"
-Be less verbose. Unknown, inactive and \s-1OEM\s0-specific entries are not
-displayed. Meta-data and handle references are hidden.
-.TP
-.BR " " " " "--no-quirks"
-Decode everything exactly as it is in the table, without trying to fix up
-common mistakes or hide irrelevant fields.
+.BR "\-q" ", " "\-\-quiet"
+Be less verbose.
+Unknown, inactive and \s-1OEM\s0-specific entries are not displayed.
+Meta-data and handle references are hidden.
+.TP
+.BR " " " " "\-\-no-quirks"
+Decode everything exactly as it is in the table,
+without trying to fix up common mistakes
+or hide irrelevant fields.
This mode is primarily aimed at firmware developers.
.TP
-.BR "-s" ", " "--string \fIKEYWORD\fP"
+.BR "\-s" ", " "\-\-string \fIKEYWORD\fP"
Only display the value of the \s-1DMI\s0 string identified by \fIKEYWORD\fP.
It must be a keyword from the following list:
.nh
@@ -113,33 +126,35 @@ firmware (regardless of it technically i
while "firmware" designates the embedded controller firmware, if applicable.
Each keyword corresponds to a given \s-1DMI\s0 type and a given offset
within this entry type.
-Not all strings may be meaningful or even defined on all systems. Some
-keywords may return more than one result on some systems (e.g.
+Not all strings may be meaningful or even defined on all systems.
+Some keywords may return more than one result on some systems
+(e.g.,
.nh
.B processor\-version
.hy
on a multi-processor system).
-If \fIKEYWORD\fP is not provided or not valid, a list of all valid
-keywords is printed and
+If \fIKEYWORD\fP is not provided or not valid,
+a list of all valid keywords is printed and
.B dmidecode
exits with an error.
This option cannot be used more than once.
-Note: on Linux, most of these strings can alternatively be read directly
-from
+Note: on Linux,
+most of these strings can alternatively be read directly from
.BR sysfs ,
typically from files under
.IR /sys/devices/virtual/dmi/id .
Most of these files are even readable by regular users.
.TP
-.BR " " " " "--list-strings"
-List available string keywords, which can then be passed to the \fB--string\fP
-option.
-.TP
-.BR "-t" ", " "--type \fITYPE\fP"
-Only display the entries of type \fITYPE\fP. It can be either a
-\s-1DMI\s0 type number, or a comma-separated list of type numbers, or a
-keyword from the following list:
+.BR " " " " "\-\-list-strings"
+List available string keywords,
+which can then be passed to the \fB\-\-string\fP option.
+.TP
+.BR "\-t" ", " "\-\-type \fITYPE\fP"
+Only display the entries of type \fITYPE\fP.
+It can be either a \s-1DMI\s0 type number,
+or a comma-separated list of type numbers,
+or a keyword from the following list:
.nh
.BR bios ,
.BR system ,
@@ -169,49 +184,54 @@ option.
Only display the entry whose handle matches \fIHANDLE\fP.
\fIHANDLE\fP is a 16-bit integer.
.TP
-.BR "-u" ", " "--dump"
-Do not decode the entries, dump their contents as hexadecimal instead.
-Note that this is still a text output, no binary data will be thrown upon
-you. The strings attached to each entry are displayed as both
-hexadecimal and \s-1ASCII\s0. This option is mainly useful for debugging.
-.TP
-.BR " " " " "--dump-bin \fIFILE\fP"
-Do not decode the entries, instead dump the DMI data to a file in binary
-form. The generated file is suitable to pass to \fB--from-dump\fP
-later.
+.BR "\-u" ", " "\-\-dump"
+Do not decode the entries,
+dump their contents as hexadecimal instead.
+Note that this is still a text output,
+no binary data will be thrown upon you.
+The strings attached to each entry
+are displayed as both hexadecimal and \s-1ASCII\s0.
+This option is mainly useful for debugging.
+.TP
+.BR " " " " "\-\-dump-bin \fIFILE\fP"
+Do not decode the entries,
+instead dump the DMI data to a file in binary form.
+The generated file is suitable to pass to \fB\-\-from-dump\fP later.
\fIFILE\fP must not exist.
.TP
-.BR " " " " "--from-dump \fIFILE\fP"
+.BR " " " " "\-\-from-dump \fIFILE\fP"
Read the DMI data from a binary file previously generated using
-\fB--dump-bin\fP.
+\fB\-\-dump-bin\fP.
.TP
-.BR " " " " "--no-sysfs"
-Do not attempt to read DMI data from sysfs files. This is mainly useful for
-debugging.
-.TP
-.BR " " " " "--oem-string \fIN\fP"
-Only display the value of the \s-1OEM\s0 string number \fIN\fP. The first
-\s-1OEM\s0 string has number \fB1\fP. With special value \fBcount\fP, return the
-number of OEM strings instead.
+.BR " " " " "\-\-no-sysfs"
+Do not attempt to read DMI data from sysfs files.
+This is mainly useful for debugging.
+.TP
+.BR " " " " "\-\-oem-string \fIN\fP"
+Only display the value of the \s-1OEM\s0 string number \fIN\fP.
+The first \s-1OEM\s0 string has number \fB1\fP.
+With special value \fBcount\fP,
+return the number of OEM strings instead.
.TP
-.BR "-h" ", " "--help"
+.BR "\-h" ", " "\-\-help"
Display usage information and exit
.TP
-.BR "-V" ", " "--version"
+.BR "\-V" ", " "\-\-version"
Display the version and exit
.P
Options
-.BR --string ,
-.BR --type,
-.BR --dump-bin " and " --oem-string
+.BR \-\-string ,
+.BR \-\-type,
+.BR \-\-dump-bin " and " \-\-oem-string
determine the output format and are mutually exclusive.
.P
Please note in case of
.B dmidecode
-is run on a system with firmware that boasts new SMBIOS specification, which
-is not supported by the tool yet, it will print out relevant message in
-addition to requested data on the very top of the output. Thus informs the
-output data is not reliable.
+is run on a system with BIOS that boasts new SMBIOS specification,
+which is not supported by the tool yet,
+it will print out relevant message
+in addition to requested data on the very top of the output.
+Thus informs the output data is not reliable.
.\"
.SH "DMI TYPES"
The \s-1SMBIOS\s0 specification defines the following \s-1DMI\s0 types:
@@ -265,13 +285,15 @@ Type Information
42 Management Controller Host Interface
.TE
-Additionally, type 126 is used for disabled entries and type 127 is an
-end-of-table marker. Types 128 to 255 are for \s-1OEM\s0-specific data.
+Additionally, type 126 is used for disabled entries
+and type 127 is an end-of-table marker.
+Types 128 to 255 are for \s-1OEM\s0-specific data.
.B dmidecode
-will display these entries by default, but it can only decode them
+will display these entries by default,
+but it can only decode them
when the vendors have contributed documentation or code for them.
-Keywords can be used instead of type numbers with \fB--type\fP.
+Keywords can be used instead of type numbers with \fB\-\-type\fP.
Each keyword is equivalent to a list of type numbers:
.TS
@@ -290,18 +312,20 @@ connector 8
slot 9
.TE
-Keywords are matched case-insensitively. The following command lines are equivalent:
+Keywords are matched case-insensitively.
+The following command lines are equivalent:
.IP \(bu "\w'\(bu'u+1n"
-dmidecode --type 0 --type 13
+dmidecode \-\-type 0 \-\-type 13
.IP \(bu
-dmidecode --type 0,13
+dmidecode \-\-type 0,13
.IP \(bu
-dmidecode --type bios
+dmidecode \-\-type bios
.IP \(bu
-dmidecode --type BIOS
+dmidecode \-\-type BIOS
.\"
.SH BINARY DUMP FILE FORMAT
-The binary dump files generated by \fB--dump-bin\fP and read using \fB--from-dump\fP
+The binary dump files generated by \fB\-\-dump-bin\fP
+and read using \fB\-\-from-dump\fP
are formatted as follows:
.IP \(bu "\w'\(bu'u+1n"
The SMBIOS or DMI entry point is located at offset 0x00.
@@ -310,18 +334,27 @@ It is crafted to hard-code the table add
The DMI table is located at offset 0x20.
.\"
.SH UUID FORMAT
-There is some ambiguity about how to interpret the UUID fields prior to SMBIOS
-specification version 2.6. There was no mention of byte swapping, and RFC 4122
-says that no byte swapping should be applied by default. However, SMBIOS
-specification version 2.6 (and later) explicitly states that the first 3 fields
-of the UUID should be read as little-endian numbers (byte-swapped).
-Furthermore, it implies that the same was already true for older versions of
-the specification, even though it was not mentioned. In practice, many hardware
-vendors were not byte-swapping the UUID. So, in order to preserve
-compatibility, it was decided to interpret the UUID fields according to RFC
-4122 (no byte swapping) when the SMBIOS version is older than 2.6, and to
-interpret the first 3 fields as little-endian (byte-swapped) when the SMBIOS
-version is 2.6 or later. The Linux kernel follows the same logic.
+There is some ambiguity about how to interpret the UUID fields prior to
+SMBIOS specification version 2.6.
+There was no mention of byte swapping,
+and RFC 4122 says that no byte swapping should be applied by default.
+However, SMBIOS specification version 2.6 (and later)
+explicitly states
+that the first 3 fields of the UUID should be read as little-endian numbers
+(byte-swapped).
+Furthermore,
+it implies that the same was already true for older versions of the
+specification,
+even though it was not mentioned.
+In practice, many hardware vendors were not byte-swapping the UUID.
+So, in order to preserve compatibility,
+it was decided to interpret the UUID fields according to RFC 4122
+(no byte swapping)
+when the SMBIOS version is older than 2.6,
+and to interpret the first 3 fields as little-endian
+(byte-swapped)
+when the SMBIOS version is 2.6 or later.
+The Linux kernel follows the same logic.
.\"
.SH FILES
.I /dev/mem
@@ -333,7 +366,8 @@ version is 2.6 or later. The Linux kerne
(Linux only)
.\"
.SH BUGS
-More often than not, information contained in the \s-1DMI\s0 tables is inaccurate,
+More often than not,
+information contained in the \s-1DMI\s0 tables is inaccurate,
incomplete or simply wrong.
.\"
.SH AUTHORS

16
debian/patches/series vendored
View File

@ -1,16 +1,2 @@
#0145-Fix_condition_error_in_ascii_filter.patch
#0150-Fix_crash.patch
#0100-ansi-c.patch
0605-man.patch
0001-hurd.patch
#0005-build.patch
#0105-dmidecode-avoid-sigbus.patch
#0110-nosysfs.patch
#0115-no_smbios_DMI_entry_point.patch
#0120-return_actual_data_size.patch
#0125-use_read_file_to_read_DMI_table_from_sysfs.patch
#0130-use_DWORD_for_table_max_size.patch
#0135-hide_fixup_msg.patch
#0140-Fix_scan_entry_point.patch
#0155-use_read_file.patch
#0160-HPE_OEM_Firmware_change.patch
#0600-Fix-groff-error.patch