git: 0a0f7486413c - main - man: Build manpages for all architectures
Baptiste Daroussin
bapt at FreeBSD.org
Tue Jul 6 09:03:14 UTC 2021
On Wed, Jun 30, 2021 at 08:06:51AM +0000, Fernando Apesteguía wrote:
> The branch main has been updated by fernape (doc, ports committer):
>
> URL: https://cgit.FreeBSD.org/src/commit/?id=0a0f7486413c147d56808b38055c40c64cff61f5
>
> commit 0a0f7486413c147d56808b38055c40c64cff61f5
> Author: Fernando Apesteguía <fernape at FreeBSD.org>
> AuthorDate: 2021-06-09 10:58:04 +0000
> Commit: Fernando Apesteguía <fernape at FreeBSD.org>
> CommitDate: 2021-06-30 07:57:51 +0000
>
> man: Build manpages for all architectures
>
> Building and installing architecture-specific man pages only raises a number of
> problems:
>
> * The https://www.freebsd.org/cgi/man.cgi is incomplete. As an
> example, it does not show results for pae(4). The reason for this is
> that the cgi interface runs on FreeBSD amd64.
>
> * In FreeBSD amd64 some manual pages have broken X-refs. See hptrr(4)
> for an example.
>
> * Also, we have broken links in our Release Notes. This is a
> consequence of the first point. See
> https://www.freebsd.org/releases/13.0R/hardware/#proc-i386.
>
> Make MAN_ARCH default to 'all' so we build all the man pages for all the
> architectures. The difference in disk space is negligible. Also link
> architecture-specific man pages to their own section while keeping their own
> namespace.
>
> PR: 212290
> Reported by: mj at bsdops.com
> Approved by: ceri@, wosch@
> MFC after: 4 weeks
> ---
> sbin/Makefile | 6 ++++++
> share/man/man4/Makefile | 4 +---
> share/man/man4/man4.aarch64/Makefile | 5 +++++
> share/man/man4/man4.arm/Makefile | 5 +++++
> share/man/man4/man4.i386/Makefile | 5 +++++
> share/man/man4/man4.powerpc/Makefile | 5 +++++
> share/man/man5/make.conf.5 | 2 +-
> usr.sbin/Makefile | 7 +++++++
> usr.sbin/apm/Makefile | 4 ++++
> 9 files changed, 39 insertions(+), 4 deletions(-)
>
> diff --git a/sbin/Makefile b/sbin/Makefile
> index 64840bae82bb..f53e2f037ebe 100644
> --- a/sbin/Makefile
> +++ b/sbin/Makefile
> @@ -90,6 +90,12 @@ SUBDIR.${MK_ZFS}+= zfsbootcfg
>
> SUBDIR.${MK_TESTS}+= tests
>
> +# Add architecture-specific manpages
> +# to be included anyway
> +MAN= sconfig/sconfig.8
> +
> +.include <bsd.prog.mk>
> +
> .include <bsd.arch.inc.mk>
>
> SUBDIR_PARALLEL=
> diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile
> index 5051470edc71..9027fe7df841 100644
> --- a/share/man/man4/Makefile
> +++ b/share/man/man4/Makefile
> @@ -895,9 +895,7 @@ _cgem.4= cgem.4
> MLINKS+=cgem.4 if_cgem.4
> .endif
>
> -.if empty(MAN_ARCH)
> -__arches= ${MACHINE} ${MACHINE_ARCH} ${MACHINE_CPUARCH}
> -.elif ${MAN_ARCH} == "all"
> +.if empty(MAN_ARCH) || ${MAN_ARCH} == "all"
> __arches= ${:!/bin/sh -c "/bin/ls -d ${.CURDIR}/man4.*"!:E}
> .else
> __arches= ${MAN_ARCH}
> diff --git a/share/man/man4/man4.aarch64/Makefile b/share/man/man4/man4.aarch64/Makefile
> index 6714a47011ef..ef5fcd84ccd4 100644
> --- a/share/man/man4/man4.aarch64/Makefile
> +++ b/share/man/man4/man4.aarch64/Makefile
> @@ -17,6 +17,11 @@ MAN= \
> rk_i2c.4 \
> rk_pinctrl.4 \
>
> +# Link files to the parent directory
> +.for _manpage in ${MAN}
> +MLINKS+=${_manpage} ../${_manpage}
> +.endfor
This breaks make -DNO_ROOT in a subtle manner and so likely pkgbase.
The right way to do it is to add something that uses INSTALL_RSYMLINK or alike.
Best regards,
Bapt
More information about the dev-commits-src-main
mailing list