Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
pkg-info: Add -D for pkg_info(1) compat Fixes #238
Bryan Drewery committed 13 years ago
commit dc155cbddae6786832f7f9360742402dbee3b926
parent 10eda77
4 files changed +16 -6
modified pkg/info.c
@@ -50,7 +50,7 @@ usage_info(void)
{
	fprintf(stderr, "usage: pkg info <pkg-name>\n");
	fprintf(stderr, "       pkg info -a\n");
-
	fprintf(stderr, "       pkg info [-egxXdrlBsqOf] <pkg-name>\n");
+
	fprintf(stderr, "       pkg info [-eDgxXdrlBsqOf] <pkg-name>\n");
	fprintf(stderr, "       pkg info [-drlBsqfR] -F <pkg-file>\n\n");
	fprintf(stderr, "For more information see 'pkg help info'.\n");
}
@@ -81,7 +81,7 @@ exec_info(int argc, char **argv)
	int sign2 = 0;

	/* TODO: exclusive opts ? */
-
	while ((ch = getopt(argc, argv, "aegxXEdrlBsqopOfF:R")) != -1) {
+
	while ((ch = getopt(argc, argv, "aDegxXEdrlBsqopOfF:R")) != -1) {
		switch (ch) {
			case 'a':
				match = MATCH_ALL;
@@ -102,6 +102,10 @@ exec_info(int argc, char **argv)
			case 'X':
				match = MATCH_EREGEX;
				break;
+
			case 'D':
+
				opt |= INFO_PRINT_MESSAGE;
+
				query_flags |= PKG_LOAD_BASIC;
+
				break;
			case 'd':
				opt |= INFO_PRINT_DEP;
				query_flags |= PKG_LOAD_DEPS;
modified pkg/pkg-info.8
@@ -15,7 +15,7 @@
.\"     @(#)pkg.8
.\" $FreeBSD$
.\"
-
.Dd February 16, 2012
+
.Dd May 12, 2012
.Dt PKG-INFO 8
.Os
.Sh NAME
@@ -27,7 +27,7 @@
.Nm
.Fl a
.Nm
-
.Op Fl egxXEdrlsqopOfRF
+
.Op Fl eDgxXEdrlsqopOfRF
.Ar <pkg-name>
.Nm
.Op Fl drlsq
@@ -52,6 +52,8 @@ If
.Ar <pkg-name>
is installed and registered in the database, return 0, otherwise return 1.
Useful for checking whether the package is installed.
+
.It Fl D
+
Show the pkg-message for matching packages.
.It Fl g
Treat
.Ar <pkg-name>
modified pkg/pkgcli.h
@@ -151,6 +151,7 @@ void usage_which(void);
#define INFO_FULL (1<<9)
#define INFO_RAW (1<<10)
#define INFO_LIST_SHLIBS (1<<11)
+
#define INFO_PRINT_MESSAGE (1<<12)

bool query_yesno(const char *msg, ...);
void print_info(struct pkg * const pkg, unsigned int opt);
modified pkg/utils.c
@@ -142,7 +142,7 @@ print_info(struct pkg * const pkg, unsigned int opt)
	char *m;
	char size[7];
	const char *name, *version, *prefix, *origin, *reponame, *repourl;
-
	const char *maintainer, *www, *comment, *desc;
+
	const char *maintainer, *www, *comment, *desc, *message;
	int64_t flatsize, newflatsize, newpkgsize;
	lic_t licenselogic;

@@ -152,7 +152,7 @@ print_info(struct pkg * const pkg, unsigned int opt)
	    PKG_ORIGIN, &origin, PKG_REPONAME, &reponame, PKG_REPOURL, &repourl,
	    PKG_MAINTAINER, &maintainer, PKG_WWW, &www, PKG_COMMENT, &comment,
	    PKG_DESC, &desc, PKG_FLATSIZE, &flatsize, PKG_NEW_FLATSIZE, &newflatsize,
-
		PKG_NEW_PKGSIZE, &newpkgsize, PKG_LICENSE_LOGIC, &licenselogic);
+
		PKG_NEW_PKGSIZE, &newpkgsize, PKG_LICENSE_LOGIC, &licenselogic, PKG_MESSAGE, &message);

	if (opt & INFO_RAW) {
		pkg_emit_manifest(pkg, &m);
@@ -225,6 +225,9 @@ print_info(struct pkg * const pkg, unsigned int opt)

                if (!(opt & INFO_QUIET))
                        printf("\n");
+
	} else if (opt & INFO_PRINT_MESSAGE) {
+
		if (message)
+
			printf("%s", message);
	} else if (opt & INFO_PRINT_RDEP) {
		if (!(opt & INFO_QUIET))
			printf("%s-%s is required by:\n", name, version);