def tarExternals(self, releaseVersion): externalsVersion = self.relConf.getExtenalsVersion(releaseVersion) platform = Platform.getPlatformString() availableExternals = self.getAvailableExternals() if not externalsVersion: gLogger.notice("Externals is not defined for release %s" % releaseVersion) return False for externalType in self.cliParams.externalsBuildType: requestedExternals = (externalType, externalsVersion, platform, 'python%s' % self.cliParams.externalsPython) requestedExternalsString = "-".join(list(requestedExternals)) gLogger.notice("Trying to compile %s externals..." % requestedExternalsString) if not self.cliParams.forceExternals and requestedExternals in availableExternals: gLogger.notice( "Externals %s is already compiled, skipping..." % (requestedExternalsString)) continue compileScript = os.path.join(os.path.dirname(__file__), "dirac-compile-externals") if not os.path.isfile(compileScript): compileScript = os.path.join(os.path.dirname(__file__), "dirac-compile-externals.py") compileTarget = os.path.join(self.cliParams.destination, platform) cmdArgs = [] cmdArgs.append("-D '%s'" % compileTarget) cmdArgs.append("-t '%s'" % externalType) cmdArgs.append("-v '%s'" % externalsVersion) cmdArgs.append("-i '%s'" % self.cliParams.externalsPython) if cliParams.externalsLocation: cmdArgs.append("-e '%s'" % self.cliParams.externalsLocation) if cliParams.makeJobs: cmdArgs.append("-j '%s'" % self.cliParams.makeJobs) compileCmd = "%s %s" % (compileScript, " ".join(cmdArgs)) gLogger.info(compileCmd) if os.system(compileCmd): gLogger.error("Error while compiling externals!") sys.exit(1) tarfilePath = os.path.join( self.cliParams.destination, "Externals-%s.tar.gz" % (requestedExternalsString)) result = Distribution.createTarball( tarfilePath, compileTarget, os.path.join(self.cliParams.destination, "mysql")) if not result['OK']: gLogger.error( "Could not generate tarball for package %s" % package, result['Error']) sys.exit(1) os.system("rm -rf '%s'" % compileTarget) return True
def __generateTarball(self): destDir = self.params.destination tarName = "%s-%s.tar.gz" % (self.params.name, self.params.version) tarfilePath = os.path.join(destDir, tarName) dirToTar = os.path.join(self.params.destination, self.params.name) result = Distribution.writeVersionToInit(dirToTar, self.params.version) if not result['OK']: return result result = Distribution.createTarball(tarfilePath, dirToTar) if not result['OK']: return S_ERROR("Could not generate tarball: %s" % result['Error']) #Remove package dir shutil.rmtree(dirToTar) gLogger.info("Tar file %s created" % tarName) return S_OK(tarfilePath)
def __generateTarball( self ): destDir = self.params.destination tarName = "%s-%s.tar.gz" % ( self.params.name, self.params.version ) tarfilePath = os.path.join( destDir, tarName ) dirToTar = os.path.join( self.params.destination, self.params.name ) result = Distribution.writeVersionToInit( dirToTar, self.params.version ) if not result[ 'OK' ]: return result result = Distribution.createTarball( tarfilePath, dirToTar ) if not result[ 'OK' ]: return S_ERROR( "Could not generate tarball: %s" % result[ 'Error' ] ) #Remove package dir shutil.rmtree( dirToTar ) gLogger.info( "Tar file %s created" % tarName ) return S_OK( tarfilePath )
def tarExternals(self, releaseVersion): externalsVersion = self.relConf.getExtenalsVersion(releaseVersion) platform = Platform.getPlatformString() availableExternals = self.getAvailableExternals() if not externalsVersion: gLogger.notice("Externals is not defined for release %s" % releaseVersion) return False for externalType in self.cliParams.externalsBuildType: requestedExternals = (externalType, externalsVersion, platform, 'python%s' % self.cliParams.externalsPython) requestedExternalsString = "-".join(list(requestedExternals)) gLogger.notice("Trying to compile %s externals..." % requestedExternalsString) if not self.cliParams.forceExternals and requestedExternals in availableExternals: gLogger.notice("Externals %s is already compiled, skipping..." % (requestedExternalsString)) continue compileScript = os.path.join(os.path.dirname(__file__), "dirac-compile-externals") if not os.path.isfile(compileScript): compileScript = os.path.join(os.path.dirname(__file__), "dirac-compile-externals.py") compileTarget = os.path.join(self.cliParams.destination, platform) cmdArgs = [] cmdArgs.append("-D '%s'" % compileTarget) cmdArgs.append("-t '%s'" % externalType) cmdArgs.append("-v '%s'" % externalsVersion) cmdArgs.append("-i '%s'" % self.cliParams.externalsPython) if cliParams.externalsLocation: cmdArgs.append("-e '%s'" % self.cliParams.externalsLocation) if cliParams.makeJobs: cmdArgs.append("-j '%s'" % self.cliParams.makeJobs) compileCmd = "%s %s" % (compileScript, " ".join(cmdArgs)) gLogger.info(compileCmd) if os.system(compileCmd): gLogger.error("Error while compiling externals!") sys.exit(1) tarfilePath = os.path.join(self.cliParams.destination, "Externals-%s.tar.gz" % (requestedExternalsString)) result = Distribution.createTarball(tarfilePath, compileTarget, os.path.join(self.cliParams.destination, "mysql")) if not result['OK']: gLogger.error("Could not generate tarball for package %s" % requestedExternalsString, result['Error']) sys.exit(1) os.system("rm -rf '%s'" % compileTarget) return True