summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosh Triplett <josh@joshtriplett.org>2019-01-27 08:27:33 +0100
committerJosh Triplett <josh@joshtriplett.org>2019-01-27 08:27:33 +0100
commit0eceebbdfdc2c5e1d677bff95a9ac1ef2f728337 (patch)
treeea115e22ccc8ba68b83e5f86d3e90915b80943c9
parent4200469bb5a14c4659285917ed30c46a0b15c286 (diff)
downloadapt-0eceebbdfdc2c5e1d677bff95a9ac1ef2f728337.tar.gz
Add a "reinstall" command as an alias for "install --reinstall".
aptitude has a similar "reinstall" command for precedent.
-rw-r--r--apt-private/private-cmndline.cc6
-rw-r--r--apt-private/private-install.cc4
-rw-r--r--cmdline/apt-get.cc1
-rw-r--r--cmdline/apt.cc1
-rw-r--r--doc/apt-get.8.xml4
-rw-r--r--doc/apt.8.xml2
6 files changed, 13 insertions, 5 deletions
diff --git a/apt-private/private-cmndline.cc b/apt-private/private-cmndline.cc
index 87deb6bf0..494928332 100644
--- a/apt-private/private-cmndline.cc
+++ b/apt-private/private-cmndline.cc
@@ -175,7 +175,7 @@ static bool addArgumentsAPTHelper(std::vector<CommandLine::Args> &Args, char con
/*}}}*/
static bool addArgumentsAPTGet(std::vector<CommandLine::Args> &Args, char const * const Cmd)/*{{{*/
{
- if (CmdMatches("install", "remove", "purge", "upgrade", "dist-upgrade",
+ if (CmdMatches("install", "reinstall", "remove", "purge", "upgrade", "dist-upgrade",
"dselect-upgrade", "autoremove", "autopurge", "full-upgrade"))
{
addArg(0, "show-progress", "DpkgPM::Progress", 0);
@@ -239,7 +239,7 @@ static bool addArgumentsAPTGet(std::vector<CommandLine::Args> &Args, char const
else if (CmdMatches("moo"))
addArg(0, "color", "APT::Moo::Color", 0);
- if (CmdMatches("install", "remove", "purge", "upgrade", "dist-upgrade",
+ if (CmdMatches("install", "reinstall", "remove", "purge", "upgrade", "dist-upgrade",
"dselect-upgrade", "autoremove", "auto-remove", "autopurge", "clean", "autoclean", "auto-clean", "check",
"build-dep", "full-upgrade", "source"))
{
@@ -291,7 +291,7 @@ static bool addArgumentsAPTMark(std::vector<CommandLine::Args> &Args, char const
{
addArg('f',"file","Dir::State::extended_states",CommandLine::HasArg);
}
- else if (CmdMatches("install", "remove", "deinstall", "purge",
+ else if (CmdMatches("install", "reinstall", "remove", "deinstall", "purge",
"showinstall", "showinstalls", "showremove", "showremoves",
"showdeinstall", "showdeinstalls", "showpurge", "showpurges"))
;
diff --git a/apt-private/private-install.cc b/apt-private/private-install.cc
index 1713ff308..243b75b1c 100644
--- a/apt-private/private-install.cc
+++ b/apt-private/private-install.cc
@@ -586,7 +586,9 @@ bool DoCacheManipulationFromCommandLine(CommandLine &CmdL, std::vector<PseudoPkg
Fix.reset(new pkgProblemResolver(Cache));
unsigned short fallback = MOD_INSTALL;
- if (strcasecmp(CmdL.FileList[0],"remove") == 0)
+ if (strcasecmp(CmdL.FileList[0], "reinstall") == 0)
+ _config->Set("APT::Get::ReInstall", "true");
+ else if (strcasecmp(CmdL.FileList[0],"remove") == 0)
fallback = MOD_REMOVE;
else if (strcasecmp(CmdL.FileList[0], "purge") == 0)
{
diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc
index 6d25ed509..da18d2d19 100644
--- a/cmdline/apt-get.cc
+++ b/cmdline/apt-get.cc
@@ -405,6 +405,7 @@ static std::vector<aptDispatchWithHelp> GetCommands() /*{{{*/
{"update", &DoUpdate, _("Retrieve new lists of packages")},
{"upgrade", &DoUpgrade, _("Perform an upgrade")},
{"install", &DoInstall, _("Install new packages (pkg is libc6 not libc6.deb)")},
+ {"reinstall", &DoInstall, _("Reinstall packages (pkg is libc6 not libc6.deb)")},
{"remove", &DoInstall, _("Remove packages")},
{"purge", &DoInstall, _("Remove packages and config files")},
{"autoremove", &DoInstall, _("Remove automatically all unused packages")},
diff --git a/cmdline/apt.cc b/cmdline/apt.cc
index f508406d1..d388e4af4 100644
--- a/cmdline/apt.cc
+++ b/cmdline/apt.cc
@@ -63,6 +63,7 @@ static std::vector<aptDispatchWithHelp> GetCommands() /*{{{*/
// package stuff
{"install", &DoInstall, _("install packages")},
+ {"reinstall", &DoInstall, _("reinstall packages")},
{"remove", &DoInstall, _("remove packages")},
{"autoremove", &DoInstall, _("Remove automatically all unused packages")},
{"auto-remove", &DoInstall, nullptr},
diff --git a/doc/apt-get.8.xml b/doc/apt-get.8.xml
index 184282e69..b83eabd27 100644
--- a/doc/apt-get.8.xml
+++ b/doc/apt-get.8.xml
@@ -143,6 +143,10 @@
with a '^' or '$' character, or create a more specific regular expression.</para></listitem>
</varlistentry>
+ <varlistentry><term><option>reinstall</option></term>
+ <listitem><para><literal>reinstall</literal> is an alias for <literal>install --reinstall</literal>.</para></listitem>
+ </varlistentry>
+
<varlistentry><term><option>remove</option></term>
<listitem><para><literal>remove</literal> is identical to <literal>install</literal> except that packages are
removed instead of installed. Note that removing a package leaves its
diff --git a/doc/apt.8.xml b/doc/apt.8.xml
index 626419ec3..08492bf54 100644
--- a/doc/apt.8.xml
+++ b/doc/apt.8.xml
@@ -69,7 +69,7 @@
</para></listitem>
</varlistentry>
- <varlistentry><term><option>install</option>, <option>remove</option>, <option>purge</option> (&apt-get;)</term>
+ <varlistentry><term><option>install</option>, <option>reinstall</option>, <option>remove</option>, <option>purge</option> (&apt-get;)</term>
<listitem><para>Performs the requested action on one or more packages
specified via &regex;, &glob; or exact match. The requested action
can be overridden for specific packages by append a plus (+) to the