git: e99783747e49 - stable/13 - pkgbase: Add an src.conf option for splitting man pages
Emmanuel Vadot
manu at FreeBSD.org
Mon Aug 16 16:14:18 UTC 2021
The branch stable/13 has been updated by manu:
URL: https://cgit.FreeBSD.org/src/commit/?id=e99783747e49d0df4c9bccbc33907333e2d77a1e
commit e99783747e49d0df4c9bccbc33907333e2d77a1e
Author: Emmanuel Vadot <manu at FreeBSD.org>
AuthorDate: 2021-03-16 06:11:56 +0000
Commit: Emmanuel Vadot <manu at 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 at 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.
More information about the dev-commits-src-branches
mailing list