Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 84884 | Differences between
and this patch

Collapse All | Expand All

(-)bin/emerge.orig2 (-2 / +74 lines)
Lines 16-21 Link Here
16
import portage_util
16
import portage_util
17
import portage_locks
17
import portage_locks
18
import portage_exception
18
import portage_exception
19
import portage_use_desc
19
20
20
21
21
spinner_msgs = ["Gentoo Rocks ("+os.uname()[0]+")",
22
spinner_msgs = ["Gentoo Rocks ("+os.uname()[0]+")",
Lines 160-165 Link Here
160
"--skipfirst",
161
"--skipfirst",
161
"--tree",
162
"--tree",
162
"--update",       "--upgradeonly",
163
"--update",       "--upgradeonly",
164
"--use-desc-all", "--use-desc-local", "--use-desc-special",
163
"--usepkg",       "--usepkgonly",
165
"--usepkg",       "--usepkgonly",
164
"--verbose",      "--version"
166
"--verbose",      "--version"
165
]
167
]
Lines 348-353 Link Here
348
	print ">>> --pretend disables --ask... removing --ask from options."
350
	print ">>> --pretend disables --ask... removing --ask from options."
349
	myopts.remove("--ask")
351
	myopts.remove("--ask")
350
352
353
# Allow --use-desc-* only if in verbose pretend/ask mode
354
for myoption in ["--use-desc-special", "--use-desc-local", "--use-desc-all"]:
355
	if myoption in myopts:
356
		if ("--pretend" not in myopts) and ("--ask" not in myopts):
357
			print ">>> "+myoption+" is only for --pretend or --ask modes... removing "+myoption+" from options."
358
			myopts.remove(myoption)
359
		elif "--verbose" not in myopts:
360
			print ">>> "+myoption+" is only for --verbose mode... removing "+myoption+" from options."
361
			myopts.remove(myoption)
362
# --use-desc-*: remove redundant options
363
if "--use-desc-all" in myopts:
364
	if "--use-desc-local" in myopts:
365
		myopts.remove("--use-desc-local")
366
	if "--use-desc-special" in myopts:
367
		myopts.remove("--use-desc-special")
368
if "--use-desc-local" in myopts:
369
	if "--use-desc-special" in myopts:
370
		myopts.remove("--use-desc-special")
371
351
# forbid --ask when not in a terminal
372
# forbid --ask when not in a terminal
352
# note: this breaks `emerge --ask | tee logfile`, but that doesn't work anyway.
373
# note: this breaks `emerge --ask | tee logfile`, but that doesn't work anyway.
353
if ("--ask" in myopts) and (not sys.stdout.isatty()):
374
if ("--ask" in myopts) and (not sys.stdout.isatty()):
Lines 1397-1406 Link Here
1397
		changelogs=[]
1418
		changelogs=[]
1398
		p=[]
1419
		p=[]
1399
		totalsize=0
1420
		totalsize=0
1400
1421
		use_desc=None
1422
		use_desc_level=""
1423
		global_desc_dict={}
1424
		local_desc_dict={}
1425
1426
		for myoption in ["--use-desc-all", "--use-desc-local", "--use-desc-special"]:
1427
			if myoption in myopts:
1428
				use_desc=portage_use_desc.use_desc(portage.settings['PORTDIR'])
1429
				use_desc_level=myoption[11:]
1430
				break
1431
		
1401
		if "--verbose" in myopts:
1432
		if "--verbose" in myopts:
1402
			overlays = string.split(portage.settings['PORTDIR_OVERLAY'])
1433
			overlays = string.split(portage.settings['PORTDIR_OVERLAY'])
1403
		
1434
1404
		if "--tree" in myopts:
1435
		if "--tree" in myopts:
1405
			mylist.reverse()
1436
			mylist.reverse()
1406
			mygraph=self.digraph.copy()
1437
			mygraph=self.digraph.copy()
Lines 1560-1565 Link Here
1560
					else:
1591
					else:
1561
						verboseadd += "[No ebuild?]"
1592
						verboseadd += "[No ebuild?]"
1562
1593
1594
					# --use-desc-*: add new entries to the local and global USE flags
1595
					# descriptions dictionnaries
1596
					if iuse_split and use_desc and use_desc_level \
1597
					   and x[0] == "ebuild" and x[-1]!="nomerge":
1598
						my_global_desc_dict={}
1599
						my_local_desc_dict={}
1600
						mycatpkg=portage.dep_getkey(x[2])
1601
						if use_desc_level=="all":
1602
							my_global_desc_dict=use_desc.get_pkg_flags_desc(iuse_split,mycatpkg,level="global")
1603
							my_local_desc_dict=use_desc.get_pkg_flags_desc(iuse_split,mycatpkg,level="local")
1604
						else: # "local" or "special" levels
1605
							my_local_desc_dict=use_desc.get_pkg_flags_desc(iuse_split,mycatpkg,level=use_desc_level)
1606
						for myflag in my_global_desc_dict:
1607
							global_desc_dict[myflag]=my_global_desc_dict[myflag]
1608
						if my_local_desc_dict and mycatpkg not in local_desc_dict:
1609
							local_desc_dict[mycatpkg]={}
1610
						for myflag in my_local_desc_dict:
1611
							local_desc_dict[mycatpkg][myflag]=my_local_desc_dict[myflag]
1612
1563
				xs=portage.pkgsplit(x[2])
1613
				xs=portage.pkgsplit(x[2])
1564
				if xs[2]=="r0":
1614
				if xs[2]=="r0":
1565
					xs[2]=""
1615
					xs[2]=""
Lines 1647-1652 Link Here
1647
				for x in overlays:
1697
				for x in overlays:
1648
					y=y+1
1698
					y=y+1
1649
					print " "+teal("["+str(y)+"]"),x
1699
					print " "+teal("["+str(y)+"]"),x
1700
			if global_desc_dict:
1701
				print
1702
				print "Global USE flags descriptions:"
1703
				myflagkeys = global_desc_dict.keys()
1704
				myflagkeys.sort()
1705
				for myflag in myflagkeys:
1706
					print teal(myflag),teal("-"),global_desc_dict[myflag]
1707
			if local_desc_dict:
1708
				print
1709
				if use_desc_level="special":
1710
					print "These USE flags have a package-specific description:"
1711
				else:
1712
					print "Local USE flags descriptions:"
1713
				mycatpkgkeys = local_desc_dict.keys()
1714
				mycatpkgkeys.sort()
1715
				for mycatpkg in mycatpkgkeys:
1716
					if local_desc_dict[mycatpkg]:
1717
						print darkgreen(mycatpkg)
1718
						myflagkeys = local_desc_dict[mycatpkg].keys()
1719
						myflagkeys.sort()
1720
						for myflag in myflagkeys:
1721
							print "   ",teal(myflag),teal("-"),local_desc_dict[mycatpkg][myflag]
1650
		
1722
		
1651
		if "--changelog" in myopts:
1723
		if "--changelog" in myopts:
1652
			print
1724
			print

Return to bug 84884