|
@@ -27,8 +27,20 @@ buildchroot_do_mounts() {
|
|
|
sudo -s <<'EOSUDO'
|
|
|
( flock 9
|
|
|
set -e
|
|
|
+
|
|
|
+ count="1"
|
|
|
+ if [ -f '${BUILDCHROOT_DIR}.mount' ]; then
|
|
|
+ count=$(($(< '${BUILDCHROOT_DIR}.mount') + 1))
|
|
|
+ fi
|
|
|
+ echo $count > '${BUILDCHROOT_DIR}.mount'
|
|
|
+ if [ $count -gt 1 ]; then
|
|
|
+ exit 0
|
|
|
+ fi
|
|
|
+
|
|
|
+ mkdir -p '${BUILDCHROOT_DIR}/isar-apt'
|
|
|
mountpoint -q '${BUILDCHROOT_DIR}/isar-apt' ||
|
|
|
mount --bind '${REPO_ISAR_DIR}/${DISTRO}' '${BUILDCHROOT_DIR}/isar-apt'
|
|
|
+ mkdir -p '${BUILDCHROOT_DIR}/downloads'
|
|
|
mountpoint -q '${BUILDCHROOT_DIR}/downloads' ||
|
|
|
mount --bind '${DL_DIR}' '${BUILDCHROOT_DIR}/downloads'
|
|
|
mountpoint -q '${BUILDCHROOT_DIR}/dev' ||
|
|
@@ -59,3 +71,38 @@ buildchroot_do_mounts() {
|
|
|
) 9>'${MOUNT_LOCKFILE}'
|
|
|
EOSUDO
|
|
|
}
|
|
|
+
|
|
|
+buildchroot_undo_mounts() {
|
|
|
+ sudo -s <<'EOSUDO'
|
|
|
+ ( flock 9
|
|
|
+ set -e
|
|
|
+
|
|
|
+ if [ -f '${BUILDCHROOT_DIR}.mount' ]; then
|
|
|
+ count=$(($(< '${BUILDCHROOT_DIR}.mount') - 1))
|
|
|
+ echo $count > '${BUILDCHROOT_DIR}.mount'
|
|
|
+ else
|
|
|
+ exit 1
|
|
|
+ fi
|
|
|
+ if [ $count -gt 0 ]; then
|
|
|
+ exit 0
|
|
|
+ fi
|
|
|
+ rm ${BUILDCHROOT_DIR}.mount
|
|
|
+
|
|
|
+ mountpoint -q '${BUILDCHROOT_DIR}/base-apt' && \
|
|
|
+ umount ${BUILDCHROOT_DIR}/base-apt && \
|
|
|
+ rmdir --ignore-fail-on-non-empty ${BUILDCHROOT_DIR}/base-apt
|
|
|
+ mountpoint -q '${BUILDCHROOT_DIR}/sys' && \
|
|
|
+ umount -R ${BUILDCHROOT_DIR}/sys
|
|
|
+ mountpoint -q '${BUILDCHROOT_DIR}/proc' && \
|
|
|
+ umount -R ${BUILDCHROOT_DIR}/proc
|
|
|
+ mountpoint -q '${BUILDCHROOT_DIR}/dev' && \
|
|
|
+ umount -R ${BUILDCHROOT_DIR}/dev
|
|
|
+ mountpoint -q '${BUILDCHROOT_DIR}/downloads' && \
|
|
|
+ umount ${BUILDCHROOT_DIR}/downloads && \
|
|
|
+ rmdir --ignore-fail-on-non-empty ${BUILDCHROOT_DIR}/downloads
|
|
|
+ mountpoint -q '${BUILDCHROOT_DIR}/isar-apt' && \
|
|
|
+ umount ${BUILDCHROOT_DIR}/isar-apt && \
|
|
|
+ rmdir --ignore-fail-on-non-empty ${BUILDCHROOT_DIR}/isar-apt
|
|
|
+ ) 9>'${MOUNT_LOCKFILE}'
|
|
|
+EOSUDO
|
|
|
+}
|