[openwrt/openwrt] procd: fix procd_lock() when prepare_roofs

LEDE Commits lede-commits at lists.infradead.org
Sat Jan 27 17:51:40 PST 2018


yousong pushed a commit to openwrt/openwrt.git, branch master:
https://git.lede-project.org/60ad837bea4a006a54fd8b659083f7bf648da781

commit 60ad837bea4a006a54fd8b659083f7bf648da781
Author: Yousong Zhou <yszhou4tech at gmail.com>
AuthorDate: Sun Jan 28 09:43:30 2018 +0800

    procd: fix procd_lock() when prepare_roofs
    
    This fixes the following errors when doing "make package/install"
    
        /home/yousong/git-repo/lede-project/lede/build_dir/target-mips_24kc_musl/root-malta/lib/functions/procd.sh: line 47: /home/yousong/git-repo/l
        ede-project/lede/build_dir/target-mips_24kc_musl/root-malta/var/lock/procd_urandom_seed.lock: No such file or directory
        flock: 1000: Bad file descriptor
    
    Fixes FS#1260
    
    Signed-off-by: Yousong Zhou <yszhou4tech at gmail.com>
---
 include/rootfs.mk                   | 2 ++
 package/system/procd/Makefile       | 2 +-
 package/system/procd/files/procd.sh | 4 ++--
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/include/rootfs.mk b/include/rootfs.mk
index 74785cb..1844f84 100644
--- a/include/rootfs.mk
+++ b/include/rootfs.mk
@@ -60,6 +60,7 @@ define prepare_rootfs
 		$(call file_copy,$(TOPDIR)/files/.,$(1)); \
 	fi
 	@mkdir -p $(1)/etc/rc.d
+	@mkdir -p $(1)/var/lock
 	@( \
 		cd $(1); \
 		for script in ./usr/lib/opkg/info/*.postinst; do \
@@ -84,6 +85,7 @@ define prepare_rootfs
 	rm -f $(1)/usr/lib/opkg/lists/*
 	rm -f $(1)/usr/lib/opkg/info/*.postinst*
 	rm -f $(1)/usr/lib/opkg/info/*.prerm*
+	rm -f $(1)/var/lock/*.lock
 	$(call clean_ipkg,$(1))
 	$(call mklibs,$(1))
 endef
diff --git a/package/system/procd/Makefile b/package/system/procd/Makefile
index 7b673e4..b3b38ad 100644
--- a/package/system/procd/Makefile
+++ b/package/system/procd/Makefile
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=procd
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL=$(PROJECT_GIT)/project/procd.git
diff --git a/package/system/procd/files/procd.sh b/package/system/procd/files/procd.sh
index b4b6faa..6f16b74 100644
--- a/package/system/procd/files/procd.sh
+++ b/package/system/procd/files/procd.sh
@@ -33,7 +33,7 @@
 #   Send a signal to a service instance (or all instances)
 #
 
-. $IPKG_INSTROOT/usr/share/libubox/jshn.sh
+. "$IPKG_INSTROOT/usr/share/libubox/jshn.sh"
 
 PROCD_RELOAD_DELAY=1000
 _PROCD_SERVICE=
@@ -44,7 +44,7 @@ procd_lock() {
 
 	flock -n 1000 &> /dev/null
 	if [ "$?" != "0" ]; then
-		exec 1000>/var/lock/procd_${service_name}.lock
+		exec 1000>"$IPKG_INSTROOT/var/lock/procd_${service_name}.lock"
 		flock 1000
 		if [ "$?" != "0" ]; then
 			logger "warning: procd flock for $service_name failed"



More information about the lede-commits mailing list