From bbb0166a07ac800f6542ded6eb1c257eac099eaf Mon Sep 17 00:00:00 2001 From: Slava Barinov Date: Thu, 19 Apr 2018 12:45:31 +0300 Subject: [PATCH] Umount directories inside build root after build is finished Sometimes (e.g. during ASan build) some directories left mounted after gbs build is finished and error "there're mounted directories to build root" appears. To prevent that this patch forces check of mounted directories and unmounting them. Change-Id: Ic22d4baf386bd0f2bd3a3f2d7baccb485e06b7de Signed-off-by: Slava Barinov --- depanneur | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/depanneur b/depanneur index d7a0204..8279530 100755 --- a/depanneur +++ b/depanneur @@ -2076,6 +2076,15 @@ sub build_package { } else { $rpmdirpath = `sudo chroot '$scratch' su -c "rpm --eval %{_rpmdir} 2>/dev/null" - abuild`; $srcrpmdirpath = `sudo chroot '$scratch' su -c "rpm --eval %{_srcrpmdir} 2>/dev/null" - abuild`; + { + # If mounted dirs left inside chroot we have to unmount them + my $escaped_scratch = $scratch =~ s#/#\\/#gr; + my $scratch_mnts = `sudo mount | awk '/$escaped_scratch/{print \$3}'`; + my @scratch_mnt_list = split("\n", $scratch_mnts); + foreach my $scratch_mnt (@scratch_mnt_list) { + safe_umount($scratch_mnt); + } + } } chomp($rpmdirpath); chomp($srcrpmdirpath); -- 2.7.4