saving uncommitted changes in /etc prior to emerge run
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
#!/sbin/runscript
|
||||
#!/sbin/openrc-run
|
||||
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
|
||||
# Released under the 2-clause BSD license.
|
||||
|
||||
@@ -9,7 +9,7 @@ depend()
|
||||
need fsck
|
||||
use lvm modules mtab
|
||||
after lvm modules
|
||||
keyword -jail -prefix -vserver -lxc
|
||||
keyword -jail -prefix -systemd-nspawn -vserver -lxc
|
||||
}
|
||||
|
||||
start()
|
||||
@@ -59,10 +59,35 @@ stop()
|
||||
no_umounts_r="^($no_umounts_r)$"
|
||||
|
||||
# Flush all pending disk writes now
|
||||
sync; sync
|
||||
sync
|
||||
|
||||
. "$RC_LIBEXECDIR"/sh/rc-mount.sh
|
||||
|
||||
if [ "$RC_UNAME" = Linux ] && [ -d /sys/fs/aufs ] ; then
|
||||
#if / is aufs we remount it noxino during shutdown
|
||||
if mountinfo -q -f '^aufs$' / ; then
|
||||
mount -o remount,noxino,rw /
|
||||
sync
|
||||
fi
|
||||
|
||||
local aufs_branch aufs_mount_dir aufs_mount_point aufs_si_dir aufs_si_id
|
||||
for aufs_si_dir in /sys/fs/aufs/*; do
|
||||
aufs_mount_dir=${aufs_si_dir#/sys/fs/aufs/}
|
||||
aufs_si_id="$(printf "%s" $aufs_mount_dir | sed 's/_/=/g')"
|
||||
aufs_mount_point="$(mountinfo -o ${aufs_si_id})"
|
||||
for x in $aufs_si_dir/br[0-9][0-9][0-9]; do
|
||||
aufs_branch=$(sed 's/=.*//g' $x)
|
||||
eindent
|
||||
if ! mount -o "remount,del:$aufs_branch" "$aufs_mount_point" > /dev/null 2>&1; then
|
||||
ewarn "Failed to remove branch $aufs_branch from aufs \
|
||||
$aufs_mount_point"
|
||||
fi
|
||||
eoutdent
|
||||
sync
|
||||
done
|
||||
done
|
||||
fi
|
||||
|
||||
# Umount loop devices
|
||||
einfo "Unmounting loop devices"
|
||||
eindent
|
||||
|
||||
Reference in New Issue
Block a user