diff options
author | Josh Triplett <josh@joshtriplett.org> | 2019-01-27 08:27:33 +0100 |
---|---|---|
committer | Josh Triplett <josh@joshtriplett.org> | 2019-01-27 08:27:33 +0100 |
commit | 0eceebbdfdc2c5e1d677bff95a9ac1ef2f728337 (patch) | |
tree | ea115e22ccc8ba68b83e5f86d3e90915b80943c9 | |
parent | 4200469bb5a14c4659285917ed30c46a0b15c286 (diff) | |
download | apt-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.cc | 6 | ||||
-rw-r--r-- | apt-private/private-install.cc | 4 | ||||
-rw-r--r-- | cmdline/apt-get.cc | 1 | ||||
-rw-r--r-- | cmdline/apt.cc | 1 | ||||
-rw-r--r-- | doc/apt-get.8.xml | 4 | ||||
-rw-r--r-- | doc/apt.8.xml | 2 |
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 ®ex;, &glob; or exact match. The requested action can be overridden for specific packages by append a plus (+) to the |