File change-pid-file-from-var-to-run.patch of Package libvpd2.10188

From 7d959c5ff48978853b01c43e959236988a46a018 Mon Sep 17 00:00:00 2001
From: Brahadambal Srinivasan <latha@linux.vnet.ibm.com>
Date: Fri, 23 Jun 2017 11:13:27 +0530
Subject: [PATCH] Changes run.vpdupdate creation path from /var/lib/lsvpd to
 /run

Process '/bin/touch /var/lib/lsvpd/run.vpdupdate' failed with
 exit code 1.

Canonical folks suggested that it can happen if any of below condition meets:
  - If it's running before /var/lib/lsvpd is mounted
  - If it's being run while the root filesystem is still mounted read only?
and suggested to create file under /run/ if we are not worried about file data.

Advantage when we create file under /run:
 - If udev triggers libvpd rules before mounting /var or even if it is
read-only then also we won't get above mentioned issue.

This patch changes run.vpdupdate file creation path from /var/lib/lsvpd/ to /run/ .

Signed-off-by: Brahadambal Srinivasan <latha@linux.vnet.ibm.com>
Tested-by: Ankit Kumar <ankit@linux.vnet.ibm.com>
Reviewed-by: Ankit Kumar <ankit@linux.vnet.ibm.com>
Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
---
 90-vpdupdate.rules   | 2 +-
 Makefile.am          | 2 --
 libvpd.spec.in       | 1 -
 src/vpdretriever.cpp | 4 ++--
 4 files changed, 3 insertions(+), 6 deletions(-)

Index: libvpd-2.2.5/90-vpdupdate.rules
===================================================================
--- libvpd-2.2.5.orig/90-vpdupdate.rules
+++ libvpd-2.2.5/90-vpdupdate.rules
@@ -1 +1 @@
-KERNELS=="*", ACTION=="*", DEVPATH=="/devices/*", RUN+="/bin/touch /var/lib/lsvpd/run.vpdupdate"
+KERNELS=="*", ACTION=="*", DEVPATH=="/devices/*", RUN+="/bin/touch /run/run.vpdupdate"
Index: libvpd-2.2.5/Makefile.am
===================================================================
--- libvpd-2.2.5.orig/Makefile.am
+++ libvpd-2.2.5/Makefile.am
@@ -67,7 +67,5 @@ libtool: $(LIBTOOL_DEPS)
 install-exec-hook:
 	mkdir -p $(DESTDIR)/usr/lib/udev/rules.d/
 	mkdir -p $(DESTDIR)/${localstatedir}/lib/lsvpd/
-	install -D --mode=644 run.vpdupdate \
-		${DESTDIR}/${localstatedir}/lib/lsvpd/run.vpdupdate
 	install -D --mode=644 90-vpdupdate.rules \
                 ${DESTDIR}/usr/lib/udev/rules.d/90-vpdupdate.rules
Index: libvpd-2.2.5/libvpd.spec.in
===================================================================
--- libvpd-2.2.5.orig/libvpd.spec.in
+++ libvpd-2.2.5/libvpd.spec.in
@@ -53,7 +53,6 @@ Contains header files for building with
 %{_libdir}/libvpd_cxx-@GENERIC_RELEASE@.so.*
 %{_libdir}/libvpd-@GENERIC_RELEASE@.so.*
 %{_sysconfdir}/udev/rules.d/90-vpdupdate.rules
-%{_var}/lib/lsvpd/run.vpdupdate
 
 %files devel
 %defattr(-,root,root,-)
Index: libvpd-2.2.5/src/vpdretriever.cpp
===================================================================
--- libvpd-2.2.5.orig/src/vpdretriever.cpp
+++ libvpd-2.2.5/src/vpdretriever.cpp
@@ -44,7 +44,7 @@ namespace lsvpd
 {
 	const string VpdRetriever::DEFAULT_DIR  ( "/var/lib/lsvpd/" );
 	const string VpdRetriever::DEFAULT_FILE ( "vpd.db" );
-	const string VpdRetriever::UDEV_NOTIFY_FILE ( "run.vpdupdate" );
+	const string VpdRetriever::UDEV_NOTIFY_FILE ( "/run/run.vpdupdate" );
 
 	VpdRetriever::VpdRetriever( string envDir,
 		string dbFileName ) throw( VpdException& )
@@ -63,7 +63,7 @@ namespace lsvpd
 	{
 		struct stat vpd_stat,udev_stat;
 		const string vpddb = VpdRetriever::DEFAULT_DIR + VpdRetriever::DEFAULT_FILE;
-		const string udev_file = VpdRetriever::DEFAULT_DIR + VpdRetriever::UDEV_NOTIFY_FILE;
+		const string udev_file = VpdRetriever::UDEV_NOTIFY_FILE;
 		Logger logger;
 		int flag = 1;