diff options
Diffstat (limited to 'functions/chroot_bind_path.sh')
-rw-r--r-- | functions/chroot_bind_path.sh | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/functions/chroot_bind_path.sh b/functions/chroot_bind_path.sh new file mode 100644 index 000000000..1a2ab8be8 --- /dev/null +++ b/functions/chroot_bind_path.sh @@ -0,0 +1,38 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2014 Daniel Baumann <mail@daniel-baumann.ch> +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +Chroot_bind_path () +{ + CHROOT="$(readlink -f ${1})" + BIND_SRC="$(readlink -f ${2})" + + BIND_DEST=$(echo "${BIND_SRC}" | sed -e 's|/\+||') + if [ ! -d "${CHROOT}/${BIND_DEST}" -o \ + -z "$(cat /proc/mounts | awk -vdir="${CHROOT}/${BIND_DEST}" '$2 ~ dir { print $2}')" ] + then + Echo_message "Binding local repository path" + mkdir -p "${CHROOT}/${BIND_DEST}" + mount --bind "${LB_PARENT_MIRROR_CHROOT#file:}" \ + "${CHROOT}/${BIND_DEST}" + fi +} + +Chroot_unbind_path () +{ + CHROOT="$(readlink -f ${1})" + BIND_SRC="$(readlink -f ${2})" + + BIND_DEST=$(echo "${BIND_SRC}" | sed -e 's|/\+||') + if [ -d "${CHROOT}/${BIND_DEST}" ] + then + Echo_message "Unbinding local repository path" + umount "${CHROOT}/${BIND_DEST}" > /dev/null 2>&1 || true + fi +} |