Fixed bug from: http://bugs.gentoo.org/show_bug.cgi?id=353518
authorSlawek <lis.slawek@gmail.com>
Tue, 15 Feb 2011 05:24:25 +0000 (06:24 +0100)
committerPaul Varner <fuzzyray@gentoo.org>
Tue, 12 Jul 2011 21:29:01 +0000 (16:29 -0500)
pym/gentoolkit/revdep_rebuild/analyse.py
pym/gentoolkit/revdep_rebuild/revdep-rebuild.py
pym/gentoolkit/revdep_rebuild/stuff.py

index 004163ea684c1b3bf0f3b44ff6c8eac9aa01c4b0..c1c755b83390d3de57f0d57c5521ce421cd574a7 100644 (file)
@@ -131,7 +131,7 @@ def analyse(logger=logging, libraries=None, la_libraries=None, libraries_links=N
     else:
         #TODO: add partial cache (for ex. only libraries) when found for some reason
 
-        logger.info(green(' * ') + bold('Collecting system binaries and libraries'))
+        logger.warn(green(' * ') + bold('Collecting system binaries and libraries'))
         bin_dirs, lib_dirs = prepare_search_dirs(logger)
 
         masked_dirs, masked_files, ld = parse_revdep_config()
index f2fda2e777084676a95b76e39a76066ac5c2975d..4ad5e586d6a070fb3f6e0ccd4dd85584d739f23f 100644 (file)
@@ -25,7 +25,7 @@ from portage import portdb
 from portage.output import bold, red, blue, yellow, green, nocolor
 
 from analyse import analyse
-from stuff import exithandler
+from stuff import exithandler, get_masking_status
 from cache import check_temp_files, read_cache
 from assign import get_slotted_cps
 from settings import SETTINGS
@@ -155,6 +155,21 @@ if __name__ == "__main__":
         logger.warn('\n' + bold('Your system is consistent'))
         sys.exit(0)
 
+
+    has_masked = False
+    tmp = []
+    for a in assigned:
+        if get_masking_status(a):
+            has_masked = True
+            logger.warn('!!! ' + red('All ebuilds that could satisfy: ') + green(a) + red(' have been masked'))
+        else:
+            tmp.append(a)
+    assigned = tmp
+
+    if has_masked:
+        logger.info(red(' * ') + 'Unmask all ebuild listed above and call revdep-rebuild again or manually emerge given packages.')
+
+
     if SETTINGS['EXACT']:
         emerge_command = '=' + ' ='.join(assigned)
     else:
index dd8e572e78fcff91396a9cbf66837ab7cac2f7e8..d1539086ced4fa8625fbbfe405ba64d448d859ed 100644 (file)
@@ -1,6 +1,7 @@
 #!/usr/bin/python
 
 import subprocess
+import portage
 
 
 # util. functions
@@ -34,6 +35,12 @@ def exithandler(signum, frame):
     sys.exit(1)
 
 
+def get_masking_status(ebuild):
+    try:
+        status = portage.getmaskingstatus(ebuild)
+    except KeyError:
+        status = ['deprecated']
+    return status
 
 if __name__ == '__main__':
     print "There is nothing to run here."