예제 #1
0
파일: merge.py 프로젝트: zketley/createrepo
 def __init__(self,
              repolist=[],
              yumbase=None,
              mdconf=None,
              mdbase_class=None):
     self.repolist = repolist
     self.outputdir = '%s/merged_repo' % os.getcwd()
     self.exclude_tuples = []
     self.sort_func = self._sort_func  # callback function to magically sort pkgs
     if not mdconf:
         self.mdconf = createrepo.MetaDataConfig()
     else:
         self.mdconf = mdconf
     if not mdbase_class:
         self.mdbase_class = createrepo.MetaDataGenerator
     else:
         self.mdbase_class = mdbase_class
     if not yumbase:
         self.yumbase = yum.YumBase()
     else:
         self.yumbase = yumbase
     self.yumbase.conf.cachedir = getCacheDir()
     self.yumbase.conf.cache = 0
     # default to all arches
     self.archlist = unique(rpmUtils.arch.arches.keys() +
                            rpmUtils.arch.arches.values())
     self.groups = True
     self.updateinfo = True
예제 #2
0
def find_kmodules(availpkgs, provides, kernels):
    matches = []
    for pkg in availpkgs:
        for kern in kernels:
            for prov in provides:
                if pkg.name == "%s-%s" % (prov, kunamer(kern)):
                    if pkg.arch == kern.arch:
                        matches.append(pkg)
    return unique(matches)
예제 #3
0
def find_kmodules(availpkgs, provides, kernels):
    matches = []
    for pkg in availpkgs:
        for kern in kernels:
            for prov in provides:
                if pkg.name == "%s-%s" % (prov, kunamer(kern)):
                    if pkg.arch == kern.arch:
                        matches.append(pkg)
    return unique(matches)
예제 #4
0
 def __init__(self, repolist=[], yumbase=None, mdconf=None, mdbase_class=None ):
     self.repolist = repolist
     self.outputdir = '%s/merged_repo' % os.getcwd()
     self.exclude_tuples = []
     self.sort_func = self._sort_func # callback function to magically sort pkgs
     if not mdconf:
         self.mdconf = createrepo.MetaDataConfig()
     else:
         self.mdconf = mdconf
     if not mdbase_class:
         self.mdbase_class = createrepo.MetaDataGenerator
     else:
         self.mdbase_class = mdbase_class
     if not yumbase:
         self.yumbase = yum.YumBase()
     else:
         self.yumbase = yumbase
     self.yumbase.conf.cachedir = getCacheDir()
     self.yumbase.conf.cache = 0
     # default to all arches
     self.archlist = unique(rpmUtils.arch.arches.keys() + rpmUtils.arch.arches.values())
     self.groups = True
     self.updateinfo = True
예제 #5
0
        pkgtuple = rpmUtils.miscutils.pkgTupleFromHeader(hdr)
        (n,a,e,v,r) = pkgtuple
        del hdr
        
        if (n,a) not in pkgdict:
            pkgdict[(n,a)] = []
        pkgdict[(n,a)].append((e,v,r))
        
        if pkgtuple not in verfile:
            verfile[pkgtuple] = []
        verfile[pkgtuple].append(pkg)
        
    for natup in pkgdict.keys():
        evrlist = pkgdict[natup]
        if len(evrlist) > 1:
            evrlist = misc.unique(evrlist)
            evrlist.sort(rpmUtils.miscutils.compareEVR)
            pkgdict[natup] = evrlist
                
    del ts

    # now we have our dicts - we can return whatever by iterating over them
    
    outputpackages = []
    
    #if new
    if not options.old:
        for (n,a) in pkgdict.keys():
            evrlist = pkgdict[(n,a)]
            
            if len(evrlist) < abs(keepnum):
예제 #6
0
        pkgtuple = rpmUtils.miscutils.pkgTupleFromHeader(hdr)
        (n,a,e,v,r) = pkgtuple
        del hdr
        
        if (n,a) not in pkgdict:
            pkgdict[(n,a)] = []
        pkgdict[(n,a)].append((e,v,r))
        
        if pkgtuple not in verfile:
            verfile[pkgtuple] = []
        verfile[pkgtuple].append(pkg)
        
    for natup in pkgdict.keys():
        evrlist = pkgdict[natup]
        if len(evrlist) > 1:
            evrlist = misc.unique(evrlist)
            evrlist.sort(rpmUtils.miscutils.compareEVR)
            pkgdict[natup] = evrlist
                
    del ts

    # now we have our dicts - we can return whatever by iterating over them
    
    outputpackages = []
    
    #if new
    if not options.old:
        for (n,a) in pkgdict.keys():
            evrlist = pkgdict[(n,a)]
            
            if len(evrlist) < abs(keepnum):