import lshw-B.02.18-21.el8

This commit is contained in:
CentOS Sources 2019-08-01 12:10:10 -04:00 committed by Stepan Oksanichenko
commit 72876cdb6c
16 changed files with 149818 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
SOURCES/lshw-B.02.18.tar.gz

1
.lshw.metadata Normal file
View File

@ -0,0 +1 @@
c0240f5e53cf40769d52e316719e8010ea6bdea3 SOURCES/lshw-B.02.18.tar.gz

View 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

View File

@ -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

View 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

View 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

View 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

View File

@ -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

File diff suppressed because it is too large Load Diff

View 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

File diff suppressed because it is too large Load Diff

View File

@ -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

View 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

View 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();
}

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