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.orig (+101 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 193-198 Link Here
193
"--skipfirst",    "--skip-first",
194
"--skipfirst",    "--skip-first",
194
"--tree",
195
"--tree",
195
"--update",       
196
"--update",       
197
"--use-desc-all", "--use-desc-local",
198
"--use-desc-special", "--use-desc-new",
196
"--usepkg",       "--usepkgonly",
199
"--usepkg",       "--usepkgonly",
197
"--verbose",      "--version"
200
"--verbose",      "--version"
198
]
201
]
Lines 398-403 Link Here
398
	portage.writemsg("!!! \"--ask\" should only be used in a terminal. Exiting.\n")
401
	portage.writemsg("!!! \"--ask\" should only be used in a terminal. Exiting.\n")
399
	sys.exit(1)
402
	sys.exit(1)
400
403
404
# --use-desc-*: only if in verbose pretend/ask mode
405
for myoption in ["--use-desc-special", "--use-desc-local", "--use-desc-all", "--use-desc-new"]:
406
	if myoption in myopts:
407
		if ("--pretend" not in myopts) and ("--ask" not in myopts):
408
			print ">>> %s is only for --pretend or --ask modes..." % myoption \
409
				+ " removing %s from options." % myoption
410
			myopts.remove(myoption)
411
		elif "--verbose" not in myopts:
412
			print ">>> %s is only for --verbose mode..." % myoption \
413
				+ " removing %s from options." % myoption
414
			myopts.remove(myoption)
415
416
# --use-desc-*: remove redundant options
417
if "--use-desc-all" in myopts:
418
	for myoption in ["--use-desc-local","--use-desc-special","--use-desc-new"]:
419
		if myoption in myopts:
420
			myopts.remove(myoption)
421
if "--use-desc-local" in myopts:
422
	if "--use-desc-special" in myopts:
423
		myopts.remove("--use-desc-special")
424
401
# Set so that configs will be merged regardless of remembered status
425
# Set so that configs will be merged regardless of remembered status
402
if ("--noconfmem" in myopts):
426
if ("--noconfmem" in myopts):
403
	portage.settings.unlock()
427
	portage.settings.unlock()
Lines 1511-1516 Link Here
1511
					ret = '%s="%s" ' % (name, ret)
1535
					ret = '%s="%s" ' % (name, ret)
1512
				return ret
1536
				return ret
1513
1537
1538
		use_desc=None
1539
		use_desc_level=""
1540
		global_desc_dict={}
1541
		local_desc_dict={}
1542
		new_desc_dict={}
1543
		for myoption in ["--use-desc-all", "--use-desc-local", "--use-desc-special"]:
1544
			if myoption in myopts:
1545
				use_desc_level=myoption[11:]
1546
				break
1547
		use_desc_new=("--use-desc-new" in myopts)
1548
		if not use_desc_new and not use_desc_level:
1549
			def get_use_descriptions(*args):
1550
				return ({},{},{})
1551
		if use_desc_new or use_desc_level:
1552
			use_desc=portage_use_desc.use_desc(portage.settings['PORTDIR'])
1553
			def get_use_descriptions(catpkg, cur_iuse, old_iuse, is_new, use_desc=use_desc, \
1554
					show_new=use_desc_new, show_level=use_desc_level):
1555
				my_global_desc_dict={}
1556
				my_local_desc_dict={}
1557
				my_new_desc_dict={}
1558
				new_flags=[]
1559
				if (not is_new) and show_new:
1560
					for flag in cur_iuse:
1561
						if not flag in old_iuse:
1562
							new_flags.append(flag)
1563
				my_new_desc_dict=use_desc.get_pkg_flags_desc(new_flags,catpkg,level="all",mark_local=True)
1564
				if show_level in ("special","local"):
1565
					my_local_desc_dict=use_desc.get_pkg_flags_desc(cur_iuse,catpkg,level=show_level)
1566
				elif show_level=="all":
1567
					my_local_desc_dict=use_desc.get_pkg_flags_desc(cur_iuse,catpkg,level="local")
1568
					my_global_desc_dict=use_desc.get_pkg_flags_desc(cur_iuse,catpkg,level="global")
1569
				for flag in new_flags:
1570
					if flag in my_local_desc_dict: del my_local_desc_dict[flag]
1571
					if flag in my_global_desc_dict: del my_global_desc_dict[flag]
1572
				return (my_global_desc_dict,my_local_desc_dict,my_new_desc_dict)
1573
1514
		if verbosity == 3:
1574
		if verbosity == 3:
1515
			overlays = string.split(portage.settings['PORTDIR_OVERLAY'])
1575
			overlays = string.split(portage.settings['PORTDIR_OVERLAY'])
1516
1576
Lines 1664-1669 Link Here
1664
						verboseadd += create_use_string(key.upper(), cur_iuse_map[key], cur_use_map[key],
1724
						verboseadd += create_use_string(key.upper(), cur_iuse_map[key], cur_use_map[key],
1665
						                                old_iuse_map[key], old_use_map[key], is_new)
1725
						                                old_iuse_map[key], old_use_map[key], is_new)
1666
1726
1727
					my_catpkg = portage.cpv_getkey(x[2])
1728
					(pkg_global_desc_dict,pkg_local_desc_dict,pkg_new_desc_dict) = \
1729
							get_use_descriptions(my_catpkg, cur_iuse, old_iuse, is_new)
1730
					for my_flag in pkg_global_desc_dict:
1731
						global_desc_dict[my_flag] = pkg_global_desc_dict[my_flag]
1732
					if pkg_local_desc_dict:
1733
						local_desc_dict[my_catpkg] = {}
1734
						for my_flag in pkg_local_desc_dict:
1735
							local_desc_dict[my_catpkg][my_flag] = pkg_local_desc_dict[my_flag]
1736
					for my_flag in pkg_new_desc_dict:
1737
						new_desc_dict[my_flag] = pkg_new_desc_dict[my_flag]
1738
1667
				if verbosity == 3:
1739
				if verbosity == 3:
1668
					# size verbose
1740
					# size verbose
1669
					mysize=0
1741
					mysize=0
Lines 1776-1781 Link Here
1776
				for x in overlays:
1848
				for x in overlays:
1777
					y=y+1
1849
					y=y+1
1778
					print " "+teal("["+str(y)+"]"),x
1850
					print " "+teal("["+str(y)+"]"),x
1851
			if new_desc_dict:
1852
				print
1853
				print "The following USE flags are used for the first time in some packages:"
1854
				myflagkeys = new_desc_dict.keys()
1855
				myflagkeys.sort()
1856
				for myflag in myflagkeys:
1857
					print "   ",teal(myflag),teal("-"),new_desc_dict[myflag]
1858
			if local_desc_dict:
1859
				print
1860
				if use_desc_level=="special":
1861
					print "The following USE flags have package-specific descriptions:"
1862
				else:
1863
					print "Local USE flags descriptions:"
1864
				mycatpkgkeys = local_desc_dict.keys()
1865
				mycatpkgkeys.sort()
1866
				for mycatpkg in mycatpkgkeys:
1867
					if local_desc_dict[mycatpkg]:
1868
						print darkgreen(mycatpkg)
1869
						myflagkeys = local_desc_dict[mycatpkg].keys()
1870
						myflagkeys.sort()
1871
						for myflag in myflagkeys:
1872
							print "   ",teal(myflag),teal("-"),local_desc_dict[mycatpkg][myflag]
1873
			if global_desc_dict:
1874
				print
1875
				print "Global USE flags descriptions:"
1876
				myflagkeys = global_desc_dict.keys()
1877
				myflagkeys.sort()
1878
				for myflag in myflagkeys:
1879
					print "   ",teal(myflag),teal("-"),global_desc_dict[myflag]
1779
1880
1780
		if "--changelog" in myopts:
1881
		if "--changelog" in myopts:
1781
			print
1882
			print

Return to bug 84884