etc-gentoo/init.d/udev-postmount

56 lines
1.2 KiB
Plaintext
Executable File

#!/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