The branch main has been updated by des:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=988426e815c12a899c8c6853090b8c8fca7ed5cd

commit 988426e815c12a899c8c6853090b8c8fca7ed5cd
Author:     Dag-Erling Smørgrav <d...@freebsd.org>
AuthorDate: 2025-08-11 13:54:51 +0000
Commit:     Dag-Erling Smørgrav <d...@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

Reply via email to