From 2edd01a973f9695b6bb918ccdbaabd004058f578 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Fri, 9 May 2008 19:26:57 -0500 Subject: scripts: add -q/--quiet option to repo-add and repo-remove They are pretty noisy scripts in their normal course of operations, so allow all messages to be squashed except for warning and error messages with this new flag. Signed-off-by: Dan McGee --- doc/repo-add.8.txt | 11 +++++++++-- scripts/repo-add.sh.in | 16 ++++++++++++---- scripts/repo-remove.sh.in | 16 ++++++++++++---- 3 files changed, 33 insertions(+), 10 deletions(-) diff --git a/doc/repo-add.8.txt b/doc/repo-add.8.txt index 80faef46..d3b85762 100644 --- a/doc/repo-add.8.txt +++ b/doc/repo-add.8.txt @@ -16,9 +16,9 @@ repo-add - package database maintenance utility Synopsis -------- -repo-add ... +repo-add [-q] ... -repo-remove ... +repo-remove [-q] ... Description @@ -34,6 +34,13 @@ specified on the command line. Multiple packages to remove can be specified on the command line. +Options +------- +*-q, \--quiet*:: + Force this program to keep quiet and run silent except for warning and + error messages. + + See Also -------- linkman:makepkg[8], linkman:pacman[8] diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in index f837262d..21031547 100644 --- a/scripts/repo-add.sh.in +++ b/scripts/repo-add.sh.in @@ -3,7 +3,7 @@ # repo-add - add a package to a given repo database file # @configure_input@ # -# Copyright (c) 2006 Aaron Griffin +# Copyright (c) 2006-2008 Aaron Griffin # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -25,17 +25,20 @@ export TEXTDOMAINDIR='@localedir@' myver='@PACKAGE_VERSION@' confdir='@sysconfdir@' +QUIET=0 REPO_DB_FILE="" # ensure we have a sane umask set umask 0022 msg() { + [ $QUIET -ne 0 ] && return local mesg=$1; shift printf "==> ${mesg}\n" "$@" >&1 } msg2() { + [ $QUIET -ne 0 ] && return local mesg=$1; shift printf " -> ${mesg}\n" "$@" >&1 } @@ -53,17 +56,20 @@ error() { # print usage instructions usage() { printf "repo-add (pacman) %s\n\n" "$myver" - printf "$(gettext "Usage: %s ...\n\n")" "$0" + printf "$(gettext "Usage: %s [-q] ...\n\n")" "$0" printf "$(gettext "\ repo-add will update a package database by reading a package file.\n\ Multiple packages to add can be specified on the command line.\n\n")" + printf "$(gettext "\ +The -q/--quiet flag will force this program to run silently except\n\ +in the case of warnings or errors.\n\n")" echo "$(gettext "Example: repo-add /path/to/repo.db.tar.gz pacman-3.0.0.pkg.tar.gz")" } version() { printf "repo-add (pacman) %s\n" "$myver" printf "$(gettext "\ -Copyright (C) 2006 Aaron Griffin .\n\n\ +Copyright (C) 2006-2008 Aaron Griffin .\n\n\ This is free software; see the source for copying conditions.\n\ There is NO WARRANTY, to the extent permitted by law.\n")" } @@ -231,7 +237,7 @@ db_write_entry() if db_write_delta "$delta"; then msg2 "$(gettext "Added delta '%s'")" "$(basename "$delta")" else - msg2 "$(gettext "Could not add delta '%s'")" "$(basename "$delta")" + warning "$(gettext "Could not add delta '%s'")" "$(basename "$delta")" fi fi done @@ -295,6 +301,8 @@ for arg in "$@"; do if [ "$arg" == "--force" -o "$arg" == "-f" ]; then warning "$(gettext "the -f and --force options are no longer recognized")" msg2 "$(gettext "use options=(force) in the PKGBUILD instead")" + elif [ "$arg" == "--quiet" -o "$arg" == "-q" ]; then + QUIET=1 elif [ -z "$REPO_DB_FILE" ]; then REPO_DB_FILE=$(readlink -f "$arg") if ! test_repo_db_file; then diff --git a/scripts/repo-remove.sh.in b/scripts/repo-remove.sh.in index 47a0d5ae..08786eec 100644 --- a/scripts/repo-remove.sh.in +++ b/scripts/repo-remove.sh.in @@ -3,7 +3,7 @@ # repo-remove - remove a package entry from a given repo database file # @configure_input@ # -# Copyright (c) 2002-2007 by Judd Vinet +# Copyright (c) 2007-2008 Dan McGee # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -25,14 +25,17 @@ export TEXTDOMAINDIR='@localedir@' myver='@PACKAGE_VERSION@' confdir='@sysconfdir@' +QUIET=0 REPO_DB_FILE="" msg() { + [ $QUIET -ne 0 ] && return local mesg=$1; shift printf "==> ${mesg}\n" "$@" >&1 } msg2() { + [ $QUIET -ne 0 ] && return local mesg=$1; shift printf " -> ${mesg}\n" "$@" >&1 } @@ -50,18 +53,21 @@ error() { # print usage instructions usage() { printf "$(gettext "repo-remove %s\n\n")" $myver - printf "$(gettext "usage: %s ...\n\n")" "$0" + printf "$(gettext "usage: %s [-q] ...\n\n")" "$0" printf "$(gettext "\ repo-remove will update a package database by removing the package name\n\ specified on the command line from the given repo database. Multiple\n\ packages to remove can be specified on the command line.\n\n")" + printf "$(gettext "\ +The -q/--quiet flag will force this program to run silently except\n\ +in the case of warnings or errors.\n\n")" echo "$(gettext "Example: repo-remove /path/to/repo.db.tar.gz kernel26")" } version() { printf "repo-remove (pacman) %s\n" "$myver" printf "$(gettext "\ -Copyright (C) 2002-2007 Judd Vinet .\n\n\ +Copyright (c) 2007-2008 Dan McGee .\n\n\ This is free software; see the source for copying conditions.\n\ There is NO WARRANTY, to the extent permitted by law.\n")" } @@ -140,7 +146,9 @@ gstmpdir=$(mktemp -d /tmp/repo-remove.XXXXXXXXXX) || (\ success=0 # parse arguments for arg in "$@"; do - if [ -z "$REPO_DB_FILE" ]; then + if [ "$arg" == "--quiet" -o "$arg" == "-q" ]; then + QUIET=1 + elif [ -z "$REPO_DB_FILE" ]; then REPO_DB_FILE=$(readlink -f "$arg") if ! test_repo_db_file; then error "$(gettext "Repository file '%s' is not a proper pacman database.")\n" "$REPO_DB_FILE" -- cgit v1.2.3-70-g09d2