--- emerge.old 2003-06-09 02:11:29.000000000 +0100 +++ emerge 2003-06-09 02:24:49.000000000 +0100 @@ -6,7 +6,7 @@ import os os.environ["PORTAGE_CALLER"]="emerge" -import sys,portage,emergehelp,xpak,string,re,commands,time,threading,shutil,traceback,atexit +import sys,portage,emergehelp,xpak,string,re,commands,time,threading,shutil,traceback,atexit,tempfile from stat import * from output import * if (not sys.stdout.isatty()) or (portage.settings["NOCOLOR"] in ["yes","true"]): @@ -180,6 +180,8 @@ portage.settings["PORTAGE_DEBUG"]="1" portage.debug=1 +if ("--verbose" in myopts) and myaction in [None, "unmerge", "system", "world"]: + portage.settings["MSG_FILE"] = tempfile.mktemp() def emergelog(mystr): if "notitles" not in portage.features: @@ -194,6 +196,18 @@ print "emergelog():",e pass +def msglog(mystr): + if portage.settings.has_key("MSG_FILE"): + try: + mylogfile=open(portage.settings['MSG_FILE'], "a") + mylogfile.write(">>> " + mystr + "\n") + mylogfile.flush() + mylogfile.close() + except Exception, e: + if edebug: + print "msglog():",e + pass + def emergeexit(): """This gets out final log message in before we quit. As it overrides any other atexit's we have setup, we need to call them ourself.""" @@ -1164,6 +1178,7 @@ if not "--pretend" in myopts: print ">>> emerge ("+str(mergecount)+" of "+str(len(mymergelist))+")",x[pkgindex],"to",x[1] emergelog(" >>> emerge ("+str(mergecount)+" of "+str(len(mymergelist))+") "+x[pkgindex]+" to "+x[1]) + msglog(x[pkgindex]) if x[0] in ["ebuild","blocks"]: if ("--fetchonly" in myopts) or (x[0]=="blocks"): retval=portage.doebuild(y,"fetch",myroot,edebug,("--pretend" in myopts),fetchonly=1) @@ -1443,6 +1458,7 @@ mysplit=string.split(y,"/") #unmerge... retval=portage.unmerge(mysplit[0],mysplit[1],portage.root,unmerge_action not in ["clean","prune"]) + msglog(y) if retval: emergelog(" !!! unmerge FAILURE: "+y) else: @@ -1553,6 +1569,15 @@ #print " "+yellow("*")+" Type "+green("emerge --help config")+" to learn how to update config files." print " "+yellow("*")+" Type "+green("emerge --help config")+" to learn how to update config files." print + + if portage.settings.has_key("MSG_FILE"): + if os.path.exists(portage.settings['MSG_FILE']): + print ">>> These messages were found during the emerge action." + msg_file=open(portage.settings['MSG_FILE'], "r") + print msg_file.read() + msg_file.close(); + os.remove(portage.settings["MSG_FILE"]); + sys.exit(retval) # general options that should be taken into account before any action