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@xx> 
--maintainer=<xx@xx> --keyid=xx --mail-log-to=xx@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


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to