Merge ~cjwatson/launchpad:built-using-domination into launchpad:master

Proposed by Colin Watson
Status: Needs review
Proposed branch: ~cjwatson/launchpad:built-using-domination
Merge into: launchpad:master
Prerequisite: ~cjwatson/launchpad:built-using-guard-deletion
Diff against target: 576 lines (+347/-42)
3 files modified
lib/lp/archivepublisher/domination.py (+156/-41)
lib/lp/archivepublisher/tests/test_dominator.py (+183/-1)
lib/lp/soyuz/interfaces/binarysourcereference.py (+8/-0)
Reviewer Review Type Date Requested Status
Launchpad code reviewers Pending
Review via email: mp+381240@code.qastaging.launchpad.net

Commit message

Handle Built-Using references in the dominator

Description of the change

Keep source publications with Built-Using references from active binary publications. This may extend to reinstating the source publication (via a copy) if it had already been superseded or deleted.

It's possible for this to cause confusing effects if a manual deletion races with a build that produces binaries with a Built-Using reference to the deleted source. I've guarded against this as best I can, and hope the remaining cases will be rare, but err on the side of honouring the reference.

To post a comment you must log in.
Revision history for this message
Colin Watson (cjwatson) wrote (last edit ):

I'm reasonably sure that it would be possible to extend this to cover the self-reference case (any active binary publications should keep their parent source publication active too) with minimal trouble, but I've already spent quite a long time on this so haven't attempted to actually do that extension here.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches

to status/vote changes: