saving uncommitted changes in /etc prior to emerge run
This commit is contained in:
55
init.d/udev-postmount
Executable file
55
init.d/udev-postmount
Executable file
@@ -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
|
||||
Reference in New Issue
Block a user