forked from josch/mmdebstrap
hooks/file-mirror-automount/setup00.sh: also parse MMDEBSTRAP_INCLUDE and make it available
This commit is contained in:
parent
410c5fcb24
commit
6416ce96c9
1 changed files with 36 additions and 0 deletions
|
@ -8,6 +8,7 @@ fi
|
||||||
|
|
||||||
rootdir="$1"
|
rootdir="$1"
|
||||||
|
|
||||||
|
# process all configured apt repositories
|
||||||
env APT_CONFIG=$MMDEBSTRAP_APT_CONFIG apt-get indextargets --no-release-info --format '$(REPO_URI)' \
|
env APT_CONFIG=$MMDEBSTRAP_APT_CONFIG apt-get indextargets --no-release-info --format '$(REPO_URI)' \
|
||||||
| sed -ne 's/^file:\/\+//p' \
|
| sed -ne 's/^file:\/\+//p' \
|
||||||
| sort -u \
|
| sort -u \
|
||||||
|
@ -27,3 +28,38 @@ env APT_CONFIG=$MMDEBSTRAP_APT_CONFIG apt-get indextargets --no-release-info --f
|
||||||
esac
|
esac
|
||||||
printf '/%s\0' "$path" >> "$rootdir/run/mmdebstrap/file-mirror-automount"
|
printf '/%s\0' "$path" >> "$rootdir/run/mmdebstrap/file-mirror-automount"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# process all files given via --include
|
||||||
|
set -f # turn off pathname expansion
|
||||||
|
IFS=',' # split by comma
|
||||||
|
for pkg in $MMDEBSTRAP_INCLUDE; do
|
||||||
|
set +f; unset IFS
|
||||||
|
case $pkg in
|
||||||
|
./*|../*|/*) : ;; # we are interested in this case
|
||||||
|
*) continue ;; # not a file
|
||||||
|
esac
|
||||||
|
# undo escaping
|
||||||
|
pkg="$(printf '%s' "$pkg" | sed 's/%2C/,/g; s/%25/%/g')"
|
||||||
|
# check for existance
|
||||||
|
if [ ! -f "$pkg" ]; then
|
||||||
|
echo "$pkg does not exist" >&2
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
# make path absolute
|
||||||
|
pkg="$(realpath "$pkg")"
|
||||||
|
mkdir -p "$rootdir/run/mmdebstrap"
|
||||||
|
mkdir -p "$rootdir/$(dirname "$pkg")"
|
||||||
|
case $MMDEBSTRAP_MODE in
|
||||||
|
root|unshare)
|
||||||
|
echo "bind-mounting $pkg into the chroot" >&2
|
||||||
|
touch "$rootdir/$pkg"
|
||||||
|
mount -o bind "$pkg" "$rootdir/$pkg"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "copying $pkg into the chroot" >&2
|
||||||
|
cp -av "$pkg" "$rootdir/$pkg"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
printf '/%s\0' "$pkg" >> "$rootdir/run/mmdebstrap/file-mirror-automount"
|
||||||
|
done
|
||||||
|
set +f; unset IFS
|
||||||
|
|
Loading…
Reference in a new issue