summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2008-05-09 19:26:57 -0500
committerDan McGee <dan@archlinux.org>2008-05-10 00:48:55 -0500
commit2edd01a973f9695b6bb918ccdbaabd004058f578 (patch)
tree706e531c88058394fde63ca27de11d770acb41f1
parent502645c0e304a8ee062d8da7f162ff4c195e6be8 (diff)
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 <dan@archlinux.org>
-rw-r--r--doc/repo-add.8.txt11
-rw-r--r--scripts/repo-add.sh.in16
-rw-r--r--scripts/repo-remove.sh.in16
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 <path-to-db> <package> ...
+repo-add [-q] <path-to-db> <package> ...
-repo-remove <path-to-db> <packagename> ...
+repo-remove [-q] <path-to-db> <packagename> ...
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 <aaron@archlinux.org>
+# Copyright (c) 2006-2008 Aaron Griffin <aaron@archlinux.org>
#
# 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 <path-to-db> <package> ...\n\n")" "$0"
+ printf "$(gettext "Usage: %s [-q] <path-to-db> <package> ...\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 <aaron@archlinux.org>.\n\n\
+Copyright (C) 2006-2008 Aaron Griffin <aaron@archlinux.org>.\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 <jvinet@zeroflux.org>
+# Copyright (c) 2007-2008 Dan McGee <dan@archlinux.org>
#
# 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 <path-to-db> <packagename> ...\n\n")" "$0"
+ printf "$(gettext "usage: %s [-q] <path-to-db> <packagename> ...\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 <jvinet@zeroflux.org>.\n\n\
+Copyright (c) 2007-2008 Dan McGee <dan@archlinux.org>.\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"