git: 988426e815c1 - main - kern.post.mk: Support flavors in PORTS_MODULES
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 11 Aug 2025 13:55:10 UTC
The branch main has been updated by des:
URL: https://cgit.FreeBSD.org/src/commit/?id=988426e815c12a899c8c6853090b8c8fca7ed5cd
commit 988426e815c12a899c8c6853090b8c8fca7ed5cd
Author: Dag-Erling Smørgrav <des@FreeBSD.org>
AuthorDate: 2025-08-11 13:54:51 +0000
Commit: Dag-Erling Smørgrav <des@FreeBSD.org>
CommitDate: 2025-08-11 13:54:51 +0000
kern.post.mk: Support flavors in PORTS_MODULES
MFC after: 1 week
PR: 288596
Reviewed by: pkubaj
Differential Revision: https://reviews.freebsd.org/D51833
---
share/man/man7/build.7 | 10 +++++++---
sys/conf/kern.post.mk | 10 ++++++++--
2 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/share/man/man7/build.7 b/share/man/man7/build.7
index 0aae2c42ac04..4022b915c972 100644
--- a/share/man/man7/build.7
+++ b/share/man/man7/build.7
@@ -25,7 +25,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd March 8, 2025
+.Dd August 8, 2025
.Dt BUILD 7
.Os
.Sh NAME
@@ -667,8 +667,12 @@ This is currently incompatible with building
.Pa src
into
.Cm packages .
-.Bd -literal -offset indent
-make PORTS_MODULES=emulators/virtualbox-ose-kmod kernel
+Each port must be specified as
+.Ar category Ns Li / Ns Ar port Ns Op Li @ Ns Ar flavor ,
+e.g.
+.Bd -literal
+PORTS_MODULES=graphics/gpu-firmware-intel-kmod@kabylake
+PORTS_MODULES+=graphics/drm-66-kmod
.Ed
.It Va LOCAL_MODULES
A list of external kernel modules that should be built and installed
diff --git a/sys/conf/kern.post.mk b/sys/conf/kern.post.mk
index 59e51c394a35..0e4ffd92724e 100644
--- a/sys/conf/kern.post.mk
+++ b/sys/conf/kern.post.mk
@@ -124,7 +124,10 @@ PORTSMODULESENV=\
all:
.for __i in ${PORTS_MODULES}
@${ECHO} "===> Ports module ${__i} (all)"
- cd ${PORTSDIR:U/usr/ports}/${__i}; ${PORTSMODULESENV} ${MAKE} -B clean build
+ port=${__i}; flavor=$${port#*@}; port=$${port%@*}; flavor=$${flavor%$${port}}; \
+ cd ${PORTSDIR:U/usr/ports}/$${port}; \
+ ${PORTSMODULESENV} ${MAKE} -B $${flavor:+FLAVOR=}$${flavor} \
+ clean build
.endfor
.for __target in install reinstall clean
@@ -132,7 +135,10 @@ ${__target}: ports-${__target}
ports-${__target}:
.for __i in ${PORTS_MODULES}
@${ECHO} "===> Ports module ${__i} (${__target})"
- cd ${PORTSDIR:U/usr/ports}/${__i}; ${PORTSMODULESENV} ${MAKE} -B ${__target:C/(re)?install/deinstall reinstall/}
+ port=${__i}; flavor=$${port#*@}; port=$${port%@*}; flavor=$${flavor%$${port}}; \
+ cd ${PORTSDIR:U/usr/ports}/$${port}; \
+ ${PORTSMODULESENV} ${MAKE} -B $${flavor:+FLAVOR=}$${flavor} \
+ ${__target:C/(re)?install/deinstall reinstall/}
.endfor
.endfor
.endif