Natively-synced packages in copy archives spam Debian developers with disallowed-component warnings

Bug #1103491 reported by Colin Watson
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Launchpad itself
Fix Released
High
William Grant

Bug Description

A number of the failures in the recent test rebuild were upload failures with 'Component "non-free" not allowed in raring'. For example:

  https://launchpad.net/ubuntu/+archive/test-rebuild-20121221/+build/4096090

Not only should this upload failure not occur in the first place (because the component was overridden to "multiverse" in Ubuntu), but it certainly should not spam Debian developers with a failure they don't care about (https://lists.ubuntu.com/archives/ubuntu-devel/2013-January/036374.html).

Related branches

Revision history for this message
Tom Haddon (mthaddon) wrote :
Revision history for this message
Colin Watson (cjwatson) wrote :

Thanks, Tom. The .changes is functionally identical to the one uploaded to the primary archive (https://launchpadlibrarian.net/106220190/lha_1.14i-10.4_armhf.changes), so that rules out a problem with buildd configuration.

Revision history for this message
Colin Watson (cjwatson) wrote :

Traceback from the uploader:

Traceback (most recent call last):
  File "/srv/launchpad.net/codelines/soyuz-production-rev-16420/lib/lp/archiveuploader/nascentupload.py", line 860, in do_accept
    self.storeObjectsInDatabase(build=build)
  File "/srv/launchpad.net/codelines/soyuz-production-rev-16420/lib/lp/archiveuploader/nascentupload.py", line 1047, in storeObjectsInDatabase
    self.changes.filepath, logger=self.logger)
  File "/srv/launchpad.net/codelines/soyuz-production-rev-16420/lib/lp/soyuz/model/queue.py", line 508, in acceptFromUploader
    self.setAccepted()
  File "/srv/launchpad.net/codelines/soyuz-production-rev-16420/lib/lp/soyuz/model/queue.py", line 362, in setAccepted
    raise QueueInconsistentStateError(info)
QueueInconsistentStateError: Component "non-free" is not allowed in raring

Revision history for this message
Colin Watson (cjwatson) wrote :

I see two problems here:

  1) Archive.getOverridePolicy doesn't return an UbuntuOverridePolicy for ArchivePurpose.COPY. I think it probably should.
  2) Syncs from Debian produce build .changes files with Changed-By: <last uploader to Debian>, and get_upload_notification_recipients always mails Changed-By for rejections of binary uploads to non-PPA archives. This would happen if there were a binary rejection from the primary archive too; those are just rather rarer at the moment. But perhaps a decent workaround for the moment would be to ensure that notifications for copy archives only go to the archive owner, since nothing else makes much sense.

Revision history for this message
Colin Watson (cjwatson) wrote :

Or in fact we should probably just not mail anyone for binary upload failures to copy archives, at least for now. We already have other ways to track this kind of thing and I suspect doko isn't desperately interested in getting even more mail.

Revision history for this message
Colin Watson (cjwatson) wrote :

It can't have anything to do with Archive.getOverridePolicy, thinking about it - that's only used for copies at the moment. I don't quite see why NascentUpload.find_and_apply_overrides didn't work out that the binary package exists in the primary archive and use that ancestry, since it looks as though NascentUpload.getBinaryAncestry should return the appropriate publication, despite the comment in NascentUpload.processUnknownFile.

It's perfectly possible, if unlikely for something to build in a copy archive when it has never built in the primary archive, so NascentUpload.processUnknownFile should probably make sure to apply UnknownOverridePolicy to copy archive uploads. That ought to paper over this problem most of the time, but it seems to me that something else must be going on.

Colin Watson (cjwatson)
Changed in launchpad:
status: New → In Progress
assignee: nobody → Colin Watson (cjwatson)
Revision history for this message
Launchpad QA Bot (lpqabot) wrote :
tags: added: qa-needstesting
Changed in launchpad:
status: In Progress → Fix Committed
Revision history for this message
Colin Watson (cjwatson) wrote :

Well, it's no worse, but it doesn't fix the problem, due to:

    if blamer is None:
        debug(logger, "Changes file is unsigned; adding changer as recipient.")
        candidate_recipients.append(changer)

tags: added: qa-ok
removed: qa-needstesting
Changed in launchpad:
status: Fix Committed → In Progress
Revision history for this message
Colin Watson (cjwatson) wrote :

All the packages that failed to upload in this way were removed from raring after the test rebuild was started. That would explain why NascentUpload didn't find any overrides to copy.

Revision history for this message
Launchpad QA Bot (lpqabot) wrote :
tags: added: qa-needstesting
removed: qa-ok
Steve Kowalik (stevenk)
tags: added: qa-ok
removed: qa-needstesting
William Grant (wgrant)
tags: added: email package-copies
William Grant (wgrant)
Changed in launchpad:
assignee: Colin Watson (cjwatson) → William Grant (wgrant)
Revision history for this message
Launchpad QA Bot (lpqabot) wrote :
tags: added: qa-needstesting
removed: qa-ok
Changed in launchpad:
status: In Progress → Fix Committed
William Grant (wgrant)
tags: added: qa-ok
removed: qa-needstesting
William Grant (wgrant)
Changed in launchpad:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.