Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Register options
Baptiste Daroussin committed 14 years ago
commit 1b45194cf69254c3f8d71d3b3228d187232f307b
parent f99f31c
2 files changed +24 -1
modified libpkg/pkg_manifest.c
@@ -621,7 +621,7 @@ pkg_emit_manifest(struct pkg *pkg, char **dest)
					yaml_document_add_scalar(&doc, NULL, __DECONST(yaml_char_t*, "options"), 7, YAML_PLAIN_SCALAR_STYLE),
					options);
		}
-
		manifest_append_kv(files, pkg_option_opt(option), pkg_option_value(option));
+
		manifest_append_kv(options, pkg_option_opt(option), pkg_option_value(option));
	}

	while (pkg_files(pkg, &file) == EPKG_OK) {
modified ports/bsd.pkgng.mk
@@ -84,6 +84,29 @@ fake-pkg:
	@${ECHO_CMD} -n "${group}, " >> ${MANIFESTF}
.endfor
	@${ECHO_CMD} "]" >> ${MANIFESTF}
+
	@${ECHO_CMD} -n "options: {" >> ${MANIFESTF}
+
	-@if [ -e ${OPTIONSFILE} ]; then \
+
		. ${OPTIONSFILE}; \
+
	fi; \
+
	set -- ${OPTIONS} XXX; \
+
	while [ $$# -gt 3 ]; do \
+
		defaultval=$$3 \
+
		withvar=WITH_$$1; \
+
		withoutvar=WITHOUT_$$1; \
+
		withval=$$(eval ${ECHO_CMD} $$\{$${withvar}\}); \
+
		withoutval=$$(eval ${ECHO_CMD} $$\{$${withoutvar}\}); \
+
		if [ ! -z "$${withval}" ]; then \
+
			val=on; \
+
		elif [ ! -z "$${withoutval}" ]; then \
+
			val=off; \
+
		else \
+
			val="$${defaultval}"; \
+
		fi; \
+
		${ECHO_MSG} -n "$$1: $${val},"; \
+
		shift 3; \
+
	done >> ${MANIFESTF}
+
	@${ECHO_CMD} "}" >> ${MANIFESTF}
+
	@${CAT} ${MANIFESTF}
	@[ -f ${PKGINSTALL} ] && ${CP} ${PKGINSTALL} ${METADIR}/+INSTALL; \
	[ -f ${PKGPREINSTALL} ] && ${CP} ${PKGPREINSTALL} ${METADIR}/+PRE_INSTALL; \
	[ -f ${PKGPOSTINSTALL} ] && ${CP} ${PKGPOSTINSTALL} ${METADIR}/+POST_INSTALL; \