summaryrefslogtreecommitdiff
path: root/extra/openrc/sysfsconf.initd
diff options
context:
space:
mode:
Diffstat (limited to 'extra/openrc/sysfsconf.initd')
-rw-r--r--extra/openrc/sysfsconf.initd66
1 files changed, 0 insertions, 66 deletions
diff --git a/extra/openrc/sysfsconf.initd b/extra/openrc/sysfsconf.initd
deleted file mode 100644
index 433e51d..0000000
--- a/extra/openrc/sysfsconf.initd
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/sbin/openrc-run
-
-description="Set sysfs variables from /etc/sysfs.conf and /etc/sysfs.d/*.conf"
-conffile=/etc/sysfs.conf
-confdir=/etc/sysfs.d
-
-depend() {
- need sysfs
-}
-
-setval() {
- local value="$1" attrib="$2"
- # Some fields need a terminating newline, others
- # need the terminating newline to be absent :-(
- echo -n "$value" > "$attrib" 2>/dev/null \
- || echo "$value" > "$attrib"
-}
-
-load_conffile() {
- local file="$1"
- while read line; do
- local line=${line%%#*}
- local cmd= attrib= value=
- set -- $line
- if [ $# -eq 0 ]; then
- continue
- fi
- case "$1$3" in
- mode=) cmd=chmod
- attrib="$2"
- value="$4"
- ;;
- owner=) cmd=chown
- attrib="$2"
- value="$4"
- ;;
- *) if [ "$2" = "=" ]; then
- cmd=setval
- attrib="$1"
- value="$3"
- fi
- ;;
- esac
- if ! [ -e "/sys/$attrib" ]; then
- eerror "$attrib: unknown attribute"
- continue
- fi
- if [ -z "$attrib" ] || [ -z "$value" ]; then
- eerror "syntax error in $file: '$line'"
- continue
- fi
- $cmd "$value" "/sys/$attrib"
- done < "$file"
-}
-
-start() {
- [ -r "$conffile" -o -d "$confdir" ] || return 0
- ebegin "Setting sysfs variables"
- for file in $confdir/*.conf $conffile; do
- [ -r "$file" ] || continue
- load_conffile "$file" || return 1
- done
- eend 0
-
-}
-