summaryrefslogtreecommitdiff
path: root/pcr/openrc-base/udev-postmount
diff options
context:
space:
mode:
authorfreaj <freaj@riseup.net>2015-03-23 11:27:55 +0100
committerfreaj <freaj@riseup.net>2015-03-23 11:27:55 +0100
commit0161d0dd7de853da1f86bb3b6f27adf25977c785 (patch)
tree496f2da02a919ddf4fee0001c274237f72835fe2 /pcr/openrc-base/udev-postmount
parent1846e57b8e352d4f7fa711f32206375d318e93d8 (diff)
downloadabslibre-0161d0dd7de853da1f86bb3b6f27adf25977c785.tar.gz
abslibre-0161d0dd7de853da1f86bb3b6f27adf25977c785.tar.bz2
abslibre-0161d0dd7de853da1f86bb3b6f27adf25977c785.zip
openrc-base: add missing files
Diffstat (limited to 'pcr/openrc-base/udev-postmount')
-rw-r--r--pcr/openrc-base/udev-postmount55
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