diff --git a/client/equo.py b/client/equo.py index 82fb392d7..acedd3b56 100644 --- a/client/equo.py +++ b/client/equo.py @@ -152,6 +152,7 @@ help_opts = [ (2, '--deep', 2, _('also pull unused dependencies where reverse deps list is empty')), (2, '--empty', 2, _('when used with --deep, helps the removal of virtual packages')), (2, '--configfiles', 1, _('makes configuration files to be removed')), + (2, '--force-system', 1, _('dangerous: forces system packages removal, do not use this!')), (2, '--resume', 1, _('resume previously interrupted operations')), None, (1, 'mask', 2, _('mask one or more packages')), diff --git a/client/text_ui.py b/client/text_ui.py index 43a72c0dc..ea195d5a5 100644 --- a/client/text_ui.py +++ b/client/text_ui.py @@ -63,6 +63,7 @@ def package(options): e_req_dump = False e_req_bdeps = False e_req_recursive = True + e_req_system_packages_check = True e_req_multifetch = 1 rc = 0 _myopts = [] @@ -97,6 +98,8 @@ def package(options): e_req_listfiles = True elif (opt == "--configfiles"): e_req_config_files = True + elif (opt == "--force-system"): + e_req_system_packages_check = False elif (opt == "--replay"): e_req_replay = True elif (opt == "--resume"): @@ -225,6 +228,7 @@ def package(options): packages = myopts, deps = e_req_deps, deep = e_req_deep, remove_config_files = e_req_config_files, resume = e_req_resume, recursive = e_req_recursive, + system_packages_check = e_req_system_packages_check, empty = e_req_empty_deps) else: print_error(red(" %s." % (_("Nothing to do"),) )) @@ -1741,8 +1745,7 @@ def remove_packages(entropy_client, packages = None, atomsdata = None, if atomsdata is None: atomsdata = [] - # check if I am root - if (not entropy.tools.is_root()): + if not entropy.tools.is_root(): mytxt = "%s %s %s" % (_("Running with"), bold("--pretend"), red("..."),) print_warning(mytxt) etpUi['pretend'] = True @@ -1856,7 +1859,7 @@ def remove_packages(entropy_client, packages = None, atomsdata = None, try: removal_queue += entropy_client.get_removal_queue( plain_removal_queue, deep = deep, recursive = recursive, - empty = empty) + empty = empty, system_packages = system_packages_check) except DependenciesNotRemovable as err: non_rm_pkg_ids = sorted([x[0] for x in err.value], key = lambda x: \ diff --git a/docs/man/equo.pod b/docs/man/equo.pod index 32d1f7768..d3475de3e 100644 --- a/docs/man/equo.pod +++ b/docs/man/equo.pod @@ -406,6 +406,10 @@ when used with --deep, helps the removal of virtual packages makes configuration files to be removed +=item B<--force-system> + +dangerous: forces system packages removal, do not use this + =item B<--resume> resume previously interrupted operations diff --git a/docs/man/man1/equo.1 b/docs/man/man1/equo.1 index b69db8502..7c5832ac2 100644 --- a/docs/man/man1/equo.1 +++ b/docs/man/man1/equo.1 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EQUO 1" -.TH EQUO 1 "2010-06-30" "perl v5.10.1" "Entropy" +.TH EQUO 1 "2010-07-19" "perl v5.10.1" "Entropy" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -444,6 +444,9 @@ when used with \-\-deep, helps the removal of virtual packages .IP "\fB\-\-configfiles\fR" 4 .IX Item "--configfiles" makes configuration files to be removed +.IP "\fB\-\-force\-system\fR" 4 +.IX Item "--force-system" +dangerous: forces system packages removal (passed as arguments) .IP "\fB\-\-resume\fR" 4 .IX Item "--resume" resume previously interrupted operations