[pacman-dev] [PATCH] Add -s --sign and -v --verify to repo-add usage message.

Ray Kohler ataraxia937 at gmail.com
Fri Mar 25 19:36:33 EDT 2011


On Fri, Mar 25, 2011 at 7:26 PM, Dan McGee <dpmcgee at gmail.com> wrote:
> On Fri, Mar 25, 2011 at 6:16 PM, Ray Kohler <ataraxia937 at gmail.com> wrote:
>> On Fri, Mar 25, 2011 at 6:54 PM, Ray Kohler <ataraxia937 at gmail.com> wrote:
>>> On Fri, Mar 25, 2011 at 6:45 PM, Dan McGee <dpmcgee at gmail.com> wrote:
>>>> On Fri, Mar 25, 2011 at 5:38 PM, Allan McRae <allan at archlinux.org> wrote:
>>>>> On 26/03/11 08:16, Dan McGee wrote:
>>>>>>
>>>>>> On Fri, Mar 25, 2011 at 5:14 PM, Ray Kohler<ataraxia937 at gmail.com>  wrote:
>>>>>>>
>>>>>>> There were not added to the end of the list as that would mean
>>>>>>> splitting the single gettext string that contains -f and the
>>>>>>> "see the man page" message, and I wanted to do as little string
>>>>>>> damage as possible.
>>>>>>
>>>>>> Do string damage, it is a major release. But more importantly,
>>>>>> repo-remove --help is going to show these and we might want to try and
>>>>>> avoid that- I think the reason they weren't added here.
>>>>>>
>>>>>
>>>>> I think these options are still relevant to repo-remove.
>>>>
>>>> -d and -f? If you remove an entry, the whole darn thing goes,
>>>> regardless of whether there are deltas or files ...files in there.
>>>
>>> That's what checking the code bears out to me as well, but I think
>>> Allan's point is that -s and -v actually do apply to repo-remove.
>>
>> How's this for usage output?
>>
>> ataraxia at asenath:~/code/pacman/scripts $ ./repo-add -h
>> repo-add (pacman) 3.5.1-73-g72775-dirty
>>
>> Usage: repo-add [-d] [-f] [-q] [-s] [-v] <path-to-db> <package|delta> ...
>> repo-add will update a package database by reading a package file.
>> Multiple packages to add can be specified on the command line.
>>
>> Options:
>>  -d, --delta   generate and add delta for package update
>>  -f, --files   update database's file list
>>  -q, --quiet   minimize output
>>  -s, --sign    sign database with GnuPG after update
>>  -v, --verify  verify database's signature before update
>>
>> See repo-add(8) for more details and descriptions of the available options.
>>
>> Example:  repo-add /path/to/repo.db.tar.gz pacman-3.0.0.pkg.tar.gz
>>
>> ataraxia at asenath:~/code/pacman/scripts $ ./repo-remove -h
>> repo-remove (pacman) 3.5.1-73-g72775-dirty
>>
>> Usage: repo-remove [-q] [-s] [-v] <path-to-db> <packagename> ...
>>
>> repo-remove will update a package database by removing the package name
>> specified on the command line from the given repo database. Multiple
>> packages to remove can be specified on the command line.
>>
>> Options:
>>  -q, --quiet   minimize output
>>  -s, --sign    sign database with GnuPG after update
>>  -v, --verify  verify database's signature before update
>>
>> See repo-remove(8) for more details and descriptions of the available options.
>>
>> Example:  repo-remove /path/to/repo.db.tar.gz kernel26
>
> At quick glance, looks great to me.
>
> The manpage might be the next thing to tackle- find a good way to
> delineate the two sets of options, as it isn't that clear right now.
> -v is also missing it appears.

Ok, here's the second rev of this patch. Hopefully the code is as nice
as the output it produces. I'll give the manpage a look as well.

>From 4f8b33a5dcde821f843be2989afa5507621ad1eb Mon Sep 17 00:00:00 2001
From: Ray Kohler <ataraxia937 at gmail.com>
Date: Fri, 25 Mar 2011 18:11:15 -0400
Subject: [PATCH] Clean up repo-add usage message

This now includes -s and -v, tailors itself to the current command,
and is formatted more like that of other pacman commands.

Signed-off-by: Ray Kohler <ataraxia937 at gmail.com>
---
 scripts/repo-add.sh.in |   43 +++++++++++++++++++++++++------------------
 1 files changed, 25 insertions(+), 18 deletions(-)

diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in
index bd2d90b..568f628 100644
--- a/scripts/repo-add.sh.in
+++ b/scripts/repo-add.sh.in
@@ -63,32 +63,39 @@ error() {

 # print usage instructions
 usage() {
-	printf "repo-add, repo-remove (pacman) %s\n\n" "$myver"
-	printf "$(gettext "Usage: repo-add [-d] [-f] [-q] [-s] [-v]
<path-to-db> <package|delta> ...\n")"
-	printf "$(gettext "Usage: repo-remove [-q] <path-to-db>
<packagename|delta> ...\n\n")"
-	printf "$(gettext "\
+	cmd="$(basename $0)"
+	printf "%s (pacman) %s\n\n" "$cmd" "$myver"
+	if [[ $cmd == "repo-add" ]] ; then
+		printf "$(gettext "Usage: repo-add [-d] [-f] [-q] [-s] [-v]
<path-to-db> <package|delta> ...\n")"
+		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 "\
+		printf "$(gettext "Options:\n")"
+		printf "$(gettext "  -d, --delta   generate and add delta for
package update\n")"
+		printf "$(gettext "  -f, --files   update database's file list\n")"
+	elif [[ $cmd == "repo-remove" ]] ; then
+		printf "$(gettext "Usage: repo-remove [-q] [-s] [-v] <path-to-db>
<packagename|delta> ...\n\n")"
+		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 "\
-Use the -q/--quiet flag to minimize output to basic messages, warnings,\n\
-and errors.\n\n")"
-	printf "$(gettext "\
-Use the -d/--delta flag to automatically generate and add a delta file\n\
-between the old entry and the new one, if the old package file is found\n\
-next to the new one.\n\n")"
-	printf "$(gettext "\
-Use the -f/--files flag to update a database including file entries.\n\n
-See repo-add(8) for more details and descriptions of the available
options.\n\n")"
-	echo "$(gettext "Example:  repo-add /path/to/repo.db.tar.gz
pacman-3.0.0.pkg.tar.gz")"
-	echo "$(gettext "Example:  repo-remove /path/to/repo.db.tar.gz kernel26")"
+		printf "$(gettext "Options:\n")"
+	fi
+	printf "$(gettext "  -q, --quiet   minimize output\n")"
+	printf "$(gettext "  -s, --sign    sign database with GnuPG after update\n")"
+	printf "$(gettext "  -v, --verify  verify database's signature
before update\n")"
+	printf "$(gettext "\n\
+See %s(8) for more details and descriptions of the available
options.\n\n")" $cmd
+	if [[ $cmd == "repo-add" ]] ; then
+		echo "$(gettext "Example:  repo-add /path/to/repo.db.tar.gz
pacman-3.0.0.pkg.tar.gz")"
+	elif [[ $cmd == "repo-remove" ]] ; then
+		echo "$(gettext "Example:  repo-remove /path/to/repo.db.tar.gz kernel26")"
+	fi
 }

 version() {
-	printf "repo-add, repo-remove (pacman) %s\n\n" "$myver"
+	cmd="$(basename $0)"
+	printf "%s (pacman) %s\n\n" "$cmd" "$myver"
 	printf "$(gettext "\
 Copyright (C) 2006-2008 Aaron Griffin <aaron at archlinux.org>.\n\
 Copyright (c) 2007-2008 Dan McGee <dan at archlinux.org>.\n\n\
-- 
1.7.4.1


More information about the pacman-dev mailing list