Skip to content

sbuild chroot unintended string interpolation

With the increasing adoption of Linux desktops in corporate environments it's expected that usernames contain the '@' character. When running sbuild with an account like, let's say user@org.com, that we get E: Error locking chroot session: skipping <package> like below:

dpkg-source: info: using source format '3.0 (native)'
...

+==============================================================================+
| livecd-rootfs 25.04.26 (amd64)               Wed, 30 Apr 2025 16:29:21 +0000 |
+==============================================================================+

Package: livecd-rootfs
Version: 25.04.26
Source Version: 25.04.26
Distribution: plucky-amd64
Machine Architecture: amd64
Host Architecture: amd64
Build Architecture: amd64
Build Type: binary

I: NOTICE: Log filtering will replace 'var/run/schroot/mount/plucky-amd64-c9a17ed0-5932-4df1-ad6e-d4df512a37b0' with '<<CHROOT>>'
Possible unintended interpolation of @org in string at -e line 50.
Global symbol "@org" requires explicit package name (did you forget to declare "my @org"?) at -e line 50.
Execution of -e aborted due to compilation errors.
E: Error locking chroot session: skipping livecd-rootfs

We need to quote-escape the username in Sbuild/Chroot.pm. I'm not superfamiliar with Perl nor Sbuild codebase, so this pattern might also appear at other places I didn't come across yet.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information