Contents generation should be done from the database
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
Triaged
|
Low
|
Unassigned |
Bug Description
The contents generation as it currently stands is only done for the Ubuntu PRIMARY archive, shares a lock file with the publisher, and takes an hour or more. It needs to die horribly.
The rest of this bug report is a brain-dump of my current thought process about this.
This can be fixed iterably, by first creating a table (say, BinaryPackageCo
The second step would be to write a garbo script that iterates over published BPRs with no expired BPRFs and adds rows to BPC. Expect run time is a week, perhaps less, since unlike PSC, we don't need to extract the source. We can grab the .deb from the librarian, run dpkg-deb -c over it, and parse the output.
The third step would be to hook into the publisher to create and delete rows from BPC when it marks a BPR as SUPERSEDED or PUBLISHED. We may also need to do some trickery in terms of deletion of binary packages.
The fourth step would be to write a hook script for the publisher that generates the contents file for a given archive, and turn off the cronscript for the current script.
Related branches
- William Grant (community): Approve (code)
- Gavin Panella (community): Abstain
- Stuart Bishop (community): Approve (db)
- Robert Collins: Pending (db) requested
-
Diff: 416 lines (+341/-0)10 files modifieddatabase/schema/comments.sql (+10/-0)
database/schema/patch-2208-76-0.sql (+17/-0)
database/schema/security.cfg (+2/-0)
lib/lp/soyuz/configure.zcml (+34/-0)
lib/lp/soyuz/interfaces/binarypackagepath.py (+36/-0)
lib/lp/soyuz/interfaces/binarypackagereleasecontents.py (+43/-0)
lib/lp/soyuz/model/binarypackagepath.py (+37/-0)
lib/lp/soyuz/model/binarypackagereleasecontents.py (+70/-0)
lib/lp/soyuz/tests/test_binarypackagepath.py (+26/-0)
lib/lp/soyuz/tests/test_binarypackagereleasecontents.py (+66/-0)
- Gavin Panella (community): Approve
-
Diff: 251 lines (+122/-4)3 files modifieddatabase/schema/security.cfg (+6/-0)
lib/lp/scripts/garbo.py (+71/-2)
lib/lp/scripts/tests/test_garbo.py (+45/-2)
description: | updated |
Changed in launchpad: | |
status: | Confirmed → Triaged |
tags: |
added: soyuz-publish removed: soyuz |
tags: |
added: qa-untestable removed: qa-needstesting |
Changed in launchpad: | |
status: | In Progress → Triaged |
assignee: | Steve Kowalik (stevenk) → nobody |
r10693 in db-stable (http:// bazaar. launchpad. net/~launchpad- pqm/launchpad/ db-stable/ revision/ 10693) is part of this bug's fix.