Update pkg_install to version 20030912. Changes from 200230907 are
adding two new options to pkg_admin(1) to simply using this utility to list the bare package names that match patterns when looking in PKG_DBDIR: -b Print only the basenames when matching package names for lsall and lsbest. -d lsdir Set lsdir as the path to the directory in which to find matching package names for lsall and lsbest.
This commit is contained in:
parent
ec5dc2be24
commit
1732738842
|
@ -1,8 +1,8 @@
|
||||||
/* $NetBSD: main.c,v 1.39 2003/09/08 22:11:12 jlam Exp $ */
|
/* $NetBSD: main.c,v 1.40 2003/09/13 05:48:50 jlam Exp $ */
|
||||||
|
|
||||||
#include <sys/cdefs.h>
|
#include <sys/cdefs.h>
|
||||||
#ifndef lint
|
#ifndef lint
|
||||||
__RCSID("$NetBSD: main.c,v 1.39 2003/09/08 22:11:12 jlam Exp $");
|
__RCSID("$NetBSD: main.c,v 1.40 2003/09/13 05:48:50 jlam Exp $");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -49,7 +49,7 @@ __RCSID("$NetBSD: main.c,v 1.39 2003/09/08 22:11:12 jlam Exp $");
|
||||||
|
|
||||||
#define DEFAULT_SFX ".t[bg]z" /* default suffix for ls{all,best} */
|
#define DEFAULT_SFX ".t[bg]z" /* default suffix for ls{all,best} */
|
||||||
|
|
||||||
static const char Options[] = "K:s:V";
|
static const char Options[] = "bd:K:s:V";
|
||||||
|
|
||||||
void usage(void);
|
void usage(void);
|
||||||
|
|
||||||
|
@ -364,7 +364,13 @@ lspattern_fn(const char *pkg, void *vp)
|
||||||
{
|
{
|
||||||
char *data = vp;
|
char *data = vp;
|
||||||
printf("%s/%s\n", data, pkg);
|
printf("%s/%s\n", data, pkg);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
lsbasepattern_fn(const char *pkg, void *vp)
|
||||||
|
{
|
||||||
|
printf("%s\n", pkg);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -372,8 +378,11 @@ int
|
||||||
main(int argc, char *argv[])
|
main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
int ch;
|
int ch;
|
||||||
|
char lsdir[FILENAME_MAX];
|
||||||
|
char *lsdirp = NULL;
|
||||||
char sfx[FILENAME_MAX];
|
char sfx[FILENAME_MAX];
|
||||||
Boolean use_default_sfx = TRUE;
|
Boolean use_default_sfx = TRUE;
|
||||||
|
Boolean show_basename_only = FALSE;
|
||||||
|
|
||||||
setprogname(argv[0]);
|
setprogname(argv[0]);
|
||||||
|
|
||||||
|
@ -382,6 +391,15 @@ main(int argc, char *argv[])
|
||||||
|
|
||||||
while ((ch = getopt(argc, argv, Options)) != -1)
|
while ((ch = getopt(argc, argv, Options)) != -1)
|
||||||
switch (ch) {
|
switch (ch) {
|
||||||
|
case 'b':
|
||||||
|
show_basename_only = TRUE;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'd':
|
||||||
|
(void) strlcpy(lsdir, optarg, sizeof(lsdir));
|
||||||
|
lsdirp = lsdir;
|
||||||
|
break;
|
||||||
|
|
||||||
case 'K':
|
case 'K':
|
||||||
_pkgdb_setPKGDB_DIR(optarg);
|
_pkgdb_setPKGDB_DIR(optarg);
|
||||||
break;
|
break;
|
||||||
|
@ -501,7 +519,7 @@ main(int argc, char *argv[])
|
||||||
char cwd[MAXPATHLEN];
|
char cwd[MAXPATHLEN];
|
||||||
char base[FILENAME_MAX];
|
char base[FILENAME_MAX];
|
||||||
|
|
||||||
dir = dirname_of(*argv);
|
dir = lsdirp ? lsdirp : dirname_of(*argv);
|
||||||
basep = basename_of(*argv);
|
basep = basename_of(*argv);
|
||||||
snprintf(base, sizeof(base), "%s%s", basep, sfx);
|
snprintf(base, sizeof(base), "%s%s", basep, sfx);
|
||||||
|
|
||||||
|
@ -512,7 +530,12 @@ main(int argc, char *argv[])
|
||||||
|
|
||||||
if (getcwd(cwd, sizeof(cwd)) == NULL)
|
if (getcwd(cwd, sizeof(cwd)) == NULL)
|
||||||
err(EXIT_FAILURE, "getcwd");
|
err(EXIT_FAILURE, "getcwd");
|
||||||
if (findmatchingname(cwd, base, lspattern_fn, cwd) == -1)
|
|
||||||
|
if (show_basename_only)
|
||||||
|
rc = findmatchingname(cwd, base, lsbasepattern_fn, cwd);
|
||||||
|
else
|
||||||
|
rc = findmatchingname(cwd, base, lspattern_fn, cwd);
|
||||||
|
if (rc == -1)
|
||||||
errx(EXIT_FAILURE, "Error in findmatchingname(\"%s\", \"%s\", ...)",
|
errx(EXIT_FAILURE, "Error in findmatchingname(\"%s\", \"%s\", ...)",
|
||||||
cwd, base);
|
cwd, base);
|
||||||
|
|
||||||
|
@ -539,7 +562,7 @@ main(int argc, char *argv[])
|
||||||
char base[FILENAME_MAX];
|
char base[FILENAME_MAX];
|
||||||
char *p;
|
char *p;
|
||||||
|
|
||||||
dir = dirname_of(*argv);
|
dir = lsdirp ? lsdirp : dirname_of(*argv);
|
||||||
basep = basename_of(*argv);
|
basep = basename_of(*argv);
|
||||||
snprintf(base, sizeof(base), "%s%s", basep, sfx);
|
snprintf(base, sizeof(base), "%s%s", basep, sfx);
|
||||||
|
|
||||||
|
@ -552,7 +575,10 @@ main(int argc, char *argv[])
|
||||||
err(EXIT_FAILURE, "getcwd");
|
err(EXIT_FAILURE, "getcwd");
|
||||||
p = findbestmatchingname(cwd, base);
|
p = findbestmatchingname(cwd, base);
|
||||||
if (p) {
|
if (p) {
|
||||||
printf("%s/%s\n", cwd, p);
|
if (show_basename_only)
|
||||||
|
printf("%s\n", p);
|
||||||
|
else
|
||||||
|
printf("%s/%s\n", cwd, p);
|
||||||
free(p);
|
free(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -631,7 +657,7 @@ main(int argc, char *argv[])
|
||||||
void
|
void
|
||||||
usage(void)
|
usage(void)
|
||||||
{
|
{
|
||||||
printf("usage: pkg_admin [-V] [-s sfx] command args ...\n"
|
printf("usage: pkg_admin [-b] [-d lsdir] [-V] [-s sfx] command args ...\n"
|
||||||
"Where 'commands' and 'args' are:\n"
|
"Where 'commands' and 'args' are:\n"
|
||||||
" rebuild - rebuild pkgdb from +CONTENTS files\n"
|
" rebuild - rebuild pkgdb from +CONTENTS files\n"
|
||||||
" check [pkg ...] - check md5 checksum of installed files\n"
|
" check [pkg ...] - check md5 checksum of installed files\n"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
.\" $NetBSD: pkg_admin.1,v 1.24 2003/09/08 08:57:42 wiz Exp $
|
.\" $NetBSD: pkg_admin.1,v 1.25 2003/09/13 05:48:50 jlam Exp $
|
||||||
.\"
|
.\"
|
||||||
.\" Copyright (c) 1999-2002 Hubert Feyrer. All rights reserved.
|
.\" Copyright (c) 1999-2002 Hubert Feyrer. All rights reserved.
|
||||||
.\"
|
.\"
|
||||||
|
@ -51,6 +51,18 @@ Packages System.
|
||||||
.Sh OPTIONS
|
.Sh OPTIONS
|
||||||
The following command-line options are supported:
|
The following command-line options are supported:
|
||||||
.Bl -tag -width indent
|
.Bl -tag -width indent
|
||||||
|
.It Fl b
|
||||||
|
Print only the basenames when matching package names for
|
||||||
|
.Cm lsall
|
||||||
|
and
|
||||||
|
.Cm lsbest .
|
||||||
|
.It Fl d Ar lsdir
|
||||||
|
Set
|
||||||
|
.Ar lsdir
|
||||||
|
as the path to the directory in which to find matching package names for
|
||||||
|
.Cm lsall
|
||||||
|
and
|
||||||
|
.Cm lsbest .
|
||||||
.It Fl K Ar pkg_dbdir
|
.It Fl K Ar pkg_dbdir
|
||||||
Set
|
Set
|
||||||
.Ar pkg_dbdir
|
.Ar pkg_dbdir
|
||||||
|
@ -104,12 +116,17 @@ Columns are printed for the keyfield used in the pkgdb - the filename -,
|
||||||
and the data field - the package the file belongs to.
|
and the data field - the package the file belongs to.
|
||||||
.It Cm lsall Ar /dir/pkgpattern
|
.It Cm lsall Ar /dir/pkgpattern
|
||||||
.It Cm lsbest Ar /dir/pkgpattern
|
.It Cm lsbest Ar /dir/pkgpattern
|
||||||
List all/best package matching pattern in the given directory.
|
List all/best package matching pattern in the given directory
|
||||||
|
.Pa /dir .
|
||||||
|
If the
|
||||||
|
.Fl d
|
||||||
|
flag is given, then that directory path overrides
|
||||||
|
.Pa /dir .
|
||||||
Can be used to work around limitations of /bin/sh and other
|
Can be used to work around limitations of /bin/sh and other
|
||||||
filename globbing mechanisms.
|
filename globbing mechanisms.
|
||||||
This option implements matching of
|
This option implements matching of
|
||||||
pkg-wildcards against arbitrary files, useful mainly in the build
|
pkg-wildcards against arbitrary files and directories, useful mainly in
|
||||||
system itself.
|
the build system itself.
|
||||||
See
|
See
|
||||||
.Xr pkg_info 1
|
.Xr pkg_info 1
|
||||||
for a description of the pattern.
|
for a description of the pattern.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $NetBSD: version.h,v 1.30 2003/09/08 07:13:29 jlam Exp $ */
|
/* $NetBSD: version.h,v 1.31 2003/09/13 05:48:51 jlam Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2001 Thomas Klausner. All rights reserved.
|
* Copyright (c) 2001 Thomas Klausner. All rights reserved.
|
||||||
|
@ -33,6 +33,6 @@
|
||||||
#ifndef _INST_LIB_VERSION_H_
|
#ifndef _INST_LIB_VERSION_H_
|
||||||
#define _INST_LIB_VERSION_H_
|
#define _INST_LIB_VERSION_H_
|
||||||
|
|
||||||
#define PKGTOOLS_VERSION "20030907"
|
#define PKGTOOLS_VERSION "20030912"
|
||||||
|
|
||||||
#endif /* _INST_LIB_VERSION_H_ */
|
#endif /* _INST_LIB_VERSION_H_ */
|
||||||
|
|
Loading…
Reference in New Issue