[buildd-tools-devel] Bug#749640: buildd-uploader doesn't consider architecture when setting package uploaded
Riku Voipio
riku.voipio at iki.fi
Wed May 28 19:15:30 UTC 2014
Package: buildd
Version: 0.64.0-1+buildd20140413.0
Severity: normal
We see the following error in buildd log:
May 28 14:35:52 buildd-uploader[28069]: owncloud-client: not taken by you, but by buildd_armhf-henze. Skipping.
This is a buildd which builds multiple architectures (armel/armhf), with
a similar conf in .builddrc:
for my $dist_name (qw{sid experimental}) {
for my $arch (qw{armel armhf}) {
push @$distributions, {
built_architecture => $arch,
dist_name => [ $dist_name ],
logs_mail_also => $admin_mail,
wanna_build_db_user => "buildd_armhf-hartmann", }
}
}
Package builds fine, picking up right package from right w-b database:
May 28 14:08:25 buildd[7884]: Starting build (dist=experimental) of owncloud-client_1.6.0~rc2+dfsg-1
May 28 14:08:25 buildd[7884]: command line: nice -n 10 sbuild --apt-update --no-apt-upgrade --no-apt-distupgrade --batch --stats-dir=/home/buildd/stats --dist=experimental --sbuild-mode=buildd --mailfrom=buildd on hartmann <xx at xx> --maintainer=<xx at xx> --keyid=xx --mail-log-to=xx at xx --build-dep-resolver=aptitude --arch=armel owncloud-client_1.6.0~rc2+dfsg-1
May 28 14:30:47 buildd[7884]: sbuild of owncloud-client_1.6.0~rc2+dfsg-1 succeeded -- marking as built in wanna-build
May 28 14:30:48 buildd[7884]: owncloud-client_1.6.0~rc2+dfsg-1 is autosigned, moving to 'upload'
$ wanna-build -d experimental -A armel --info owncloud-client
owncloud-client:
Package : owncloud-client
Version : 1.6.0~rc2+dfsg-1
Builder : buildd_armhf-hartmann
State : Built
If we look at the armhf db:
$ wanna-build -d experimental -A armhf --info owncloud-client
owncloud-client:
Package : owncloud-client
Version : 1.6.0~rc2+dfsg-1
Builder : buildd_armhf-henze
State : Installed
We see that buildd-uploader is consulting the wrong database for the package.
Debug ouptut confirms this:
D2: Pipe (PID 28169, GLOB(0x206b018)) created for: ssh -l wb-buildd buildd.d.o wanna-build --arch=armhf --user=buildd_armhf-hartmann --uploaded --dist=experimental owncloud-client_1.6.0~rc2+dfsg-1
Looking at Uploader.pm sources:
my $dist_config = $self->get_dist_config_by_name($dist_name);
my $db = $self->get_db_handle($dist_config);
my $pipe = $db->pipe_query('--uploaded', '--dist=' . $dist_name, $pkg);
get_dist_config_by_name doesn't know that there are two "experimental" dist_name items in .builddrc,
and doesn't get an arch paramater to know which one to take.
I think buildd-uploader should pick the architecture from the .changes filename, and
pick the distconfig that has matching BUILT_ARCHITECTURE. Then pipe_query should do the right thing.
Riku
More information about the Buildd-tools-devel
mailing list