From d08902ffd47a4bee8aac435fc524a11187ceaecf 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 9ec738f..c01a0fa 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.34.1