diff options
author | Andrew Gregory <andrew.gregory.8@gmail.com> | 2014-10-06 16:45:10 -0400 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2014-10-13 12:54:29 +1000 |
commit | 01beca5df717252c7c9aa59bc705dc10a25ebdc8 (patch) | |
tree | ef37062e577f2441cc04c66b7fa4f853d200c088 | |
parent | 7ddc967d7cf2b8de73095cb841ee2c5973a669e4 (diff) | |
download | pacman-01beca5df717252c7c9aa59bc705dc10a25ebdc8.tar.xz |
pacman: add --confirm option
--confirm cancels the effect of a previous --noconfirm.
This makes it easier for scripts to default to --noconfirm
but allow users to override it.
Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r-- | doc/pacman.8.txt | 3 | ||||
-rw-r--r-- | src/pacman/conf.h | 1 | ||||
-rw-r--r-- | src/pacman/pacman.c | 5 | ||||
-rw-r--r-- | test/pacman/pmtest.py | 6 |
4 files changed, 12 insertions, 3 deletions
diff --git a/doc/pacman.8.txt b/doc/pacman.8.txt index eacf1b31..74436155 100644 --- a/doc/pacman.8.txt +++ b/doc/pacman.8.txt @@ -177,6 +177,9 @@ Options Bypass any and all ``Are you sure?'' messages. It's not a good idea to do this unless you want to run pacman from a script. +*\--confirm*:: + Cancels the effects of a previous '\--noconfirm'. + Transaction Options (apply to '-S', '-R' and '-U') -------------------------------------------------- diff --git a/src/pacman/conf.h b/src/pacman/conf.h index 8aed6d6b..3141e2c3 100644 --- a/src/pacman/conf.h +++ b/src/pacman/conf.h @@ -131,6 +131,7 @@ enum { enum { OP_LONG_FLAG_MIN = 1000, OP_NOCONFIRM, + OP_CONFIRM, OP_CONFIG, OP_IGNORE, OP_DEBUG, diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c index 5cac37ca..3d1406bb 100644 --- a/src/pacman/pacman.c +++ b/src/pacman/pacman.c @@ -205,6 +205,7 @@ static void usage(int op, const char * const myname) addlist(_(" --gpgdir <path> set an alternate home directory for GnuPG\n")); addlist(_(" --logfile <path> set an alternate log file\n")); addlist(_(" --noconfirm do not ask for any confirmation\n")); + addlist(_(" --confirm always ask for confirmation\n")); } list = alpm_list_msort(list, alpm_list_count(list), options_cmp); for(i = list; i; i = alpm_list_next(i)) { @@ -456,6 +457,9 @@ static int parsearg_global(int opt) case OP_NOCONFIRM: config->noconfirm = 1; break; + case OP_CONFIRM: + config->noconfirm = 0; + break; case OP_DBPATH: case 'b': free(config->dbpath); @@ -858,6 +862,7 @@ static int parseargs(int argc, char *argv[]) {"downloadonly", no_argument, 0, OP_DOWNLOADONLY}, {"refresh", no_argument, 0, OP_REFRESH}, {"noconfirm", no_argument, 0, OP_NOCONFIRM}, + {"confirm", no_argument, 0, OP_CONFIRM}, {"config", required_argument, 0, OP_CONFIG}, {"ignore", required_argument, 0, OP_IGNORE}, {"assume-installed", required_argument, 0, OP_ASSUMEINSTALLED}, diff --git a/test/pacman/pmtest.py b/test/pacman/pmtest.py index 7ed30eb9..36829632 100644 --- a/test/pacman/pmtest.py +++ b/test/pacman/pmtest.py @@ -234,13 +234,13 @@ class pmtest(object): "--log-file=%s" % os.path.join(self.root, "var/log/valgrind"), "--suppressions=%s" % suppfile]) self.addrule("FILE_EMPTY=var/log/valgrind") - cmd.extend([pacman["bin"], + cmd.extend([pacman["bin"], "--noconfirm", "--config", os.path.join(self.root, util.PACCONF), "--root", self.root, "--dbpath", os.path.join(self.root, util.PM_DBPATH), "--cachedir", os.path.join(self.root, util.PM_CACHEDIR)]) - if not pacman["manual-confirm"]: - cmd.append("--noconfirm") + if pacman["manual-confirm"]: + cmd.append("--confirm") if pacman["debug"]: cmd.append("--debug=%s" % pacman["debug"]) cmd.extend(shlex.split(self.args)) |