--- /usr/lib/portage/bin/emerge.orig 2006-06-05 01:18:29.000000000 +0900 +++ /usr/lib/portage/bin/emerge 2006-06-05 01:19:42.000000000 +0900 @@ -1701,16 +1701,30 @@ # overlay verbose # XXX: Invalid binaries have caused tracebacks here. 'if file_name' # x = ['binary', '/', 'sys-apps/pcmcia-cs-3.2.7.2.6', 'merge'] - file_name=portage.portdb.findname(x[2]) + file_name,dir_name=portage.portdb.findname2(x[2]) + is_overlay = False if file_name: # It might not exist in the tree - dir_name=os.path.abspath(os.path.dirname(file_name)+"/../..") if (overlays_real.count(dir_name)>0): verboseadd+=teal("["+str(overlays_real.index( os.path.normpath(dir_name))+1)+"]")+" " display_overlays=True + is_overlay = True else: verboseadd += "[No ebuild?]" + mypkg = portage.catpkgsplit(x[2]) + mypkg = mypkg[0]+"/"+mypkg[1] + if is_overlay == False : + in_overlay = 0 + for my_x in portage.portdb.xmatch("match-all", mypkg): + if my_x != x[2]: + my_file_name = portage.portdb.findname(my_x) + my_dir_name = os.path.abspath(os.path.dirname(my_file_name)+"/../..") + if (overlays.count(my_dir_name) > 0) : + in_overlay += 1 + if in_overlay > 0 : + verboseadd += yellow("[o"+str(in_overlay) +"]") + " " + xs=portage.pkgsplit(x[2]) if xs[2]=="r0": xs[2]=""