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


Reply via email to