--- /usr/lib/portage/bin/emerge.orig 2006-09-13 03:58:31.000000000 +0900 +++ /usr/lib/portage/bin/emerge 2006-09-16 02:32:09.000000000 +0900 @@ -1602,15 +1602,28 @@ # 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 = portdb.findname(pkg_key) + file_name,dir_name = portdb.findname2(pkg_key) + 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(pkg_key) + mypkg = mypkg[0]+"/"+mypkg[1] + if is_overlay == False : + in_overlay = 0 + for my_x in portdb.xmatch("match-all", mypkg): + if my_x != pkg_key: + my_file_name = 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":