diff options
Diffstat (limited to 'repo/system/openrc/sysfsconf.initd')
-rw-r--r-- | repo/system/openrc/sysfsconf.initd | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/repo/system/openrc/sysfsconf.initd b/repo/system/openrc/sysfsconf.initd deleted file mode 100644 index 433e51d..0000000 --- a/repo/system/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 - -} - |