Beispiel #1
0
    def _initPackageSack(self):
        cacheHandler = RepoCacheHandler(self.id, self.repoConfig,
                                        self.cachedir, self.expireTime,
                                        self.maxFileLength, self.retryTime,
                                        self.socketTimeout)
        pkgList = cacheHandler.getMetaData()
        if pkgList is None:
            self.packageSack = None
            return None
        self.packageSack = PackageSack()
        for pkg in pkgList:
            pkg.repo = self
            self.packageSack.addPackageObject(pkg)

        self.packageSack.buildIndex()
Beispiel #2
0
 def _initLocalRepos(self, repoSack, localRepos):
     if not localRepos:
         return True
     if not repoSack:
         repoSack = MultiPackageSack()
     for local in localRepos:
         fileNames = file_util.listDir(local)
         if not fileNames:
             continue
         pkgSack = PackageSack()
         for name in fileNames:
             path = local + '/' + name
             pkg = LocalRpmPackage(path)
             if pkg.init():
                 pkgSack.addPackageObject(pkg)
         repoSack.addPackageSack(local, pkgSack)
     return True
Beispiel #3
0
 def buildInstalledPkgRepoSack(self):
     sack = PackageSack()
     ainstRoot = AinstRoot(self._installRoot)
     if not ainstRoot.isValidAinstRoot():
         Log.cout(Log.DEBUG, '%s is invalid ainst root' % self._installRoot)
         return None
     reader = AinstRootReader(ainstRoot)
     installPkgMetas = reader.getInstallPkgMetas()
     if installPkgMetas is None:
         Log.cout(Log.DEBUG,
                  'Get install meta of %s failed' % self._installRoot)
         return None
     for pkgVer, rpmPath in installPkgMetas:
         pkg = LocalRpmPackage(rpmPath)
         if pkg.init():
             sack.addPackageObject(pkg)
     return sack
Beispiel #4
0
 def buildInstalledPkgSack(self):
     sack = PackageSack()
     ainstRoot = AinstRoot(self._installRoot)
     if not ainstRoot.isValidAinstRoot():
         Log.cout(Log.DEBUG, '%s is invalid ainst root' % self._installRoot)
         return None
     reader = AinstRootReader(ainstRoot)
     installPkgMetas = reader.getInstallPkgMetas()
     if installPkgMetas is None:
         Log.cout(Log.DEBUG,
                  'Get install meta of %s failed' % self._installRoot)
         return None
     for pkgVer, rpmPath in installPkgMetas:
         header = rpmutils.readRpmHeader(rpmPath)
         if header:
             repo = FakeRepository(self._installRoot, True)
             pkg = AinstRpmPackage(header, repo)
             sack.addPackageObject(pkg)
     return sack
Beispiel #5
0
 def buildActivePkgSack(self):
     sack = PackageSack()
     ainstRoot = AinstRoot(self._installRoot)
     if not ainstRoot.isValidAinstRoot():
         Log.cout(Log.DEBUG, '%s is invalid ainst root' % self._installRoot)
         return None
     reader = AinstRootReader(ainstRoot)
     activePkgMetas = reader.getActivePkgMetas()
     if activePkgMetas is None:
         Log.cout(Log.DEBUG,
                  'Get active meta of %s failed' % self._installRoot)
         return None
     for pkgName, rpmPath, aicfPath in activePkgMetas:
         aicfInfo = None
         if file_util.isFile(aicfPath):
             aicfInfo = AicfParser().parse(aicfPath)
         header = rpmutils.readRpmHeader(rpmPath)
         if header:
             repo = FakeRepository(self._installRoot, True)
             pkg = AinstRpmPackage(header, repo, aicfInfo)
             sack.addPackageObject(pkg)
     return sack