56 lines
1.2 KiB
Plaintext
56 lines
1.2 KiB
Plaintext
|
#!/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
|