Version in base suite: 0.89.3+deb13u1 Version in overlay suite: 0.89.3+deb13u2 Base version: sbuild_0.89.3+deb13u2 Target version: sbuild_0.89.3+deb13u3 Base file: /srv/ftp-master.debian.org/ftp/pool/main/s/sbuild/sbuild_0.89.3+deb13u2.dsc Target file: /srv/ftp-master.debian.org/policy/pool/main/s/sbuild/sbuild_0.89.3+deb13u3.dsc debian/changelog | 10 ++++++++++ lib/Sbuild/Build.pm | 9 +++++---- lib/Sbuild/ChrootUnshare.pm | 16 +++++++++++----- lib/Sbuild/Conf.pm | 6 +++--- lib/Sbuild/Utility.pm | 3 ++- 5 files changed, 31 insertions(+), 13 deletions(-) diff -Nru sbuild-0.89.3+deb13u2/debian/changelog sbuild-0.89.3+deb13u3/debian/changelog --- sbuild-0.89.3+deb13u2/debian/changelog 2025-11-28 08:43:59.000000000 +0000 +++ sbuild-0.89.3+deb13u3/debian/changelog 2025-12-27 20:42:04.000000000 +0000 @@ -1,3 +1,13 @@ +sbuild (0.89.3+deb13u3) trixie; urgency=medium + + * Actually use UNSHARE_MMDEBSTRAP_ENV_CMD + * lib/Sbuild/Build.pm: preserve TMPDIR for piuparts + * Obey $TMPDIR for autopkgtest dsc mkdtemp + * Fix tempdir for autopkgtest + * Initialize variable + + -- Jochen Sprickerhof Sat, 27 Dec 2025 21:42:04 +0100 + sbuild (0.89.3+deb13u2) trixie; urgency=medium [ Jochen Sprickerhof ] diff -Nru sbuild-0.89.3+deb13u2/lib/Sbuild/Build.pm sbuild-0.89.3+deb13u3/lib/Sbuild/Build.pm --- sbuild-0.89.3+deb13u2/lib/Sbuild/Build.pm 2025-11-28 08:43:59.000000000 +0000 +++ sbuild-0.89.3+deb13u3/lib/Sbuild/Build.pm 2025-12-27 20:42:04.000000000 +0000 @@ -29,7 +29,7 @@ use POSIX; use Errno qw(:POSIX); use Fcntl; -use File::Temp qw(mkdtemp); +use File::Temp qw(tempdir); use File::Basename qw(basename dirname); use FileHandle; use File::Copy qw(); # copy is already exported from Sbuild, so don't export @@ -2099,8 +2099,9 @@ if ($self->get_conf('PIUPARTS_OPTIONS')); push @piuparts_command, $self->get('Changes File'); $self->get('Host')->run_command({ - COMMAND => \@piuparts_command, - PRIORITY => 0, + COMMAND => \@piuparts_command, + ENV_FILTER => ['^TMPDIR$'], + PRIORITY => 0, }); my $status = $? >> 8; @@ -2183,7 +2184,7 @@ # sbuild got passed a source package name and downloaded that # itself, so it must be made available to the host my $build_dir = $self->get('Build Dir'); - $tmpdir = mkdtemp("/tmp/tmp.sbuild.XXXXXXXXXX"); + $tmpdir = tempdir("tmp.sbuild.XXXXXXXXXX", TMPDIR => 1); if (!$session->copy_from_chroot("$build_dir/$dsc", "$tmpdir/$dsc")) { $self->log_error("cannot copy .dsc from chroot\n"); diff -Nru sbuild-0.89.3+deb13u2/lib/Sbuild/ChrootUnshare.pm sbuild-0.89.3+deb13u3/lib/Sbuild/ChrootUnshare.pm --- sbuild-0.89.3+deb13u2/lib/Sbuild/ChrootUnshare.pm 2025-11-28 08:43:59.000000000 +0000 +++ sbuild-0.89.3+deb13u3/lib/Sbuild/ChrootUnshare.pm 2025-12-27 20:42:04.000000000 +0000 @@ -228,11 +228,17 @@ $dist = $newdist; } - my @commonargs = ( - $self->get_conf("MMDEBSTRAP"), - "--variant=buildd", "--arch=$arch", "--skip=output/mknod", - "--format=tar", $basedist, - ); + my @commonargs = (); + if (length $self->get_conf('UNSHARE_MMDEBSTRAP_ENV_CMD')) { + push(@commonargs, @{ $self->get_conf('UNSHARE_MMDEBSTRAP_ENV_CMD') }); + } + push( + @commonargs, + ( + $self->get_conf("MMDEBSTRAP"), "--variant=buildd", + "--arch=$arch", "--skip=output/mknod", + "--format=tar", $basedist, + )); if ($self->get_conf('UNSHARE_MMDEBSTRAP_KEEP_TARBALL')) { # the tarball is supposed to be kept but maybe we don't need to # create one because the existing one is new enough diff -Nru sbuild-0.89.3+deb13u2/lib/Sbuild/Conf.pm sbuild-0.89.3+deb13u3/lib/Sbuild/Conf.pm --- sbuild-0.89.3+deb13u2/lib/Sbuild/Conf.pm 2025-11-28 08:43:59.000000000 +0000 +++ sbuild-0.89.3+deb13u3/lib/Sbuild/Conf.pm 2025-12-27 20:42:04.000000000 +0000 @@ -401,15 +401,15 @@ "{jessie,stretch}-amd64" => [ ... ] # the same as above but with a glob instead of a regex ];' }, - 'UNSHARE_MMDEBSTRAP_ENV_CMND' => { + 'UNSHARE_MMDEBSTRAP_ENV_CMD' => { TYPE => 'ARRAY', - VARNAME => 'unshare_mmdebstrap_env_cmnd', + VARNAME => 'unshare_mmdebstrap_env_cmd', GROUP => 'Chroot options (unshare)', DEFAULT => [], HELP => 'This is an experimental feature. In unshare mode, when mmdebstrap is used to create the chroot environment, prefix that command with this option array.', EXAMPLE => - '$unshare_mmdebstrap_env_cmnd = [ "env", "TMPDIR=/dev/shm/" ];' + '$unshare_mmdebstrap_env_cmd = [ "env", "TMPDIR=/dev/shm/" ];' }, 'UNSHARE_MMDEBSTRAP_MAX_AGE' => { TYPE => 'NUMERIC', diff -Nru sbuild-0.89.3+deb13u2/lib/Sbuild/Utility.pm sbuild-0.89.3+deb13u3/lib/Sbuild/Utility.pm --- sbuild-0.89.3+deb13u2/lib/Sbuild/Utility.pm 2025-11-28 08:43:59.000000000 +0000 +++ sbuild-0.89.3+deb13u3/lib/Sbuild/Utility.pm 2025-12-27 20:42:04.000000000 +0000 @@ -389,7 +389,8 @@ sub read_subuid_subgid() { my $username = getpwuid $<; - my ($subid, $num_subid, $fh, $n); + my ($subid, $num_subid, $fh); + my $n = -1; my @result = (); if (!-e "/etc/subuid") {