changeset 548:6b85a603765a

Create package flavors: the default one, and local-bsdtools-alldeps with all runtime dependencies explicitely declared
author Franz Glasner <fzglas.hg@dom66.de>
date Tue, 10 Sep 2024 19:46:56 +0200
parents f86041364bc1
children 48b31d24d71d
files .hgignore Makefile pkg-descr pkg-descr.alldeps
diffstat 4 files changed, 53 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/.hgignore	Tue Sep 10 16:24:37 2024 +0200
+++ b/.hgignore	Tue Sep 10 19:46:56 2024 +0200
@@ -1,6 +1,7 @@
 syntax: regexp
 
-^work/
+^work-default/
+^work-alldeps/
 ^docs/_build/
 ^docs/_venv.*/
 ^_venv.*/
--- a/Makefile	Tue Sep 10 16:24:37 2024 +0200
+++ b/Makefile	Tue Sep 10 19:46:56 2024 +0200
@@ -13,6 +13,20 @@
 
 EXTRACT_DEPENDS=	hg:devel/mercurial
 RUN_DEPENDS=		pkg:ports-mgmt/pkg
+alldeps_RUN_DEPENDS=	jq>=1.5:textproc/jq
+
+FLAVORS=	default alldeps
+FLAVOR?=	${FLAVORS:[1]}
+
+default_PKGNAMESUFFIX=
+default_CONFLICTS_INSTALL=	local-bsdtools-alldeps
+
+alldeps_PKGNAMESUFFIX=	-alldeps
+.if ${FLAVOR} == alldeps
+COMMENT=	Collection of private system management tools (all runtime dependencies)
+.endif
+alldeps_DESCR=		pkg-descr.alldeps
+alldeps_CONFLICTS_INSTALL=	local-bsdtools
 
 #
 # We want noarch **and** noabi because we do not have compiled
--- a/pkg-descr	Tue Sep 10 16:24:37 2024 +0200
+++ b/pkg-descr	Tue Sep 10 19:46:56 2024 +0200
@@ -4,3 +4,19 @@
 
 And the tool "bsmtp2dma" is a simple replacement for Bacula's "bsmtp"
 when the system mailer does not listen on TCP ports.
+
+This package normally does not depend on tools that are not in a FreeBSD
+base installation. But in some cases there are issues with them:
+
+- space characters in the names of jails
+- space characters in the names of mounted devices (e.g. ZFS datasets)
+- space characters in mountpoints
+
+In such cases the text output from "jls" or "mount -p" is inherently
+ambiguous. If /usr/local/bin/jq is available at runtime then these
+issues are not existent because JSON output is requested and processed
+properly.
+
+To be sure to not run into such issues consider installing the package
+flavor `local-bsdtools-alldeps'. Of course it is possible to install
+"textproc/jq" manually.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pkg-descr.alldeps	Tue Sep 10 19:46:56 2024 +0200
@@ -0,0 +1,21 @@
+A collection of private local FreeBSD tools for managing the system.
+
+Contains tools to manage jails, thin jails and binary packages.
+
+And the tool "bsmtp2dma" is a simple replacement for Bacula's "bsmtp"
+when the system mailer does not listen on TCP ports.
+
+This package normally does not depend on tools that are not in a FreeBSD
+base installation. But in some cases there are issues with them:
+
+- space characters in the names of jails
+- space characters in the names of mounted devices (e.g. ZFS datasets)
+- space characters in mountpoints
+
+In such cases the text output from "jls" or "mount -p" is inherently
+ambiguous. If /usr/local/bin/jq is available at runtime then these
+issues are not existent because JSON output is requested and processed
+properly.
+
+If you are sure to not run into such issues you can install the standard
+package flavor `local-bsdtools' and/or remove "textproc/jq".