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
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}
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' )