diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2015-07-17 12:53:31 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2015-07-17 12:53:31 +0000 |
commit | b96bd6ed76c007ff0975e954d1bf20d1213eaf90 (patch) | |
tree | a332ee4ff5f3482fc9bf77e00fd849bbffd3f056 /main/eudev/udev-postmount.initd | |
parent | 8c4b85ef230ac621b88f4d7e64e09d1c5d5e84e7 (diff) | |
download | aports-b96bd6ed76c007ff0975e954d1bf20d1213eaf90.tar.bz2 aports-b96bd6ed76c007ff0975e954d1bf20d1213eaf90.tar.xz |
main/eudev: add udev-postmount script
Diffstat (limited to 'main/eudev/udev-postmount.initd')
-rw-r--r-- | main/eudev/udev-postmount.initd | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/main/eudev/udev-postmount.initd b/main/eudev/udev-postmount.initd new file mode 100644 index 0000000000..f1f94f4890 --- /dev/null +++ b/main/eudev/udev-postmount.initd @@ -0,0 +1,55 @@ +#!/sbin/openrc-run +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() +{ + need localmount + keyword -vserver -lxc +} + +dir_writeable() +{ + touch "$1"/.test.$$ 2>/dev/null && rm "$1"/.test.$$ +} + +# store persistent-rules that got created while booting +# when / was still read-only +store_persistent_rules() +{ + # create /etc/udev/rules.d if it does not exist and /etc/udev is writable + [ -d /etc/udev/rules.d ] || \ + dir_writeable /etc/udev && \ + mkdir -p /etc/udev/rules.d + + # only continue if rules-directory is writable + dir_writeable /etc/udev/rules.d || return 0 + + local file dest + for file in /run/udev/tmp-rules--*; do + dest=${file##*tmp-rules--} + [ "$dest" = '*' ] && break + type=${dest##70-persistent-} + type=${type%%.rules} + ebegin "Saving udev persistent ${type} rules to /etc/udev/rules.d" + cat "$file" >> /etc/udev/rules.d/"$dest" && rm -f "$file" + eend $? "Failed moving persistent rules!" + done +} + +start() +{ + # check if this system uses udev + [ -d /run/udev ] || return 0 + + # store persistent-rules that got created while booting + # when / was still read-only + store_persistent_rules +} + +stop() +{ + return 0 +} + +# vim:ts=4 |