Index: bin/EmergeBase.py =================================================================== --- bin/EmergeBase.py +++ bin/EmergeBase.py @@ -108,8 +108,7 @@ return directory buf = create_string_buffer('\000' * (length + 1)) windll.kernel32.GetShortPathNameA(path, byref(buf), length+1) # ignore function result... - if utils.verbose() > 0: - print("converting " + directory + " to " + buf.value) + utils.debug("converting " + directory + " to " + buf.value) return buf.value def buildType(self): @@ -262,32 +261,28 @@ return EmergeStandardDirs.emergeRoot() def enterBuildDir(self): - utils.debug( "EmergeBase.enterBuildDir called", 2 ) + utils.trace( "EmergeBase.enterBuildDir called") if ( not os.path.exists( self.buildDir() ) ): os.makedirs( self.buildDir() ) - if utils.verbose() > 0: - print("creating: %s" % self.buildDir()) + utils.debug("creating: %s" % self.buildDir()) os.chdir( self.buildDir() ) - if utils.verbose() > 0: - print("entering: %s" % self.buildDir()) + utils.debug("entering: %s" % self.buildDir()) def enterSourceDir(self): if ( not os.path.exists( self.sourceDir() ) ): return False utils.warning("entering the source directory!") os.chdir( self.sourceDir() ) - if utils.verbose() > 0: - print("entering: %s" % self.sourceDir()) + utils.debug("entering: %s" % self.sourceDir()) def system( self, command, errorMessage="", debuglevel=1, **kw): """convencience function for running system commands. This method prints a debug message and then runs a system command. If the system command returns with errors the method prints an error message and exits if @ref self.subinfo.options.exitOnErrors is true""" - utils.debug( str(command), debuglevel ) if utils.system( command, **kw): return True if self.subinfo.options.exitOnErrors: Index: bin/InstallDB.py =================================================================== --- bin/InstallDB.py +++ bin/InstallDB.py @@ -51,7 +51,7 @@ def getFiles( self ): """ get a list of files that will be uninstalled """ cmd = '''SELECT filename, fileHash FROM fileList WHERE packageId=?;''' - utils.debug( "executing sqlcmd '%s' with parameter %s" % ( cmd, str( self.packageId ) ), 1 ) + utils.debug( "executing sqlcmd '%s' with parameter %s" % ( cmd, str( self.packageId ) ), 2 ) self.cursor.execute(cmd, (self.packageId,)) return self.cursor.fetchall() @@ -62,10 +62,10 @@ def uninstall( self ): """ really uninstall that package """ cmd = '''DELETE FROM fileList WHERE packageId=?;''' - utils.debug( "executing sqlcmd '%s' with parameter %s" % ( cmd, str( self.packageId ) ), 1 ) + utils.debug( "executing sqlcmd '%s' with parameter %s" % ( cmd, str( self.packageId ) ), 2 ) self.cursor.execute(cmd, (self.packageId,)) cmd = '''DELETE FROM packageList WHERE packageId=?;''' - utils.debug( "executing sqlcmd '%s' with parameter %s" % ( cmd, str( self.packageId ) ), 1 ) + utils.debug( "executing sqlcmd '%s' with parameter %s" % ( cmd, str( self.packageId ) ), 2 ) self.cursor.execute(cmd, (self.packageId,)) self.cursor.connection.commit() @@ -78,7 +78,7 @@ dataList = list(zip( [ None ] * fileNumber, [ self.packageId ] * fileNumber, list(self.fileDict.keys()), list(self.fileDict.values()) )) cmd = '''INSERT INTO fileList VALUES (?, ?, ?, ?)''' - utils.debug( "executing sqlcmd '%s' %s times" % ( cmd, len( self.fileDict ) ), 1 ) + utils.debug( "executing sqlcmd '%s' %s times" % ( cmd, len( self.fileDict ) ), 2 ) self.cursor.executemany( cmd, dataList ) # at last, commit all the changes so that they are committed only after everything is written to the @@ -146,14 +146,14 @@ stmt, params = self.__constructWhereStmt( { 'prefix': prefix, 'category': category, 'packageName': package, 'version': version } ) cmd += stmt cmd += ''';''' - utils.debug( "executing sqlcmd '%s' with parameters: %s" % ( cmd, tuple( params ) ), 1 ) + utils.debug( "executing sqlcmd '%s' with parameters: %s" % ( cmd, tuple( params ) ), 2 ) cursor = self.connection.cursor() cursor.execute( cmd, tuple( params ) ) isPackageInstalled = len( cursor.fetchall() ) > 0 if isPackageInstalled: utils.debug( """The package %s/%s has been installed in prefix '%s' with - version '%s'.""" % ( category, package, prefix, version ), 1 ) + version '%s'.""" % ( category, package, prefix, version ), 2 ) else: utils.debug( """Couldn't find a trace that the package %s/%s has been installed in prefix '%s' with version '%s'""" % ( category, package, prefix, version ), 1 ) @@ -168,7 +168,7 @@ stmt, params = self.__constructWhereStmt( { 'prefix': prefix, 'category': category, 'packageName': package } ) cmd += stmt cmd += ''';''' - utils.debug( "executing sqlcmd '%s' with parameters: %s" % ( cmd, tuple( params ) ), 1 ) + utils.debug( "executing sqlcmd '%s' with parameters: %s" % ( cmd, tuple( params ) ), 2 ) cursor = self.connection.cursor() cursor.execute( cmd, tuple( params ) ) @@ -184,7 +184,7 @@ stmt, params = self.__constructWhereStmt( { 'prefix': prefix, 'category': category, 'packageName': package } ) cmd += stmt cmd += ''';''' - utils.debug( "executing sqlcmd '%s' with parameters: %s" % ( cmd, tuple( params ) ), 1 ) + utils.debug( "executing sqlcmd '%s' with parameters: %s" % ( cmd, tuple( params ) ), 2 ) cursor = self.connection.cursor() cursor.execute( cmd, tuple( params ) ) @@ -200,7 +200,7 @@ stmt, params = self.__constructWhereStmt( { 'prefix': prefix, 'category': category, 'packageName': package } ) cmd += stmt cmd += ''';''' - utils.debug( "executing sqlcmd '%s' with parameters: %s" % ( cmd, tuple( params ) ), 1 ) + utils.debug( "executing sqlcmd '%s' with parameters: %s" % ( cmd, tuple( params ) ), 2 ) cursor = self.connection.cursor() cursor.execute( cmd, tuple( params ) ) @@ -217,7 +217,7 @@ params = [ None, prefix, category, package, version, revision ] cmd = '''INSERT INTO packageList VALUES (?, ?, ?, ?, ?, ?)''' - utils.debug( "executing sqlcmd '%s' with parameters: %s" % ( cmd, tuple( params ) ), 1 ) + utils.debug( "executing sqlcmd '%s' with parameters: %s" % ( cmd, tuple( params ) ), 2 ) cursor.execute( cmd, tuple( params ) ) return InstallPackage( cursor, self.getLastId() ) Index: bin/Source/GitSource.py =================================================================== --- bin/Source/GitSource.py +++ bin/Source/GitSource.py @@ -23,7 +23,6 @@ gitInstallDir = os.path.join( self.rootdir, 'dev-utils', 'git' ) if os.path.exists( gitInstallDir ): self.gitPath = os.path.join(gitInstallDir, 'bin', 'git') - utils.debug( 'using git from %s' % gitInstallDir, 1 ) else: self.gitPath = 'git' @@ -110,7 +109,8 @@ os.rmdir(checkoutDir) if os.path.exists(checkoutDir): if not repoTag: - self.__git("pull") + # TODO: Why's the first pull needed? + #self.__git("pull") ret = self.__git("checkout", repoBranch or "master") and \ self.__git("pull") if self.subinfo.options.fetch.checkoutSubmodules: @@ -155,7 +155,7 @@ parts.extend(args) if not kwargs.get('cwd'): kwargs['cwd'] = self.checkoutDir() - return utils.system(' '.join(parts), **kwargs) + return self.system(' '.join(parts), **kwargs) def __fetchMultipleBranch(self, repopath=None): utils.trace( 'GitSource __fetchMultipleBranch', 2 ) Index: bin/VersionInfo.py =================================================================== --- bin/VersionInfo.py +++ bin/VersionInfo.py @@ -38,14 +38,14 @@ iniPath = os.path.abspath( iniPath ) if iniPath in VersionInfo._VERSION_INFOS.keys( ): VersionInfo._VERSION_INFOS_HINTS[ name ] = iniPath - utils.debug( "Found a version info for %s in cache" % name, 1 ) + utils.debug( "Found a version info for %s in cache" % name, 2 ) return VersionInfo._VERSION_INFOS[ iniPath ] elif os.path.exists( iniPath ): config = configparser.ConfigParser( ) config.read( iniPath ) VersionInfo._VERSION_INFOS[ iniPath ] = config VersionInfo._VERSION_INFOS_HINTS[ name ] = iniPath - utils.debug( "Found a version info for %s in %s" % (name, iniPath), 1 ) + utils.debug( "Found a version info for %s in %s" % (name, iniPath), 2 ) return config VersionInfo._VERSION_INFOS_HINTS[ name ] = None return self.__defaulVersions Index: bin/emerge.py =================================================================== --- bin/emerge.py +++ bin/emerge.py @@ -44,14 +44,16 @@ @utils.log def doExec( package, action, continueFlag = False ): utils.startTimer( "%s for %s" % ( action, package ), 1 ) - utils.debug( "emerge doExec called. action: %s" % action, 2 ) + utils.info("Action: %s for %s" % (action, package)) ret = package.execute( action ) utils.stopTimer( "%s for %s" % ( action, package ) ) return ret or continueFlag def handlePackage( category, packageName, buildAction, continueFlag, skipUpToDateVcs ): - utils.debug( "emerge handlePackage called: %s %s %s" % (category, packageName, buildAction), 2 ) + utils.debug_line( ) + utils.info("Handling package: %s, build action: %s" % (packageName, buildAction)) + success = True package = portage.getPackageInstance( category, packageName ) if package is None: @@ -63,6 +65,7 @@ revision = package.sourceVersion( ) for p in installdb.getInstalledPackages( category, packageName ): if p.getRevision( ) == revision: + utils.info("Skipping further actions, package is up-to-date") return True success = success and doExec( package, "unpack", continueFlag ) @@ -142,8 +145,7 @@ packageList, categoryList = portage.getPackagesCategories( packageName ) for entry in packageList: - utils.debug( "%s" % entry, 1 ) - utils.debug_line( 1 ) + utils.debug("Checking dependencies for: %s" % entry, 1) for mainCategory, entry in zip( categoryList, packageList ): deplist = portage.solveDependencies( mainCategory, entry, deplist, args.dependencyType, @@ -173,6 +175,10 @@ utils.debug( "dependency: %s" % item, 1 ) + if not deplist: + utils.debug("", 1) + + utils.debug_line( 1 ) #for item in deplist: # cat = item[ 0 ] @@ -305,7 +311,7 @@ default = emergeSettings.get( "General", "EMERGE_BUILDTYPE", "RelWithDebInfo" ), help = "This will override the build type set by the environment option EMERGE_BUILDTYPE ." ) parser.add_argument( "-v", "--verbose", action = "count", - default = int( emergeSettings.get( "EmergeDebug", "Verbose", "1" ) ), + default = int( emergeSettings.get( "EmergeDebug", "Verbose", "0" ) ), help = " verbose: increases the verbose level of emerge. Default is 1. verbose level 1 contains some notes from emerge, all output of cmake, make and other programs that are used.\ verbose level 2a dds an option VERBOSE=1 to make and emerge is more verbose highest level is verbose level 3." ) parser.add_argument( "--trace", action = "store", @@ -364,7 +370,7 @@ if args.stayQuiet == True or args.action in [ "version-dir", "version-package", "print-installable", "print-installed", "print-targets" ]: - utils.setVerbose( 0 ) + utils.setVerbose( -1 ) elif args.verbose: utils.setVerbose( args.verbose ) Index: bin/portage.py =================================================================== --- bin/portage.py +++ bin/portage.py @@ -68,16 +68,16 @@ if deps: for line in deps: ( category, package ) = line.split( "/" ) - utils.debug( "category: %s, name: %s" % ( category, package ), 1 ) + utils.debug( "category: %s, name: %s" % ( category, package ), 2 ) try: version = PortageInstance.getNewestVersion( category, package ) except PortageException as e: utils.warning("%s for %s/%s as a dependency of %s/%s" %(e, e.category, e.package, self.category , self.name)) continue if not line in self._dependencyList.keys(): p = DependencyPackage( category, package, False, self ) - utils.debug( "adding package p %s/%s-%s" % ( category, package, version ), 1 ) + utils.debug( "adding package %s/%s-%s" % ( category, package, version ), 2 ) self._dependencyList[ line ] = p p.__readChildren() else: @@ -343,7 +343,7 @@ def getDefaultTarget( self, category, package ): """ returns the default package of a specified package """ - utils.debug( "getDefaultTarget: importing file %s" % getFilename( category, package ), 1 ) + utils.debug( "getDefaultTarget: importing file %s" % getFilename( category, package ), 2 ) if not ( category and package ): return dict() @@ -355,7 +355,7 @@ def getAllTargets( self, category, package ): """ returns all targets of a specified package """ - utils.debug( "getAllTargets: importing file %s" % getFilename( category, package ), 1 ) + utils.debug( "getAllTargets: importing file %s" % getFilename( category, package ), 2 ) if not ( category and package ): return dict() info = _getSubinfo( category, package ) @@ -591,7 +591,7 @@ def getPackagesCategories(packageName, defaultCategory = None): - utils.debug( "getPackagesCategories for package name %s" % packageName, 1 ) + utils.trace("getPackagesCategories for package name %s" % packageName) if defaultCategory is None: defaultCategory = emergeSettings.get("General","EMERGE_DEFAULTCATEGORY","kde") Index: bin/utils.py =================================================================== --- bin/utils.py +++ bin/utils.py @@ -85,7 +85,7 @@ There is only one verbosity value for all parts of emerge. Always updates the shell variable EMERGE_VERBOSE. """ - __level = 1 + __level = 0 @staticmethod def increase(): @@ -104,7 +104,7 @@ @staticmethod def setLevel(newLevel): """ set the level by hand for quick and dirty changes """ - Verbose.__level = max(0, newLevel) + Verbose.__level = max(-1, newLevel) def verbose( self ): """ returns the verbosity level for the application """ @@ -465,14 +465,14 @@ def info( message ): - if verbose() > 0: - print("emerge info: %s" % message) + if verbose() >= 0: + print("*** %s ***" % message) return True -def debug( message, level=0 ): +def debug( message, level=1 ): if verbose() > level and verbose() > 0: - print("emerge debug:", message) - sys.stdout.flush() + print("emerge debug (%s): %s" % (level, message)) + sys.stdout.flush() return True def warning( message ): @@ -570,7 +570,7 @@ if os.path.isfile(fullPath): currentHash = digestFile(fullPath) if currentHash == filehash or filehash == "": - debug( "deleting file %s" % fullPath) + debug( "deleting file %s" % fullPath, 2) try: os.remove(fullPath) except OSError: @@ -596,11 +596,9 @@ def moveEntries( srcdir, destdir ): for entry in os.listdir( srcdir ): - #print "rootdir:", root - debug( "entry: %s" % entry, 1 ) src = os.path.join( srcdir, entry ) dest = os.path.join( destdir, entry ) - debug( "src: %s dest: %s" %( src, dest ), 1 ) + debug("move: %s -> %s" %( src, dest ), 1) if( os.path.isfile( dest ) ): os.remove( dest ) if( os.path.isdir( dest ) ): @@ -1160,6 +1158,8 @@ def notify(title,message,alertClass = None): + info("%s: %s" % (title, message)) + backends = emergeSettings.get( "General","EMERGE_USE_NOTIFY", "") if backends == "": return Index: kdesettings.ini =================================================================== --- kdesettings.ini +++ kdesettings.ini @@ -143,9 +143,10 @@ [EmergeDebug] ## If you want to have verbose output, uncomment the following option ## and set it to positive integer for verbose output and to 0 -## or disable it for normal output. Currently the highest verbosity level -## is 3 (equal to 'emerge -v -v -v'). level 0 equals 'emerge -q' -Verbose = 1 +## (or disable it) for normal output. Currently the highest verbosity level +## is 3 (equal to 'emerge -v -v -v'). level -1 equals 'emerge -q' +## Default is Verbose = 0 +#Verbose = 1 ## Prints time spend on various emerge tasks MeasureTime = False