aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSlawek <lis.slawek@gmail.com>2011-02-15 06:24:25 +0100
committerSlawek <lis.slawek@gmail.com>2011-02-15 06:24:25 +0100
commitd8b5a025e19c154fef9977b6e33cd4d03b08ff85 (patch)
treeb590aaada9d5b85914c9bb5da6d957a42d6533a7
parentSome fixes after file split. Removed unwanted files. Moved settings into module (diff)
downloadgentoolkit-d8b5a025e19c154fef9977b6e33cd4d03b08ff85.tar.gz
gentoolkit-d8b5a025e19c154fef9977b6e33cd4d03b08ff85.tar.bz2
gentoolkit-d8b5a025e19c154fef9977b6e33cd4d03b08ff85.zip
Fixed bug from: http://bugs.gentoo.org/show_bug.cgi?id=353518
-rw-r--r--pym/gentoolkit/revdep_rebuild/analyse.py2
-rw-r--r--pym/gentoolkit/revdep_rebuild/revdep-rebuild.py17
-rw-r--r--pym/gentoolkit/revdep_rebuild/stuff.py7
3 files changed, 24 insertions, 2 deletions
diff --git a/pym/gentoolkit/revdep_rebuild/analyse.py b/pym/gentoolkit/revdep_rebuild/analyse.py
index 004163e..c1c755b 100644
--- a/pym/gentoolkit/revdep_rebuild/analyse.py
+++ b/pym/gentoolkit/revdep_rebuild/analyse.py
@@ -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()
diff --git a/pym/gentoolkit/revdep_rebuild/revdep-rebuild.py b/pym/gentoolkit/revdep_rebuild/revdep-rebuild.py
index f2fda2e..4ad5e58 100644
--- a/pym/gentoolkit/revdep_rebuild/revdep-rebuild.py
+++ b/pym/gentoolkit/revdep_rebuild/revdep-rebuild.py
@@ -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:
diff --git a/pym/gentoolkit/revdep_rebuild/stuff.py b/pym/gentoolkit/revdep_rebuild/stuff.py
index dd8e572..d153908 100644
--- a/pym/gentoolkit/revdep_rebuild/stuff.py
+++ b/pym/gentoolkit/revdep_rebuild/stuff.py
@@ -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."