1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 03:37:43 +00:00

Ports: Add a port of dmidecode

This commit is contained in:
Liav A 2021-01-29 14:05:06 +02:00 committed by Andreas Kling
parent c6fe1de30e
commit a9d1ddb1a5
3 changed files with 77 additions and 0 deletions

24
Ports/dmidecode/package.sh Executable file
View file

@ -0,0 +1,24 @@
#!/usr/bin/env -S bash ../.port_include.sh
port=dmidecode
version=3.1
useconfigure=false
prefix=
files="https://download.savannah.gnu.org/releases/dmidecode/dmidecode-${version}.tar.xz dmidecode-${version}.tar.xz
https://download.savannah.gnu.org/releases/dmidecode/dmidecode-${version}.tar.xz.sig dmidecode-${version}.tar.xz.sig
https://ftp.gnu.org/gnu/gnu-keyring.gpg gnu-keyring.gpg"
auth_type="sig"
auth_import_key="90DFD6523C57373D81F63D19865688D038F02FC8"
auth_opts="--keyring ./gnu-keyring.gpg dmidecode-${version}.tar.xz.sig"
install() {
run make clean
run make CC=i686-pc-serenity-gcc
}
post_install() {
mkdir -p $SERENITY_ROOT/Build/Root/bin
run make install-bin DESTDIR=$SERENITY_ROOT/Build/Root/
ln -s /usr/local/sbin/dmidecode $SERENITY_ROOT/Build/Root/bin/dmidecode
ln -s /usr/local/sbin/biosdecode $SERENITY_ROOT/Build/Root/bin/biosdecode
ln -s /usr/local/sbin/vpddecode $SERENITY_ROOT/Build/Root/bin/vpddecode
}

View file

@ -0,0 +1,31 @@
diff --git a/dmidecode.c b/dmidecode.c
index 6559567..17573a9 100644
--- a/dmidecode.c
+++ b/dmidecode.c
@@ -80,7 +80,7 @@ static const char *bad_index = "<BAD INDEX>";
#define FLAG_NO_FILE_OFFSET (1 << 0)
#define FLAG_STOP_AT_EOT (1 << 1)
-#define SYS_FIRMWARE_DIR "/sys/firmware/dmi/tables"
+#define SYS_FIRMWARE_DIR "/proc"
#define SYS_ENTRY_FILE SYS_FIRMWARE_DIR "/smbios_entry_point"
#define SYS_TABLE_FILE SYS_FIRMWARE_DIR "/DMI"
@@ -5053,7 +5053,7 @@ int main(int argc, char * const argv[])
}
/*
- * First try reading from sysfs tables. The entry point file could
+ * First try reading from procfs tables. The entry point file could
* contain one of several types of entry points, so read enough for
* the largest one, then determine what type it contains.
*/
@@ -5062,7 +5062,7 @@ int main(int argc, char * const argv[])
&& (buf = read_file(0, &size, SYS_ENTRY_FILE)) != NULL)
{
if (!(opt.flags & FLAG_QUIET))
- printf("Getting SMBIOS data from sysfs.\n");
+ printf("Getting SMBIOS data from procfs.\n");
if (size >= 24 && memcmp(buf, "_SM3_", 5) == 0)
{
if (smbios3_decode(buf, SYS_TABLE_FILE, FLAG_NO_FILE_OFFSET))

View file

@ -0,0 +1,22 @@
diff --git a/dmiopt.c b/dmiopt.c
index da42546..8d43119 100644
--- a/dmiopt.c
+++ b/dmiopt.c
@@ -259,7 +259,7 @@ int parse_command_line(int argc, char * const argv[])
{ "dump-bin", required_argument, NULL, 'B' },
{ "from-dump", required_argument, NULL, 'F' },
{ "oem-string", required_argument, NULL, 'O' },
- { "no-sysfs", no_argument, NULL, 'S' },
+ { "no-procfs", no_argument, NULL, 'S' },
{ "version", no_argument, NULL, 'V' },
{ NULL, 0, NULL, 0 }
};
@@ -353,7 +353,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"
+ " --no-procfs Do not attempt to read DMI data from procfs files\n"
" --oem-string N Only display the value of the given OEM string\n"
" -V, --version Display the version and exit\n";