Package: devscripts Version: 2.26.11 Severity: normal Tags: patch Dear Maintainer,
The refactor of the mmdebstrap builder that closed #1140552 introduced another issue. It now makes all debrebuild --builder=mmdebstrap commands fail if anything is set in the Environment section. > "--chrooted-customize-hook=env --chdir=$quoted_custom_build_path " > . (map String::ShellQuote::shell_quote, @environment) > . " dpkg-buildpackage -uc -a $host_arch --build=$build", The trailing string concatenation forces `map` into scalar context, in which it returns the count of elements. For a buildinfo with N Environment lines the customize-hook becomes `env --chdir=<path> N dpkg-buildpackage ...`, and env fails with `env: 'N': No such file or directory`. It's reproducible by running the following: $ curl -sfLO https://buildinfos.debian.net/buildinfo-pool/h/hello/hello_2.12.3-1_amd64.buildinfo $ debrebuild --builder=mmdebstrap --buildresult=./out hello_2.12.3-1_amd64.buildinfo [...] I: running --chrooted-customize-hook in shell: sh -c 'env --chdir=/build/reproducible-path/hello-2.12.3 5 dpkg-buildpackage -uc -a amd64 --build=any' env: '5': No such file or directory E: command failed: env --chdir=/build/reproducible-path/hello-2.12.3 5 dpkg-buildpackage -uc -a amd64 --build=any I've attached a patch that resolves the problem for me. Kind regards, Serge -- Package-specific info: --- /etc/devscripts.conf --- Empty. --- ~/.devscripts --- Not present -- System Information: Debian Release: forky/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 6.12.101+deb13-amd64 (SMP w/2 CPU threads; PREEMPT) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB:en Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages devscripts depends on: ii dpkg-dev 1.23.7 ii file 1:5.47-4 ii gosop [sopv] 1.1.0-3+b3 ii gpg 2.4.9-7+b1 ii gpg-agent 2.4.9-7+b1 ii gpgv 2.4.9-7+b1 ii libconfig-inifiles-perl 3.002000-1 ii libdpkg-perl 1.23.7 ii libfile-dirlist-perl 0.05-3 ii libfile-homedir-perl 1.006-2 ii libfile-touch-perl 0.12-2 ii libio-string-perl 1.08-4 ii libmoo-perl 2.005005-1 ii libwww-perl 6.83-1 ii libyaml-libyaml-perl 0.910.0+ds-1+b1 ii patchutils 0.4.5-1 ii perl 5.42.2-3 ii python3 3.14.6-1 ii sensible-utils 0.0.26 ii wdiff 1.2.2-9 Versions of packages devscripts recommends: ii apt 3.3.3 ii curl 8.21.0-2 ii dctrl-tools 2.24-3+b1 ii debian-keyring 2026.06.27 ii debian-tag2upload-keyring 1.2 ii diffstat 1.69-1 ii dput 1.2.4 ii equivs 2.3.3 ii git-debpush 16.7 ii libdistro-info-perl 1.17 ii libencode-locale-perl 1.05-3 ii libgitlab-api-v4-perl 0.27-1 ii libjson-perl 4.10000-1 ii liblwp-protocol-https-perl 6.15-1 ii libmetacpan-client-perl 2.044000-1 ii libsoap-lite-perl 1.27-3 ii libstring-shellquote-perl 1.04-3 ii liburi-perl 5.35-1 ii licensecheck 3.3.9-1 ii lintian 2.139.0 ii lzip 1.26-1 ii man-db 2.13.1-1 ii mmdebstrap 1.5.7-3 ii patch 2.8-2 ii pristine-tar 1.50+nmu2 ii python3-apt 3.1.0 ii python3-debian 1.1.1 ii python3-magic 2:0.4.27-6 ii python3-requests 2.32.5+dfsg-2 ii python3-unidiff 0.7.5-2 ii python3-xdg 0.28-3 ii sbuild 0.91.10 ii strace 7.0+ds-1 ii unzip 6.0-30 ii wget 1.25.0-3 ii xz-utils 5.8.3-1 Versions of packages devscripts suggests: pn adequate <none> pn at <none> pn autopkgtest <none> pn bls-standalone <none> pn bsd-mailx | mailx <none> ii build-essential 12.12 pn check-all-the-things <none> ii debhelper 14.3 pn default-mta | mail-transport-agent <none> pn diffoscope <none> pn disorderfs <none> pn docker.io <none> pn dose-extra <none> pn duck <none> pn elpa-devscripts <none> pn faketime <none> pn gnuplot <none> pn how-can-i-help <none> ii libauthen-sasl-perl 2.2000-1 pn libdbd-pg-perl <none> pn libterm-size-perl <none> ii libtimedate-perl 2.3500-1 pn mutt <none> ii openssh-client [ssh-client] 1:10.4p1-4 pn piuparts <none> pn postgresql-client <none> pn pristine-lfs <none> ii python3-debianbts 4.1.1 pn python3-pycurl <none> pn quilt <none> pn ratt <none> pn reprotest <none> pn svn-buildpackage <none> pn w3m <none> -- no debconf information
From 4aabf9fe328634b8801a7d3c4ab516be785dc024 Mon Sep 17 00:00:00 2001 From: Serge Schneider <[email protected]> Date: Fri, 7 Aug 2026 10:51:49 +0100 Subject: [PATCH] debrebuild: join env-var list in mmdebstrap chrooted-customize-hook The trailing string concatenation forced `map` into scalar context, in which it returns the count of elements, not the mapped list. env(1) then received that count as its command and failed with `env: 'N': No such file or directory`. Regression from #1140552. --- scripts/debrebuild.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/debrebuild.pl b/scripts/debrebuild.pl index bf190ed6..d361107a 100755 --- a/scripts/debrebuild.pl +++ b/scripts/debrebuild.pl @@ -730,7 +730,7 @@ if ($builder eq "none") { . ".dsc $quoted_custom_build_path", (map { "--chrooted-customize-hook=$_" } @binnmucmds), "--chrooted-customize-hook=env --chdir=$quoted_custom_build_path " - . (map String::ShellQuote::shell_quote, @environment) + . (join ' ', map { String::ShellQuote::shell_quote($_) } @environment) . " dpkg-buildpackage -uc -a $host_arch --build=$build", "--chrooted-customize-hook=rm -r $quoted_custom_build_path", '--customize-hook=sync-out ' -- 2.43.0

