[Piuparts-devel] Bug#1114537: piuparts: Error when host /etc/apt/sources.list contains [signed-by=]

Philippe SWARTVAGHER phil.swart at gmx.fr
Sat Sep 6 17:36:54 BST 2025


Package: piuparts
Version: 1.6.0
Severity: normal

Dear Maintainer,

I'm executing piuparts through sbuild. I setup sbuild as instructed in
the wiki https://wiki.debian.org/sbuild.

My configuration of sbuild related to piuparts is the following:

$run_piuparts = 1;
$piuparts_opts = ['--distribution=%r', '--bootstrapcmd=mmdebstrap 
--skip=check/empty --variant=minbase --aptopt="Acquire::http { Proxy 
\"http://192.168.3.55:3142\"; }"'];

I noticed that if the /etc/apt/sources.list of the host is the
following:

deb [signed-by=/usr/share/keyrings/debian-archive-keyring.gpg] 
http://ftp.fr.debian.org/debian/ unstable main non-free-firmware
deb-src [signed-by=/usr/share/keyrings/debian-archive-keyring.gpg] 
http://ftp.fr.debian.org/debian/ unstable main non-free-firmware

I get an error during the execution of piuparts:

% sbuild hello
[...]
0m0.0s DEBUG: Setting up minimal chroot for unstable at /tmp/tmp0rgv7d44.
0m0.0s DEBUG: Starting command: ['mmdebstrap', '--skip=check/empty', 
'--variant=minbase', '--aptopt=Acquire::http { Proxy 
"http://192.168.3.55:3142"; }', 
'--keyring=/usr/share/keyrings/debian-archive-keyring.gpg', 
'--include=eatmydata', '--merged-usr', 
'--components=unstable,main,non-free-firmware', 'unstable', 
'/tmp/tmp0rgv7d44', 
'[signed-by=/usr/share/keyrings/debian-archive-keyring.gpg]']
0m0.3s DUMP:
   I: the option --merged-usr is a no-op. It only exists for 
compatibility with some debootstrap wrappers.
   I: automatically chosen mode: root
   I: chroot architecture amd64 is equal to the host's architecture
   I: finding correct signed-by value...
   E: invalid mirror: 
[signed-by=/usr/share/keyrings/debian-archive-keyring.gpg]
0m0.3s ERROR: Command failed (status=25): ['mmdebstrap', 
'--skip=check/empty', '--variant=minbase', '--aptopt=Acquire::http { 
Proxy "http://192.168.3.55:3142"; }', 
'--keyring=/usr/share/keyrings/debian-archive-keyring.gpg', 
'--include=eatmydata', '--merged-usr', 
'--components=unstable,main,non-free-firmware', 'unstable', 
'/tmp/tmp0rgv7d44', 
'[signed-by=/usr/share/keyrings/debian-archive-keyring.gpg]']
   I: the option --merged-usr is a no-op. It only exists for 
compatibility with some debootstrap wrappers.
   I: automatically chosen mode: root
   I: chroot architecture amd64 is equal to the host's architecture
   I: finding correct signed-by value...
   E: invalid mirror: 
[signed-by=/usr/share/keyrings/debian-archive-keyring.gpg]


However, if I remove the [signed-by=] from the sources.list:

deb http://ftp.fr.debian.org/debian/ unstable main non-free-firmware
deb-src http://ftp.fr.debian.org/debian/ unstable main non-free-firmware

it works fine:

0m0.0s DEBUG: Starting command: ['mmdebstrap', '--skip=check/empty', 
'--variant=minbase', '--aptopt=Acquire::http { Proxy 
"http://192.168.3.55:3142"; }', 
'--keyring=/usr/share/keyrings/debian-archive-keyring.gpg', 
'--include=eatmydata', '--merged-usr', 
'--components=main,non-free-firmware', 'unstable', '/tmp/tmpjhhhbwky', 
'http://ftp.fr.debian.org/debian/']
0m7.3s DUMP:
   I: the option --merged-usr is a no-op. It only exists for 
compatibility with some debootstrap wrappers.
   I: automatically chosen mode: root
   I: chroot architecture amd64 is equal to the host's architecture
   I: finding correct signed-by value...
   I: automatically chosen format: directory
   I: skipping check/empty as requested
   I: running apt-get update...
   I: downloading packages with apt...
   I: extracting archives...
   mount: /tmp/tmpjhhhbwky/sys: permission denied.
          dmesg(1) may have more information after failed mount system call.
   I: installing essential packages...
   I: installing remaining packages inside the chroot...
   I: cleaning package lists and apt cache...
   I: success in 7.1120 seconds

If you compare the arguments of the mmdebstrap command, it seems
"[signed-by=...]" is not ignored and is considered as the URL of the
repository.

The workaround for me was to remove these [signed-by=...] from my
sources.list (which doesn't seem to bother apt for
update/ugprade/install).

I don't know how you want to handle this bug, since it seems the new
default format for sources.list is now deb822, but I didn't try with
this format, maybe the bug does not occur.


Philippe.


-- System Information:
Debian Release: forky/sid
   APT prefers unstable-debug
   APT policy: (500, 'unstable-debug'), (500, 'unstable'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 6.16.3+deb14-amd64 (SMP w/12 CPU threads; PREEMPT)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE 
not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages piuparts depends on:
ii  debsums          3.0.2.3
ii  libjs-sphinxdoc  8.2.3-5
ii  lsb-release      12.1-1
ii  lsof             4.99.4+dfsg-2
ii  mount            2.41.1-2
ii  piuparts-common  1.6.0
ii  python3          3.13.7-1
ii  python3-debian   1.0.1

Versions of packages piuparts recommends:
ii  adequate     0.17.6+b1
ii  debootstrap  1.0.141
ii  mmdebstrap   1.5.7-3

Versions of packages piuparts suggests:
ii  docker.io  26.1.5+dfsg1-9+b9
ii  schroot    1.6.13-7
ii  uidmap     1:4.18.0-1

-- no debconf information



More information about the Piuparts-devel mailing list