diff --git a/_service b/_service
deleted file mode 100644
index ff293c9..0000000
--- a/_service
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
- https://github.com/lyonel/lshw.git
- git
- enable
- lshw
- B.02.18+git.%cd
-
-
- *.tar
- xz
-
-
-
diff --git a/_servicedata b/_servicedata
deleted file mode 100644
index 95db811..0000000
--- a/_servicedata
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
- https://github.com/lyonel/lshw.git
- 89b3b6b9ed03f22ca98954712db5a90acf2c6755
\ No newline at end of file
diff --git a/lshw-B.02.18+git.20191228.tar.xz b/lshw-B.02.18+git.20191228.tar.xz
deleted file mode 100644
index 4b341e0..0000000
--- a/lshw-B.02.18+git.20191228.tar.xz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:9caaed85389fd0f5bdc32fb20d976015e886a016234c3636d27d74991ffeb82d
-size 1696040
diff --git a/lshw-B.02.19.2.tar.gz b/lshw-B.02.19.2.tar.gz
new file mode 100644
index 0000000..d8bf28f
--- /dev/null
+++ b/lshw-B.02.19.2.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9bb347ac87142339a366a1759ac845e3dbb337ec000aa1b99b50ac6758a80f80
+size 2467937
diff --git a/lshw-add-notime-option-to-manpage.patch b/lshw-add-notime-option-to-manpage.patch
deleted file mode 100644
index 62529d4..0000000
--- a/lshw-add-notime-option-to-manpage.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 53d80a099d9b607f6104e4010f02d642decfa588 Mon Sep 17 00:00:00 2001
-From: Brahadambal Srinivasan
-Date: Mon, 23 Dec 2019 11:59:39 +0530
-Subject: [PATCH] add notime option to manpage
-
-lshw man page and --help are not in sync and the 'notime' option
-is not present in man page.
-
-This patch adds the option in the manpages.
-
-Signed-off-by: Brahadambal Srinivasan
----
- src/lshw.1 | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-Index: lshw-B.02.18+git.20191228/src/lshw.1
-===================================================================
---- lshw-B.02.18+git.20191228.orig/src/lshw.1
-+++ lshw-B.02.18+git.20191228/src/lshw.1
-@@ -10,7 +10,7 @@ lshw \- list hardware
- .sp
- \fBlshw\fR [ \fB-X\fR ]
- .sp
--\fBlshw\fR [ \fB [ -html ] [ -short ] [ -xml ] [ -json ] [ -businfo ] \fR ] [ \fB-dump \fIfilename\fB\fR ] [ \fB-class \fIclass\fB\fR\fI...\fR ] [ \fB-disable \fItest\fB\fR\fI...\fR ] [ \fB-enable \fItest\fB\fR\fI...\fR ] [ \fB-sanitize\fR ] [ \fB-numeric\fR ] [ \fB-quiet\fR ]
-+\fBlshw\fR [ \fB [ -html ] [ -short ] [ -xml ] [ -json ] [ -businfo ] \fR ] [ \fB-dump \fIfilename\fB\fR ] [ \fB-class \fIclass\fB\fR\fI...\fR ] [ \fB-disable \fItest\fB\fR\fI...\fR ] [ \fB-enable \fItest\fB\fR\fI...\fR ] [ \fB-sanitize\fR ] [ \fB-numeric\fR ] [ \fB-notime\fR ] [ \fB-quiet\fR ]
- .SH "DESCRIPTION"
- .PP
-
-@@ -74,6 +74,8 @@ Remove potentially sensitive information
- .TP
- \fB-numeric\fR
- Also display numeric IDs (for PCI and USB devices).
-+\fB-notime\fR
-+exclude volatile attributes (timestamps) from output
- .SH "BUGS"
- .PP
- \fBlshw\fR currently does not detect
diff --git a/lshw-display-latest-version.patch b/lshw-display-latest-version.patch
deleted file mode 100644
index 2021428..0000000
--- a/lshw-display-latest-version.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 5e58d66598908249f44d349d22efdc4524f0cfcb Mon Sep 17 00:00:00 2001
-From: Vasant Hegde
-Date: Mon, 29 Apr 2019 22:39:08 +0530
-Subject: [PATCH] Fix version output
-
-Display latest version only when its greater than current version.
-
-"lshw -version" tries to get current version from upstream repository.
-If it contains old version then output becomes confusing (as running
-version > latest version).
-
-Signed-off-by: Vasant Hegde
----
- src/lshw.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: lshw-B.02.18+git.20191228/src/lshw.cc
-===================================================================
---- lshw-B.02.18+git.20191228.orig/src/lshw.cc
-+++ lshw-B.02.18+git.20191228/src/lshw.cc
-@@ -121,7 +121,7 @@ char **argv)
- printf("%s\n", getpackageversion());
- if(latest)
- {
-- if(strcmp(latest, getpackageversion()) != 0)
-+ if(strcmp(latest, getpackageversion()) >= 0)
- fprintf(stderr, _("the latest version is %s\n"), latest);
- }
- exit(0);
diff --git a/lshw-nvme.patch b/lshw-nvme.patch
deleted file mode 100644
index d351ac5..0000000
--- a/lshw-nvme.patch
+++ /dev/null
@@ -1,329 +0,0 @@
-From 7b1863bd61c1751a67b020820f4243a4df4b379a Mon Sep 17 00:00:00 2001
-From: Harry Mallon
-Date: Mon, 25 Mar 2019 19:44:14 +0000
-Subject: [PATCH] add support for /dev/nvmeX NVMe controllers
-
-* Added nvme scanning for controllers /dev/nvme[0-9]+
-* Added nvme scanning for namespaces /dev/nvme[0-9]+n[0-9]+
-* Fill in namespaces as disks
-* Teach partition scanning about nvme partitions /dev/nvme[0-9]+n[0-9]+p[0-9]+
----
- src/core/Makefile | 5 +-
- src/core/main.cc | 4 ++
- src/core/nvme.cc | 156 +++++++++++++++++++++++++++++++++++++++++
- src/core/nvme.h | 7 ++
- src/core/partitions.cc | 17 +++--
- src/core/sysfs.cc | 15 ++++
- src/core/sysfs.h | 3 +
- 7 files changed, 199 insertions(+), 8 deletions(-)
- create mode 100644 src/core/nvme.cc
- create mode 100644 src/core/nvme.h
-
-Index: lshw-B.02.18+git.20191228/src/core/Makefile
-===================================================================
---- lshw-B.02.18+git.20191228.orig/src/core/Makefile
-+++ lshw-B.02.18+git.20191228/src/core/Makefile
-@@ -8,7 +8,7 @@ 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
-+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 nvme.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
-@@ -23,7 +23,7 @@ lib$(PACKAGENAME).a: $(OBJS)
- $(AR) rs $@ $^
-
- install: all
--
-+
- clean:
- rm -f $(OBJS) lib$(PACKAGENAME).a
-
-@@ -51,6 +51,7 @@ ide.o: version.h cpuinfo.h hw.h osutils.
- 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
-+nvme.o: version.h hw.h disk.h osutils.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
-Index: lshw-B.02.18+git.20191228/src/core/main.cc
-===================================================================
---- lshw-B.02.18+git.20191228.orig/src/core/main.cc
-+++ lshw-B.02.18+git.20191228/src/core/main.cc
-@@ -29,6 +29,7 @@
- #include "pcmcia-legacy.h"
- #include "ide.h"
- #include "scsi.h"
-+#include "nvme.h"
- #include "spd.h"
- #include "network.h"
- #include "isapnp.h"
-@@ -132,6 +133,9 @@ bool scan_system(hwNode & system)
- status("SCSI");
- if (enabled("scsi"))
- scan_scsi(computer);
-+ status("NVMe");
-+ if (enabled("nvme"))
-+ scan_nvme(computer);
- status("S/390 devices");
- if (enabled("s390"))
- scan_s390_devices(computer);
-Index: lshw-B.02.18+git.20191228/src/core/nvme.cc
-===================================================================
---- /dev/null
-+++ lshw-B.02.18+git.20191228/src/core/nvme.cc
-@@ -0,0 +1,156 @@
-+#include "version.h"
-+#include "disk.h"
-+#include "osutils.h"
-+#include "sysfs.h"
-+#include "hw.h"
-+#include
-+#include
-+
-+#include
-+
-+__ID("@(#) $Id$");
-+
-+#define CLASS_NVME "nvme"
-+#define NVMEX "/dev/nvme[0-9]*"
-+#define NVMEXNX "/dev/nvme[0-9]*n[0-9]*"
-+
-+static void scan_controllers(hwNode & n)
-+{
-+ glob_t entries;
-+ size_t j;
-+
-+ if(glob(NVMEX, 0, NULL, &entries) == 0)
-+ {
-+ for(j=0; j < entries.gl_pathc; j++)
-+ {
-+ if(matches(entries.gl_pathv[j], "^/dev/nvme[[:digit:]]+$"))
-+ {
-+ string businfo = "";
-+ string logicalname = "";
-+ hwNode *device = NULL;
-+
-+ logicalname = basename(entries.gl_pathv[j]);
-+ if (logicalname.empty())
-+ continue;
-+
-+ businfo = sysfs::entry::byClass(CLASS_NVME, logicalname).businfo();
-+
-+ if (!businfo.empty())
-+ device = n.findChildByBusInfo(businfo);
-+
-+ if (!device)
-+ device = n.findChildByLogicalName(logicalname);
-+
-+ if (!device)
-+ {
-+ hwNode *core = n.getChild("core");
-+
-+ if (core)
-+ device = n.getChild("nvme");
-+
-+ if (core && !device)
-+ device = core->addChild(hwNode("nvme", hw::storage));
-+ }
-+
-+ if (!device)
-+ device = n.addChild(hwNode("nvme", hw::storage));
-+
-+ if (device)
-+ {
-+ if(device->getBusInfo().empty())
-+ device->setBusInfo(businfo);
-+ device->setLogicalName(logicalname);
-+ device->claim();
-+ }
-+ }
-+ }
-+
-+ globfree(&entries);
-+ }
-+}
-+
-+static void scan_namespaces(hwNode & n)
-+{
-+ glob_t entries;
-+ size_t j;
-+
-+ if(glob(NVMEXNX, 0, NULL, &entries) == 0)
-+ {
-+ for(j=0; j < entries.gl_pathc; j++)
-+ {
-+ if(matches(entries.gl_pathv[j], "^/dev/nvme[[:digit:]]+n[[:digit:]]+$"))
-+ {
-+ // We get this information from sysfs rather than doing an NVMe Identify command
-+ // so they may not all be available from all kernels.
-+ string path = entries.gl_pathv[j];
-+ string logicalname = "";
-+ string parentlogicalname = "";
-+ string model;
-+ string serial;
-+ string firmware_rev;
-+ hwNode *parent = NULL;
-+ hwNode device = hwNode("disk", hw::disk);
-+
-+ logicalname = basename(entries.gl_pathv[j]);
-+ if (logicalname.empty())
-+ continue;
-+
-+ parentlogicalname = path.substr(0, path.find_last_of("n"));
-+
-+ sysfs::entry e = sysfs::entry::byClass("block", logicalname);
-+
-+ model = e.model();
-+ serial = e.serial();
-+ firmware_rev = e.firmware_rev();
-+
-+ device.setDescription("NVMe disk");
-+ device.setLogicalName(logicalname);
-+ device.claim();
-+
-+ if (!model.empty())
-+ device.setProduct(model);
-+ if (!serial.empty())
-+ device.setSerial(serial);
-+ if (!firmware_rev.empty())
-+ device.setVersion(firmware_rev);
-+
-+ scan_disk(device);
-+
-+ if (!parentlogicalname.empty())
-+ parent = n.findChildByLogicalName(parentlogicalname);
-+
-+ if (!parent)
-+ {
-+ hwNode *core = n.getChild("core");
-+
-+ if (core)
-+ parent = n.getChild("nvme");
-+
-+ if (core && !parent)
-+ parent = core->addChild(hwNode("nvme", hw::storage));
-+ }
-+
-+ if (!parent)
-+ parent = n.addChild(hwNode("nvme", hw::storage));
-+
-+ if (parent)
-+ {
-+ parent->addChild(device);
-+ parent->claim();
-+ }
-+ }
-+ }
-+
-+ globfree(&entries);
-+ }
-+
-+}
-+
-+bool scan_nvme(hwNode & n)
-+{
-+ scan_controllers(n);
-+
-+ scan_namespaces(n);
-+
-+ return false;
-+}
-Index: lshw-B.02.18+git.20191228/src/core/nvme.h
-===================================================================
---- /dev/null
-+++ lshw-B.02.18+git.20191228/src/core/nvme.h
-@@ -0,0 +1,7 @@
-+#ifndef _NVME_H_
-+#define _NVME_H_
-+
-+#include "hw.h"
-+
-+bool scan_nvme(hwNode & n);
-+#endif
-Index: lshw-B.02.18+git.20191228/src/core/partitions.cc
-===================================================================
---- lshw-B.02.18+git.20191228.orig/src/core/partitions.cc
-+++ lshw-B.02.18+git.20191228/src/core/partitions.cc
-@@ -295,6 +295,7 @@ static bool guess_logicalname(source & s
- struct stat buf;
- char name[10];
- int dev = 0;
-+ string devname;
-
- snprintf(name, sizeof(name), "%d", n);
- if(disk.getBusInfo()!="")
-@@ -304,9 +305,16 @@ static bool guess_logicalname(source & s
- if(!S_ISBLK(buf.st_mode)) return false;
-
- if(s.diskname!="")
-- dev = open_dev(buf.st_rdev + n, S_IFBLK, s.diskname+string(name));
-+ devname = s.diskname;
- else
-- dev = open_dev(buf.st_rdev + n, S_IFBLK, disk.getLogicalName()+string(name));
-+ devname = disk.getLogicalName();
-+
-+ // NVMe partitions are like /dev/nvme0n1p2
-+ if(matches(devname, "^/dev/nvme[[:digit:]]+n[[:digit:]]+$"))
-+ devname += "p";
-+ devname += string(name);
-+
-+ dev = open_dev(buf.st_rdev + n, S_IFBLK, devname);
-
- if(dev>=0)
- {
-@@ -330,10 +338,7 @@ static bool guess_logicalname(source & s
- if(memcmp(buffer1, buffer2, BLOCKSIZE)==0)
- {
- partition.claim();
-- if(s.diskname!="")
-- partition.setLogicalName(s.diskname+string(name));
-- else
-- partition.setLogicalName(disk.getLogicalName()+string(name));
-+ partition.setLogicalName(devname);
- return true;
- }
- }
-Index: lshw-B.02.18+git.20191228/src/core/sysfs.cc
-===================================================================
---- lshw-B.02.18+git.20191228.orig/src/core/sysfs.cc
-+++ lshw-B.02.18+git.20191228/src/core/sysfs.cc
-@@ -368,6 +368,21 @@ string entry::vendor() const
- return get_string(This->devpath+"/vendor");
- }
-
-+string entry::model() const
-+{
-+ return get_string(This->devpath+"/model");
-+}
-+
-+string entry::serial() const
-+{
-+ return get_string(This->devpath+"/serial");
-+}
-+
-+string entry::firmware_rev() const
-+{
-+ return get_string(This->devpath+"/firmware_rev");
-+}
-+
- vector < entry > sysfs::entries_by_bus(const string & busname)
- {
- vector < entry > result;
-Index: lshw-B.02.18+git.20191228/src/core/sysfs.h
-===================================================================
---- lshw-B.02.18+git.20191228.orig/src/core/sysfs.h
-+++ lshw-B.02.18+git.20191228/src/core/sysfs.h
-@@ -28,6 +28,9 @@ namespace sysfs
- string modalias() const;
- string device() const;
- string vendor() const;
-+ string model() const;
-+ string serial() const;
-+ string firmware_rev() const;
- entry parent() const;
- string name_in_class(const string &) const;
- string string_attr(const string & name, const string & def = "") const;
diff --git a/lshw.changes b/lshw.changes
index 6cc0dd0..350e19b 100644
--- a/lshw.changes
+++ b/lshw.changes
@@ -1,3 +1,14 @@
+-------------------------------------------------------------------
+Mon Mar 30 06:49:19 UTC 2020 - Martin Pluskal
+
+- Update to version B.02.19.2:
+ * New release tagged, no significant changes from previous
+ version (git snapsho)
+- Drop no longer needed patches:
+ * lshw-display-latest-version.patch
+ * lshw-add-notime-option-to-manpage.patch
+ * lshw-nvme.patch
+
-------------------------------------------------------------------
Mon Mar 16 12:14:54 UTC 2020 - Martin Pluskal
diff --git a/lshw.spec b/lshw.spec
index 5dea6cb..f5b2ed6 100644
--- a/lshw.spec
+++ b/lshw.spec
@@ -18,19 +18,15 @@
Name: lshw
-Version: B.02.18+git.20191228
+Version: B.02.19.2
Release: 0
Summary: HardWare LiSter
License: GPL-2.0-only
Group: Hardware/Other
URL: https://www.ezix.org/project/wiki/HardwareLiSter
-Source: lshw-%{version}.tar.xz
+Source: https://www.ezix.org/software/files/lshw-%{version}.tar.gz
Source1: lshw.desktop.in
Source2: lshw.png
-# PATCH-FIX-UPSTREAM lshw-display-latest-version.patch lshw-help-man.patch lshw-modified-time.patch bsc##1130818
-Patch1: lshw-display-latest-version.patch
-Patch4: lshw-add-notime-option-to-manpage.patch
-Patch5: lshw-nvme.patch
BuildRequires: gcc-c++
BuildRequires: hicolor-icon-theme
BuildRequires: libpng-devel
@@ -78,10 +74,9 @@ included documentation or go to the lshw Web page,
http://www.ezix.org/software/lshw.html
%prep
-%autosetup -p1
+%autosetup
%build
-%define _lto_cflags %{nil}
%make_build \
SBINDIR="%{_sbindir}" \
RPM_OPT_FLAGS="%{optflags} -fno-strict-aliasing" \