Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
-# maybe mounted dirs
-MOUNTED_DIRS="/proc" "/sys" "dev/pts" "dev/shm" "dev" "run" "tmp" ""
+is_mounted() {
+ local mounted_dir=${1}
+
+ if [ ! -d ${mounted_dir} ]; then
+ log ERROR "Is not a directory ${mounted_dir}"
+ return ${FALSE}
+ else
+ mountpoint ${mounted_dir}
+ fi
+}
- for mounted_dir in ${MOUNTED_DIRS}
- do
+ local path
+
+ local return_value=${EXIT_OK}
- if is_mounted "${IMAGE_MOUNT_DIR}${mounted_dir}"; then
- umount "${IMAGE_MOUNT_DIR}${mounted_dir}"
+ for mounted_dir in "/proc" "/sys" "/dev/pts" "/dev/shm" "/dev" "/run" "/tmp" ""
+ do
+ path="${IMAGE_MOUNT_DIR}${mounted_dir}"
+
+ if is_mounted "${path}"; then
+ log DEBUG "Unmounting ${path}"
+ umount "${path}"
+ # Check once again
+ if is_mounted "${path}"; then
+ return_value=${EXIT_ERROR}
+ fi
- log DEBUG "${IMAGE_MOUNT_DIR}${mounted_dir} is not mounted"
+ log DEBUG "${path} is not mounted"
+}
+
+
+
+
+cleanup_stage_1() {
- # Remove partition from the kernel table.
- partx -d ${outlo}p1
- # Remove loopback device
- losetup -d ${outlo}
+ # Remove partition from the kernel table.
+ partx -d ${outlo}p1
+ # Remove loopback device
+ log DEBUG " Remove loopback device"
+ losetup -d ${outlo}
+ fi
# Cleanup Config file for the local repo
# Cleanup Config file for the local repo
-is_mounted() {
- local mounted_dir=${1}
-
- if [ ! -d ${mounted_dir} ]; then
- log ERROR "Is not a directory ${mounted_dir}"
- return ${FALSE}
- else
- mountpoint ${mounted_dir}
- fi
-}
- #Check that nothing is mounted in working dir
- local mounted_dir
- for mounted_dir in ${MOUNTED_DIRS}
- do
-
- if is_mounted "${IMAGE_MOUNT_DIR}${mounted_dir}"; then
- log ERROR "${IMAGE_MOUNT_DIR}${mounted_dir} is still mounted"
- return ${EXIT_ERROR}
- else
- log DEBUG "${IMAGE_MOUNT_DIR}${mounted_dir} is not mounted"
-
+ if unmount_dirs; then
+ # Drop working dir
+ if [ -d "${WORKING_DIR}" ]; then
+ #rm -dfR "${WORKING_DIR}"
+ echo ""
- done
-
- # Drop working dir
- if [ -d "${WORKING_DIR}" ]; then
- rm -dfR "${WORKING_DIR}"