Subject: pkg/25229: "pkg_admin check" should be less verbose per default
To: None <gnats-bugs@gnats.netbsd.org>
From: None <roland.illig@gmx.de>
List: pkgsrc-bugs
Date: 04/18/2004 19:40:00
>Number: 25229
>Category: pkg
>Synopsis: "pkg_admin check" should be less verbose per default
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: pkg-manager
>State: open
>Class: change-request
>Submitter-Id: net
>Arrival-Date: Sun Apr 18 17:41:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator: Roland Illig
>Release: Linux 2.4.22-1-k7
>Organization:
>Environment:
System: Linux wwid 2.4.22-1-k7 #5 Sat Oct 4 14:11:12 EST 2003 i686 GNU/Linux
Architecture: i686
>Description:
This patch adds a "-v" command line flag to pkg_admin. If it is not
explicitly set, pkg_admin will not output a dot for each processed
package/file, so the output becomes more readable.
>How-To-Repeat:
call "pkg_admin check" and watch the dots ...
>Fix:
Index: main.c
===================================================================
RCS file: /cvsroot/pkgsrc/pkgtools/pkg_install/files/admin/main.c,v
retrieving revision 1.14
diff -u -r1.14 main.c
--- main.c 7 Feb 2004 10:37:52 -0000 1.14
+++ main.c 18 Apr 2004 17:34:30 -0000
@@ -73,18 +73,20 @@
#define DEFAULT_SFX ".t[bg]z" /* default suffix for ls{all,best} */
-static const char Options[] = "K:SVbd:s:";
+static const char Options[] = "K:SVbd:s:v";
int filecnt;
int pkgcnt;
+static int verbose_flag = FALSE;
+
static int checkpattern_fn(const char *, void *);
/* print usage message and exit */
static void
usage(const char *prog)
{
- (void) fprintf(stderr, "usage: %s [-b] [-d lsdir] [-V] [-s sfx] command args ...\n"
+ (void) fprintf(stderr, "usage: %s [-b] [-d lsdir] [-V] [-v] [-s sfx] command args ...\n"
"Where 'commands' and 'args' are:\n"
" rebuild - rebuild pkgdb from +CONTENTS files\n"
" check [pkg ...] - check md5 checksum of installed files\n"
@@ -345,7 +347,9 @@
#ifdef PKGDB_DEBUG
printf("%s\n", de->d_name);
#else
- printf(".");
+ if (verbose_flag) {
+ printf(".");
+ }
#endif
filecnt += add1pkg(de->d_name);
@@ -387,7 +391,9 @@
chdir(de->d_name);
check1pkg(de->d_name);
- printf(".");
+ if (verbose_flag) {
+ printf(".");
+ }
chdir("..");
}
@@ -395,7 +401,9 @@
pkgdb_close();
- printf("\n");
+ if (verbose_flag) {
+ printf("\n");
+ }
printf("Checked %d file%s from %d package%s.\n",
filecnt, (filecnt == 1) ? "" : "s",
pkgcnt, (pkgcnt == 1) ? "" : "s");
@@ -411,7 +419,9 @@
err(EXIT_FAILURE, "Cannot chdir to %s/%s", _pkgdb_getPKGDB_DIR(), pkg);
check1pkg(pkg);
- printf(".");
+ if (verbose_flag) {
+ printf(".");
+ }
chdir("..");
@@ -478,6 +488,10 @@
use_default_sfx = FALSE;
break;
+ case 'v':
+ verbose_flag = TRUE;
+ break;
+
default:
usage(prog);
/* NOTREACHED */
@@ -554,7 +568,9 @@
}
} else {
check1pkg(*argv);
- printf(".");
+ if (verbose_flag) {
+ printf(".");
+ }
chdir("..");
}
@@ -563,14 +579,18 @@
argv++;
}
- printf("\n");
+ if (verbose_flag) {
+ printf("\n");
+ }
printf("Checked %d file%s from %d package%s.\n",
filecnt, (filecnt == 1) ? "" : "s",
pkgcnt, (pkgcnt == 1) ? "" : "s");
} else {
checkall();
}
- printf("Done.\n");
+ if (verbose_flag) {
+ printf("Done.\n");
+ }
} else if (strcasecmp(argv[0], "lsall") == 0) {
int saved_wd;
>Release-Note:
>Audit-Trail:
>Unformatted: