Package: devscripts
Version: 2.20.5
Severity: normal

Dear Maintainer,

any chrooted run debrepro fails on cleanup with s.th. like:
---
rm: cannot remove '/tmp/debrepro.WdTfiXpiIP/second/source': Device or resource 
busy
---

This is due to fusermount -u failing w/
---
fusermount: failed to mark mounts private: Invalid argument
---

fusermount in a check prior to the umount runs
---
res = mount("", "/", "", MS_PRIVATE | MS_REC, NULL);
---
This *seems* to fail in chroots "since some kernel versions";
i.e., definitely fails w/ linux 5.* (bullseye), definitely used
to work with linux 4.19.* (buster).

A simple "umount" otoh still works for me like a charm -- "working for me"-style
patch attached, but there is no real wisdom in it ;).

It really seems to be a generic problem, but I'd still love someone to re-test
this in case it's a PP after all...

Thanks!

Stephan

-- Package-specific info:

--- /etc/devscripts.conf ---
Empty.

--- ~/.devscripts ---
DEBCLEAN_CLEANDEBS=yes
DEBUILD_PREPEND_PATH=/usr/lib/ccache

-- System Information:
Debian Release: bullseye/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 5.9.0-0.bpo.5-amd64 (SMP w/16 CPU threads)
Kernel taint flags: TAINT_WARN, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: unable to detect

Versions of packages devscripts depends on:
ii  dpkg-dev              1.20.7.1
ii  fakeroot              1.25.3-1.1
ii  file                  1:5.39-3
ii  gnupg                 2.2.20-1
ii  gpgv                  2.2.20-1
ii  libc6                 2.31-9
ii  libfile-dirlist-perl  0.05-2
ii  libfile-homedir-perl  1.006-1
ii  libfile-touch-perl    0.11-1
ii  libfile-which-perl    1.23-1
ii  libipc-run-perl       20200505.0-1
ii  libmoo-perl           2.004004-1
ii  libwww-perl           6.52-1
ii  patchutils            0.4.2-1
ii  perl                  5.32.0-6
ii  python3               3.9.1-1
ii  sensible-utils        0.0.14
ii  wdiff                 1.2.2-2+b1

Versions of packages devscripts recommends:
ii  apt                         2.1.18
ii  curl                        7.74.0-1
pn  dctrl-tools                 <none>
ii  debian-keyring              2020.12.24
ii  dput-ng [dput]              1.32
ii  equivs                      2.3.1
ii  libdistro-info-perl         0.24
ii  libdpkg-perl                1.20.7.1
ii  libencode-locale-perl       1.05-1.1
ii  libgit-wrapper-perl         0.048-1
ii  libgitlab-api-v4-perl       0.25-2
ii  liblist-compare-perl        0.55-1
ii  liblwp-protocol-https-perl  6.10-1
pn  libsoap-lite-perl           <none>
ii  libstring-shellquote-perl   1.04-1
ii  libtry-tiny-perl            0.30-1
ii  liburi-perl                 5.06-1
pn  licensecheck                <none>
ii  lintian                     2.104.0
ii  man-db                      2.9.3-2
ii  patch                       2.7.6-7
ii  pristine-tar                1.49
ii  python3-apt                 2.1.7
ii  python3-debian              0.1.39
ii  python3-magic               2:0.4.20-3
ii  python3-requests            2.25.1+dfsg-2
ii  python3-unidiff             0.5.5-2
ii  python3-xdg                 0.27-2
pn  strace                      <none>
ii  unzip                       6.0-26
ii  wget                        1.21-1+b1
ii  xz-utils                    5.2.5-1.0

Versions of packages devscripts suggests:
pn  adequate                     <none>
pn  at                           <none>
pn  autopkgtest                  <none>
pn  bls-standalone               <none>
ii  bsd-mailx [mailx]            8.1.2-0.20180807cvs-2
ii  build-essential              12.9
pn  check-all-the-things         <none>
pn  cvs-buildpackage             <none>
ii  debhelper                    13.3.1
pn  devscripts-el                <none>
ii  diffoscope                   165
ii  disorderfs                   0.5.11-1
pn  dose-extra                   <none>
pn  duck                         <none>
ii  faketime                     0.9.7-3.1
pn  gnuplot                      <none>
pn  how-can-i-help               <none>
pn  libauthen-sasl-perl          <none>
pn  libdbd-pg-perl               <none>
ii  libfile-desktopentry-perl    0.22-2
pn  libnet-smtps-perl            <none>
pn  libterm-size-perl            <none>
ii  libtimedate-perl             2.3300-1
pn  libyaml-syck-perl            <none>
pn  mmdebstrap                   <none>
ii  mozilla-devscripts           0.54.2
pn  mutt                         <none>
ii  openssh-client [ssh-client]  1:8.4p1-3
pn  piuparts                     <none>
pn  postgresql-client            <none>
pn  quilt                        <none>
pn  ratt                         <none>
pn  reprotest                    <none>
ii  svn-buildpackage             0.8.7
pn  w3m                          <none>

-- no debconf information
>From 1e0d29944cc36aa1e5e67d8ae3b3cf0648f635f4 Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Stephan=20S=C3=BCrken?= <abs...@debian.org>
Date: Wed, 27 Jan 2021 18:58:47 +0100
Subject: [PATCH] debrepro.sh: Use 'umount', not 'fusermount -u' (fixes umount
 in chroot).

fusermount in a check prior to the umount runs
---
res = mount("", "/", "", MS_PRIVATE | MS_REC, NULL);
---
This seems to fail in chroots "since some kernel versions";
i.e., definitely fails w/ linux 5.* (bullseye), definitely used
to work with linux 4.19.* (buster).

A simple umount still works for me like a charm.
---
 scripts/debrepro.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/debrepro.sh b/scripts/debrepro.sh
index fd044d3e..2c44523c 100755
--- a/scripts/debrepro.sh
+++ b/scripts/debrepro.sh
@@ -120,7 +120,7 @@ create_build_script() {
 mv source orig &&
 mkdir source &&
 disorderfs --shuffle-dirents=yes orig source &&
-trap "cd .. && fusermount -u source && rmdir source && mv orig source" INT 
TERM EXIT &&
+trap "cd .. && umount source && rmdir source && mv orig source" INT TERM EXIT 
&&
 cd source'
         vary filesystem-ordering \
             '' \
-- 
2.30.0

Reply via email to