In build_manpages(), evaluate the 'package' variable which,

if zero-length, turns on NO_MLINKS mode for comparing against
man-refs.ent.

After processing (and updating man-refs.ent if needed), run
build_manpages() again without NO_MLINKS, which then produces
an archive containing manual pages that are installed as hard
links (MLINKS), such as tar(1), sound(4), etc., which people
do expect to be available on the website.

Sponsored by:	The FreeBSD Foundation
This commit is contained in:
Glen Barber 2015-01-27 21:13:17 +00:00
parent 4865711fb9
commit a9e4ca56eb
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=46236

View file

@ -36,12 +36,12 @@
# against man-refs.ent. # against man-refs.ent.
# #
PATH="/usr/bin:/bin:/usr/local/bin:/usr/sbin:/sbin" export PATH="/usr/bin:/bin:/usr/local/bin:/usr/sbin:/sbin"
export PATH
docs=${1} docs=${1}
srcs=${2} srcs=${2}
sects=$(seq 1 9) sects=$(seq 1 9)
package=
usage() { usage() {
echo "Usage:" echo "Usage:"
@ -57,6 +57,10 @@ outdir=$(mktemp -d /tmp/manrefresh.outdir.XXXXXX)
objdir=$(mktemp -d /tmp/manrefresh.objdir.XXXXXX) objdir=$(mktemp -d /tmp/manrefresh.objdir.XXXXXX)
build_manpages() { build_manpages() {
MAKE_FLAGS=
if [ -z "${package}" ]; then
MAKE_FLAGS="NO_MLINKS=1"
fi
export MAKEOBJDIRPREFIX=${objdir} export MAKEOBJDIRPREFIX=${objdir}
export DESTDIR=${outdir} export DESTDIR=${outdir}
export TESTSBASE=${DESTDIR}/usr/tests export TESTSBASE=${DESTDIR}/usr/tests
@ -64,16 +68,18 @@ build_manpages() {
make -s -C ${srcs} DESTDIR=${DESTDIR} \ make -s -C ${srcs} DESTDIR=${DESTDIR} \
SRCCONF=/dev/null __MAKE_CONF=/dev/null \ SRCCONF=/dev/null __MAKE_CONF=/dev/null \
MANOWN=$USER MANGRP=$USER MANMODE=0666 \ MANOWN=$USER MANGRP=$USER MANMODE=0666 \
NO_MLINKS=1 -DNO_ROOT obj hier all-man maninstall ${MAKE_FLAGS} -DNO_ROOT obj hier all-man maninstall
echo "Packaging manual pages..." if [ ! -z "${package}" ]; then
tar -zcvf ${outdir}.tgz -C ${outdir} \ echo "Packaging manual pages..."
usr/share/man usr/share/openssl tar -zcvf ${outdir}.tgz -C ${outdir} \
usr/share/man usr/share/openssl
fi
} }
build_cleanup() { build_cleanup() {
make -s -C ${srcs} DESTDIR=${outdir} \ make -s -C ${srcs} DESTDIR=${outdir} \
SRCCONF=/dev/null __MAKE_CONF=/dev/null \ SRCCONF=/dev/null __MAKE_CONF=/dev/null \
NO_MLINKS=1 -DNO_ROOT cleandir -DNO_ROOT cleandir
} }
add_manref() { add_manref() {
@ -102,8 +108,10 @@ main() {
|| add_manref ${_m} || add_manref ${_m}
done done
done done
package=1
build_manpages
build_cleanup build_cleanup
rm -vr ${outdir} ${objdir} rm -fvr ${outdir} ${objdir}
echo "Packaged manual pages are in: ${outdir}.tgz" echo "Packaged manual pages are in: ${outdir}.tgz"
} }