#!/sbin/openrc-run description="Save/Restore rfkill configuration" rfkillstatedir=/var/lib/rfkill extra_commands="save restore" depend() { need localmount after bootmisc modules isapnp coldplug hotplug } restore() { ebegin "Restoring rfkill configuration" for type in "$rfkillstatedir"/*; do status=$(cat "$type") type=$(basename "$type") rfkill "$status" "$type" done eend 0 } save() { ebegin "Storing rfkill configuration" mkdir -p "$rfkillstatedir" OLDIFS="$IFS" IFS=$'\n' for line in $(rfkill -r -n); do type=$(echo "$line" | cut -d' ' -f2) status=$(echo "$line" | cut -d' ' -f4 | tr -d 'ed') echo "$status" > "$rfkillstatedir"/"$type" done IFS="$OLDIFS" eend 0 } start() { if [ "${RESTORE_ON_START}" = "yes" ]; then restore fi return 0 } stop() { if [ "${SAVE_ON_STOP}" = "yes" ]; then save fi return 0 }