diff options
author | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2015-03-23 11:58:01 -0300 |
---|---|---|
committer | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2015-03-23 11:58:01 -0300 |
commit | 1988c77fae4e3c3e762d1d361249e21622f548cf (patch) | |
tree | 5c0b658d83f23533b7c43758468b5282cd1ead68 /pcr/openrc-base/udev-postmount | |
parent | 5333f9d3db9e5e7a174d4028107246338c1094eb (diff) | |
parent | 63dda12e2f3cdba9df1605f8ca845bf3ffcf416f (diff) |
Merge branch 'master' of ssh://projects.parabola.nu/~git/abslibre
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 |