diff options
Diffstat (limited to 'pym/_emerge/main.py')
-rw-r--r-- | pym/_emerge/main.py | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py index e0cd0c024..434fd5a57 100644 --- a/pym/_emerge/main.py +++ b/pym/_emerge/main.py @@ -440,6 +440,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, @@ -741,6 +742,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", @@ -760,6 +769,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", @@ -889,7 +905,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 @@ -910,6 +926,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: @@ -953,6 +975,11 @@ def parse_opts(tmpcmdline, silent=False): else: myoptions.quiet_build = None + if myoptions.rebuild in true_y: + myoptions.rebuild = True + else: + myoptions.rebuild = None + if myoptions.rebuilt_binaries in true_y: myoptions.rebuilt_binaries = True |