Example #1
0
def buildSourcesList(specPath, sourcePath, yamlDir, logger, singleFile=True):
    strUtils = StringUtils()
    if singleFile:
        yamlFile = open(yamlDir + "sources_list.yaml", "w")
    lst = os.listdir(specPath)
    lst.sort()
    import PullSources
    for dirEntry in lst:
        specDir = os.path.join(specPath, dirEntry)
        if os.path.isdir(specDir):
            for specEntry in os.listdir(specDir):
                specFile = os.path.join(specDir, specEntry)
                if os.path.isfile(specFile) and specFile.endswith(".spec"):
                    spec = Specutils(specFile)
                    modified = len(spec.getPatchNames()) > 0
                    listSourceURLs = spec.getSourceURLs()
                    ossname = spec.getBasePackageName()
                    ossversion = spec.getVersion()
                    url = None
                    listSourceNames = spec.getSourceNames()
                    sourceName = None
                    if len(listSourceNames) > 0:
                        sourceName = listSourceNames[0]
                        sha1 = spec.getChecksumForSource(sourceName)
                        if sha1 is not None:
                            PullSources.get(sourceName, sha1, sourcePath,
                                            constants.pullsourcesConfig)

                    if len(listSourceURLs) > 0:
                        sourceURL = listSourceURLs[0]
                        if sourceURL.startswith(
                                "http") or sourceURL.startswith("ftp"):
                            url = sourceURL
                        else:
                            url = spec.getURL(ossname)
                    if not singleFile:
                        yamlFile = open(
                            yamlDir + "/" + ossname + "-" + ossversion +
                            ".yaml", "w")
                    yamlFile.write("vmwsource:" + ossname + ":" + ossversion +
                                   ":\n")
                    yamlFile.write("  repository: VMWsource\n")
                    yamlFile.write("  name: '" + ossname + "'\n")
                    yamlFile.write("  version: '" + ossversion + "'\n")
                    yamlFile.write("  url: " + str(url) + "\n")
                    yamlFile.write("  license: UNKNOWN\n")
                    if sourceName is not None:
                        yamlFile.write("  vmwsource-distribution: " +
                                       str(sourceName) + "\n")
                    if modified:
                        yamlFile.write("  modified: true\n")
                    yamlFile.write("\n")
                    if not singleFile:
                        yamlFile.close()
    if singleFile:
        yamlFile.close()
    logger.info("Generated source yaml files for all packages")
Example #2
0
def buildSourcesList(specPath,sourcePath, yamlDir, logger, singleFile=False):
    strUtils = StringUtils()
    if singleFile:
        yamlFile = open(yamlDir+"sources_list.yaml", "w")
    lst = os.listdir(specPath)
    lst.sort()
    import PullSources
    for dirEntry in lst:
        specDir = os.path.join(specPath, dirEntry)
        if os.path.isdir(specDir):
            for specEntry in os.listdir(specDir):
                specFile = os.path.join(specDir, specEntry)
                if os.path.isfile(specFile) and specFile.endswith(".spec"):
                    spec=Specutils(specFile)
                    modified = len(spec.getPatchNames()) > 0
                    listSourceURLs=spec.getSourceURLs()
                    ossname = spec.getBasePackageName()
                    ossversion = spec.getVersion()
                    url = None
                    listSourceNames = spec.getSourceNames()
                    sourceName = None
                    if len(listSourceNames) >0:
                        sourceName=listSourceNames[0]
                        sha1 = spec.getChecksumForSource(sourceName)                       
                        if sha1 is not None:
                            PullSources.get(sourceName, sha1, sourcePath, constants.pullsourcesConfig)

                    if len(listSourceURLs) > 0:
                        sourceURL = listSourceURLs[0]
                        if sourceURL.startswith("http") or sourceURL.startswith("ftp"):
                            url = sourceURL;
                        else:
                            url=spec.getURL(ossname)
                    if not singleFile:
                        yamlFile = open(yamlDir+"/"+ossname+"-"+ossversion+".yaml", "w")
                    yamlFile.write("vmwsource:"+ossname+":"+ossversion+":\n")
                    yamlFile.write("  repository: VMWsource\n")
                    yamlFile.write("  name: '"+ossname+"'\n")
                    yamlFile.write("  version: '"+ossversion+"'\n")
                    yamlFile.write("  url: "+str(url)+"\n")
                    yamlFile.write("  license: UNKNOWN\n")
                    if sourceName is not None:
                        yamlFile.write("  vmwsource-distribution: "+str(sourceName)+"\n")
                    if modified:
                        yamlFile.write("  modified: true\n")
                    yamlFile.write("\n")
                    if not singleFile:
                        yamlFile.close()
    if singleFile:
        yamlFile.close()
    logger.info("Generated source yaml files for all packages")