[pacman-dev,2/3] pacman: add --nokeep

Message ID 20210920193517.259549-2-morganamilo@archlinux.org
State New
Headers show
Series [pacman-dev,1/3] alpm: add ALPM_TRANS_FLAG_NOKEEP | expand

Commit Message

Morgan Adamiec Sept. 20, 2021, 7:35 p.m. UTC
---
 doc/pacman.8.asciidoc | 3 +++
 src/pacman/conf.h     | 1 +
 src/pacman/pacman.c   | 5 +++++
 3 files changed, 9 insertions(+)

Patch

diff --git a/doc/pacman.8.asciidoc b/doc/pacman.8.asciidoc
index bb205627..fd2aa21e 100644
--- a/doc/pacman.8.asciidoc
+++ b/doc/pacman.8.asciidoc
@@ -269,6 +269,9 @@  Upgrade Options (apply to '-S' and '-U')[[UO]]
 *\--needed*::
 	Do not reinstall the targets that are already up-to-date.
 
+*\--nokeep*::
+	Overwrite backup files when installing packages.
+
 *\--overwrite* <glob>::
 	Bypass file conflict checks and overwrite conflicting files. If the
 	package that is about to be installed contains files that are already
diff --git a/src/pacman/conf.h b/src/pacman/conf.h
index 04350d39..aa10e3a6 100644
--- a/src/pacman/conf.h
+++ b/src/pacman/conf.h
@@ -169,6 +169,7 @@  enum {
 	OP_LOGFILE,
 	OP_IGNOREGROUP,
 	OP_NEEDED,
+	OP_NOKEEP,
 	OP_ASEXPLICIT,
 	OP_ARCH,
 	OP_PRINTFORMAT,
diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c
index db64e05a..262a2ad6 100644
--- a/src/pacman/pacman.c
+++ b/src/pacman/pacman.c
@@ -164,6 +164,7 @@  static void usage(int op, const char * const myname)
 			addlist(_("  -y, --refresh        download fresh package databases from the server\n"
 			          "                       (-yy to force a refresh even if up to date)\n"));
 			addlist(_("      --needed         do not reinstall up to date packages\n"));
+			addlist(_("      --nokeep         overwrite backup files when installing packages\n"));
 		} else if(op == PM_OP_DATABASE) {
 			printf("%s:  %s {-D --database} <%s> <%s>\n", str_usg, myname, str_opt, str_pkg);
 			printf("%s:\n", str_opt);
@@ -731,6 +732,9 @@  static int parsearg_upgrade(int opt)
 		case OP_NEEDED:
 			config->flags |= ALPM_TRANS_FLAG_NEEDED;
 			break;
+		case OP_NOKEEP:
+			config->flags |= ALPM_TRANS_FLAG_NOKEEP;
+			break;
 		case OP_IGNORE:
 			parsearg_util_addlist(&(config->ignorepkg));
 			break;
@@ -941,6 +945,7 @@  static int parseargs(int argc, char *argv[])
 		{"logfile",    required_argument, 0, OP_LOGFILE},
 		{"ignoregroup", required_argument, 0, OP_IGNOREGROUP},
 		{"needed",     no_argument,       0, OP_NEEDED},
+		{"nokeep",     no_argument,       0, OP_NOKEEP},
 		{"asexplicit",     no_argument,   0, OP_ASEXPLICIT},
 		{"arch",       required_argument, 0, OP_ARCH},
 		{"print-format", required_argument, 0, OP_PRINTFORMAT},