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 |