Hi Aurelien, could you have a look at this bug?
I haven't touched the buildd component in forever. Please forward to the person responsible for the buildd component of sbuild if it's not you. Thanks! cheers, josch Quoting Florian Lohoff (2023-01-26 13:28:25) > Source: sbuild > Version: git > Severity: minor > > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA512 > > Hi, > while trying to catch up with a mipsel (--arch=mips2) building of > packages which for obvious reasons need to stay seperate from anything > Debian official i tried using buildd to build all and mipsel arch > at the same time. > > Resulting packages were uploaded correctly but sometimes throw > a perl error on buildd-uploader > > Use of uninitialized value in concatenation (.) or string at > /usr/share/perl5/Buildd/Base.pm line 166. > Use of uninitialized value in concatenation (.) or string at > /usr/share/perl5/Buildd/Base.pm line 169. > Can't call method "get" on an undefined value at > /usr/share/perl5/Sbuild/Base.pm line 74. > > Debugging the issue it turned out the > > Buildd::Uploader->upload > > had a different assumption about the calling convention for > > Buildd::Uploader->uploaded > > The first thought it should pass in an array (Which arch_name suddenly > became) but ->uploaded only expected a scalar. It passed it to > > Buildd::Base::get_arch_dist_config_by_name() > > which failed horribly. > > So i propose a patch something like this: > > https://salsa.debian.org/flo/sbuild/-/commit/cc095b20ad225b48d56a362d0cf3a219c6cf9246 > > > commit cc095b20ad225b48d56a362d0cf3a219c6cf9246 > Author: Florian Lohoff <f...@zz.de> > Date: Thu Jan 26 13:15:26 2023 +0100 > > Fix passing argument mismatch > > Buildd::Uploader->uploaded takes an scalar argument for the architecture > whereas Buildd::Uploader->upload passes in an array. This breaks when > something really writes more than one architecture in the .changes file. > > Convert to pass by reference and before passing to > > ->get_arch_dist_config_by_name() > > eliminate possible "all" from the list when there is more than one > architecture in the array. > > diff --git a/lib/Buildd/Uploader.pm b/lib/Buildd/Uploader.pm > index 302f5da0..a05cef94 100644 > - --- a/lib/Buildd/Uploader.pm > +++ b/lib/Buildd/Uploader.pm > @@ -83,9 +83,13 @@ sub run { > sub uploaded ($@) { > my $self = shift; > my $pkg = shift; > - - my $arch_name = shift; > + my $arch_array = shift; > my $dist_name = shift; > > + my $arch_name=(scalar @{$arch_array} > 1) > + ? (grep { !/all/ } @{$arch_array})[0] > + : $arch_array->[0]; > + > my $msgs = ""; > > my $dist_config = $self->get_arch_dist_config_by_name($arch_name, > $dist_name); > @@ -180,7 +184,7 @@ sub upload ($$) { > } else { > ($pkg = $f) =~ s/_\S+\.changes$//; > } > - - $self->uploaded($pkg, @archs, @dists); > + $self->uploaded($pkg, \@archs, @dists); > } else { > push (@after, $f); > } > > > > > -----BEGIN PGP SIGNATURE----- > > iQIzBAEBCgAdFiEEdb9o7oebX2papQ/KkN1BIMsJ8i8FAmPScekACgkQkN1BIMsJ > 8i9lhRAAg9l2YsF+zOsvPEqHdMUprmm/uEuAdMFGtJt3L+6BlRvWBXBuz7xZ0FzY > OqxOuPUS6PSnfreLgfsgLbfSyPVGgZ6Vlh6u7XzNBhdn/W/ErbTqRv39J9qDgcwY > 9JAZc4NxmEFasAF5QQqwjj65S31LoXHAhSB4d5/AMai5kIWu7SgfYLFoAZ1DIrul > WZS9DDo2Yu4cMP+sZdZ+d8OhdFUph4crBusXmSrXQSI8BTFSj0pt5FXQKuSETRmH > iC2yOIeAPJNbHnkGpdo/KF6nyv9LoEwslqp22bigEqquH17U/VaQoV+yCCD94S0N > JhjVTqqywAGtlh0Z+lntAmA7c7P3Sd/YlcA9waCjxBppsEJ8PXZUQYVcFDPpYRM2 > yePhnM93YSTlptZ49iujKHdqwT44WAb8KJT0eBH7In15nJVF32kxSV90RYex5QPG > Degx5A0yCRwHpRLjYG8L+3kQJ+9UP6Y2g+pDgxmI437k+gs3kT7tLjNjUupnw/Ej > 3TWBjbdVWZggRVOMlUvpHgbBUJ19yNXjljP971tWVn80bCTudSoL8a7D+gkOkoxL > kB66VhRTuw72Cg5fTY5JbHmLbJGPxp2Vi6Dv2ebTmg7E0p3JiEcQ1iiT15s/jxK2 > PK+rc7Rd7k6WGFbqrc3xZuFWIsDJI4zKL9p8HoIzu+DkWxYM1LI= > =P1aT > -----END PGP SIGNATURE-----
signature.asc
Description: signature