From 179280455074c8aa1b108a8844b5a1d46cf500c4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A1n=20Kupec?= Date: Thu, 6 May 2010 16:47:03 +0200 Subject: [PATCH] remove --clean-deps added --- src/Zypper.cc | 4 ++++ src/solve-commit.cc | 13 +++++++++++++ 2 files changed, 17 insertions(+) diff --git a/src/Zypper.cc b/src/Zypper.cc index 4c227e1..c5df528 100644 --- a/src/Zypper.cc +++ b/src/Zypper.cc @@ -988,6 +988,8 @@ void Zypper::processCommandOptions() {"debug-solver", no_argument, 0, 0}, {"no-force-resolution", no_argument, 0, 'R'}, {"force-resolution", no_argument, 0, 0 }, + {"clean-deps", no_argument, 0, 'u'}, + {"no-clean-deps", no_argument, 0, 'U'}, {"dry-run", no_argument, 0, 'D'}, // rug uses -N shorthand {"dry-run", no_argument, 0, 'N'}, @@ -1015,6 +1017,8 @@ void Zypper::processCommandOptions() " let it ask.\n" " --force-resolution Force the solver to find a solution (even\n" " an aggressive one).\n" + "-u, --clean-deps Automatically remove unneeded dependencies.\n" + "-U, --no-clean-deps No automatic removal of unneeded dependencies.\n" "-D, --dry-run Test the removal, do not actually remove.\n" ), "package, patch, pattern, product", "package"); break; diff --git a/src/solve-commit.cc b/src/solve-commit.cc index e964815..5a8553d 100755 --- a/src/solve-commit.cc +++ b/src/solve-commit.cc @@ -261,6 +261,18 @@ static void set_force_resolution(Zypper & zypper) God->resolver()->setForceResolve(force_resolution); } +static void set_clean_deps(Zypper & zypper) +{ + if (zypper.command() == ZypperCommand::REMOVE) + { + if (zypper.cOpts().find("clean-deps") != zypper.cOpts().end()) + God->resolver()->setCleandepsOnRemove(true); + else if (zypper.cOpts().find("no-clean-deps") != zypper.cOpts().end()) + God->resolver()->setCleandepsOnRemove(false); + } + DBG << "clean deps on remove: " << God->resolver()->cleandepsOnRemove() << endl; +} + static void set_no_recommends(Zypper & zypper) { bool no_recommends = !zypper.config().solver_installRecommends; @@ -294,6 +306,7 @@ static void set_ignore_recommends_of_installed(Zypper & zypper) static void set_solver_flags(Zypper & zypper) { set_force_resolution(zypper); + set_clean_deps(zypper); set_no_recommends(zypper); set_ignore_recommends_of_installed(zypper); } -- 2.7.4