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) |
||||
Related bugs: |
|
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.
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.