diff --git a/pisi/operations.py b/pisi/operations.py index 23c0b3c5..12dc2c72 100644 --- a/pisi/operations.py +++ b/pisi/operations.py @@ -246,7 +246,7 @@ def check_conflicts(order, packagedb): if not ctx.ui.confirm(_('Remove the following conflicting packages?')): raise Error(_("Conflicts remain")) - if remove(list(C), True) == False: + if remove(list(C), ignore_dep=True, bypass_safety=True) == False: raise Error(_("Conflicts remain")) def expand_components(A): @@ -550,7 +550,7 @@ def plan_upgrade(A, ignore_build = False): check_conflicts(order, ctx.packagedb) return G_f, order -def remove(A, ignore_dep = None): +def remove(A, ignore_dep = False, bypass_safety = False): """remove set A of packages from system (A is a list of package names)""" A = [str(x) for x in A] @@ -558,7 +558,7 @@ def remove(A, ignore_dep = None): # filter packages that are not installed A_0 = A = expand_components(set(A)) - if not ctx.get_option('bypass_safety'): + if not ctx.get_option('bypass_safety') and not bypass_safety: if ctx.componentdb.has_component('system.base'): systembase = set(ctx.componentdb.get_union_comp('system.base').packages) refused = A.intersection(systembase)