Keep chroot mounted throughout modding
This commit is contained in:
parent
bffc4d3dfe
commit
6823646d72
|
@ -2,4 +2,3 @@ dev-remove
|
|||
packages-apply
|
||||
private-users
|
||||
root-skel
|
||||
placeholders-remove
|
|
@ -1,2 +0,0 @@
|
|||
#!/bin/bash
|
||||
find "$1" -name ".wdvn-placeholder" -type f -delete
|
|
@ -1,23 +1,25 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
trap ctrl_c INT
|
||||
|
||||
function ctrl_c() {
|
||||
wdvn-chroot-end "$1"
|
||||
exit 1
|
||||
}
|
||||
|
||||
(
|
||||
function bind() {
|
||||
set +e
|
||||
mountpoint -q "$2"
|
||||
if [ $? = 0 ]; then
|
||||
set -e
|
||||
return 0
|
||||
fi
|
||||
|
||||
set -e
|
||||
mount --bind -o x-gvfs-hide "/dev" "$1/dev"
|
||||
mount --bind -o x-gvfs-hide "/dev/pts" "$1/dev/pts"
|
||||
mount --bind -o x-gvfs-hide "/sys" "$1/sys"
|
||||
mount --bind -o x-gvfs-hide "/proc" "$1/proc"
|
||||
chroot "$1" ${@:2}
|
||||
)
|
||||
if [ $? != 0 ]; then
|
||||
wdvn-chroot-end "$1"
|
||||
exit 1
|
||||
fi
|
||||
mount --bind -o x-gvfs-hide "$1" "$2"
|
||||
}
|
||||
|
||||
wdvn-chroot-end "$1"
|
||||
bind "/dev" "$1/dev"
|
||||
bind "/dev/pts" "$1/dev/pts"
|
||||
bind "/sys" "$1/sys"
|
||||
bind "/proc" "$1/proc"
|
||||
chroot "$1" ${@:2}
|
||||
|
|
|
@ -1,27 +1,35 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
if [[ -d "$1.tmp" ]]; then
|
||||
rm -r -f "$1.tmp"
|
||||
fi
|
||||
(
|
||||
set -e
|
||||
if [[ -d "$1.tmp" ]]; then
|
||||
rm -r -f "$1.tmp"
|
||||
fi
|
||||
|
||||
if ! [[ -d "$1" ]]; then
|
||||
mkdir -p "$1.tmp"
|
||||
wdvn-get "$1.tmp"
|
||||
mv "$1.tmp" "$1"
|
||||
fi
|
||||
if ! [[ -d "$1" ]]; then
|
||||
mkdir -p "$1.tmp"
|
||||
wdvn-get "$1.tmp"
|
||||
mv "$1.tmp" "$1"
|
||||
fi
|
||||
|
||||
if [[ -f "$1/chroot" ]]; then
|
||||
rm -f "$1/chroot"
|
||||
fi
|
||||
if [[ -f "$1/chroot" ]]; then
|
||||
rm -f "$1/chroot"
|
||||
fi
|
||||
|
||||
for WDVN_MODLIST in "${@:2}"
|
||||
do
|
||||
echo "-- $WDVN_MODLIST --"
|
||||
while IFS="" read -r WDVN_LINE || [ -n "$WDVN_LINE" ]
|
||||
for WDVN_MODLIST in "${@:2}"
|
||||
do
|
||||
echo "> $WDVN_LINE"
|
||||
source wdvn-mod "mods/$WDVN_LINE" "$1"
|
||||
done < "modlists/$WDVN_MODLIST"
|
||||
done
|
||||
echo "-- CLEANUP --"
|
||||
wdvn-clean "$1"
|
||||
echo "-- $WDVN_MODLIST --"
|
||||
while IFS="" read -r WDVN_LINE || [ -n "$WDVN_LINE" ]
|
||||
do
|
||||
echo "> $WDVN_LINE"
|
||||
source wdvn-mod "mods/$WDVN_LINE" "$1"
|
||||
done < "modlists/$WDVN_MODLIST"
|
||||
done
|
||||
|
||||
echo "-- CLEANUP --"
|
||||
wdvn-clean "$1"
|
||||
)
|
||||
|
||||
rtn=$?
|
||||
wdvn-chroot-end "$1"
|
||||
find "$1" -name ".wdvn-placeholder" -type f -delete
|
||||
exit $rtn
|
||||
|
|
Loading…
Reference in New Issue