[pacman-dev] Add --nolist option for transactions
me at dk0.us
me at dk0.us
Sat Jul 7 00:32:17 UTC 2018
From: Dmitry Kudriavtsev <me at dk0.us>
Adds a --nolist option for package transactions. This option removes the list
display of packages to be installed or removed.
Signed-off-by: Dmitry Kudriavtsev <me at dk0.us>
---
src/pacman/conf.h | 4 +++-
src/pacman/pacman.c | 5 +++++
src/pacman/remove.c | 7 +++++--
src/pacman/sync.c | 6 ++++--
4 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/src/pacman/conf.h b/src/pacman/conf.h
index ababf2e0..1615d974 100644
--- a/src/pacman/conf.h
+++ b/src/pacman/conf.h
@@ -50,6 +50,7 @@ typedef struct __config_t {
unsigned short help;
unsigned short noconfirm;
unsigned short noprogressbar;
+ unsigned short nolist;
unsigned short logmask;
unsigned short print;
unsigned short checkspace;
@@ -209,7 +210,8 @@ enum {
OP_DOWNLOADONLY,
OP_REFRESH,
OP_ASSUMEINSTALLED,
- OP_DISABLEDLTIMEOUT
+ OP_DISABLEDLTIMEOUT,
+ OP_NOLIST
};
/* clean method */
diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c
index fe54793e..18505bf6 100644
--- a/src/pacman/pacman.c
+++ b/src/pacman/pacman.c
@@ -204,6 +204,7 @@ static void usage(int op, const char * const myname)
addlist(_(" --dbonly only modify database entries, not package files\n"));
addlist(_(" --noprogressbar do not show a progress bar when downloading files\n"));
addlist(_(" --noscriptlet do not execute the install scriptlet if one exists\n"));
+ addlist(_(" --nolist do not list packages before performing operation\n"));
addlist(_(" -p, --print print the targets instead of performing the operation\n"));
addlist(_(" --print-format <string>\n"
" specify how the targets should be printed\n"));
@@ -652,6 +653,9 @@ static int parsearg_trans(int opt)
case OP_ASSUMEINSTALLED:
parsearg_util_addlist(&(config->assumeinstalled));
break;
+ case OP_NOLIST:
+ config->nolist = 1;
+ break;
default:
return 1;
}
@@ -964,6 +968,7 @@ static int parseargs(int argc, char *argv[])
{"dbonly", no_argument, 0, OP_DBONLY},
{"color", required_argument, 0, OP_COLOR},
{"disable-download-timeout", no_argument, 0, OP_DISABLEDLTIMEOUT},
+ {"nolist", no_argument, 0, OP_NOLIST},
{0, 0, 0, 0}
};
diff --git a/src/pacman/remove.c b/src/pacman/remove.c
index a2269ed8..5df45c69 100644
--- a/src/pacman/remove.c
+++ b/src/pacman/remove.c
@@ -164,8 +164,11 @@ int pacman_remove(alpm_list_t *targets)
}
/* print targets and ask user confirmation */
- display_targets();
- printf("\n");
+ if(!config->nolist) {
+ display_targets();
+ printf("\n");
+ }
+
if(yesno(_("Do you want to remove these packages?")) == 0) {
retval = 1;
goto cleanup;
diff --git a/src/pacman/sync.c b/src/pacman/sync.c
index 3c6be89d..1e0c6c91 100644
--- a/src/pacman/sync.c
+++ b/src/pacman/sync.c
@@ -793,8 +793,10 @@ int sync_prepare_execute(void)
goto cleanup;
}
- display_targets();
- printf("\n");
+ if(!config->nolist) {
+ display_targets();
+ printf("\n");
+ }
int confirm;
if(config->op_s_downloadonly) {
--
2.18.0
More information about the pacman-dev
mailing list