From 46324d9b26bd4bf5624dd8743bcd2b8f9dc5616d Mon Sep 17 00:00:00 2001 From: Patrick Eigensatz Date: Fri, 7 Oct 2016 21:45:07 +0200 Subject: Give a "success!" message on database check 'pacman -Dk' prints a "success!" message if there were no errors. It is possible to suppress the output using the '-q / --quiet' flag. This implements the feature discussed at https://bugs.archlinux.org/task/50087 Signed-off-by: Patrick Eigensatz Signed-off-by: Allan McRae --- doc/pacman.8.txt | 6 +++++- src/pacman/database.c | 4 ++++ src/pacman/pacman.c | 5 +++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/doc/pacman.8.txt b/doc/pacman.8.txt index 0fa727e8..829b43c4 100644 --- a/doc/pacman.8.txt +++ b/doc/pacman.8.txt @@ -456,7 +456,7 @@ Database Options (apply to '-D')[[QO]] package installed even when it was initially installed as a dependency of another package. -*-k \--check*:: +*-k, \--check*:: Check the local package database is internally consistent. This will check all required files are present and that installed packages have the required dependencies, do not conflict and that multiple packages @@ -464,6 +464,10 @@ Database Options (apply to '-D')[[QO]] a check on the sync databases to ensure all specified dependencies are available. +*-q, \--quiet*:: + Apply to '-q' or '--quiet' to suppress messages on successful + completion of database operations. + File Options (apply to '-F')[[FO]] ---------------------------------- *-y, --refresh*:: diff --git a/src/pacman/database.c b/src/pacman/database.c index 01979034..3990ea2e 100644 --- a/src/pacman/database.c +++ b/src/pacman/database.c @@ -286,6 +286,10 @@ int pacman_database(alpm_list_t *targets) } else { ret = check_db_sync(); } + + if(ret == 0 && !config->quiet) { + printf(_("No database errors have been found!\n")); + } } if(config->flags & (ALPM_TRANS_FLAG_ALLDEPS | ALPM_TRANS_FLAG_ALLEXPLICIT)) { diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c index be52d1be..299a181a 100644 --- a/src/pacman/pacman.c +++ b/src/pacman/pacman.c @@ -171,6 +171,7 @@ static void usage(int op, const char * const myname) addlist(_(" --asdeps mark packages as non-explicitly installed\n")); addlist(_(" --asexplicit mark packages as explicitly installed\n")); addlist(_(" -k, --check test local database for validity (-kk for sync databases)\n")); + addlist(_(" -q, --quiet suppress output of success messages\n")); } else if(op == PM_OP_DEPTEST) { printf("%s: %s {-T --deptest} [%s] [%s]\n", str_usg, myname, str_opt, str_pkg); printf("%s:\n", str_opt); @@ -466,6 +467,10 @@ static int parsearg_database(int opt) case 'k': (config->op_q_check)++; break; + case OP_QUIET: + case 'q': + config->quiet = 1; + break; default: return 1; } -- cgit v1.2.3-24-g4f1b