Index: pym/_emerge/main.py |
diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py |
index 82b1444c5c8b64eb419856948fa4eabc0ed747cb..84f220433acadf0dfb22fd1cb7ce5bef081897da 100644 |
--- a/pym/_emerge/main.py |
+++ b/pym/_emerge/main.py |
@@ -438,6 +438,7 @@ def insert_optional_args(args): |
'--package-moves' : y_or_n, |
'--quiet' : y_or_n, |
'--quiet-build' : y_or_n, |
+ '--rebuild' : y_or_n, |
'--rebuilt-binaries' : y_or_n, |
'--root-deps' : ('rdeps',), |
'--select' : y_or_n, |
@@ -739,6 +740,14 @@ def parse_opts(tmpcmdline, silent=False): |
"action" : "append", |
}, |
+ "--norebuild-atoms": { |
+ "help" :"A space separated list of package names or slot atoms. " + \ |
+ "Emerge will not rebuild these packages due to the " + \ |
+ "--rebuild flag. ", |
+ |
+ "action" : "append", |
+ }, |
+ |
"--package-moves": { |
"help" : "perform package moves when necessary", |
"type" : "choice", |
@@ -758,6 +767,13 @@ def parse_opts(tmpcmdline, silent=False): |
"choices" : true_y_or_n |
}, |
+ "--rebuild": { |
+ "help" : "Rebuild packages when dependencies that are " + \ |
+ "used at both build-time and run-time are upgraded.", |
+ "type" : "choice", |
+ "choices" : true_y_or_n |
+ }, |
+ |
"--rebuilt-binaries": { |
"help" : "replace installed packages with binary " + \ |
"packages that have been rebuilt", |
@@ -887,7 +903,7 @@ def parse_opts(tmpcmdline, silent=False): |
else: |
myoptions.binpkg_respect_use = None |
- if myoptions.complete_graph in true_y: |
+ if myoptions.complete_graph in true_y or myoptions.rebuild in true_y: |
myoptions.complete_graph = True |
else: |
myoptions.complete_graph = None |
@@ -908,6 +924,12 @@ def parse_opts(tmpcmdline, silent=False): |
parser.error("Invalid Atom(s) in --reinstall-atoms parameter: '%s' (only package names and slot atoms (with wildcards) allowed)\n" % \ |
(",".join(bad_atoms),)) |
+ if myoptions.norebuild_atoms: |
+ bad_atoms = _find_bad_atoms(myoptions.norebuild_atoms) |
+ if bad_atoms and not silent: |
+ parser.error("Invalid Atom(s) in --norebuild-atoms parameter: '%s' (only package names and slot atoms (with wildcards) allowed)\n" % \ |
+ (",".join(bad_atoms),)) |
+ |
if myoptions.nousepkg_atoms: |
bad_atoms = _find_bad_atoms(myoptions.nousepkg_atoms) |
if bad_atoms and not silent: |