Example #1
0
 def init(self):
     repo = FakeRepository(self._fileName)
     header = rpmutils.readRpmHeader(self._fileName)
     if not header:
         return False
     RpmHeaderPackage.__init__(self, header, repo)
     return True
Example #2
0
    def __init__(self, root):
        self.root = root
        self.ts = None
        self._prcoCache = {
            'provides': {},
            'requires': {},
            'conflicts': {},
            'obsoletes': {}
        }
        self._provideCache = {}
        self._requireCache = {}
        self._conflictCache = {}
        self._idx2PkgDict = {}
        self._name2PkgDict = {}
        self._tuple2PkgDict = {}
        self._completelyLoaded = False

        self._repo = FakeRepository('/', installed=True)
        self._repo.setPackageSack(self)
Example #3
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
Example #4
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