summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--debian/changelog2
-rw-r--r--functions5
2 files changed, 6 insertions, 1 deletions
diff --git a/debian/changelog b/debian/changelog
index 9400489..d478a60 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,8 @@ debootstrap (1.0.51) UNRELEASED; urgency=low
[ Colin Watson ]
* Clarify location of pkgdetails.c in error message (closes: #708771).
+ * Resolve mount point symlinks relative to the target chroot before
+ unmounting them (closes: #702861, #703037, #704744).
-- Colin Watson <cjwatson@debian.org> Sat, 18 May 2013 22:35:11 +0100
diff --git a/functions b/functions
index e5e16a3..a2e1431 100644
--- a/functions
+++ b/functions
@@ -955,8 +955,11 @@ setup_etc () {
UMOUNT_DIRS=
umount_exit_function () {
+ local realdir
for dir in $UMOUNT_DIRS; do
- ( cd / ; umount "$TARGET/${dir#/}" ) || true
+ realdir="$(in_target_nofail readlink -f "$dir")"
+ [ "$realdir" ] || continue
+ ( cd / ; umount "$TARGET/${realdir#/}" ) || true
done
}