示例#1
0
def doExec(category, package, version, action, opts):
    utils.debug("emerge doExec called. action: %s opts: %s" % (action, opts), 2)
    fileName = portage.getFilename(category, package, version)
    opts_string = ("%s " * len(opts)) % tuple(opts)
    commandstring = "python %s %s %s" % (fileName, action, opts_string)

    utils.debug("file: " + fileName, 1)
    try:
        # Switched to import the packages only, because otherwise degugging is very hard, if it troubles switch back
        # makes touble for xcompile -> changed back
        if not utils.system(commandstring):
            utils.die("running %s" % commandstring)
        # mod = portage.__import__( fileName )
        # mod.Package().execute(action)
    except OSError:
        return False
    return True
示例#2
0
 def getMetaData( self, category, package ):
     """ returns all targets of a specified package """
     utils.debug( "getMetaData: importing file %s" % portage.getFilename( category, package ), 1 )
     if not ( category and package ):
         return dict()
     info = portage._getSubinfo(  category, package  )
     if not info is None:
         tmpdict = dict()
         tmpdict['categoryName'] = info.category
         tmpdict['version'] = info.defaultTarget
         if not info.shortDescription == "":
             tmpdict['shortDescription'] = info.shortDescription
         if not info.description == "":
             tmpdict['description'] = info.description
         if not info.homepage == "":
             tmpdict['homepage'] = info.homepage
         tmpdict['withCompiler'] = info.options.package.withCompiler
         utils.debug( tmpdict, 2 )
         return tmpdict
     else:
         return {'withCompiler': True}
 def getMetaData(self, category, package):
     """ returns all targets of a specified package """
     EmergeDebug.debug(
         "getMetaData: importing file %s" %
         portage.getFilename(category, package), 1)
     if not (category and package):
         return dict()
     info = portage._getSubinfo(category, package)
     if not info is None:
         tmpdict = dict()
         tmpdict['categoryName'] = info.category
         tmpdict['version'] = info.defaultTarget
         if not info.shortDescription == "":
             tmpdict['shortDescription'] = info.shortDescription
         if not info.description == "":
             tmpdict['description'] = info.description
         if not info.homepage == "":
             tmpdict['homepage'] = info.homepage
         tmpdict['withCompiler'] = info.options.package.withCompiler
         EmergeDebug.debug(tmpdict, 2)
         return tmpdict
     else:
         return {'withCompiler': True}
示例#4
0
        if regenerateFile:
            template = Template( file( KDEROOT + '/emerge/bin/binaryPackage.py.template' ).read() )
            targetkeys = binTargets.keys()
            if 'svnHEAD' in binTargets and binTargets[ 'svnHEAD' ] == False:
                targetkeys.remove( 'svnHEAD' )
            if not buildTarget in targetkeys:
                targetkeys.append( buildTarget )
            targetsString = "'" + "', '".join( targetkeys ) + "'"
            result = template.safe_substitute( { 'revision': getSvnVersion( os.path.join( KDEROOT, "emerge", "portage" ) ),
                                                 'package': binPackage,
                                                 'versionTargets': targetsString,
                                                 'defaultTarget': buildTarget,
                                                 'dependencies': dependencies
                                               } )

            currentName = portage.getFilename( binCategory, binPackage, binVersion )
            newName = portage.getFilename( binCategory, binPackage, buildTarget )

            if not doPretend:
                if not currentName == newName:
                    cmd = "svn --non-interactive rename %s %s" % ( currentName, newName )

                    utils.debug( "running command: %s" % cmd )
                    p = subprocess.Popen( cmd, shell=True, stdin=subprocess.PIPE )
                    ret = p.wait()

                    if not ret == 0:
                        utils.warning( 'failed to rename file %s' % os.path.basename( currentName ) )
                        continue

                f = file( newName, 'w+b' )