Browse Source

block-mount base-files: Added additional check to pi_include to ensure that a directory used with pi_include actually contains files matching the souring pattern because if not the shell dies due to an empty string in for statement. Added /lib/functions/fsck as an empty dir to block-mount. This combination fixes a warning which generates a lot of bug reports, without panicking the kernel like the last attempt.

SVN-Revision: 26479
Daniel Dickinson 14 years ago
parent
commit
d5542b4f59
2 changed files with 12 additions and 8 deletions
  1. 10 6
      package/base-files/files/etc/functions.sh
  2. 2 2
      package/block-mount/Makefile

+ 10 - 6
package/base-files/files/etc/functions.sh

@@ -299,13 +299,17 @@ pi_include() {
 	elif [ -f "$1" ]; then
 		. "$1"
 	elif [ -d "/tmp/overlay/$1" ]; then
-		for src_script in /tmp/overlay/$1/*.sh; do
-			. "$src_script"
-		done
+		if [ -n "$(ls /tmp/overlay/$1/*.sh 2>/dev/null)" ]; then
+			for src_script in /tmp/overlay/$1/*.sh; do
+				. "$src_script"
+			done
+		fi
 	elif [ -d "$1" ]; then
-		for src_script in $1/*.sh; do
-			. "$src_script"
-		done
+		if [ -n "$(ls $1/*.sh 2>/dev/null)" ]; then
+			for src_script in $1/*.sh; do
+				. "$src_script"
+			done
+		fi
 	else
 		echo "WARNING: $1 not found"
 		return 1

+ 2 - 2
package/block-mount/Makefile

@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=block-mount
 PKG_VERSION:=0.2.0
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 
 include $(INCLUDE_DIR)/package.mk
 
@@ -50,7 +50,7 @@ define Package/block-mount/install
 	$(INSTALL_BIN) ./files/fstab.init $(1)/etc/init.d/fstab
 	$(INSTALL_DIR) $(1)/etc/config
 	$(INSTALL_DATA) ./files/fstab.config $(1)/etc/config/fstab
-	$(INSTALL_DIR) $(1)/lib/functions
+	$(INSTALL_DIR) $(1)/lib/functions/fsck
 	$(INSTALL_DATA) ./files/mount.sh $(1)/lib/functions/
 	$(INSTALL_DATA) ./files/fsck.sh $(1)/lib/functions/
 	$(INSTALL_DATA) ./files/block.sh $(1)/lib/functions/