示例#1
0
    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
示例#2
0
 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 )
示例#4
0
  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