import lshw-B.02.18-21.el8
This commit is contained in:
commit
72876cdb6c
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
SOURCES/lshw-B.02.18.tar.gz
|
1
.lshw.metadata
Normal file
1
.lshw.metadata
Normal file
@ -0,0 +1 @@
|
||||
c0240f5e53cf40769d52e316719e8010ea6bdea3 SOURCES/lshw-B.02.18.tar.gz
|
64
SOURCES/0001-merge-Github-PR-40-and-41.patch
Normal file
64
SOURCES/0001-merge-Github-PR-40-and-41.patch
Normal file
@ -0,0 +1,64 @@
|
||||
From 028f6b229a138211d17bb32b8668dc73e6724464 Mon Sep 17 00:00:00 2001
|
||||
From: Lyonel Vincent <lyonel@ezix.org>
|
||||
Date: Thu, 14 Jun 2018 19:17:26 +0200
|
||||
Subject: [PATCH 1/8] merge Github PR #40 and #41
|
||||
|
||||
Properly handle scsi device type 0x14 (== 20) to add ZBC and ZAC host
|
||||
managed zoned block devices to the "disk" class. While at it, also add
|
||||
in scsi_type() the missing type name string for the device
|
||||
type 0xe (== 14).
|
||||
|
||||
---
|
||||
lshw.spec.in | 2 +-
|
||||
src/core/scsi.cc | 8 +++++++-
|
||||
2 files changed, 8 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lshw.spec.in b/lshw.spec.in
|
||||
index c597379c3bc8..f7f88b323ce9 100644
|
||||
--- a/lshw.spec.in
|
||||
+++ b/lshw.spec.in
|
||||
@@ -12,7 +12,7 @@ Group: Applications/System
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
|
||||
%description
|
||||
-lshw (Hardware Lister) is a small tool to provide detailed informaton on
|
||||
+lshw (Hardware Lister) is a small tool to provide detailed information on
|
||||
the hardware configuration of the machine. It can report exact memory
|
||||
configuration, firmware version, mainboard configuration, CPU version
|
||||
and speed, cache configuration, bus speed, etc. on DMI-capable x86s
|
||||
diff --git a/src/core/scsi.cc b/src/core/scsi.cc
|
||||
index 75061c0fb195..4992c889dd12 100644
|
||||
--- a/src/core/scsi.cc
|
||||
+++ b/src/core/scsi.cc
|
||||
@@ -260,6 +260,10 @@ static const char *scsi_type(int type)
|
||||
return "Medium Changer";
|
||||
case 0xd:
|
||||
return "Enclosure";
|
||||
+ case 0xe:
|
||||
+ return "Simplified direct-access device";
|
||||
+ case 0x14:
|
||||
+ return "Host managed zoned block device";
|
||||
default:
|
||||
return "";
|
||||
}
|
||||
@@ -706,6 +710,7 @@ static void scan_sg(hwNode & n)
|
||||
{
|
||||
case 0:
|
||||
case 14:
|
||||
+ case 20:
|
||||
device = hwNode("disk", hw::disk);
|
||||
break;
|
||||
case 1:
|
||||
@@ -752,7 +757,8 @@ static void scan_sg(hwNode & n)
|
||||
}
|
||||
if ((m_id.scsi_type == 4) || (m_id.scsi_type == 5))
|
||||
scan_cdrom(device);
|
||||
- if ((m_id.scsi_type == 0) || (m_id.scsi_type == 7) || (m_id.scsi_type == 14))
|
||||
+ if ((m_id.scsi_type == 0) || (m_id.scsi_type == 7) ||
|
||||
+ (m_id.scsi_type == 14) || (m_id.scsi_type == 20))
|
||||
scan_disk(device);
|
||||
|
||||
if (!adapter_businfo.empty())
|
||||
--
|
||||
2.17.1
|
||||
|
@ -0,0 +1,72 @@
|
||||
From 60173f077a54610e7b80f24e9189aee29fbd6012 Mon Sep 17 00:00:00 2001
|
||||
From: Dan Callaghan <dcallagh@redhat.com>
|
||||
Date: Mon, 9 Jul 2018 17:46:39 +1000
|
||||
Subject: [PATCH 2/8] Avoid very long IDE programming interface names as
|
||||
capabilities
|
||||
|
||||
Recent versions of the PCIID database added programming interface names
|
||||
for IDE controllers, like this:
|
||||
|
||||
01 IDE interface
|
||||
00 ISA Compatibility mode-only controller
|
||||
05 PCI native mode-only controller
|
||||
0a ISA Compatibility mode controller, supports both channels switched to PCI native mode
|
||||
0f PCI native mode controller, supports both channels switched to ISA compatibility mode
|
||||
80 ISA Compatibility mode-only controller, supports bus mastering
|
||||
85 PCI native mode-only controller, supports bus mastering
|
||||
8a ISA Compatibility mode controller, supports both channels switched to PCI native mode, supports bus mastering
|
||||
8f PCI native mode controller, supports both channels switched to ISA compatibility mode, supports bus mastering
|
||||
|
||||
resulting in an awkwardly named capability for the IDE controller:
|
||||
|
||||
<capabilities>
|
||||
<capability id="ide" />
|
||||
<capability id="pci_native_mode_controller__supports_both_channels_switched_to_isa_compatibility_mode__supports_bus_mastering" />
|
||||
<capability id="bus_master" >bus mastering</capability>
|
||||
</capabilities>
|
||||
|
||||
This patch adds a special case for IDE controllers to avoid using the
|
||||
programming interface name as a capability. Instead, separate
|
||||
capabilities are added for the possible combinations:
|
||||
|
||||
<capabilities>
|
||||
<capability id="ide" />
|
||||
<capability id="isa_compat_mode" >ISA compatibility mode</capability>
|
||||
<capability id="pci_native_mode" >PCI native mode</capability>
|
||||
<capability id="bus_master" >bus mastering</capability>
|
||||
</capabilities>
|
||||
|
||||
---
|
||||
src/core/pci.cc | 16 +++++++++++++++-
|
||||
1 file changed, 15 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/core/pci.cc b/src/core/pci.cc
|
||||
index d6111fdf096d..c8380c3034be 100644
|
||||
--- a/src/core/pci.cc
|
||||
+++ b/src/core/pci.cc
|
||||
@@ -965,7 +965,21 @@ static hwNode *scan_pci_dev(struct pci_dev &d, hwNode & n)
|
||||
}
|
||||
device->setDescription(get_class_description(dclass));
|
||||
|
||||
- if (moredescription != ""
|
||||
+ if (dclass == PCI_CLASS_STORAGE_IDE)
|
||||
+ {
|
||||
+ // IDE programming interface names are really long and awkward,
|
||||
+ // so don't add them as capabilities
|
||||
+ if (progif == 0x00 || progif == 0x80)
|
||||
+ device->addCapability("isa_compat_mode", "ISA compatibility mode");
|
||||
+ else if (progif == 0x05 || progif == 0x85)
|
||||
+ device->addCapability("pci_native_mode", "PCI native mode");
|
||||
+ else if (progif == 0x0a || progif == 0x0f || progif == 0x8a || progif == 0x8f)
|
||||
+ {
|
||||
+ device->addCapability("isa_compat_mode", "ISA compatibility mode");
|
||||
+ device->addCapability("pci_native_mode", "PCI native mode");
|
||||
+ }
|
||||
+ }
|
||||
+ else if (moredescription != ""
|
||||
&& moredescription != device->getDescription())
|
||||
{
|
||||
device->addCapability(moredescription);
|
||||
--
|
||||
2.17.1
|
||||
|
27
SOURCES/0003-Set-powerpc-logo-hint.patch
Normal file
27
SOURCES/0003-Set-powerpc-logo-hint.patch
Normal file
@ -0,0 +1,27 @@
|
||||
From 4e963955897536be49df9678d07ce7529ed7bdf3 Mon Sep 17 00:00:00 2001
|
||||
From: Dan Callaghan <dcallagh@redhat.com>
|
||||
Date: Wed, 11 Jul 2018 12:48:51 +1000
|
||||
Subject: [PATCH 3/8] Set powerpc logo hint
|
||||
|
||||
Previously, when the CPU information was coming from /proc/cpuinfo, this
|
||||
logo hint was being set.
|
||||
|
||||
---
|
||||
src/core/device-tree.cc | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/core/device-tree.cc b/src/core/device-tree.cc
|
||||
index 642b3c54ece1..790362250294 100644
|
||||
--- a/src/core/device-tree.cc
|
||||
+++ b/src/core/device-tree.cc
|
||||
@@ -695,6 +695,7 @@ static void scan_devtree_cpu_power(hwNode & core)
|
||||
}
|
||||
|
||||
cpu.setDescription("CPU");
|
||||
+ cpu.addHint("logo", string("powerpc"));
|
||||
set_cpu(cpu, currentcpu++, basepath);
|
||||
|
||||
reg = get_u32(basepath + "/reg");
|
||||
--
|
||||
2.17.1
|
||||
|
49
SOURCES/0004-Fix-DIMM-info-for-older-IBM-POWER-systems.patch
Normal file
49
SOURCES/0004-Fix-DIMM-info-for-older-IBM-POWER-systems.patch
Normal file
@ -0,0 +1,49 @@
|
||||
From 5c69f583963c01afefeff967416ea79fbfafd1f6 Mon Sep 17 00:00:00 2001
|
||||
From: Dan Callaghan <dcallagh@redhat.com>
|
||||
Date: Wed, 11 Jul 2018 13:34:55 +1000
|
||||
Subject: [PATCH 4/8] Fix DIMM info for older IBM POWER systems
|
||||
|
||||
Commit f95aa917 applied the patch from #695, adding the
|
||||
scan_devtree_memory_ibm() function, but it called the function in the
|
||||
wrong place. The function finds memory-controller@* nodes on older IBM
|
||||
POWER systems, not newer OPAL firmware based ones.
|
||||
|
||||
This patch has the side effect of reordering CPU nodes before memory
|
||||
nodes on non-IBM device-tree-based hardware (like Calxeda Highbank and
|
||||
other unusual stuff). That is in line with other platforms.
|
||||
|
||||
---
|
||||
src/core/device-tree.cc | 7 +++----
|
||||
1 file changed, 3 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/core/device-tree.cc b/src/core/device-tree.cc
|
||||
index 642b3c54ece1..23ef797788cb 100644
|
||||
--- a/src/core/device-tree.cc
|
||||
+++ b/src/core/device-tree.cc
|
||||
@@ -1395,7 +1395,6 @@ bool scan_device_tree(hwNode & n)
|
||||
core->addHint("icon", string("board"));
|
||||
scan_devtree_root(*core);
|
||||
scan_devtree_cpu_power(*core);
|
||||
- scan_devtree_memory_ibm(*core);
|
||||
scan_devtree_memory_powernv(*core);
|
||||
scan_devtree_firmware_powernv(*core);
|
||||
n.addCapability("powernv", "Non-virtualized");
|
||||
@@ -1448,12 +1447,12 @@ bool scan_device_tree(hwNode & n)
|
||||
if (exists(DEVICETREE "/ibm,lpar-capable")) {
|
||||
n.setDescription("pSeries LPAR");
|
||||
scan_devtree_cpu_power(*core);
|
||||
- scan_devtree_memory(*core);
|
||||
}
|
||||
else {
|
||||
- scan_devtree_memory(*core);
|
||||
scan_devtree_cpu(*core);
|
||||
- }
|
||||
+ }
|
||||
+ scan_devtree_memory(*core);
|
||||
+ scan_devtree_memory_ibm(*core);
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
91
SOURCES/0005-apply-Github-PR42.patch
Normal file
91
SOURCES/0005-apply-Github-PR42.patch
Normal file
@ -0,0 +1,91 @@
|
||||
From f54a30ec01cc4173707720821056b99464e7e245 Mon Sep 17 00:00:00 2001
|
||||
From: Lyonel Vincent <lyonel@ezix.org>
|
||||
Date: Thu, 20 Dec 2018 15:49:41 +0100
|
||||
Subject: [PATCH 5/8] apply Github PR42
|
||||
|
||||
Fix typos
|
||||
|
||||
---
|
||||
docs/Changelog | 4 ++--
|
||||
src/lshw.1 | 6 +++---
|
||||
src/lshw.sgml | 6 +++---
|
||||
3 files changed, 9 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/docs/Changelog b/docs/Changelog
|
||||
index 924b146cb523..c11ddb2dcc4a 100644
|
||||
--- a/docs/Changelog
|
||||
+++ b/docs/Changelog
|
||||
@@ -83,7 +83,7 @@
|
||||
fixed a portability problem with GTK+ [1099]
|
||||
* B.02.05
|
||||
added support for DVD writers
|
||||
- improved GUI usability (thanks to OpenUsability volonteers: Tina Trillitzsch and Florian Graessle)
|
||||
+ improved GUI usability (thanks to OpenUsability volunteers: Tina Trillitzsch and Florian Graessle)
|
||||
many new SVG icons
|
||||
added a logo for LSHW (used as icon for gtk-lshw's windows)
|
||||
build system updates
|
||||
@@ -209,6 +209,6 @@
|
||||
fixes for GCC 3.2
|
||||
* T.00.02
|
||||
second public test release
|
||||
- PCI busses listing
|
||||
+ PCI buses listing
|
||||
* T.00.01
|
||||
first public test release
|
||||
diff --git a/src/lshw.1 b/src/lshw.1
|
||||
index 43e4eacd75a2..43239da0bb44 100644
|
||||
--- a/src/lshw.1
|
||||
+++ b/src/lshw.1
|
||||
@@ -101,10 +101,10 @@ A list of all known PCI ID's (vendors, devices, classes and subclasses).
|
||||
If compiled with zlib support, lshw will look for \fIpci.ids.gz\fR first, then for \fIpci.ids\fR\&.
|
||||
.TP
|
||||
\fB/proc/bus/pci/*\fR
|
||||
-Used to access the configuration of installed PCI busses and devices.
|
||||
+Used to access the configuration of installed PCI buses and devices.
|
||||
.TP
|
||||
\fB/proc/ide/*\fR
|
||||
-Used to access the configuration of installed IDE busses and devices.
|
||||
+Used to access the configuration of installed IDE buses and devices.
|
||||
.TP
|
||||
\fB/proc/scsi/*, /dev/sg*\fR
|
||||
Used to access the configuration of installed SCSI devices.
|
||||
@@ -116,7 +116,7 @@ Used on x86 platforms to access CPU-specific configuration.
|
||||
Used on PowerPC platforms to access OpenFirmware configuration.
|
||||
.TP
|
||||
\fB/proc/bus/usb/*\fR
|
||||
-Used to access the configuration of installed USB busses and devices.
|
||||
+Used to access the configuration of installed USB buses and devices.
|
||||
.TP
|
||||
\fB/sys/*\fR
|
||||
Used on 2.6 kernels to access hardware/driver configuration information.
|
||||
diff --git a/src/lshw.sgml b/src/lshw.sgml
|
||||
index 2f3a3ac1ab92..8c1c49e0898b 100644
|
||||
--- a/src/lshw.sgml
|
||||
+++ b/src/lshw.sgml
|
||||
@@ -171,12 +171,12 @@ If compiled with zlib support, lshw will look for <filename>pci.ids.gz</filename
|
||||
|
||||
<varlistentry><term>/proc/bus/pci/*</term>
|
||||
<listitem><para>
|
||||
-Used to access the configuration of installed PCI busses and devices.
|
||||
+Used to access the configuration of installed PCI buses and devices.
|
||||
</para></listitem></varlistentry>
|
||||
|
||||
<varlistentry><term>/proc/ide/*</term>
|
||||
<listitem><para>
|
||||
-Used to access the configuration of installed IDE busses and devices.
|
||||
+Used to access the configuration of installed IDE buses and devices.
|
||||
</para></listitem></varlistentry>
|
||||
|
||||
<varlistentry><term>/proc/scsi/*, /dev/sg*</term>
|
||||
@@ -196,7 +196,7 @@ Used on PowerPC platforms to access OpenFirmware configuration.
|
||||
|
||||
<varlistentry><term>/proc/bus/usb/*</term>
|
||||
<listitem><para>
|
||||
-Used to access the configuration of installed USB busses and devices.
|
||||
+Used to access the configuration of installed USB buses and devices.
|
||||
</para></listitem></varlistentry>
|
||||
|
||||
<varlistentry><term>/sys/*</term>
|
||||
--
|
||||
2.17.1
|
||||
|
@ -0,0 +1,26 @@
|
||||
From 4a415a6725fd88e9219e6af92dcdaf88e0dff36e Mon Sep 17 00:00:00 2001
|
||||
From: hygonsoc <hygonsoc@gmail.com>
|
||||
Date: Wed, 26 Dec 2018 00:08:00 +0800
|
||||
Subject: [PATCH 6/8] add Hygon company description for Hygon CPU VendorID
|
||||
checking
|
||||
|
||||
---
|
||||
src/core/cpuinfo.cc | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/src/core/cpuinfo.cc b/src/core/cpuinfo.cc
|
||||
index 8a72d985f57c..33085fda1159 100644
|
||||
--- a/src/core/cpuinfo.cc
|
||||
+++ b/src/core/cpuinfo.cc
|
||||
@@ -455,6 +455,8 @@ string value)
|
||||
{
|
||||
if (value == "AuthenticAMD")
|
||||
value = "Advanced Micro Devices [AMD]";
|
||||
+ if (value == "HygonGenuine")
|
||||
+ value = "Hygon";
|
||||
if (value == "GenuineIntel")
|
||||
value = "Intel Corp.";
|
||||
cpu->setVendor(value);
|
||||
--
|
||||
2.17.1
|
||||
|
84562
SOURCES/0007-update-id-files.patch
Normal file
84562
SOURCES/0007-update-id-files.patch
Normal file
File diff suppressed because it is too large
Load Diff
35
SOURCES/0008-merge-Github-PR44.patch
Normal file
35
SOURCES/0008-merge-Github-PR44.patch
Normal file
@ -0,0 +1,35 @@
|
||||
From 6cc0581bc805c8bf7ea057c065c3c36caf744ef3 Mon Sep 17 00:00:00 2001
|
||||
From: Lyonel Vincent <lyonel@ezix.org>
|
||||
Date: Sun, 24 Mar 2019 11:18:57 +0100
|
||||
Subject: [PATCH 8/8] merge Github PR44
|
||||
|
||||
Add a class 'nvme' for NVMe devices
|
||||
|
||||
---
|
||||
src/core/pci.cc | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/src/core/pci.cc b/src/core/pci.cc
|
||||
index c8380c3034be..21b9033285ff 100644
|
||||
--- a/src/core/pci.cc
|
||||
+++ b/src/core/pci.cc
|
||||
@@ -105,6 +105,7 @@ __ID("@(#) $Id$");
|
||||
#define PCI_CLASS_STORAGE_RAID 0x0104
|
||||
#define PCI_CLASS_STORAGE_SATA 0x0106
|
||||
#define PCI_CLASS_STORAGE_SAS 0x0107
|
||||
+#define PCI_CLASS_STORAGE_NVME 0x0108
|
||||
#define PCI_CLASS_STORAGE_OTHER 0x0180
|
||||
|
||||
#define PCI_BASE_CLASS_NETWORK 0x02
|
||||
@@ -340,6 +341,8 @@ static const char *get_class_name(unsigned int c)
|
||||
return "sata";
|
||||
case PCI_CLASS_STORAGE_SAS:
|
||||
return "sas";
|
||||
+ case PCI_CLASS_STORAGE_NVME:
|
||||
+ return "nvme";
|
||||
case PCI_CLASS_BRIDGE_HOST:
|
||||
return "host";
|
||||
case PCI_CLASS_BRIDGE_ISA:
|
||||
--
|
||||
2.17.1
|
||||
|
63475
SOURCES/lshw-B.02.18-20cda77.patch
Normal file
63475
SOURCES/lshw-B.02.18-20cda77.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,28 @@
|
||||
From 5c3b96616ecec2345c6b785352192c033738f2e1 Mon Sep 17 00:00:00 2001
|
||||
From: Lianbo Jiang <lijiang@redhat.com>
|
||||
Date: Thu, 25 Apr 2019 12:37:38 +0800
|
||||
Subject: [PATCH] Add the "FindPkgConfig" to CMakeLists.txt.
|
||||
|
||||
Include the "FindPkgConfig" in order to fix "Unknown CMake command
|
||||
pkg_check_modules"
|
||||
|
||||
Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
|
||||
---
|
||||
CMakeLists.txt | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 6c69c37336c8..688863130291 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -1,5 +1,7 @@
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
|
||||
+include(FindPkgConfig)
|
||||
+
|
||||
project(lshw)
|
||||
set(VERSION "B.012.18")
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
960
SOURCES/lshw-B.02.18-cmake.patch
Normal file
960
SOURCES/lshw-B.02.18-cmake.patch
Normal file
@ -0,0 +1,960 @@
|
||||
From a43ffe12212e1a4dd7b0038197b53798d7a3dfb1 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Terje=20R=C3=B8sten?= <terje.rosten@ntnu.no>
|
||||
Date: Mon, 2 Apr 2018 14:51:55 +0200
|
||||
Subject: [PATCH] cmakeify
|
||||
|
||||
---
|
||||
CMakeLists.txt | 42 ++++++
|
||||
Makefile | 20 ---
|
||||
README.md | 47 ++++---
|
||||
lshw.spec.in | 52 ++------
|
||||
src/CMakeLists.txt | 103 +++++++++++++++
|
||||
src/Makefile | 144 ---------------------
|
||||
src/core/Makefile | 80 ------------
|
||||
src/core/{config.h => config.h.in} | 28 ++--
|
||||
src/core/db.cc | 8 ++
|
||||
src/core/dump.cc | 2 +-
|
||||
src/core/version.h | 2 +
|
||||
src/gui/CMakeLists.txt | 67 ++++++++++
|
||||
src/gui/Makefile | 61 ---------
|
||||
.../{gtk-lshw.desktop => gtk-lshw.desktop.in} | 7 +-
|
||||
src/gui/integration/lshw-gui.in | 5 +
|
||||
src/gui/integration/org.ezix.lshw.gui.policy.in | 20 +++
|
||||
src/gui/stock.c | 1 +
|
||||
src/po/CMakeLists.txt | 16 +++
|
||||
src/po/Makefile | 23 ----
|
||||
19 files changed, 317 insertions(+), 411 deletions(-)
|
||||
create mode 100644 CMakeLists.txt
|
||||
delete mode 100644 Makefile
|
||||
create mode 100644 src/CMakeLists.txt
|
||||
delete mode 100644 src/Makefile
|
||||
delete mode 100644 src/core/Makefile
|
||||
rename src/core/{config.h => config.h.in} (50%)
|
||||
create mode 100644 src/gui/CMakeLists.txt
|
||||
delete mode 100644 src/gui/Makefile
|
||||
rename src/gui/integration/{gtk-lshw.desktop => gtk-lshw.desktop.in} (51%)
|
||||
create mode 100644 src/gui/integration/lshw-gui.in
|
||||
create mode 100644 src/gui/integration/org.ezix.lshw.gui.policy.in
|
||||
create mode 100644 src/po/CMakeLists.txt
|
||||
delete mode 100644 src/po/Makefile
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
new file mode 100644
|
||||
index 0000000..6c69c37
|
||||
--- /dev/null
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -0,0 +1,42 @@
|
||||
+cmake_minimum_required(VERSION 3.0)
|
||||
+
|
||||
+project(lshw)
|
||||
+set(VERSION "B.012.18")
|
||||
+
|
||||
+IF(EXISTS "${PROJECT_SOURCE_DIR}/.git")
|
||||
+ find_package(Git)
|
||||
+ if(GIT_FOUND)
|
||||
+ execute_process(
|
||||
+ COMMAND ${GIT_EXECUTABLE} describe --tags
|
||||
+ OUTPUT_VARIABLE DESCRIBE_TAG
|
||||
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
+ string(REGEX MATCH "B.[0-9]+.[0-9]+[-][0-9]+" VERSION ${DESCRIBE_TAG})
|
||||
+ string(REPLACE "-" "." VERSION ${VERSION})
|
||||
+ endif()
|
||||
+endif()
|
||||
+
|
||||
+message("-- lshw: ${VERSION}")
|
||||
+
|
||||
+option(GUI "Enable GUI application (${PROJECT_NAME}-gtk)" ON)
|
||||
+option(HWDATA "Install hwdata files" ON)
|
||||
+option(SQLITE "Enable SQLite support" OFF)
|
||||
+option(ZLIB "Enable zlib support" OFF)
|
||||
+option(NOLOGO "Don't install vendor logos" OFF)
|
||||
+option(STATIC "Do a static (will disable other features)" OFF)
|
||||
+option(POLICYKIT "Install PolicyKit file and pfexec wrapper" OFF)
|
||||
+
|
||||
+include(GNUInstallDirs)
|
||||
+set(CMAKE_INSTALL_PREFIX "/usr/local" CACHE STRING "Install prefix")
|
||||
+set(DATADIR "${CMAKE_INSTALL_FULL_DATADIR}")
|
||||
+set(PROJECT_DATADIR "${CMAKE_INSTALL_FULL_DATADIR}/${PROJECT_NAME}")
|
||||
+set(SBINDIR "${CMAKE_INSTALL_FULL_SBINDIR}")
|
||||
+set(MANDIR "${CMAKE_INSTALL_FULL_MANDIR}")
|
||||
+set(LOCALEDIR "${CMAKE_INSTALL_FULL_LOCALEDIR}")
|
||||
+
|
||||
+configure_file(
|
||||
+ "${PROJECT_SOURCE_DIR}/lshw.spec.in"
|
||||
+ "${PROJECT_BINARY_DIR}/lshw.spec")
|
||||
+
|
||||
+add_subdirectory(src)
|
||||
+add_subdirectory(src/po)
|
||||
+add_subdirectory(src/gui)
|
||||
diff --git a/Makefile b/Makefile
|
||||
deleted file mode 100644
|
||||
index 8fe665e..0000000
|
||||
--- a/Makefile
|
||||
+++ /dev/null
|
||||
@@ -1,20 +0,0 @@
|
||||
-PACKAGENAME = lshw
|
||||
-VERSION?= $(shell git describe --tags | cut -d - -f 1,2 | tr - .)
|
||||
-export PACKAGENAME
|
||||
-
|
||||
-all clean install snapshot gui install-gui:
|
||||
- +$(MAKE) -C src $@
|
||||
-
|
||||
-version.cpe: .version
|
||||
- echo -n cpe:/a:ezix:$(PACKAGENAME): > $@
|
||||
- cat $^ >> $@
|
||||
-
|
||||
-.PHONY: $(PACKAGENAME).spec
|
||||
-
|
||||
-$(PACKAGENAME).spec: $(PACKAGENAME).spec.in
|
||||
- cat $^ | sed -e s/\@VERSION\@/$(VERSION)/g > $@
|
||||
-
|
||||
-release: $(PACKAGENAME).spec
|
||||
- git archive --prefix=$(PACKAGENAME)-$(VERSION)/ -o $(PACKAGENAME)-$(VERSION).tar HEAD
|
||||
- tar --transform s!^!$(PACKAGENAME)-$(VERSION)/! -rf $(PACKAGENAME)-$(VERSION).tar $^
|
||||
- gzip -f $(PACKAGENAME)-$(VERSION).tar
|
||||
diff --git a/README.md b/README.md
|
||||
index 7afcae6..393da0f 100644
|
||||
--- a/README.md
|
||||
+++ b/README.md
|
||||
@@ -15,27 +15,25 @@ Installation
|
||||
1. Requirements
|
||||
- Linux 2.4.x, 2.6.x, 3.x or 4.x (2.2.x might work, though)
|
||||
- a PA-RISC-, Alpha-, IA-64- (Itanium-), PowerPC-, ARM- or x86- based machine
|
||||
+ - cmake, GNU make or Ninja
|
||||
- an ANSI (or close enough to ANSI compliance) C++ compiler (tested with g++ 2.95.4 and 3.x)
|
||||
- for the (optional) GTK+ graphical user interface, you will need a
|
||||
complete GTK+ development environment (gtk2-devel on RedHat/Fedora derivatives)
|
||||
+ - for optional SQLite feature install SQLite
|
||||
+ - for optional zlib feature install zlib and gzip
|
||||
|
||||
- 2. To compile it, just use:
|
||||
+ 2. Use cmake options to adjust non default set:
|
||||
+ -DGUI=OFF, -DZLIB=ON, -DSQLITE=ON and/or -DNOLOGO=ON
|
||||
|
||||
- $ make
|
||||
+ 3. Do configuration and build by
|
||||
|
||||
- To complile with zlib support (see below), use:
|
||||
-
|
||||
- $ make ZLIB=1
|
||||
-
|
||||
- 3. If you want to build the optional GUI, do:
|
||||
-
|
||||
- $ make
|
||||
- $ make gui
|
||||
+ $ mkdir build && cd build
|
||||
+ $ cmake .. -GNinja <options>
|
||||
+ $ ninja-build
|
||||
|
||||
4. If you want to install the result, do:
|
||||
|
||||
- $ make install
|
||||
- $ make install-gui
|
||||
+ $ ninja-build install
|
||||
|
||||
Getting help
|
||||
------------
|
||||
@@ -61,12 +59,27 @@ If compiled with zlib support, lshw will look for `file`.gz first, then for `fil
|
||||
|
||||
Statically-linked and/or compressed binaries can be built by using
|
||||
|
||||
- $ make static
|
||||
-
|
||||
+ $ mkdir build && cd build
|
||||
+ $ cmake .. -DSTATIC=ON
|
||||
+ $ ninja
|
||||
or
|
||||
+ $ mkdir build && cd build
|
||||
+ $ cmake .. -GNinja
|
||||
+ $ ninja compressed
|
||||
|
||||
- $ make compressed
|
||||
+Building compressed binaries requires `upx` (cf. https://upx.github.io/).
|
||||
|
||||
-in the `src/` directory
|
||||
+Release and maintenance
|
||||
+-----------------------
|
||||
|
||||
-Building compressed binaries requires `upx` (cf. https://upx.github.io/).
|
||||
+Create release tarball,
|
||||
+
|
||||
+ 1. Edit CMakeLists.txt to set version
|
||||
+ 2. Run
|
||||
+ $ mkdir build && cd build
|
||||
+ $ cmake .. -GNinja
|
||||
+ $ ninja release
|
||||
+
|
||||
+Update hwdata files:
|
||||
+
|
||||
+ $ ninja refresh_hwdata
|
||||
diff --git a/lshw.spec.in b/lshw.spec.in
|
||||
index c597379..a7655f5 100644
|
||||
--- a/lshw.spec.in
|
||||
+++ b/lshw.spec.in
|
||||
@@ -52,49 +52,17 @@ http://lshw.ezix.org/
|
||||
%setup -q
|
||||
|
||||
%build
|
||||
-%{__make} %{?_smp_mflags} \
|
||||
- PREFIX="%{_prefix}" \
|
||||
- SBINDIR="%{_sbindir}" \
|
||||
- MANDIR="%{_mandir}" \
|
||||
- DATADIR="%{_datadir}" \
|
||||
- all
|
||||
-%if %{!?_without_gui:1}0
|
||||
-%{__make} %{?_smp_mflags} \
|
||||
- PREFIX="%{_prefix}" \
|
||||
- SBINDIR="%{_sbindir}" \
|
||||
- MANDIR="%{_mandir}" \
|
||||
- DATADIR="%{_datadir}" \
|
||||
- gui
|
||||
-%endif
|
||||
+mkdir build && cd build
|
||||
+%cmake .. %{?_without_gui:-DGUI=OFF}
|
||||
+make %{?_smp_mflags} VERBOSE=1
|
||||
|
||||
%install
|
||||
-%{__rm} -rf "%{buildroot}"
|
||||
-
|
||||
-%{__make} \
|
||||
- DESTDIR="%{buildroot}" \
|
||||
- PREFIX="%{_prefix}" \
|
||||
- SBINDIR="%{_sbindir}" \
|
||||
- MANDIR="%{_mandir}" \
|
||||
- DATADIR="%{_datadir}" \
|
||||
- INSTALL="%{__install} -p" \
|
||||
- install
|
||||
-%if %{!?_without_gui:1}0
|
||||
-%{__make} \
|
||||
- DESTDIR="%{buildroot}" \
|
||||
- PREFIX="%{_prefix}" \
|
||||
- SBINDIR="%{_sbindir}" \
|
||||
- MANDIR="%{_mandir}" \
|
||||
- DATADIR="%{_datadir}" \
|
||||
- INSTALL="%{__install} -p" \
|
||||
- install-gui
|
||||
-%endif
|
||||
-
|
||||
-%clean
|
||||
-%{__rm} -rf %{buildroot}
|
||||
+cd build
|
||||
+make install DESTDIR=%{buildroot}
|
||||
|
||||
%files
|
||||
-%defattr(-,root,root, 0555)
|
||||
-%doc README.md COPYING docs/TODO docs/Changelog docs/lshw.xsd
|
||||
+%license COPYING
|
||||
+%doc COPYING docs/TODO docs/Changelog docs/lshw.xsd
|
||||
%{_sbindir}/lshw
|
||||
%doc %{_mandir}/man?/*
|
||||
%{_datadir}/lshw/
|
||||
@@ -102,9 +70,11 @@ http://lshw.ezix.org/
|
||||
|
||||
%if %{!?_without_gui:1}0
|
||||
%files gui
|
||||
-%defattr(-,root,root, 0555)
|
||||
-%doc COPYING
|
||||
+%license COPYING
|
||||
%{_sbindir}/gtk-lshw
|
||||
+%{_datadir}/appdata/gtk-lshw.appdata.xml
|
||||
+%{_datadir}/applications/gtk-lshw.desktop
|
||||
+%{_datadir}/pixmaps/gtk-lshw.svg
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
new file mode 100644
|
||||
index 0000000..ab559d9
|
||||
--- /dev/null
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -0,0 +1,103 @@
|
||||
+if(STATIC)
|
||||
+ set(ZLIB OFF)
|
||||
+ set(SQLITE OFF)
|
||||
+endif()
|
||||
+
|
||||
+# SQLite support
|
||||
+if(SQLITE)
|
||||
+ pkg_check_modules(SQLITE3 sqlite3)
|
||||
+ if(SQLITE3_FOUND)
|
||||
+ message("-- Enabling SQLite support")
|
||||
+ else()
|
||||
+ message(FATAL_ERROR "SQLite not found, install lib or disable feature: -DSQLITE=OFF")
|
||||
+ endif()
|
||||
+else()
|
||||
+ message("-- SQLite support disabled")
|
||||
+endif()
|
||||
+
|
||||
+# zlib support
|
||||
+if(ZLIB)
|
||||
+ find_program(GZIP gzip "Path to gzip application")
|
||||
+ if(NOT GZIP)
|
||||
+ message(FATAL_ERROR "gzip program not found, install gzip or disable zlib support: -DZLIB=OFF")
|
||||
+ endif()
|
||||
+ pkg_check_modules(Z zlib)
|
||||
+ if(Z_FOUND)
|
||||
+ message("-- Enabling zlib support")
|
||||
+ else()
|
||||
+ message(FATAL_ERROR "zlib not found, install lib or disable feature: -DZLIB=OFF")
|
||||
+ endif()
|
||||
+else()
|
||||
+ message("-- zlib support disabled")
|
||||
+endif()
|
||||
+
|
||||
+if(ERROR)
|
||||
+ message(FATAL_ERROR "Configuration failed")
|
||||
+endif()
|
||||
+
|
||||
+# Some special targets, compress, refresh_hwdata and release
|
||||
+add_custom_target(compressed
|
||||
+ COMMAND upx -9 -o lshw-compress lshw
|
||||
+ COMMENT "Creating upx compressed binary")
|
||||
+add_dependencies(compressed lshw)
|
||||
+
|
||||
+add_custom_target(refresh_hwdata
|
||||
+ COMMAND wget -N http://pciids.sourceforge.net/pci.ids
|
||||
+ COMMAND wget -N http://www.linux-usb.org/usb.ids
|
||||
+ COMMAND wget -N http://standards-oui.ieee.org/oui/oui.txt
|
||||
+ COMMAND wget -O manuf.txt http://anonsvn.wireshark.org/wireshark/trunk/manuf
|
||||
+ COMMAND wget -N https://git.fedorahosted.org/cgit/hwdata.git/plain/pnp.ids
|
||||
+ COMMAND wget -N http://www-pc.uni-regensburg.de/hardware/TECHNIK/PCI_PNP/pnpid.txt
|
||||
+ WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/src"
|
||||
+ COMMENT "Updating hwdata files from upstream location")
|
||||
+
|
||||
+set(TARNAME ${PROJECT_NAME}-${VERSION})
|
||||
+add_custom_target(release
|
||||
+ COMMAND ${GIT_EXECUTABLE} archive --prefix=${TARNAME}/
|
||||
+ -o ${PROJECT_BINARY_DIR}/${TARNAME}.tar HEAD
|
||||
+ COMMAND mv ${PROJECT_BINARY_DIR}/lshw.spec ${PROJECT_SOURCE_DIR}/lshw.spec
|
||||
+ COMMAND tar --owner=0 --group=0
|
||||
+ --transform s,lshw.spec,${TARNAME}/lshw.spec,
|
||||
+ -rf ${PROJECT_BINARY_DIR}/${TARNAME}.tar lshw.spec
|
||||
+ COMMAND gzip ${PROJECT_BINARY_DIR}/${TARNAME}.tar
|
||||
+ COMMAND rm ${PROJECT_SOURCE_DIR}/lshw.spec
|
||||
+ WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
|
||||
+ COMMENT "Creating release tarball")
|
||||
+
|
||||
+configure_file(
|
||||
+ "${CMAKE_CURRENT_SOURCE_DIR}/core/config.h.in"
|
||||
+ "${PROJECT_BINARY_DIR}/config.h")
|
||||
+
|
||||
+include_directories("${PROJECT_BINARY_DIR}")
|
||||
+include_directories("${CMAKE_CURRENT_SOURCE_DIR}/core")
|
||||
+
|
||||
+file(GLOB DATAFILES "pci.ids" "pnp.ids" "usb.ids" "manuf.txt" "oui.txt" "pnpid.txt")
|
||||
+
|
||||
+file(GLOB SOURCES "core/*.cc")
|
||||
+add_library(core ${SOURCES})
|
||||
+add_executable(lshw lshw.cc)
|
||||
+
|
||||
+if(STATIC)
|
||||
+ set_target_properties(lshw PROPERTIES LINK_FLAGS "-static" )
|
||||
+endif()
|
||||
+
|
||||
+target_link_libraries(lshw ${SQLITE3_LIBRARIES} ${Z_LIBRARIES} resolv core)
|
||||
+
|
||||
+if(NOT ZLIB)
|
||||
+ if(HWDATA)
|
||||
+ install(FILES ${DATAFILES} DESTINATION ${PROJECT_DATADIR})
|
||||
+ endif()
|
||||
+else()
|
||||
+ foreach(DATAFILE ${DATAFILES})
|
||||
+ get_filename_component(FILE ${DATAFILE} NAME)
|
||||
+ add_custom_command(
|
||||
+ OUTPUT ${FILE}.gz
|
||||
+ COMMAND ${GZIP} -c ${DATAFILE} > ${FILE}.gz)
|
||||
+ add_custom_target(${FILE} ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${FILE}.gz)
|
||||
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${FILE}.gz DESTINATION ${PROJECT_DATADIR})
|
||||
+ endforeach()
|
||||
+endif()
|
||||
+
|
||||
+install(FILES lshw.1 DESTINATION ${MANDIR}/man1 COMPONENT doc)
|
||||
+install(TARGETS lshw DESTINATION sbin)
|
||||
+
|
||||
diff --git a/src/Makefile b/src/Makefile
|
||||
deleted file mode 100644
|
||||
index 917bf6b..0000000
|
||||
--- a/src/Makefile
|
||||
+++ /dev/null
|
||||
@@ -1,144 +0,0 @@
|
||||
-PACKAGENAME:=lshw
|
||||
-export PACKAGENAME
|
||||
-VERSION?= $(shell git describe --tags --long | cut -d - -f 1,2 | tr - .)
|
||||
-
|
||||
-SQLITE?=0
|
||||
-ZLIB?=0
|
||||
-
|
||||
-DESTDIR?=/
|
||||
-PREFIX?=/usr
|
||||
-SBINDIR=$(PREFIX)/sbin
|
||||
-MANDIR=$(PREFIX)/share/man
|
||||
-DATADIR=$(PREFIX)/share
|
||||
-INSTALL?=install -p
|
||||
-STRIP?=strip
|
||||
-export DESTDIR
|
||||
-export PREFIX
|
||||
-export SBINDIR
|
||||
-export MANDIR
|
||||
-export DATADIR
|
||||
-export SQLITE
|
||||
-export ZLIB
|
||||
-
|
||||
-CXX?=c++
|
||||
-INCLUDES=-I./core/
|
||||
-DEFINES=-DPREFIX=\"$(PREFIX)\" -DSBINDIR=\"$(SBINDIR)\" -DMANDIR=\"$(MANDIR)\" -DDATADIR=\"$(DATADIR)\" -DVERSION=\"$(VERSION)\"
|
||||
-CXXFLAGS=-g -Wall -g $(INCLUDES) $(DEFINES) $(RPM_OPT_FLAGS)
|
||||
-ifeq ($(SQLITE), 1)
|
||||
- CXXFLAGS+= -DSQLITE $(shell pkg-config --cflags sqlite3)
|
||||
-endif
|
||||
-ifeq ($(ZLIB), 1)
|
||||
- CXXFLAGS+= -DZLIB $(shell pkg-config --cflags zlib)
|
||||
-endif
|
||||
-LDFLAGS=-L./core/ -g
|
||||
-ifneq ($(shell $(LD) --help 2| grep -- --as-needed), )
|
||||
- LDFLAGS+= -Wl,--as-needed
|
||||
-endif
|
||||
-LDSTATIC=-static
|
||||
-LIBS+=-llshw -lresolv
|
||||
-ifeq ($(SQLITE), 1)
|
||||
- LIBS+= $(shell pkg-config --libs sqlite3)
|
||||
-endif
|
||||
-ifeq ($(ZLIB), 1)
|
||||
- LIBS+= $(shell pkg-config --libs zlib)
|
||||
-endif
|
||||
-
|
||||
-export CXXFLAGS
|
||||
-export LIBS
|
||||
-export LDFLAGS
|
||||
-
|
||||
-ifeq ($(ZLIB), 1)
|
||||
-DATAFILES = pci.ids.gz usb.ids.gz oui.txt.gz manuf.txt.gz pnp.ids.gz pnpid.txt.gz
|
||||
-else
|
||||
-DATAFILES = pci.ids usb.ids oui.txt manuf.txt pnp.ids pnpid.txt
|
||||
-endif
|
||||
-
|
||||
-all: $(PACKAGENAME) $(PACKAGENAME).1 $(DATAFILES)
|
||||
-
|
||||
-.cc.o:
|
||||
- $(CXX) $(CXXFLAGS) -c $< -o $@
|
||||
-
|
||||
-%.gz: %
|
||||
- gzip -c $< > $@
|
||||
-
|
||||
-.PHONY: core
|
||||
-core:
|
||||
- +make -C core all
|
||||
-
|
||||
-$(PACKAGENAME): core $(PACKAGENAME).o
|
||||
- $(CXX) $(LDFLAGS) -o $@ $(PACKAGENAME).o $(LIBS)
|
||||
-
|
||||
-.PHONY: po
|
||||
-po:
|
||||
- +make -C po all
|
||||
-
|
||||
-.PHONY: gui
|
||||
-gui: core
|
||||
- +make -C gui all
|
||||
-
|
||||
-.PHONY: nologo
|
||||
-nologo:
|
||||
- cp -f gui/artwork/nologo/* gui/artwork/
|
||||
-
|
||||
-.PHONY: static
|
||||
-static: $(PACKAGENAME)-static
|
||||
-
|
||||
-$(PACKAGENAME)-static: core core/lib$(PACKAGENAME).a $(PACKAGENAME).o
|
||||
- $(CXX) $(LDSTATIC) $(LDFLAGS) -o $@ $(PACKAGENAME).o $(LIBS)
|
||||
- $(STRIP) $@
|
||||
-
|
||||
-.PHONY: compressed
|
||||
-compressed: $(PACKAGENAME)-compressed
|
||||
-
|
||||
-$(PACKAGENAME)-compressed: $(PACKAGENAME)-static
|
||||
- upx -9 -o $@ $<
|
||||
-
|
||||
-$(PACKAGENAME).1: $(PACKAGENAME).sgml
|
||||
- docbook2man $<
|
||||
-
|
||||
-pci.ids:
|
||||
- wget http://pciids.sourceforge.net/pci.ids
|
||||
-
|
||||
-usb.ids:
|
||||
- wget http://www.linux-usb.org/usb.ids
|
||||
-
|
||||
-oui.txt:
|
||||
- wget http://standards.ieee.org/regauth/oui/oui.txt
|
||||
-
|
||||
-manuf.txt:
|
||||
- wget -O $@ http://anonsvn.wireshark.org/wireshark/trunk/manuf
|
||||
-
|
||||
-pnp.ids:
|
||||
- wget https://git.fedorahosted.org/cgit/hwdata.git/plain/pnp.ids
|
||||
-
|
||||
-pnpid.txt:
|
||||
- wget http://www-pc.uni-regensburg.de/hardware/TECHNIK/PCI_PNP/pnpid.txt
|
||||
-
|
||||
-install: all
|
||||
- $(INSTALL) -d -m 0755 $(DESTDIR)/$(SBINDIR)
|
||||
- $(INSTALL) -m 0755 $(PACKAGENAME) $(DESTDIR)/$(SBINDIR)
|
||||
- $(INSTALL) -d -m 0755 $(DESTDIR)/$(MANDIR)/man1
|
||||
- $(INSTALL) -m 0644 $(PACKAGENAME).1 $(DESTDIR)/$(MANDIR)/man1
|
||||
- $(INSTALL) -d -m 0755 $(DESTDIR)/$(DATADIR)/$(PACKAGENAME)
|
||||
- $(INSTALL) -m 0644 $(DATAFILES) $(DESTDIR)/$(DATADIR)/$(PACKAGENAME)
|
||||
- make -C po install
|
||||
-
|
||||
-install-gui: gui
|
||||
- $(INSTALL) -d -m 0755 $(DESTDIR)/$(SBINDIR)
|
||||
- $(INSTALL) -m 0755 gui/gtk-$(PACKAGENAME) $(DESTDIR)/$(SBINDIR)
|
||||
- $(INSTALL) -d -m 0755 $(DESTDIR)/$(DATADIR)/$(PACKAGENAME)/artwork
|
||||
- $(INSTALL) -d -m 0755 $(DESTDIR)/$(DATADIR)/$(PACKAGENAME)/ui
|
||||
- $(INSTALL) -m 0644 gui/*.ui $(DESTDIR)/$(DATADIR)/$(PACKAGENAME)/ui
|
||||
- $(INSTALL) -m 0644 gui/artwork/*.svg $(DESTDIR)/$(DATADIR)/$(PACKAGENAME)/artwork
|
||||
-
|
||||
-clean:
|
||||
- rm -f $(PACKAGENAME).o $(PACKAGENAME) $(PACKAGENAME)-static $(PACKAGENAME)-compressed
|
||||
- rm -f $(addsuffix .gz,$(DATAFILES))
|
||||
- make -C core clean
|
||||
- make -C gui clean
|
||||
-
|
||||
-depend:
|
||||
- @makedepend -Y $(SRCS) 2> /dev/null > /dev/null
|
||||
-
|
||||
-
|
||||
-# DO NOT DELETE
|
||||
diff --git a/src/core/Makefile b/src/core/Makefile
|
||||
deleted file mode 100644
|
||||
index 884a963..0000000
|
||||
--- a/src/core/Makefile
|
||||
+++ /dev/null
|
||||
@@ -1,80 +0,0 @@
|
||||
-PACKAGENAME?=lshw
|
||||
-
|
||||
-CXX=c++
|
||||
-INCLUDES=
|
||||
-DEFINES=-DPREFIX=\"$(PREFIX)\" -DSBINDIR=\"$(SBINDIR)\" -DMANDIR=\"$(MANDIR)\" -DDATADIR=\"$(DATADIR)\"
|
||||
-CXXFLAGS?=-g -Wall $(INCLUDES) $(DEFINES) $(RPM_OPT_FLAGS)
|
||||
-LDFLAGS=
|
||||
-LDSTATIC=
|
||||
-LIBS=
|
||||
-
|
||||
-OBJS = hw.o main.o print.o mem.o dmi.o device-tree.o cpuinfo.o osutils.o pci.o version.o cpuid.o ide.o cdrom.o pcmcia-legacy.o scsi.o s390.o disk.o spd.o network.o isapnp.o pnp.o fb.o options.o usb.o sysfs.o display.o heuristics.o parisc.o cpufreq.o partitions.o blockio.o lvm.o ideraid.o pcmcia.o volumes.o mounts.o smp.o abi.o jedec.o dump.o fat.o virtio.o vio.o
|
||||
-ifeq ($(SQLITE), 1)
|
||||
- OBJS+= db.o
|
||||
-endif
|
||||
-SRCS = $(OBJS:.o=.cc)
|
||||
-
|
||||
-all: lib$(PACKAGENAME).a
|
||||
-
|
||||
-.cc.o:
|
||||
- $(CXX) $(CXXFLAGS) -c $< -o $@
|
||||
-
|
||||
-lib$(PACKAGENAME).a: $(OBJS)
|
||||
- $(AR) rs $@ $^
|
||||
-
|
||||
-install: all
|
||||
-
|
||||
-clean:
|
||||
- rm -f $(OBJS) lib$(PACKAGENAME).a
|
||||
-
|
||||
-depend:
|
||||
- @makedepend -Y $(SRCS) 2> /dev/null > /dev/null
|
||||
-
|
||||
-
|
||||
-# DO NOT DELETE
|
||||
-
|
||||
-hw.o: hw.h osutils.h version.h config.h options.h heuristics.h
|
||||
-main.o: hw.h print.h version.h options.h mem.h dmi.h cpuinfo.h cpuid.h
|
||||
-main.o: device-tree.h pci.h pcmcia.h pcmcia-legacy.h ide.h scsi.h spd.h
|
||||
-main.o: network.h isapnp.h fb.h usb.h sysfs.h display.h parisc.h cpufreq.h
|
||||
-main.o: ideraid.h mounts.h smp.h abi.h s390.h virtio.h pnp.h vio.h
|
||||
-print.o: print.h hw.h options.h version.h osutils.h config.h
|
||||
-mem.o: version.h config.h mem.h hw.h sysfs.h
|
||||
-dmi.o: version.h config.h dmi.h hw.h osutils.h
|
||||
-device-tree.o: version.h device-tree.h hw.h osutils.h
|
||||
-cpuinfo.o: version.h cpuinfo.h hw.h osutils.h
|
||||
-osutils.o: version.h osutils.h
|
||||
-pci.o: version.h config.h pci.h hw.h osutils.h options.h
|
||||
-version.o: version.h config.h
|
||||
-cpuid.o: version.h cpuid.h hw.h
|
||||
-ide.o: version.h cpuinfo.h hw.h osutils.h cdrom.h disk.h heuristics.h
|
||||
-cdrom.o: version.h cdrom.h hw.h partitions.h
|
||||
-pcmcia-legacy.o: version.h pcmcia-legacy.h hw.h osutils.h
|
||||
-scsi.o: version.h mem.h hw.h cdrom.h disk.h osutils.h heuristics.h sysfs.h
|
||||
-disk.o: version.h disk.h hw.h osutils.h heuristics.h partitions.h
|
||||
-spd.o: version.h spd.h hw.h osutils.h
|
||||
-network.o: version.h config.h network.h hw.h osutils.h sysfs.h options.h
|
||||
-network.o: heuristics.h
|
||||
-isapnp.o: version.h isapnp.h hw.h pnp.h
|
||||
-pnp.o: version.h pnp.h hw.h sysfs.h osutils.h
|
||||
-fb.o: version.h fb.h hw.h
|
||||
-options.o: version.h options.h osutils.h
|
||||
-usb.o: version.h usb.h hw.h osutils.h heuristics.h options.h
|
||||
-sysfs.o: version.h sysfs.h hw.h osutils.h
|
||||
-display.o: display.h hw.h
|
||||
-heuristics.o: version.h sysfs.h hw.h osutils.h
|
||||
-parisc.o: version.h device-tree.h hw.h osutils.h heuristics.h
|
||||
-cpufreq.o: version.h hw.h osutils.h
|
||||
-partitions.o: version.h partitions.h hw.h blockio.h lvm.h volumes.h osutils.h
|
||||
-blockio.o: version.h blockio.h osutils.h
|
||||
-lvm.o: version.h lvm.h hw.h blockio.h osutils.h
|
||||
-ideraid.o: version.h cpuinfo.h hw.h osutils.h cdrom.h disk.h heuristics.h
|
||||
-pcmcia.o: version.h pcmcia.h hw.h osutils.h sysfs.h
|
||||
-volumes.o: version.h volumes.h hw.h blockio.h lvm.h osutils.h
|
||||
-mounts.o: version.h mounts.h hw.h osutils.h
|
||||
-smp.o: version.h smp.h hw.h osutils.h
|
||||
-abi.o: version.h abi.h hw.h osutils.h
|
||||
-jedec.o: jedec.h
|
||||
-s390.o: hw.h sysfs.h disk.h s390.h
|
||||
-virtio.o: version.h hw.h sysfs.h disk.h virtio.h
|
||||
-vio.o: version.h hw.h sysfs.h vio.h
|
||||
diff --git a/src/core/config.h b/src/core/config.h.in
|
||||
similarity index 50%
|
||||
rename from src/core/config.h
|
||||
rename to src/core/config.h.in
|
||||
index 69023fd..ca25a5f 100644
|
||||
--- a/src/core/config.h
|
||||
+++ b/src/core/config.h.in
|
||||
@@ -13,27 +13,15 @@
|
||||
#define N_(String) gettext_noop (String)
|
||||
#endif
|
||||
|
||||
-#ifndef PACKAGE
|
||||
-#define PACKAGE "lshw"
|
||||
-#endif
|
||||
-
|
||||
-#ifndef PREFIX
|
||||
-#define PREFIX "/usr"
|
||||
-#endif
|
||||
-
|
||||
-#ifndef SBINDIR
|
||||
-#define SBINDIR PREFIX"/sbin"
|
||||
-#endif
|
||||
+#define PACKAGE "@PROJECT_NAME@"
|
||||
+#define VERSION "@VERSION@"
|
||||
|
||||
-#ifndef DATADIR
|
||||
-#define DATADIR PREFIX"/share/lshw"
|
||||
-#endif
|
||||
+#define SBINDIR "@SBINDIR@"
|
||||
+#define DATADIR "@DATADIR@"
|
||||
+#define MANDIR "@MANDIR@"
|
||||
+#define LOCALEDIR "@LOCALEDIR@"
|
||||
|
||||
-#ifndef MANDIR
|
||||
-#define MANDIR PREFIX"/share/man"
|
||||
-#endif
|
||||
+#cmakedefine SQLITE 1
|
||||
+#cmakedefine ZLIB 1
|
||||
|
||||
-#ifndef LOCALEDIR
|
||||
-#define LOCALEDIR PREFIX"/share/locale"
|
||||
-#endif
|
||||
#endif
|
||||
diff --git a/src/core/db.cc b/src/core/db.cc
|
||||
index d080295..f85c85b 100644
|
||||
--- a/src/core/db.cc
|
||||
+++ b/src/core/db.cc
|
||||
@@ -1,6 +1,12 @@
|
||||
+
|
||||
#include <string.h>
|
||||
#include <string>
|
||||
#include <stdexcept>
|
||||
+
|
||||
+#include "config.h"
|
||||
+
|
||||
+#ifdef SQLITE
|
||||
+
|
||||
#include <sqlite3.h>
|
||||
|
||||
#include "db.h"
|
||||
@@ -419,3 +425,5 @@ value statement::operator[](const string & i) const
|
||||
{
|
||||
return column(i);
|
||||
}
|
||||
+
|
||||
+#endif /* SQLITE */
|
||||
diff --git a/src/core/dump.cc b/src/core/dump.cc
|
||||
index 6bc9674..f22f0fb 100644
|
||||
--- a/src/core/dump.cc
|
||||
+++ b/src/core/dump.cc
|
||||
@@ -1,5 +1,5 @@
|
||||
-#include "dump.h"
|
||||
#include "version.h"
|
||||
+#include "dump.h"
|
||||
#include "osutils.h"
|
||||
|
||||
#include <time.h>
|
||||
diff --git a/src/core/version.h b/src/core/version.h
|
||||
index 91e039a..5cecdda 100644
|
||||
--- a/src/core/version.h
|
||||
+++ b/src/core/version.h
|
||||
@@ -1,6 +1,8 @@
|
||||
#ifndef _VERSION_H_
|
||||
#define _VERSION_H_
|
||||
|
||||
+#include "config.h"
|
||||
+
|
||||
#if defined(__GNUC__) || defined(__INTEL_COMPILER)
|
||||
#define __ID(string) __asm__(".ident\t\"" string "\"")
|
||||
#else
|
||||
diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt
|
||||
new file mode 100644
|
||||
index 0000000..48bd3f5
|
||||
--- /dev/null
|
||||
+++ b/src/gui/CMakeLists.txt
|
||||
@@ -0,0 +1,67 @@
|
||||
+if(NOT GUI OR STATIC)
|
||||
+ message("-- gtk-${PROJECT_NAME} disabled")
|
||||
+ return()
|
||||
+endif()
|
||||
+
|
||||
+find_package(PkgConfig)
|
||||
+pkg_check_modules(GTK2 REQUIRED gtk+-2.0 gmodule-2.0)
|
||||
+
|
||||
+file(GLOB GTK_SOURCES "*.c*")
|
||||
+
|
||||
+include_directories("${PROJECT_BINARY_DIR}")
|
||||
+include_directories("${PROJECT_SOURCE_DIR}/src/core")
|
||||
+
|
||||
+include_directories("${GTK2_INCLUDE_DIRS}")
|
||||
+
|
||||
+add_executable(gtk-lshw ${GTK_SOURCES})
|
||||
+target_link_libraries(gtk-lshw ${SQLITE3_LIBRARIES} ${Z_LIBRARIES} ${GTK2_LIBRARIES} resolv core)
|
||||
+install(TARGETS gtk-lshw DESTINATION sbin)
|
||||
+
|
||||
+if(POLICYKIT)
|
||||
+ set(desktop_exec ${CMAKE_INSTALL_FULL_BINDIR}/lshw-gui)
|
||||
+ configure_file(
|
||||
+ "${CMAKE_CURRENT_SOURCE_DIR}/integration/org.ezix.lshw.gui.policy.in"
|
||||
+ "${CMAKE_CURRENT_BINARY_DIR}/org.ezix.lshw.gui.policy")
|
||||
+ configure_file(
|
||||
+ "${CMAKE_CURRENT_SOURCE_DIR}/integration/lshw-gui.in"
|
||||
+ "${CMAKE_CURRENT_BINARY_DIR}/lshw-gui")
|
||||
+else()
|
||||
+ set(desktop_exec ${CMAKE_INSTALL_FULL_SBINDIR}/gtk-lshw)
|
||||
+endif()
|
||||
+
|
||||
+configure_file(
|
||||
+ "${CMAKE_CURRENT_SOURCE_DIR}/integration/gtk-lshw.desktop.in"
|
||||
+ "${CMAKE_CURRENT_BINARY_DIR}/gtk-lshw.desktop")
|
||||
+configure_file(
|
||||
+ "${CMAKE_CURRENT_SOURCE_DIR}/artwork/logo.svg"
|
||||
+ "${CMAKE_CURRENT_BINARY_DIR}/gtk-lshw.svg")
|
||||
+
|
||||
+file(GLOB LOGOS "artwork/*.svg")
|
||||
+file(GLOB NOLOGOS "artwork/nologo/*.svg")
|
||||
+
|
||||
+if(NOLOGO)
|
||||
+ install(FILES ${NOLOGOS} DESTINATION ${PROJECT_DATADIR}/artwork)
|
||||
+ foreach(LOGO ${LOGOS})
|
||||
+ get_filename_component(BASENAME ${LOGO} NAME)
|
||||
+ if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/artwork/nologo/${BASENAME}")
|
||||
+ list(REMOVE_ITEM LOGOS ${LOGO})
|
||||
+ endif()
|
||||
+ endforeach()
|
||||
+endif()
|
||||
+
|
||||
+install(FILES ${LOGOS} DESTINATION ${PROJECT_DATADIR}/artwork)
|
||||
+install(FILES gtk-lshw.ui DESTINATION ${PROJECT_DATADIR}/ui)
|
||||
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/gtk-lshw.desktop
|
||||
+ DESTINATION ${CMAKE_INSTALL_FULL_DATADIR}/applications)
|
||||
+install(FILES integration/gtk-lshw.appdata.xml DESTINATION
|
||||
+ ${CMAKE_INSTALL_FULL_DATADIR}/appdata)
|
||||
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/gtk-lshw.svg DESTINATION
|
||||
+ ${CMAKE_INSTALL_FULL_DATADIR}/pixmaps)
|
||||
+
|
||||
+
|
||||
+if(POLICYKIT)
|
||||
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.ezix.lshw.gui.policy
|
||||
+ DESTINATION ${CMAKE_INSTALL_FULL_DATADIR}/polkit-1/actions)
|
||||
+ install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/lshw-gui
|
||||
+ DESTINATION bin)
|
||||
+endif()
|
||||
diff --git a/src/gui/Makefile b/src/gui/Makefile
|
||||
deleted file mode 100644
|
||||
index 2526c18..0000000
|
||||
--- a/src/gui/Makefile
|
||||
+++ /dev/null
|
||||
@@ -1,61 +0,0 @@
|
||||
-PACKAGENAME?=lshw
|
||||
-
|
||||
-CXX?=c++
|
||||
-CC?=cc
|
||||
-STRIP?=strip
|
||||
-OBJCOPY?=objcopy
|
||||
-
|
||||
-DEFINES=-DPREFIX=\"$(PREFIX)\" -DSBINDIR=\"$(SBINDIR)\" -DMANDIR=\"$(MANDIR)\" -DDATADIR=\"$(DATADIR)\"
|
||||
-GTKINCLUDES=$(shell pkg-config gtk+-2.0 --cflags)
|
||||
-INCLUDES=-I../core $(GTKINCLUDES)
|
||||
-CXXFLAGS=-g -Wall $(INCLUDES) $(DEFINES) $(RPM_OPT_FLAGS)
|
||||
-ifeq ($(SQLITE), 1)
|
||||
- CXXFLAGS+= -DSQLITE $(shell pkg-config --cflags sqlite3)
|
||||
-endif
|
||||
-CFLAGS=$(CXXFLAGS) $(DEFINES)
|
||||
-GTKLIBS=$(shell pkg-config gtk+-2.0 gmodule-2.0 --libs)
|
||||
-LIBS+=-L../core -llshw -lresolv $(GTKLIBS)
|
||||
-ifeq ($(SQLITE), 1)
|
||||
- LIBS+= $(shell pkg-config --libs sqlite3)
|
||||
-endif
|
||||
-LDFLAGS=
|
||||
-ifneq ($(shell $(LD) --help 2| grep -- --as-needed), )
|
||||
- LDFLAGS+= -Wl,--as-needed
|
||||
-endif
|
||||
-
|
||||
-OBJS = gtk-lshw.o callbacks.o engine.o print-gui.o stock.o
|
||||
-SRCS = $(OBJS:.o=.c)
|
||||
-
|
||||
-all: gtk-$(PACKAGENAME)
|
||||
-
|
||||
-.cc.o:
|
||||
- $(CXX) $(CXXFLAGS) -c $< -o $@
|
||||
-
|
||||
-.c.o:
|
||||
- $(CC) $(CFLAGS) -c $< -o $@
|
||||
-
|
||||
-.PHONY: icon
|
||||
-icon: gtk-$(PACKAGENAME) artwork/logo.svg
|
||||
- $(OBJCOPY) --add-section .icon=artwork/logo.svg gtk-$(PACKAGENAME)
|
||||
-
|
||||
-interface.c: gtk-lshw.glade gtk-lshw.gladep
|
||||
- glade-2 -w gtk-lshw.glade
|
||||
-
|
||||
-gtk-$(PACKAGENAME): $(OBJS) ../core/liblshw.a
|
||||
- $(CXX) $(LDFLAGS) -o $@ $^ $(LIBS)
|
||||
-
|
||||
-install: all
|
||||
- $(STRIP) gtk-$(PACKAGENAME)
|
||||
-
|
||||
-clean:
|
||||
- rm -f $(OBJS) gtk-$(PACKAGENAME) gtk-lshw.glade.bak gtk-lshw.gladep.bak callbacks.c.bak callbacks.h.bak Makefile.bak
|
||||
-
|
||||
-depend:
|
||||
- @makedepend -Y $(SRCS) 2> /dev/null > /dev/null
|
||||
-
|
||||
-
|
||||
-# DO NOT DELETE
|
||||
-
|
||||
-gtk-lshw.o: stock.h engine.h
|
||||
-callbacks.o: callbacks.h support.h engine.h
|
||||
-stock.o: stock.h
|
||||
diff --git a/src/gui/integration/gtk-lshw.desktop b/src/gui/integration/gtk-lshw.desktop.in
|
||||
similarity index 51%
|
||||
rename from src/gui/integration/gtk-lshw.desktop
|
||||
rename to src/gui/integration/gtk-lshw.desktop.in
|
||||
index 4df1c7c..7124c27 100644
|
||||
--- a/src/gui/integration/gtk-lshw.desktop
|
||||
+++ b/src/gui/integration/gtk-lshw.desktop.in
|
||||
@@ -3,10 +3,9 @@ Name=LSHW
|
||||
Comment=HardWare LiSter
|
||||
Comment[fr]=Listeur de matériel
|
||||
Comment[es]=Listar equipamiento
|
||||
-Categories=Application;System;X-Red-Hat-Base;X-Fedora;
|
||||
-Icon=/usr/share/lshw/artwork/logo.svg
|
||||
-Exec=/usr/bin/gtk-lshw
|
||||
+Categories=GTK;System;
|
||||
+Icon=gtk-lshw
|
||||
+Exec=@desktop_exec@
|
||||
Type=Application
|
||||
Terminal=false
|
||||
Encoding=UTF-8
|
||||
-X-Desktop-File-Install-Version=0.10
|
||||
diff --git a/src/gui/integration/lshw-gui.in b/src/gui/integration/lshw-gui.in
|
||||
new file mode 100644
|
||||
index 0000000..ac0823b
|
||||
--- /dev/null
|
||||
+++ b/src/gui/integration/lshw-gui.in
|
||||
@@ -0,0 +1,5 @@
|
||||
+#! /bin/bash
|
||||
+
|
||||
+/usr/bin/pkexec @CMAKE_INSTALL_FULL_SBINDIR@/gtk-lshw
|
||||
+
|
||||
+
|
||||
diff --git a/src/gui/integration/org.ezix.lshw.gui.policy.in b/src/gui/integration/org.ezix.lshw.gui.policy.in
|
||||
new file mode 100644
|
||||
index 0000000..cba4189
|
||||
--- /dev/null
|
||||
+++ b/src/gui/integration/org.ezix.lshw.gui.policy.in
|
||||
@@ -0,0 +1,20 @@
|
||||
+<?xml version="1.0" encoding="UTF-8"?>
|
||||
+<!DOCTYPE policyconfig PUBLIC
|
||||
+"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
|
||||
+"http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
|
||||
+<policyconfig>
|
||||
+ <vendor>lshw</vendor>
|
||||
+ <vendor_url>http://ezix.org/project/wiki/HardwareLiSter</vendor_url>
|
||||
+ <action id="org.ezix.lshw.gui.pkexec.run">
|
||||
+ <description>Hardware Lister (lshw) - list hardware information</description>
|
||||
+ <message>Authentication is required to run lshw-gui</message>
|
||||
+ <icon_name>lshw-gui</icon_name>
|
||||
+ <defaults>
|
||||
+ <allow_any>no</allow_any>
|
||||
+ <allow_inactive>no</allow_inactive>
|
||||
+ <allow_active>auth_admin_keep</allow_active>
|
||||
+ </defaults>
|
||||
+ <annotate key="org.freedesktop.policykit.exec.path">@CMAKE_INSTALL_FULL_SBINDIR@/gtk-lshw</annotate>
|
||||
+ <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
|
||||
+ </action>
|
||||
+</policyconfig>
|
||||
diff --git a/src/gui/stock.c b/src/gui/stock.c
|
||||
index 08675db..2f92332 100644
|
||||
--- a/src/gui/stock.c
|
||||
+++ b/src/gui/stock.c
|
||||
@@ -1,3 +1,4 @@
|
||||
+#include "config.h"
|
||||
#include "stock.h"
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
diff --git a/src/po/CMakeLists.txt b/src/po/CMakeLists.txt
|
||||
new file mode 100644
|
||||
index 0000000..de2f5c8
|
||||
--- /dev/null
|
||||
+++ b/src/po/CMakeLists.txt
|
||||
@@ -0,0 +1,16 @@
|
||||
+include(FindGettext)
|
||||
+
|
||||
+if (GETTEXT_FOUND)
|
||||
+ file(GLOB POTFILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.po")
|
||||
+ string(REPLACE ".po" " " LANGS ${POTFILES})
|
||||
+ message(STATUS "gettext found: ${LANGS}")
|
||||
+ string(REPLACE " " ";" LANGS ${LANGS})
|
||||
+ foreach(LANG ${LANGS})
|
||||
+ GETTEXT_PROCESS_PO_FILES(${LANG} ALL PO_FILES ${LANG}.po)
|
||||
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${LANG}.gmo"
|
||||
+ DESTINATION "${CMAKE_INSTALL_FULL_LOCALEDIR}/${LANG}/LC_MESSAGES"
|
||||
+ RENAME "${PROJECT_NAME}.mo")
|
||||
+ endforeach()
|
||||
+else()
|
||||
+ message("-- gettext not found")
|
||||
+endif()
|
||||
diff --git a/src/po/Makefile b/src/po/Makefile
|
||||
deleted file mode 100644
|
||||
index 36fbdb7..0000000
|
||||
--- a/src/po/Makefile
|
||||
+++ /dev/null
|
||||
@@ -1,23 +0,0 @@
|
||||
-PACKAGENAME?=lshw
|
||||
-
|
||||
-LANGUAGES = fr
|
||||
-SRCS = $(LANGUAGES:=.po)
|
||||
-CATALOGS = $(LANGUAGES:=.mo)
|
||||
-
|
||||
-all: $(PACKAGENAME).pot $(CATALOGS)
|
||||
-
|
||||
-POTFILES:
|
||||
- find .. -name \*.cc > $@
|
||||
- find .. -name \*.c >> $@
|
||||
-
|
||||
-$(PACKAGENAME).pot: POTFILES
|
||||
- xgettext -F --no-wrap --indent --keyword=_ --keyword=N_ -d $(PACKAGENAME) -o $@ -f POTFILES
|
||||
-
|
||||
-%.mo: %.po
|
||||
- msgfmt -v -o $@ $^
|
||||
-
|
||||
-install: $(CATALOGS)
|
||||
- $(foreach i, $(LANGUAGES), install -D $(i).mo $(DESTDIR)/$(DATADIR)/locale/$(i)/LC_MESSAGES/$(PACKAGENAME).mo ;)
|
||||
-
|
||||
-clean:
|
||||
- rm -f $(CATALOGS) $(PACKAGENAME).pot
|
||||
--
|
||||
2.13.6
|
||||
|
66
SOURCES/lshw-B.02.18-revert-json.patch
Normal file
66
SOURCES/lshw-B.02.18-revert-json.patch
Normal file
@ -0,0 +1,66 @@
|
||||
commit 135a853c60582b14c5b67e5cd988a8062d9896f4
|
||||
Author: Lyonel Vincent <lyonel@ezix.org>
|
||||
Date: Fri Apr 28 16:54:42 2017 +0200
|
||||
|
||||
Fix JSON output format
|
||||
|
||||
cf. https://github.com/lyonel/lshw/pull/28
|
||||
|
||||
diff --git a/src/core/hw.cc b/src/core/hw.cc
|
||||
index 68e5912..9defd26 100644
|
||||
--- a/src/core/hw.cc
|
||||
+++ b/src/core/hw.cc
|
||||
@@ -1368,9 +1368,14 @@ string hwNode::asJSON(unsigned level)
|
||||
config = getConfigKeys();
|
||||
resources = getResources("\" value=\"");
|
||||
|
||||
+ if (level == 0)
|
||||
+ {
|
||||
+ out << "[" << endl;
|
||||
+ }
|
||||
+
|
||||
if(visible(getClassName()))
|
||||
{
|
||||
- out << "{" << endl;
|
||||
+ out << spaces(2*level) << "{" << endl;
|
||||
out << spaces(2*level+2) << "\"id\" : \"" << getId() << "\"," << endl;
|
||||
out << spaces(2*level+2) << "\"class\" : \"" << getClassName() << "\"";
|
||||
|
||||
@@ -1613,20 +1618,13 @@ string hwNode::asJSON(unsigned level)
|
||||
resources.clear();
|
||||
}
|
||||
|
||||
-
|
||||
- if(countChildren()>0)
|
||||
+ for (unsigned int i = 0; i < countChildren(); i++)
|
||||
{
|
||||
- if(visible(getClassName()))
|
||||
- out << "," << endl << spaces(2*level+2) << "\"children\" : [" << endl;
|
||||
-
|
||||
- for (unsigned int i = 0; i < countChildren(); i++)
|
||||
+ out << getChild(i)->asJSON(visible(getClassName()) ? level + 2 : 1);
|
||||
+ if (visible(getChild(i)->getClassName()))
|
||||
{
|
||||
- out << spaces(2*level+4) << getChild(i)->asJSON(visible(getClassName()) ? level + 2 : 1);
|
||||
- if(visible(getChild(i)->getClassName()) && (i < countChildren()-1)) out << "," << endl;
|
||||
+ out << "," << endl;
|
||||
}
|
||||
-
|
||||
- if(visible(getClassName()))
|
||||
- out << endl << spaces(2*level+2) << "]";
|
||||
}
|
||||
|
||||
if(visible(getClassName()))
|
||||
@@ -1635,6 +1633,12 @@ string hwNode::asJSON(unsigned level)
|
||||
out << "}";
|
||||
}
|
||||
|
||||
+ if (level == 0)
|
||||
+ {
|
||||
+ out.seekp(-2, std::ios_base::end);
|
||||
+ out << endl << "]" << endl;
|
||||
+ }
|
||||
+
|
||||
return out.str();
|
||||
}
|
||||
|
26
SOURCES/lshw-B.02.18-scandir.patch
Normal file
26
SOURCES/lshw-B.02.18-scandir.patch
Normal file
@ -0,0 +1,26 @@
|
||||
diff --git a/src/core/abi.cc b/src/core/abi.cc
|
||||
index 76c664c..b5bd9c9 100644
|
||||
--- a/src/core/abi.cc
|
||||
+++ b/src/core/abi.cc
|
||||
@@ -36,13 +36,15 @@ bool scan_abi(hwNode & system)
|
||||
struct dirent **namelist;
|
||||
|
||||
n = scandir(".", &namelist, selectfile, alphasort);
|
||||
- for(i=0; i<n; i++)
|
||||
- {
|
||||
- system.addCapability(namelist[i]->d_name);
|
||||
- free(namelist[i]);
|
||||
+ if (n > 0) {
|
||||
+ for(i=0; i<n; i++)
|
||||
+ {
|
||||
+ system.addCapability(namelist[i]->d_name);
|
||||
+ free(namelist[i]);
|
||||
+ }
|
||||
+ if(namelist)
|
||||
+ free(namelist);
|
||||
}
|
||||
- if(namelist)
|
||||
- free(namelist);
|
||||
}
|
||||
|
||||
popd();
|
335
SPECS/lshw.spec
Normal file
335
SPECS/lshw.spec
Normal file
@ -0,0 +1,335 @@
|
||||
Summary: Hardware lister
|
||||
Name: lshw
|
||||
Version: B.02.18
|
||||
Release: 21%{?dist}
|
||||
License: GPLv2
|
||||
Group: Applications/System
|
||||
URL: http://ezix.org/project/wiki/HardwareLiSter
|
||||
Source0: http://www.ezix.org/software/files/lshw-%{version}.tar.gz
|
||||
Patch1: lshw-B.02.18-scandir.patch
|
||||
Patch2: lshw-B.02.18-20cda77.patch
|
||||
Patch3: lshw-B.02.18-revert-json.patch
|
||||
Patch4: lshw-B.02.18-cmake.patch
|
||||
Patch5: lshw-B.02.18-Add-the-FindPkgConfig-to-CMakeLists.patch
|
||||
Patch6: 0001-merge-Github-PR-40-and-41.patch
|
||||
Patch7: 0002-Avoid-very-long-IDE-programming-interface-names-as-c.patch
|
||||
Patch8: 0003-Set-powerpc-logo-hint.patch
|
||||
Patch9: 0004-Fix-DIMM-info-for-older-IBM-POWER-systems.patch
|
||||
Patch10: 0005-apply-Github-PR42.patch
|
||||
Patch11: 0006-add-Hygon-company-description-for-Hygon-CPU-VendorID.patch
|
||||
Patch12: 0007-update-id-files.patch
|
||||
Patch13: 0008-merge-Github-PR44.patch
|
||||
|
||||
BuildRequires: cmake
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: gettext
|
||||
BuildRequires: gtk2-devel >= 2.4
|
||||
BuildRequires: libappstream-glib
|
||||
BuildRequires: ninja-build
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: sqlite
|
||||
BuildRequires: sqlite-devel
|
||||
Requires: hwdata
|
||||
%description
|
||||
lshw is a small tool to provide detailed informaton on the hardware
|
||||
configuration of the machine. It can report exact memory
|
||||
configuration, firmware version, mainboard configuration, CPU version
|
||||
and speed, cache configuration, bus speed, etc. on DMI-capable x86
|
||||
systems and on some PowerPC machines (PowerMac G4 is known to work).
|
||||
|
||||
Information can be output in plain text, XML or HTML.
|
||||
|
||||
%package gui
|
||||
Summary: Graphical hardware lister
|
||||
Group: Applications/System
|
||||
Requires: polkit
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
%description gui
|
||||
Graphical frontend for the hardware lister (lshw) tool. If desired,
|
||||
hardware information can be saved to file in plain, XML or HTML
|
||||
format.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch01 -p1
|
||||
%patch02 -p1
|
||||
%patch03 -R -p1
|
||||
%patch04 -p1
|
||||
%patch05 -p1
|
||||
%patch06 -p1
|
||||
%patch07 -p1
|
||||
%patch08 -p1
|
||||
%patch09 -p1
|
||||
%patch10 -p1
|
||||
%patch11 -p1
|
||||
%patch12 -p1
|
||||
%patch13 -p1
|
||||
|
||||
%build
|
||||
mkdir build && pushd build
|
||||
%cmake .. -DNOLOGO=ON -DHWDATA=OFF -DPOLICYKIT=ON -DBUILD_SHARED_LIBS=OFF -DSQLITE=ON -GNinja
|
||||
%ninja_build
|
||||
|
||||
%install
|
||||
pushd build
|
||||
%ninja_install
|
||||
ln -s gtk-lshw %{buildroot}%{_sbindir}/lshw-gui
|
||||
|
||||
# translations seems borken, remove for now
|
||||
#find_lang %{name}
|
||||
rm -rf %{buildroot}%{_datadir}/locale/fr/
|
||||
|
||||
%check
|
||||
appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/appdata/*.appdata.xml
|
||||
|
||||
# check json output is valid
|
||||
pushd build
|
||||
src/lshw -json \
|
||||
-disable usb -disable pcmcia -disable isapnp \
|
||||
-disable ide -disable scsi -disable dmi -disable memory \
|
||||
-disable cpuinfo 2>/dev/null | %{__python3} -m json.tool
|
||||
|
||||
#files -f %{name}.lang
|
||||
%files
|
||||
%license COPYING
|
||||
%doc README.md
|
||||
%{_mandir}/man1/lshw.1*
|
||||
%{_sbindir}/lshw
|
||||
|
||||
%files gui
|
||||
%license COPYING
|
||||
%{_bindir}/lshw-gui
|
||||
%{_sbindir}/gtk-lshw
|
||||
%{_sbindir}/lshw-gui
|
||||
%dir %{_datadir}/lshw
|
||||
%{_datadir}/lshw/artwork
|
||||
%dir %{_datadir}/lshw/ui
|
||||
%{_datadir}/lshw/ui/gtk-lshw.ui
|
||||
%{_datadir}/pixmaps/gtk-lshw.svg
|
||||
%{_datadir}/applications/gtk-lshw.desktop
|
||||
%{_datadir}/appdata/gtk-lshw.appdata.xml
|
||||
%{_datadir}/polkit-1/actions/org.ezix.lshw.gui.policy
|
||||
|
||||
%changelog
|
||||
* Mon May 13 2019 Lianbo Jiang <lijiang@redhat.com> - B.02.18-21
|
||||
- Update to upstream master 6cc0581bc805.
|
||||
- Resolves: rhbz#1664092
|
||||
|
||||
* Thu Apr 25 2019 Lianbo Jiang <lijiang@redhat.com> - B.02.18-20
|
||||
- Change python to python3 in selftest/Makefile for the CI gating test.
|
||||
- Resolves: rhbz#1680623
|
||||
|
||||
* Thu Apr 25 2019 Lianbo Jiang <lijiang@redhat.com> - B.02.18-19
|
||||
- Enable SQLite and fix the CI gating test.
|
||||
- Resolves: rhbz#1680623
|
||||
|
||||
* Tue Apr 23 2019 Lianbo Jiang <lijiang@redhat.com> - B.02.18-18
|
||||
- Fix:59a8e99ab22d ("Porting the code from /CoreOS/lshw/sanity/check-output for the CI gating")
|
||||
- Resolves: rhbz#1680623
|
||||
|
||||
* Fri Apr 19 2019 Lianbo Jiang <lijiang@redhat.com> - B.02.18-17
|
||||
- Add the CI gating test
|
||||
- Resolves: rhbz#1680623
|
||||
|
||||
* Mon Apr 02 2018 Terje Rosten <terje.rosten@ntnu.no> - B.02.18-16
|
||||
- Update to commit 20cda77
|
||||
- Convert to cmake build system
|
||||
|
||||
* Thu Feb 08 2018 Terje Rosten <terje.rosten@ntnu.no> - B.02.18-15
|
||||
- Fix JSON issue (rhbz#1543320)
|
||||
|
||||
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - B.02.18-14
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Fri Jan 26 2018 Terje Rosten <terje.rosten@ntnu.no> - B.02.18-13
|
||||
- Fix date
|
||||
- Need gettext
|
||||
|
||||
* Fri Jan 26 2018 Terje Rosten <terje.rosten@ntnu.no> - B.02.18-12
|
||||
- Update to commit d05baa7
|
||||
|
||||
* Mon Aug 28 2017 Terje Rosten <terje.rosten@ntnu.no> - B.02.18-11
|
||||
- Prefer lshw-gui in lshw-gui context
|
||||
|
||||
* Sun Aug 13 2017 Terje Rosten <terje.rosten@ntnu.no> - B.02.18-10
|
||||
- Add AppData bz#1476498
|
||||
|
||||
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - B.02.18-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - B.02.18-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Mon May 15 2017 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - B.02.18-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - B.02.18-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Wed Aug 24 2016 Terje Rosten <terje.rosten@ntnu.no> - B.02.18-5
|
||||
- Modify lshw gui wrapper to fix bz#1368404
|
||||
|
||||
* Thu Aug 11 2016 Terje Rosten <terje.rosten@ntnu.no> - B.02.18-4
|
||||
- Add patches to fix sysconf/long_bit issue and crash (bz#1342792)
|
||||
|
||||
* Wed May 18 2016 Terje Rosten <terje.rosten@ntnu.no> - B.02.18-3
|
||||
- Add patch to fix crash (bz#1332486)
|
||||
|
||||
* Mon Apr 25 2016 Terje Rosten <terje.rosten@ntnu.no> - B.02.18-2
|
||||
- Date fix
|
||||
|
||||
* Mon Apr 25 2016 Terje Rosten <terje.rosten@ntnu.no> - B.02.18-1
|
||||
- B.02.18
|
||||
|
||||
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - B.02.17-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - B.02.17-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - B.02.17-5
|
||||
- Rebuilt for GCC 5 C++11 ABI change
|
||||
|
||||
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - B.02.17-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - B.02.17-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Mon Sep 30 2013 Terje Rosten <terje.rosten@ntnu.no> - B.02.17-2
|
||||
- Add patch to fix segfault in scan fat code
|
||||
|
||||
* Thu Sep 26 2013 Terje Rosten <terje.rosten@ntnu.no> - B.02.17-1
|
||||
- B.02.17
|
||||
|
||||
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - B.02.16-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Sun Jun 09 2013 Terje Rosten <terje.rosten@ntnu.no> - B.02.16-8
|
||||
- Rename macro
|
||||
|
||||
* Sun Jun 09 2013 Terje Rosten <terje.rosten@ntnu.no> - B.02.16-7
|
||||
- Fix desktop file (bz #953684)
|
||||
- Remove broken translations (bz #905896)
|
||||
- Add vendor macro
|
||||
|
||||
* Fri Apr 26 2013 Jon Ciesla <limburgher@gmail.com> - B.02.16-6
|
||||
- Drop desktop vendor tag.
|
||||
|
||||
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - B.02.16-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||
|
||||
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - B.02.16-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Tue May 08 2012 Terje Rosten <terje.rosten@ntnu.no> - B.02.16-3
|
||||
- Switch from consolehelper to PolicyKit (bz #502730)
|
||||
|
||||
* Tue Feb 28 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - B.02.16-2
|
||||
- Rebuilt for c++ ABI breakage
|
||||
|
||||
* Sun Jan 29 2012 Terje Rosten <terje.rosten@ntnu.no> - B.02.16-1
|
||||
- B.02.16
|
||||
|
||||
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - B.02.15-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||
|
||||
* Mon Oct 17 2011 Terje Rosten <terje.rosten@ntnu.no> - B.02.15-3
|
||||
- Own all dirs
|
||||
|
||||
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - B.02.15-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||
|
||||
* Sun Nov 21 2010 Terje Rosten <terje.rosten@ntnu.no> - B.02.15-1
|
||||
- B.02.15
|
||||
- Remove patches now upstream
|
||||
- Build with sqlite support
|
||||
|
||||
* Sun Sep 05 2010 Terje Rosten <terje.rosten@ntnu.no> - B.02.14-5
|
||||
- Add patch to fix build with gcc-4.5
|
||||
|
||||
* Sun Sep 05 2010 Terje Rosten <terje.rosten@ntnu.no> - B.02.14-4
|
||||
- Add patch to fix ext4 issue
|
||||
|
||||
* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - B.02.14-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||
|
||||
* Wed May 06 2009 Adam Jackson <ajax@redhat.com> - B.02.14-2
|
||||
- Requires: hwdata
|
||||
- Drop redundant copies of pci.ids and friends, since we'll pick up the
|
||||
copies in hwdata at runtime
|
||||
|
||||
* Sun Mar 1 2009 Terje Rosten <terjeros@phys.ntnu.no> - B.02.14-1
|
||||
- B.02.14
|
||||
- Drop gcc43 patch now upstream
|
||||
|
||||
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - B.02.13-4
|
||||
- rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
||||
|
||||
* Wed Aug 13 2008 Terje Rosten <terjeros@phys.ntnu.no> - B.02.13-3
|
||||
- rebuild
|
||||
|
||||
* Wed Aug 13 2008 Terje Rosten <terjeros@phys.ntnu.no> - B.02.13-2
|
||||
- proper patch macro
|
||||
|
||||
* Wed Aug 13 2008 Terje Rosten <terjeros@phys.ntnu.no> - B.02.13-1
|
||||
- B.02.13
|
||||
- remove patches now upstream
|
||||
- add new gcc43 patch
|
||||
|
||||
* Tue Apr 15 2008 Terje Rosten <terjeros@phys.ntnu.no> - B.02.12.01-5
|
||||
- rebuild
|
||||
|
||||
* Tue Apr 15 2008 Terje Rosten <terjeros@phys.ntnu.no> - B.02.12.01-4
|
||||
- add patch to fix bz #442501
|
||||
|
||||
* Mon Feb 11 2008 Terje Rosten <terjeros@phys.ntnu.no> - B.02.12.01-3
|
||||
- add patch to build with gcc-4.3
|
||||
|
||||
* Sat Feb 09 2008 Terje Rosten <terjeros@phys.ntnu.no> - B.02.12.01-2
|
||||
- rebuild
|
||||
|
||||
* Mon Nov 5 2007 Terje Rosten <terjeros@phys.ntnu.no> - B.02.12.01-1
|
||||
- B.02.12.01
|
||||
- Replace trademark icons
|
||||
|
||||
* Tue Aug 14 2007 Terje Rosten <terjeros@phys.ntnu.no> - B.02.11.01-3
|
||||
- Move desktop and pam config to files
|
||||
- Simplify build
|
||||
|
||||
* Tue Aug 07 2007 Terje Rosten <terjeros@phys.ntnu.no> - B.02.11.01-2
|
||||
- Remove trademarks
|
||||
|
||||
* Mon Aug 06 2007 Terje Rosten <terjeros@phys.ntnu.no> - B.02.11.01-1
|
||||
- B.02.11.01
|
||||
|
||||
* Sun Aug 05 2007 Terje Rosten <terjeros@phys.ntnu.no> - B.02.11-3
|
||||
- Move artwork to gui subpackage
|
||||
- Implement consolehelper support
|
||||
|
||||
* Sat Aug 04 2007 Terje Rosten <terjeros@phys.ntnu.no> - B.02.11-2
|
||||
- License is GPLv2 (only)
|
||||
- Fix ui %%description
|
||||
|
||||
* Wed Aug 01 2007 Terje Rosten <terjeros@phys.ntnu.no> - B.02.11-1
|
||||
- Follow upstream version scheme
|
||||
|
||||
* Wed Jul 25 2007 Terje Rosten <terjeros@phys.ntnu.no> - 2.11-1
|
||||
- 2.11
|
||||
|
||||
* Wed Jun 27 2007 Terje Rosten <terjeros@phys.ntnu.no> - 2.10-2
|
||||
- minor fixes
|
||||
- add patch to avoid stripping
|
||||
- add desktop file
|
||||
- strip changelog
|
||||
- move from sbin to bin
|
||||
- new url
|
||||
|
||||
* Wed Feb 14 2007 Dag Wieers <dag@wieers.com> - 2.10-1 - 4876+/dag
|
||||
- Updated to release B.02.10.
|
||||
|
||||
* Tue Dec 21 2004 Dag Wieers <dag@wieers.com> - 2.0-1
|
||||
- Initial package. (using DAR)
|
||||
|
Loading…
Reference in New Issue
Block a user