mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 03:27:45 +00:00
Ports: Add a port of dmidecode
This commit is contained in:
parent
c6fe1de30e
commit
a9d1ddb1a5
3 changed files with 77 additions and 0 deletions
24
Ports/dmidecode/package.sh
Executable file
24
Ports/dmidecode/package.sh
Executable 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
|
||||||
|
}
|
31
Ports/dmidecode/patches/dmidecode.patch
Normal file
31
Ports/dmidecode/patches/dmidecode.patch
Normal 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))
|
22
Ports/dmidecode/patches/dmiopt.patch
Normal file
22
Ports/dmidecode/patches/dmiopt.patch
Normal 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";
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue