git: 0a0f7486413c - main - man: Build manpages for all architectures
Fernando Apesteguía
fernape at FreeBSD.org
Wed Jun 30 08:06:51 UTC 2021
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
+
MANSUBDIR=/aarch64
.include <bsd.prog.mk>
diff --git a/share/man/man4/man4.arm/Makefile b/share/man/man4/man4.arm/Makefile
index 0b3eec427934..2ac8dbb5fd81 100644
--- a/share/man/man4/man4.arm/Makefile
+++ b/share/man/man4/man4.arm/Makefile
@@ -18,6 +18,11 @@ MAN= \
MLINKS= imx_wdog.4 imxwdt.4
MLINKS+= mge.4 if_mge.4
+# Link files to the parent directory
+.for _manpage in ${MAN}
+MLINKS+=${_manpage} ../${_manpage}
+.endfor
+
MANSUBDIR=/arm
.include <bsd.prog.mk>
diff --git a/share/man/man4/man4.i386/Makefile b/share/man/man4/man4.i386/Makefile
index a21b3cd6302b..e3d2e66ca78d 100644
--- a/share/man/man4/man4.i386/Makefile
+++ b/share/man/man4/man4.i386/Makefile
@@ -21,6 +21,11 @@ MLINKS= CPU_ELAN.4 CPU_SOEKRIS.4
MLINKS+=pae.4 PAE.4
MLINKS+=sbni.4 if_sbni.4
+# Link files to the parent directory
+.for _manpage in ${MAN}
+MLINKS+=${_manpage} ../${_manpage}
+.endfor
+
MANSUBDIR=/i386
.include <bsd.prog.mk>
diff --git a/share/man/man4/man4.powerpc/Makefile b/share/man/man4/man4.powerpc/Makefile
index 05c5d4012fe8..aa0e137fcedd 100644
--- a/share/man/man4/man4.powerpc/Makefile
+++ b/share/man/man4/man4.powerpc/Makefile
@@ -15,6 +15,11 @@ MAN= adb.4 \
snd_davbus.4 \
tsec.4
+# Link files to the parent directory
+.for _manpage in ${MAN}
+MLINKS+=${_manpage} ../${_manpage}
+.endfor
+
MANSUBDIR=/powerpc
.include <bsd.prog.mk>
diff --git a/share/man/man5/make.conf.5 b/share/man/man5/make.conf.5
index 5885d9476d71..b3623b29a950 100644
--- a/share/man/man5/make.conf.5
+++ b/share/man/man5/make.conf.5
@@ -385,7 +385,7 @@ for which section 4 man pages will be installed.
The special value
.Sq all
installs all available architectures.
-The default is the MACHINE and MACHINE_ARCH being built.
+It is also the default value.
.It Va MODULES_WITH_WORLD
.Pq Vt bool
Set to build modules with the system instead of the kernel.
diff --git a/usr.sbin/Makefile b/usr.sbin/Makefile
index 6acef31cc23a..f19af2a5566d 100644
--- a/usr.sbin/Makefile
+++ b/usr.sbin/Makefile
@@ -213,6 +213,13 @@ SUBDIR.${MK_TESTS}+= tests
.include <bsd.arch.inc.mk>
+# Add architecture-specific manpages
+# to be included anyway
+MAN= apmd/apmd.8 \
+ nvram/nvram.8
+
+.include <bsd.prog.mk>
+
SUBDIR_PARALLEL=
.include <bsd.subdir.mk>
diff --git a/usr.sbin/apm/Makefile b/usr.sbin/apm/Makefile
index f52453c62522..27fa0c37d5cf 100644
--- a/usr.sbin/apm/Makefile
+++ b/usr.sbin/apm/Makefile
@@ -5,6 +5,10 @@ MAN= apm.8
MLINKS= apm.8 apmconf.8
MANSUBDIR= /${MACHINE_CPUARCH}
+# Link files to the parent directory
+MLINKS+= apm.8 ../apm.8
+MLINKS+= apmconf.8 ../apmconf.8
+
PACKAGE=apm
.include <bsd.prog.mk>
More information about the dev-commits-src-all
mailing list