diff options
author | freaj <freaj@riseup.net> | 2015-03-23 11:27:55 +0100 |
---|---|---|
committer | freaj <freaj@riseup.net> | 2015-03-23 11:27:55 +0100 |
commit | 0161d0dd7de853da1f86bb3b6f27adf25977c785 (patch) | |
tree | 496f2da02a919ddf4fee0001c274237f72835fe2 /pcr/openrc-base/udev-postmount | |
parent | 1846e57b8e352d4f7fa711f32206375d318e93d8 (diff) |
openrc-base: add missing files
Diffstat (limited to 'pcr/openrc-base/udev-postmount')
-rw-r--r-- | pcr/openrc-base/udev-postmount | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/pcr/openrc-base/udev-postmount b/pcr/openrc-base/udev-postmount new file mode 100644 index 000000000..e433736db --- /dev/null +++ b/pcr/openrc-base/udev-postmount @@ -0,0 +1,55 @@ +#!/sbin/runscript +# 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 |