git: 64de28a52827 - stable/14 - kern.post.mk: Support flavors in PORTS_MODULES
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 14 Aug 2025 16:03:18 UTC
The branch stable/14 has been updated by des:
URL: https://cgit.FreeBSD.org/src/commit/?id=64de28a52827f0ec919e470ffa6f67963c877b28
commit 64de28a52827f0ec919e470ffa6f67963c877b28
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-14 14:00:09 +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
(cherry picked from commit 988426e815c12a899c8c6853090b8c8fca7ed5cd)
---
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 f180dc501f41..82d3e3913bce 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 January 10, 2025
+.Dd August 8, 2025
.Dt BUILD 7
.Os
.Sh NAME
@@ -658,8 +658,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 d74087fc7c3d..320410a337c9 100644
--- a/sys/conf/kern.post.mk
+++ b/sys/conf/kern.post.mk
@@ -128,7 +128,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
@@ -136,7 +139,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