Part of lp.soyuz.interfaces.queue View In Hierarchy
Int | id | Undocumented |
Int | packageupload | Undocumented |
Int | sourcepackagerelease | Undocumented |
Method | getSourceAncestryForDiffs | Return a suitable ancestry publication for this context. |
Method | verifyBeforeAccept | Perform overall checks before promoting source to ACCEPTED queue. |
Method | verifyBeforePublish | Perform overall checks before publishing a source queue record. |
Method | checkComponentAndSection | Verify the current Component and Section via Selection table. |
Method | publish | Publish this queued source in the distroseries referred to by |
The possible ancestries locations for a give source upload, assuming that only PRIMARY archive allows post-RELEASE pockets are:
- original archive, original distroseries and pocket (old DEVELOPMENT/SRU/PPA uploads).
- primary archive, original distroseries and release pocket (NEW SRU/PPA uploads fallback).
- primary_archive, any distroseries and release pocket (BACKPORTS)
We lookup a source publication with the same name in those location and in that order. If an ancestry is found it is returned, otherwise it returns None.
Returns | ISourcePackagePublishingHistory for the corresponding
ancestry or None if it wasn't found. |
If two queue items have the same (name, version) pair there is an inconsistency. To identify this situation we check the accepted & done queue items for each distroseries for such duplicates and raise an exception if any are found. See bug #31038 & #62976 for details.
Check if the source package files do not collide with the ones already published in the archive. We need this to catch inaccurate epoched versions, which would pass the upload version check but would collide with diff(s) or dsc(s) previously published on disk. This inconsistency is well known in debian-like archives and happens because filenames do not contain epoch. For further information see bug #119753.
Check if the current sourcepackagerelease component and section matches with those included in the target distribution series, if not raise QueueSourceAcceptError exception.
Returns the secure source package publishing history object in case it is of use to the caller.
If a logger is provided, information pertaining to the publishing process will be logged to it.