From 14535446557cb8b4125e7badc5e67a9f7790ab53 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Mon, 3 Dec 2018 09:19:46 +0100 Subject: Provide a "autopurge" shortcut This adds a new "autopurge" command that will is a shortcut for "autoremove --purge" Thanks: Michael Vogt for the initial work --- apt-private/private-cmndline.cc | 4 ++-- apt-private/private-install.cc | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'apt-private') diff --git a/apt-private/private-cmndline.cc b/apt-private/private-cmndline.cc index 5ad3b65d3..101e0ae40 100644 --- a/apt-private/private-cmndline.cc +++ b/apt-private/private-cmndline.cc @@ -176,7 +176,7 @@ static bool addArgumentsAPTHelper(std::vector &Args, char con static bool addArgumentsAPTGet(std::vector &Args, char const * const Cmd)/*{{{*/ { if (CmdMatches("install", "remove", "purge", "upgrade", "dist-upgrade", - "dselect-upgrade", "autoremove", "full-upgrade")) + "dselect-upgrade", "autoremove", "autopurge", "full-upgrade")) { addArg(0, "show-progress", "DpkgPM::Progress", 0); addArg('f', "fix-broken", "APT::Get::Fix-Broken", 0); @@ -240,7 +240,7 @@ static bool addArgumentsAPTGet(std::vector &Args, char const addArg(0, "color", "APT::Moo::Color", 0); if (CmdMatches("install", "remove", "purge", "upgrade", "dist-upgrade", - "dselect-upgrade", "autoremove", "auto-remove", "clean", "autoclean", "auto-clean", "check", + "dselect-upgrade", "autoremove", "auto-remove", "autopurge", "clean", "autoclean", "auto-clean", "check", "build-dep", "full-upgrade", "source")) { addArg('s', "simulate", "APT::Get::Simulate", 0); diff --git a/apt-private/private-install.cc b/apt-private/private-install.cc index 4e888a9bd..1713ff308 100644 --- a/apt-private/private-install.cc +++ b/apt-private/private-install.cc @@ -599,6 +599,12 @@ bool DoCacheManipulationFromCommandLine(CommandLine &CmdL, std::vectorSet("APT::Get::AutomaticRemove", "true"); fallback = MOD_REMOVE; } + else if (strcasecmp(CmdL.FileList[0], "autopurge") == 0) + { + _config->Set("APT::Get::AutomaticRemove", "true"); + _config->Set("APT::Get::Purge", true); + fallback = MOD_REMOVE; + } std::list mods; mods.push_back(APT::VersionSet::Modifier(MOD_INSTALL, "+", -- cgit v1.2.3