setting partner component using queue override causes carnage
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
Fix Released
|
High
|
Michael Nelson |
Bug Description
The partner archive team asked us to sync sun-java6 from Debian unstable into the partner archive. I tried to do this in what seemed like the natural way (after an attempt to do so using the LP API failed; I'll file separate bugs about that) and carnage ensued.
I used sync-source.py to do a sync as usual, and flushed that into the NEW queue. I overrode the component to 'partner' using the 'queue' script, and accepted it. This immediately failed to build:
http://
More seriously, the pending source publication broke publish-distro.py. In the debug log, I see:
2010-02-26 20:05:38 DEBUG Added /srv/launchpad.
2010-02-26 20:05:38 DEBUG Added /srv/launchpad.
2010-02-26 20:05:40 DEBUG Added /srv/launchpad.
[...]
2010-02-26 20:25:29 DEBUG * Step D: Generating Release files.
2010-02-26 20:25:29 DEBUG Writing Release file for lucid/partner/
2010-02-26 20:25:29 ERROR Unexpected exception while doing release files
-> http://
Traceback (most recent call last):
File "/srv/launchpad
publishdi
File "/srv/launchpad
options.
File "/srv/launchpad
func(*args)
File "/srv/launchpad
self.
File "/srv/launchpad
distroseries, pocket, component, architecture, all_files)
File "/srv/launchpad
component, architecture, "Release"), "w")
IOError: [Errno 2] No such file or directory: u'/srv/
It seems clear from the paths displayed here that sun-java6 ended up in the primary archive with component 'partner', rather than in the partner archive. This should not have been allowed. It seems that the archive is erroneously selected at upload time, rather than at the point of acceptance from the queue.
We removed sun-java6 again as a short-term measure to repair the publisher, and this morning I tried it again, only this time I manually edited the .changes file, replacing "non-free/java" with "partner/java", before flushing the sync into the queue. This has successfully built. The binaries still required an override, so we'll see if that breaks the publisher again.
Related branches
- Paul Hummer (community): Approve (code)
- Brad Crittenden (community): Needs Information
-
Diff: 129 lines (+52/-10)4 files modifiedlib/lp/soyuz/doc/distroseriesqueue.txt (+1/-1)
lib/lp/soyuz/model/queue.py (+9/-4)
lib/lp/soyuz/scripts/queue.py (+9/-5)
lib/lp/soyuz/tests/test_packageupload.py (+33/-0)
Changed in soyuz: | |
status: | New → Triaged |
importance: | Undecided → High |
milestone: | none → 10.03 |
Changed in soyuz: | |
assignee: | nobody → Michael Nelson (michael.nelson) |
Changed in soyuz: | |
status: | Triaged → In Progress |
Changed in soyuz: | |
status: | Fix Committed → Fix Released |
In addition, this is what has triggered bug 536641 (the same release in two main archives, whereas our traversal currently assumes this will not happen).