Remove redundant sudo call from unmount procedure 32/185532/7
authorSlava Barinov <v.barinov@samsung.com>
Tue, 31 Jul 2018 09:20:03 +0000 (12:20 +0300)
committerbiao716.wang <biao716.wang@samsung.com>
Tue, 14 Aug 2018 02:22:23 +0000 (10:22 +0800)
sudo is not needed to get mount list.

Change-Id: I9e7557f1112752ca339778702650e548c4782e32
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
depanneur

index fb7123a4ecbed264eb21483b6de5e36964518b47..30aa9e6cb2a12950878b8aa51b7284f4343183b5 100755 (executable)
--- a/depanneur
+++ b/depanneur
@@ -2078,11 +2078,13 @@ sub build_package {
             $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);
+                open my $file, '<', "/proc/self/mountinfo" or die $!;
+                while (<$file>) {
+                    chomp;
+                    next if ($_ !~ /$scratch/);
+                    my @mount_info= split(' ', $_);
+                    debug("Unmounting $mount_info[4]");
+                    safe_umount($mount_info[4]);
                 }
             }
         }