示例#1
0
def add_architecture(distroseries, architecture_name):
    """Add a DistroArchSeries for the given architecture to `distroseries`."""
    # Avoid circular import.
    from lp.soyuz.model.distroarchseries import DistroArchSeries

    processor = getUtility(IProcessorSet).getByName(architecture_name)
    archseries = DistroArchSeries(
        distroseries=distroseries, processor=processor,
        owner=distroseries.owner, official=True,
        architecturetag=architecture_name)
    IMasterStore(DistroArchSeries).add(archseries)
示例#2
0
    def ensure_archinfo(self, archtag):
        """Append retrived distroarchseries info to a dict."""
        if archtag in self.archinfo.keys():
            return

        # Get distroarchseries and processor from the architecturetag.
        dar = DistroArchSeries.selectOneBy(distroseriesID=self.distroseries.id,
                                           architecturetag=archtag)
        if not dar:
            raise DataSetupError("Error finding distroarchseries for %s/%s" %
                                 (self.distroseries.name, archtag))

        processor = dar.processor
        info = {'distroarchseries': dar, 'processor': processor}
        self.archinfo[archtag] = info

        self.bppublishers[archtag] = BinaryPackagePublisher(
            dar, self.pocket, self.component_override)
        self.imported_bins[archtag] = []
 def updatePackageCache(self):
     # Create package cache records for new binary packages.
     #
     # SoyuzTestPublisher.updatePackageCache() creates a
     # DistroSeriesPackageCache record for the new binary package.
     # The method closes the current DB connection, making references
     # to DB objects in other DB objects unusable. Starting with
     # the distroarchseries, we can create new, valid, instances of
     # objects required later in the test again.
     # of the objects we need later.
     sourcepackagename = self.sourcepackagerelease.sourcepackagename
     publisher = SoyuzTestPublisher()
     publisher.updatePackageCache(self.distroarchseries.distroseries)
     self.distroarchseries = DistroArchSeries.get(self.distroarchseries.id)
     distribution = self.distroarchseries.distroseries.distribution
     releases = distribution.getCurrentSourceReleases([sourcepackagename])
     [(distribution_sourcepackage, dsp_release)] = releases.items()
     self.dsp_release = dsp_release
     self.sourcepackagerelease = dsp_release.sourcepackagerelease
示例#4
0
    def ensure_archinfo(self, archtag):
        """Append retrived distroarchseries info to a dict."""
        if archtag in self.archinfo.keys():
            return

        # Get distroarchseries and processor from the architecturetag.
        dar = DistroArchSeries.selectOneBy(
                distroseriesID=self.distroseries.id,
                architecturetag=archtag)
        if not dar:
            raise DataSetupError("Error finding distroarchseries for %s/%s"
                                 % (self.distroseries.name, archtag))

        processor = dar.processor
        info = {'distroarchseries': dar, 'processor': processor}
        self.archinfo[archtag] = info

        self.bppublishers[archtag] = BinaryPackagePublisher(
            dar, self.pocket, self.component_override)
        self.imported_bins[archtag] = []
 def updateDistroSeriesPackageCache(self):
     # Create DistroSeriesPackageCache records for new binary
     # packages.
     #
     # SoyuzTestPublisher.updateDistroSeriesPackageCache() creates
     # a DistroSeriesPackageCache record for the new binary package.
     # The method closes the current DB connection, making references
     # to DB objects in other DB objects unusable. Starting with
     # the distroarchseries, we can create new, valid, instances of
     # objects required later in the test again.
     # of the objects we need later.
     sourcepackagename = self.sourcepackagerelease.sourcepackagename
     publisher = SoyuzTestPublisher()
     publisher.updateDistroSeriesPackageCache(
         self.distroarchseries.distroseries)
     self.distroarchseries = DistroArchSeries.get(self.distroarchseries.id)
     distribution = self.distroarchseries.distroseries.distribution
     releases = distribution.getCurrentSourceReleases([sourcepackagename])
     [(distribution_sourcepackage, dsp_release)] = releases.items()
     self.dsp_release = dsp_release
     self.sourcepackagerelease = dsp_release.sourcepackagerelease