Using /etc/rc.d/devfs from command-line

Jeremie Le Hen jeremie at le-hen.org
Thu Feb 22 08:56:36 UTC 2007


On Thu, Feb 22, 2007 at 09:24:21AM +0100, Jeremie Le Hen wrote:
> I've rewritten the script in a less hackish way following your advices.

Better to attach the patch...

-- 
Jeremie Le Hen
< jeremie at le-hen dot org >< ttz at chchile dot org >
-------------- next part --------------
Index: devfs
===================================================================
RCS file: /home/ncvs/src/etc/rc.d/devfs,v
retrieving revision 1.12
diff -u -p -r1.12 devfs
--- devfs	21 Jan 2006 14:31:45 -0000	1.12
+++ devfs	22 Feb 2007 08:04:16 -0000
@@ -14,8 +14,27 @@ name="devfs"
 start_cmd='devfs_start'
 stop_cmd=':'
 
+set_rulesets()
+{
+	local _dir_set
+	local _dir
+	local _set
+	for _dir_set in "$@"; do
+		_dir=${_dir_set%=*}
+		_set=${_dir_set#*=}
+		devfs_set_ruleset $_set $_dir
+		devfs_apply_ruleset $_set $_dir
+	done
+}
+
 devfs_start()
 {
+	if [ $# -gt 0 ]; then
+		devfs_init_rulesets
+		set_rulesets "$@"
+		return
+	fi
+
 	if [ -n "$devfs_system_ruleset" -o -n "$devfs_set_rulesets" ]; then
 		devfs_init_rulesets
 		if [ -n "$devfs_system_ruleset" ]; then
@@ -23,15 +42,7 @@ devfs_start()
 			devfs_apply_ruleset $devfs_system_ruleset /dev
 		fi
 		if [ -n "$devfs_set_rulesets" ]; then
-			local _dir_set
-			local _dir
-			local _set
-			for _dir_set in $devfs_set_rulesets; do
-				_dir=${_dir_set%=*}
-				_set=${_dir_set#*=}
-				devfs_set_ruleset $_set $_dir
-				devfs_apply_ruleset $_set $_dir
-			done
+			set_rulesets "$devfs_set_rulesets"
 		fi
 	fi
 	read_devfs_conf
@@ -67,4 +78,4 @@ read_devfs_conf()
 }
 
 load_rc_config $name
-run_rc_command "$1"
+run_rc_command "$@"


More information about the freebsd-rc mailing list