Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 4 Aug 2025 19:46:34 GMT
From:      John Baldwin <jhb@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: ec1656181790 - main - bsd.man.mk: Support manual pages with colons in the filename
Message-ID:  <202508041946.574JkYo3098629@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by jhb:

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

commit ec16561817902d480f8ebde3d060844b1997d8de
Author:     John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2025-08-04 19:38:06 +0000
Commit:     John Baldwin <jhb@FreeBSD.org>
CommitDate: 2025-08-04 19:38:06 +0000

    bsd.man.mk: Support manual pages with colons in the filename
    
    This requires extra escaping since make interprets the colons as
    terminating a rule.
    
    Discussed with: sjg
    Sponsored by:   Chelsio Communications
    Pull Request:   https://github.com/freebsd/freebsd-src/pull/1794
---
 share/mk/bsd.man.mk | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/share/mk/bsd.man.mk b/share/mk/bsd.man.mk
index a5a4fd528268..3444e9612a20 100644
--- a/share/mk/bsd.man.mk
+++ b/share/mk/bsd.man.mk
@@ -137,13 +137,15 @@ ZEXT=
 CLEANFILES+=	${${__group}:T:S/$/${FILTEXTENSION}/g}
 CLEANFILES+=	${${__group}:T:S/$/${CATEXT}${FILTEXTENSION}/g}
 .for __page in ${${__group}}
-.for __target in ${__page:T:S/$/${FILTEXTENSION}/g}
+# Escape colons in target names to support manual pages whose
+# filenames contain colons.
+.for __target in ${__page:T:S/:/\:/g:S/$/${FILTEXTENSION}/g}
 all-man: ${__target}
 ${__target}: ${__page}
 	${MANFILTER} < ${.ALLSRC} > ${.TARGET}
 .endfor
 .if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
-.for __target in ${__page:T:S/$/${CATEXT}${FILTEXTENSION}/g}
+.for __target in ${__page:T:S/:/\:/g:S/$/${CATEXT}${FILTEXTENSION}/g}
 all-man: ${__target}
 ${__target}: ${__page}
 	${MANFILTER} < ${.ALLSRC} | ${MANDOC_CMD} > ${.TARGET}
@@ -156,7 +158,7 @@ ${__target}: ${__page}
 CLEANFILES+=	${${__group}:T:S/$/${CATEXT}/g}
 .if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
 .for __page in ${${__group}}
-.for __target in ${__page:T:S/$/${CATEXT}/g}
+.for __target in ${__page:T:S/:/\:/g:S/$/${CATEXT}/g}
 all-man: ${__target}
 ${__target}: ${__page}
 	${MANDOC_CMD} ${.ALLSRC} > ${.TARGET}
@@ -176,7 +178,7 @@ ZEXT=		${MCOMPRESS_EXT}
 CLEANFILES+=	${${__group}:T:S/$/${MCOMPRESS_EXT}/g}
 CLEANFILES+=	${${__group}:T:S/$/${CATEXT}${MCOMPRESS_EXT}/g}
 .for __page in ${${__group}}
-.for __target in ${__page:T:S/$/${MCOMPRESS_EXT}/}
+.for __target in ${__page:T:S/:/\:/g:S/$/${MCOMPRESS_EXT}/}
 all-man: ${__target}
 ${__target}: ${__page}
 .if defined(MANFILTER)
@@ -186,7 +188,7 @@ ${__target}: ${__page}
 .endif
 .endfor
 .if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
-.for __target in ${__page:T:S/$/${CATEXT}${MCOMPRESS_EXT}/}
+.for __target in ${__page:T:S/:/\:/g:S/$/${CATEXT}${MCOMPRESS_EXT}/}
 all-man: ${__target}
 ${__target}: ${__page}
 .if defined(MANFILTER)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202508041946.574JkYo3098629>