Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Register options in pkg2ng, show them in pkg info -f
Baptiste Daroussin committed 14 years ago
commit 9996d248d467c2ee638caaaf87f88954012a2d60
parent 1b45194
3 files changed +14 -4
modified libpkg/pkg_manifest.c
@@ -574,8 +574,10 @@ pkg_emit_manifest(struct pkg *pkg, char **dest)
	}

	seq = -1;
-
	while (pkg_licenses(pkg, &license) == EPKG_OK)
+
	while (pkg_licenses(pkg, &license) == EPKG_OK) {
+
		printf("%s\n", pkg_license_name(license));
		manifest_append_seqval(&doc, mapping, &seq, "licenses", pkg_license_name(license));
+
	}

	snprintf(tmpbuf, BUFSIZ, "%" PRId64, pkg_flatsize(pkg));
	manifest_append_kv(mapping, "flatsize", tmpbuf);
modified pkg/info.c
@@ -27,6 +27,7 @@ print_info(struct pkg * const pkg, unsigned int opt)
	struct pkg_file *file = NULL;
	struct pkg_category *cat = NULL;
	struct pkg_license *lic = NULL;
+
	struct pkg_option *option = NULL;
	char size[7];

	if (opt & INFO_FULL) {
@@ -49,6 +50,9 @@ print_info(struct pkg * const pkg, unsigned int opt)
		printf("Maintainer: %s\n", pkg_get(pkg, PKG_MAINTAINER));
		printf("WWW: %s\n", pkg_get(pkg, PKG_WWW));
		printf("Comment: %s\n", pkg_get(pkg, PKG_COMMENT));
+
		printf("Options: \n");
+
		while (pkg_options(pkg, &option) == EPKG_OK)
+
			printf("\t%s: %s\n", pkg_option_opt(option), pkg_option_value(option));
		humanize_number(size, sizeof(size), pkg_flatsize(pkg), "B", HN_AUTOSCALE, 0);
		printf("Flat size: %s\n", size);
		printf("Description:\n %s\n", pkg_get(pkg, PKG_DESC));
@@ -188,7 +192,7 @@ exec_info(int argc, char **argv)
				break;
			case 'f':
				opt |= INFO_FULL;
-
				query_flags |= PKG_LOAD_CATEGORIES|PKG_LOAD_LICENSES;
+
				query_flags |= PKG_LOAD_CATEGORIES|PKG_LOAD_LICENSES|PKG_LOAD_OPTIONS;
				break;
			case 'F':
				file = optarg;
modified ports/pkg2ng
@@ -22,6 +22,9 @@ do
	LICENSES=$( make -C /usr/ports/${ORIGIN} -V LICENSE | sed -e "s/ /,/g")
	CONFLICTS=$( make -C /usr/ports/${ORIGIN} -V CONFLICTS)
	LICLOGIC=$(make -C /usr/ports/${ORIGIN} -V LICENSE_COMB )
+
	OPTIONS=$(make -C /usr/ports/${ORIGIN} showconfig | awk 'BEGIN{ line=""; }!/^=/ { gsub(/=/,": ",$1); line=line" "$1","; } END{print line}')
+
	USERS=$(make -C /usr/ports/${ORIGIN} -V USERS | sed -e "s/ /,/g")
+
	GROUPSS=$(make -C /usr/ports/${ORIGIN} -V GROUPS | sed -e "s/ /,/g")

	# +CONTENTS
	MDIR=$(mktemp -d /tmp/pkg2ngXXXXX)
@@ -53,8 +56,9 @@ do
	done
	echo "]" >> ${MANIFEST}
	test -n "${CATEGORIES}" && echo "categories: [${CATEGORIES}]" >> ${MANIFEST}
-

-
	OPTIONS=""
+
	test -n "${OPTIONS}" && echo "options: {${OPTIONS}}" >> ${MANIFEST}
+
	test -n "${USERS}" && echo "users: [${USERS}]" >> ${MANIFEST}
+
	test -n "${GROUPS}" && echo "groups: [${GROUPS}]" >> ${MANIFEST}

	# register a package only if it's not registered already
	if pkg info -e ${ORIGIN}; then