l.s.i.q.IPackageUploadSource(Interface) : interface documentation

Part of lp.soyuz.interfaces.queue View In Hierarchy

A Queue item's related sourcepackagereleases.
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
id =
Undocumented
packageupload =
Undocumented
sourcepackagerelease =
Undocumented
def getSourceAncestryForDiffs():
Return a suitable ancestry publication for this context.

The possible ancestries locations for a give source upload, assuming that only PRIMARY archive allows post-RELEASE pockets are:

  1. original archive, original distroseries and pocket (old DEVELOPMENT/SRU/PPA uploads).
  2. primary archive, original distroseries and release pocket (NEW SRU/PPA uploads fallback).
  3. 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.

ReturnsISourcePackagePublishingHistory for the corresponding ancestry or None if it wasn't found.
def verifyBeforeAccept():
Perform overall checks before promoting source to ACCEPTED queue.

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.

def verifyBeforePublish():
Perform overall checks before publishing a source queue record.

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.

def checkComponentAndSection():
Verify the current Component and Section via Selection table.

Check if the current sourcepackagerelease component and section matches with those included in the target distribution series, if not raise QueueSourceAcceptError exception.

def publish(logger=None):
Publish this queued source in the distroseries referred to by the parent queue item.

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.

API Documentation for Launchpad, generated by pydoctor at 2022-06-16 00:00:12.