Hello community,
here is the log from the commit of package libvpd2.12077 for
openSUSE:Leap:15.1:Update checked in at 2020-03-09 18:17:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.1:Update/libvpd2.12077 (Old)
and /work/SRC/openSUSE:Leap:15.1:Update/.libvpd2.12077.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libvpd2.12077"
Mon Mar 9 18:17:38 2020 rev:1 rq:781605 version:2.2.6
Changes:
--------
New Changes file:
--- /dev/null 2019-12-19 10:12:34.003146842 +0100
+++
/work/SRC/openSUSE:Leap:15.1:Update/.libvpd2.12077.new.26092/libvpd2.changes
2020-03-09 18:17:39.329507056 +0100
@@ -0,0 +1,179 @@
+-------------------------------------------------------------------
+Wed Feb 19 14:03:34 UTC 2020 - Josef Möllers <[email protected]>
+
+- Amended existing patch
+ udev-rules-don-t-generate-multiple-vpdupdate-events-.patch
+ with a single initial rule to avoid anything not /device/.
+ [bsc#1164300,
+ udev-rules-don-t-generate-multiple-vpdupdate-events-.patch]
+
+-------------------------------------------------------------------
+Tue Jan 28 15:59:32 UTC 2020 - Martin Wilck <[email protected]>
+
+- Avoid boot stalls due to excessive udev rule execution
+ (bsc#1154837)
+ * added udev-rules-don-t-touch-run.vpdupdate-for-ignored-dev.patch
+ * added udev-rules-more-software-devices-to-ignore.patch
+ * added udev-rules-don-t-generate-multiple-vpdupdate-events-.patch
+
+-------------------------------------------------------------------
+Wed Jan 16 08:20:27 UTC 2019 - Tomáš Chvátal <[email protected]>
+
+- Switch to pkgconfig dependencies
+- Use %license macro
+
+-------------------------------------------------------------------
+Wed Jun 20 08:19:48 UTC 2018 - [email protected]
+
+- version update to 2.2.6 (fate#324940, fate#326425)
+ - Changes run.vpdupdate creation path from /var/lib/lsvpd to /run
+
+- removed patches:
+ * 0001-Modify-char-array-initialization-style.patch
+ * 0002-Null-check-before-passing-pointer-to-strlen-call.patch
+ * 0003-Typo-correction-in-README-file.patch
+ * 0004-libvpd-Validate-memory-allocation.patch
+ * 0005-libvpd-Corrects-data-type-of-variables.patch
+ * 0006-Changes-run.vpdupdate-creation-path-from-var-lib-lsv.patch
+ * libvpd.async.patch
+
+- modified patches:
+ * libvpd2.makefile.patch
+
+-------------------------------------------------------------------
+Fri Jun 1 13:49:07 UTC 2018 - [email protected]
+
+- Add 6 patches from upstream:
+ 0001-Modify-char-array-initialization-style.patch
+ this one differ from upstream as do not remove QUERY_BUF_LENGTH
+ still used in not upstream libvpd.async.patch
+ 0002-Null-check-before-passing-pointer-to-strlen-call.patch
+ 0003-Typo-correction-in-README-file.patch
+ 0004-libvpd-Validate-memory-allocation.patch
+ 0005-libvpd-Corrects-data-type-of-variables.patch
+ 0006-Changes-run.vpdupdate-creation-path-from-var-lib-lsv.patch
+ last one to avoid reported error systemd-udevd error:
+ 'touch /var/lib/lsvpd/run.vpdupdate' failed with exit code 1
+
+-------------------------------------------------------------------
+Tue Nov 24 16:37:39 UTC 2015 - [email protected]
+
+- Update to version 2.2.5 (fate#322221)
+ * Fixed security issues like buffer overflow, memory allocation
+ validation
+ * Replaced popen with secured version
+ * Improved error handling
+- Update libvpd.async.patch
+
+-------------------------------------------------------------------
+Wed Aug 5 09:10:02 UTC 2015 - [email protected]
+
+- Move autoreconf to build phase (avoids issues with quilt)
+
+-------------------------------------------------------------------
+Wed Sep 3 16:28:49 UTC 2014 - [email protected]
+
+- version update to 2.2.4 (BNC#894858)
+
+- modified patches:
+ * libvpd2.makefile.patch
+-------------------------------------------------------------------
+Tue May 13 12:59:24 UTC 2014 - [email protected]
+
+- Version bump to 2.2.3:
+ * Restrict vpdupdate triggers to device change events
+- Cleanup with spec-cleaner
+- Add libtool and autoconf as requirements and reconfigure the
+ autofoo*
+- Add download url proper for the tarball.
+- Remove no longer needed patch libvpd2-gcc47.patch
+
+-------------------------------------------------------------------
+Fri Jan 17 09:59:59 UTC 2014 - [email protected]
+
+- version update to 2.2.2 (FATE#315460)
+ minor bugfixes
+ add udev rule for vpdupdate
+ no upstream changelog provided
+- libvpd2.makefile.patch: fix udev rules directory
+- add udev and automake to BuildRequires for correct udev rules.d
+ directory
+
+-------------------------------------------------------------------
+Thu Dec 6 10:24:50 UTC 2012 - [email protected]
+
+- update to 2.2.0
+ No upstream changelog provided
+- don't run autoreconf
+- remove libtool from BuildRequires
+
+-------------------------------------------------------------------
+Fri Jun 1 13:35:11 UTC 2012 - [email protected]
+
+- clean up spec file
+
+-------------------------------------------------------------------
+Wed Mar 21 21:22:08 UTC 2012 - [email protected]
+
+- Add libvpd2-gcc47.patch: Fix build with gcc 4.7.
+
+-------------------------------------------------------------------
+Tue Dec 20 21:34:27 CET 2011 - [email protected]
+
+- spec file cleanups
+
+-------------------------------------------------------------------
+Thu Nov 3 15:09:22 UTC 2011 - [email protected]
+
+- Use %_smp_mflags for parallel build
+- Remove redundant tags/sections (cf. specfile guidelines)
+
+-------------------------------------------------------------------
+Tue Nov 1 17:33:23 UTC 2011 - [email protected]
+
+- update to 2.1.3
+ - Rebuild rpms for ppc 32-bit.
+ - add pkg-config to BuildRequires to avoid rpmlint warings
+ - drop libvpd-pkg.patch and libvpd.return-value.patch
+
+-------------------------------------------------------------------
+Tue Apr 19 00:21:14 CEST 2011 - [email protected]
+
+- update baselibs.conf
+
+-------------------------------------------------------------------
+Mon Feb 1 11:57:43 UTC 2010 - [email protected]
+
+- package baselibs.conf
+
+-------------------------------------------------------------------
+Mon Dec 8 16:36:36 CET 2008 - [email protected]
+
+- set 'PRAGMA synchronous = OFF;' to avoid fsync for each string
+ (bnc#449648)
+
+-------------------------------------------------------------------
+Fri Nov 21 13:33:25 CET 2008 - [email protected]
+
+- rename package to libvpd2 because it now contains libs for
+ both C and C++ (bnc#444531)
+- cleanup broken SONAME (bnc#444531)
+
+-------------------------------------------------------------------
+Wed Jun 25 14:25:46 CEST 2008 - [email protected]
+
+- add baselibs.conf
+- rename to libvpd_cxx2
+- update to libvpd-2.0.3 (fate#304148)
+ no changelog in package
+
+-------------------------------------------------------------------
+Wed Oct 24 14:48:48 CEST 2007 - [email protected]
+
+- fix includes to build on beta-i386, beta-x86_64
+
+-------------------------------------------------------------------
+Wed Oct 17 11:54:23 CEST 2007 - [email protected]
+
+- initial release of libvpd_cxx (version 1.3.5)
+
New:
----
baselibs.conf
libvpd-2.2.6.tar.gz
libvpd2.changes
libvpd2.makefile.patch
libvpd2.spec
udev-rules-don-t-generate-multiple-vpdupdate-events-.patch
udev-rules-don-t-touch-run.vpdupdate-for-ignored-dev.patch
udev-rules-more-software-devices-to-ignore.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libvpd2.spec ++++++
#
# spec file for package libvpd2
#
# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: libvpd2
Version: 2.2.6
Release: 0
Summary: VPD Database access library for lsvpd
License: LGPL-2.1-or-later
Group: Development/Libraries/Other
URL: https://github.com/open-power-host-os/libvpd
Source:
http://downloads.sourceforge.net/project/linux-diag/libvpd/%{version}/libvpd-%{version}.tar.gz
Source2: baselibs.conf
Patch1: libvpd2.makefile.patch
Patch2: udev-rules-don-t-touch-run.vpdupdate-for-ignored-dev.patch
Patch3: udev-rules-more-software-devices-to-ignore.patch
Patch4: udev-rules-don-t-generate-multiple-vpdupdate-events-.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: gcc-c++
BuildRequires: libtool
BuildRequires: pkgconfig
BuildRequires: pkgconfig(sqlite3)
BuildRequires: pkgconfig(udev)
BuildRequires: pkgconfig(zlib)
%description
The libvpd_cxx package contains the classes that are used to access a
vpd database created by vpdupdate in the lsvpd package.
%package devel
Summary: VPD Database access library for lsvpd
Group: Development/Languages/C and C++
Requires: %{name} = %{version}
Requires: pkgconfig(sqlite3)
%description devel
The libvpd-devel package contains development libraries and header
files that are used to access a vpd database created by vpdupdate in
the lsvpd package.
%prep
%setup -q -n libvpd-%{version}
%autopatch -p1
%build
autoreconf -fiv
%configure \
--disable-static
make %{?_smp_mflags}
%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%{_libdir}/*.so.*
%{_udevrulesdir}/90-vpdupdate.rules
%files devel
%license COPYING
%doc README
%{_includedir}/*
%{_libdir}/*.so
%{_libdir}/pkgconfig/*
%changelog
++++++ baselibs.conf ++++++
libvpd2
libvpd2-devel
++++++ libvpd2.makefile.patch ++++++
Index: libvpd-2.2.6/Makefile.am
===================================================================
--- libvpd-2.2.6.orig/Makefile.am
+++ libvpd-2.2.6/Makefile.am
@@ -65,7 +65,7 @@ libtool: $(LIBTOOL_DEPS)
$(SHELL) ./config.status --recheck
install-exec-hook:
- mkdir -p $(DESTDIR)/${sysconfdir}/udev/rules.d/
+ mkdir -p $(DESTDIR)/usr/lib/udev/rules.d/
mkdir -p $(DESTDIR)/${localstatedir}/lib/lsvpd/
install -D --mode=644 90-vpdupdate.rules \
- ${DESTDIR}/${sysconfdir}/udev/rules.d/90-vpdupdate.rules
+ ${DESTDIR}/usr/lib/udev/rules.d/90-vpdupdate.rules
++++++ udev-rules-don-t-generate-multiple-vpdupdate-events-.patch ++++++
>From 3ec780310cca88698fccbf4fb0de20d822ecf88e Mon Sep 17 00:00:00 2001
From: Martin Wilck <[email protected]>
Date: Tue, 28 Jan 2020 16:07:43 +0100
Subject: [PATCH 3/3] udev rules: don't generate multiple vpdupdate events for
SCSI/NVMe
lsvpd lists SCSI devices, not partitions or block devices. Currently,
addition of e.g. /dev/sda will generate events for a "scsi_device",
"scsi_disk", "bsg", and "block" device, plus events for partitions,
and every event will trigger a "touch /run/run.vpdupdate" command,
where touching the file once would be obviously sufficient. Add rules
that touch vpdupdate for SCSI hosts and devices, but not for the
additional sysfs nodes.
Similar reasoning for NVMe.
---
90-vpdupdate.rules | 12 ++++++++++++
1 file changed, 12 insertions(+)
Index: libvpd-2.2.6/90-vpdupdate.rules
===================================================================
--- libvpd-2.2.6.orig/90-vpdupdate.rules
+++ libvpd-2.2.6/90-vpdupdate.rules
@@ -1,3 +1,4 @@
+DEVPATH!="/devices/*", GOTO="vpd_end"
# See SysFSTreeCollector::filterDevicePath()
DEVPATH=="/devices/virtual/*", GOTO="vpd_end"
DEVPATH=="/devices/system/*", GOTO="vpd_end"
@@ -18,6 +19,18 @@ DEVPATH=="/devices/uprobe/*", GOTO="vpd_
DEVPATH=="/devices/kprobe/*", GOTO="vpd_end"
DEVPATH=="/devices/rbd/*", GOTO="vpd_end"
+SUBSYSTEM=="scsi_device", GOTO="vpd_update"
+SUBSYSTEM=="scsi_host", GOTO="vpd_update"
+# Don't generate extra events, we have one for the scsi_device already
+# This rule also skips SCSI block device uevents
+# (but the corresponding scsi_device will have triggered vpdupdate).
+SUBSYSTEMS=="scsi*", GOTO="vpd_end"
+
+# virtual NVMe devices (NVMeoF) are skipped because of the rule above
+SUBSYSTEM=="nvme", GOTO="vpd_update"
+SUBSYSTEM=="nvme-subsystem", GOTO="vpd_update"
+SUBSYSTEMS=="nvme*", GOTO="vpd_end"
+
LABEL="vpd_update"
RUN+="/bin/touch /run/run.vpdupdate"
LABEL="vpd_end"
++++++ udev-rules-don-t-touch-run.vpdupdate-for-ignored-dev.patch ++++++
>From 34f8ba2c35e278af38693f6a91d65690d1faf6bf Mon Sep 17 00:00:00 2001
From: Martin Wilck <[email protected]>
Date: Tue, 28 Jan 2020 16:04:42 +0100
Subject: [PATCH 1/3] udev rules: don't touch run.vpdupdate for ignored devices
vpdupdate ignores certain sysfs devices. It's pointless to trigger
VPD database updates from uevents for these devices.
---
90-vpdupdate.rules | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/90-vpdupdate.rules b/90-vpdupdate.rules
index 5a4b42d..43eb75b 100644
--- a/90-vpdupdate.rules
+++ b/90-vpdupdate.rules
@@ -1 +1,18 @@
-KERNELS=="*", ACTION=="*", DEVPATH=="/devices/*", RUN+="/bin/touch
/run/run.vpdupdate"
+# See SysFSTreeCollector::filterDevicePath()
+DEVPATH=="/devices/virtual/*", GOTO="vpd_end"
+DEVPATH=="/devices/system/*", GOTO="vpd_end"
+DEVPATH=="/devices/cpu/*", GOTO="vpd_end"
+DEVPATH=="/devices/breakpoint/*", GOTO="vpd_end"
+DEVPATH=="/devices/tracepoint/*", GOTO="vpd_end"
+DEVPATH=="/devices/software/*", GOTO="vpd_end"
+
+# See SysFSTreeCollector::filterDevice()
+ENV{DEVTYPE}=="scsi_target", GOTO="vpd_end"
+SUBSYSTEM=="enclosure", GOTO="vpd_end"
+
+# See SysFSTreeCollector::isDevice()
+ENV{DEVTYPE}=="partition", GOTO="vpd_end"
+
+LABEL="vpd_update"
+RUN+="/bin/touch /run/run.vpdupdate"
+LABEL="vpd_end"
--
2.25.0
++++++ udev-rules-more-software-devices-to-ignore.patch ++++++
>From b15caf51a61628e4e5de0539beb3a35b34310369 Mon Sep 17 00:00:00 2001
From: Martin Wilck <[email protected]>
Date: Tue, 28 Jan 2020 16:06:33 +0100
Subject: [PATCH 2/3] udev rules: more software devices to ignore
Additional subdirectories under /sys/devices that don't contain
nodes usable for vpdupdate.
---
90-vpdupdate.rules | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/90-vpdupdate.rules b/90-vpdupdate.rules
index 43eb75b..d906ffa 100644
--- a/90-vpdupdate.rules
+++ b/90-vpdupdate.rules
@@ -13,6 +13,11 @@ SUBSYSTEM=="enclosure", GOTO="vpd_end"
# See SysFSTreeCollector::isDevice()
ENV{DEVTYPE}=="partition", GOTO="vpd_end"
+# More devices that aren't covered by VPD
+DEVPATH=="/devices/uprobe/*", GOTO="vpd_end"
+DEVPATH=="/devices/kprobe/*", GOTO="vpd_end"
+DEVPATH=="/devices/rbd/*", GOTO="vpd_end"
+
LABEL="vpd_update"
RUN+="/bin/touch /run/run.vpdupdate"
LABEL="vpd_end"
--
2.25.0