Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Aug 2021 16:14:18 GMT
From:      Emmanuel Vadot <manu@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: e99783747e49 - stable/13 - pkgbase: Add an src.conf option for splitting man pages
Message-ID:  <202108161614.17GGEIbF048601@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch stable/13 has been updated by manu:

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

commit e99783747e49d0df4c9bccbc33907333e2d77a1e
Author:     Emmanuel Vadot <manu@FreeBSD.org>
AuthorDate: 2021-03-16 06:11:56 +0000
Commit:     Emmanuel Vadot <manu@FreeBSD.org>
CommitDate: 2021-08-16 16:13:51 +0000

    pkgbase: Add an src.conf option for splitting man pages
    
    Man pages can be big in total, add an options to split man pages
    in -man packages so we produce smaller packages.
    This is useful for small jails or mfsroot produced of pkgbase.
    The option is off by default.
    
    Reviewed by:    bapt, Mina Galić <me@igalic.co>
    Differential Revision:  https://reviews.freebsd.org/D29169
    MFC after:      2 weeks
    
    (cherry picked from commit c7e6cb9e08d6b51e677a9f5546b8e36d678687d0)
---
 release/packages/generate-ucl.sh     | 5 +++++
 share/man/man5/src.conf.5            | 2 ++
 share/mk/bsd.man.mk                  | 9 +++++++++
 share/mk/src.opts.mk                 | 1 +
 tools/build/options/WITH_MANSPLITPKG | 2 ++
 5 files changed, 19 insertions(+)

diff --git a/release/packages/generate-ucl.sh b/release/packages/generate-ucl.sh
index e900f9991912..67c10e485eb7 100755
--- a/release/packages/generate-ucl.sh
+++ b/release/packages/generate-ucl.sh
@@ -71,6 +71,11 @@ main() {
 			_descr="Debugging Symbols"
 			pkgdeps="${outname}"
 			;;
+		*_man)
+			outname="${outname%%_man}"
+			_descr="Manual Pages"
+			pkgdeps="${outname}"
+			;;
 		${origname})
 			pkgdeps="runtime"
 			;;
diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5
index a0c1b4bb8b8a..f118471c2770 100644
--- a/share/man/man5/src.conf.5
+++ b/share/man/man5/src.conf.5
@@ -1099,6 +1099,8 @@ is set explicitly)
 .It Va WITHOUT_MANCOMPRESS
 Set to not to install compressed man pages.
 Only the uncompressed versions will be installed.
+.It Va WITH_MANSPLITPKG
+Set to split man pages into their own packages during make package.
 .It Va WITHOUT_MAN_UTILS
 Set to not build utilities for manual pages,
 .Xr apropos 1 ,
diff --git a/share/mk/bsd.man.mk b/share/mk/bsd.man.mk
index 1e67928a2754..21c5fe4f2424 100644
--- a/share/mk/bsd.man.mk
+++ b/share/mk/bsd.man.mk
@@ -50,7 +50,11 @@
 .error bsd.man.mk cannot be included directly.
 .endif
 
+.if ${MK_MANSPLITPKG} == "no"
 MINSTALL?=	${INSTALL} ${TAG_ARGS} -o ${MANOWN} -g ${MANGRP} -m ${MANMODE}
+.else
+MINSTALL?=	${INSTALL} ${TAG_ARGS:D${TAG_ARGS},man} -o ${MANOWN} -g ${MANGRP} -m ${MANMODE}
+.endif
 
 CATDIR=		${MANDIR:H:S/$/\/cat/}
 CATEXT=		.cat
@@ -226,8 +230,13 @@ maninstall: ${MAN}
 .endif	# ${MK_MANCOMPRESS} == "no"
 .endif
 .for l t in ${_MANLINKS}
+.if ${MK_MANSPLITPKG} == "no"
 	rm -f ${DESTDIR}${t} ${DESTDIR}${t}${MCOMPRESS_EXT}; \
 	    ${INSTALL_MANLINK} ${TAG_ARGS} ${DESTDIR}${l}${ZEXT} ${DESTDIR}${t}${ZEXT}
+.else
+	rm -f ${DESTDIR}${t} ${DESTDIR}${t}${MCOMPRESS_EXT}; \
+	    ${INSTALL_MANLINK} ${TAG_ARGS:D${TAG_ARGS},man} ${DESTDIR}${l}${ZEXT} ${DESTDIR}${t}${ZEXT}
+.endif
 .endfor
 
 manlint:
diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk
index 77c60aef0bc4..7d08b6a1da89 100644
--- a/share/mk/src.opts.mk
+++ b/share/mk/src.opts.mk
@@ -208,6 +208,7 @@ __DEFAULT_NO_OPTIONS = \
     LOADER_FIREWIRE \
     LOADER_VERBOSE \
     LOADER_VERIEXEC_PASS_MANIFEST \
+    MANSPLITPKG \
     OFED_EXTRA \
     OPENLDAP \
     OPENSSL_KTLS \
diff --git a/tools/build/options/WITH_MANSPLITPKG b/tools/build/options/WITH_MANSPLITPKG
new file mode 100644
index 000000000000..122da24e0bb4
--- /dev/null
+++ b/tools/build/options/WITH_MANSPLITPKG
@@ -0,0 +1,2 @@
+.\" $FreeBSD$
+Set to split man pages into their own packages during make package.



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