瀏覽代碼

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 <[email protected]>
Yousong Zhou 7 年之前
父節點
當前提交
60ad837bea
共有 3 個文件被更改,包括 5 次插入3 次删除
  1. 2 0
      include/rootfs.mk
  2. 1 1
      package/system/procd/Makefile
  3. 2 2
      package/system/procd/files/procd.sh

+ 2 - 0
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

+ 1 - 1
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

+ 2 - 2
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"