diff --git a/libraries/entropyTools.py b/libraries/entropyTools.py index 169aa1c30..818ebb9db 100644 --- a/libraries/entropyTools.py +++ b/libraries/entropyTools.py @@ -1723,7 +1723,7 @@ def extractPkgData(package, etpBranch = etpConst['branch'], silent = False, inje kernelDependentModule = False kernelItself = False for item in data['content']: - if item.find("/lib/modules/") != -1: + if item.startswith("/lib/modules/"): kernelDependentModule = True # get the version of the modules kmodver = item.split("/lib/modules/")[1] diff --git a/libraries/outputTools.py b/libraries/outputTools.py index f32a5f018..f529aadf3 100644 --- a/libraries/outputTools.py +++ b/libraries/outputTools.py @@ -263,6 +263,8 @@ def print_generic(msg): # here we'll wrap any nice formatting print msg def writechar(char): + if etpUi['mute']: + return stdout.write(char); stdout.flush() def readtext(request): diff --git a/libraries/portageTools.py b/libraries/portageTools.py index bf15bb7b1..9c3e3fb59 100644 --- a/libraries/portageTools.py +++ b/libraries/portageTools.py @@ -29,6 +29,7 @@ ##################################################################################### import os +import sys from entropyConstants import * import portage import portage_const @@ -631,12 +632,32 @@ def portage_doebuild(myebuild, mydo, tree, cpv, portage_tmpdir = None): mysettings['PORTAGE_TMPDIR'] = str(portage_tmpdir) mysettings.backup_changes("PORTAGE_TMPDIR") # disable portage hooks - mysettings['PORTAGE_BASHRC'] = '' - mysettings.backup_changes("PORTAGE_BASHRC") + #mysettings['PORTAGE_BASHRC'] = '' + #mysettings.backup_changes("PORTAGE_BASHRC") mydbapi = portage.fakedbapi(settings=mysettings) mydbapi.cpv_inject(cpv, metadata = metadata) - vartree = portage.vartree(root=etpConst['systemroot']+"/") + mypath = etpConst['systemroot']+"/" + cached = portageRoots.get(mypath) + if cached == None: + vartree = portage.vartree(root=mypath) + portageRoots[mypath] = mytree + else: + vartree = cached + + # if mute, supress portage output + if etpUi['mute']: + oldstdout = sys.stdout + oldstderr = sys.stderr + f = open("/dev/null","w") + sys.stdout = f + sys.stderr = f os.environ["SKIP_EQUO_SYNC"] = "1" - portage.doebuild(myebuild = str(myebuild), mydo = str(mydo), myroot = etpConst['systemroot']+"/", tree = tree, mysettings = mysettings, mydbapi = mydbapi, vartree = vartree) + portage.doebuild(myebuild = str(myebuild), mydo = str(mydo), myroot = mypath, tree = tree, mysettings = mysettings, mydbapi = mydbapi, vartree = vartree) os.unsetenv("SKIP_EQUO_SYNC") + + # if mute, restore old stdout/stderr + if etpUi['mute']: + sys.stdout = oldstdout + sys.stderr = oldstderr + f.close() \ No newline at end of file