diff options
Diffstat (limited to 'pym/_emerge/create_depgraph_params.py')
-rw-r--r-- | pym/_emerge/create_depgraph_params.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/pym/_emerge/create_depgraph_params.py b/pym/_emerge/create_depgraph_params.py new file mode 100644 index 000000000..fab741be5 --- /dev/null +++ b/pym/_emerge/create_depgraph_params.py @@ -0,0 +1,33 @@ +def create_depgraph_params(myopts, myaction): + #configure emerge engine parameters + # + # self: include _this_ package regardless of if it is merged. + # selective: exclude the package if it is merged + # recurse: go into the dependencies + # deep: go into the dependencies of already merged packages + # empty: pretend nothing is merged + # complete: completely account for all known dependencies + # remove: build graph for use in removing packages + myparams = set(["recurse"]) + + if myaction == "remove": + myparams.add("remove") + myparams.add("complete") + return myparams + + if "--update" in myopts or \ + "--newuse" in myopts or \ + "--reinstall" in myopts or \ + "--noreplace" in myopts: + myparams.add("selective") + if "--emptytree" in myopts: + myparams.add("empty") + myparams.discard("selective") + if "--nodeps" in myopts: + myparams.discard("recurse") + if "--deep" in myopts: + myparams.add("deep") + if "--complete-graph" in myopts: + myparams.add("complete") + return myparams + |