#1066890 rdma-core: don't build docs on minor arches (-DNO_MAN_PAGES=1)

#1066890#5
Date:
2024-03-15 00:27:51 UTC
From:
To:
rdma-core does not build on minor architectures, since pandoc is not
available.

pandoc is only needed for documentation (man pages).  It might be
possible to only build docs for arch-indepdent builds, then using
Build-Depends-Indep: pandoc <!nodoc>

In any case the rdma-core docs (man pages actually) are controlled by
NO_MAN_PAGES in CMakeLists.txt. What would be needed is to configure
cmake with -DNO_MAN_PAGES=1 on the minor architectires (if not all
binary-arch builds) to avoid or reduce the footprint of the pandoc
Build-Depends.

#1066890#10
Date:
2024-04-29 11:29:51 UTC
From:
To:
Hi,

would you be willing to submit a merge request / patch for it? The merge
request can go directly against upstream:
https://github.com/linux-rdma/rdma-core

#1066890#15
Date:
2026-01-01 11:27:16 UTC
From:
To:
Hi Benjamin,

The better approach would be building the documents in a separate -doc package
instead of building them for every architecture in the archive.

Building-depending on pandoc for arch:any packages is usually a bad idea as
pandoc has an extremely long list of transitive build-dependencies meaning
that any package that requires pandoc for building can only be built once
the complete Haskell stack is available.

Thus, please let's move the documentation part into arch:all package as this
will also dramatically ease the burden when bootstrapping Debian for new
architectures such as in the case of loong64 now.

Adrian

#1066890#20
Date:
2026-01-01 12:06:06 UTC
From:
To:
Hi Benjamin,

I can try to send a pull request next week but I've got a lot on my TODO list so
I'm not sure whether I will be getting around doing it soonish.

What needs to be done:

- create a rdma-core-doc package
- build documentation in rdma-core-doc package
- disable doc builds for arch:any package
- have any binary packages which need manpages add rdma-core-doc to Recommends (please don't use Depends!)

Adrian

#1066890#25
Date:
2026-01-14 01:27:33 UTC
From:
To:
These binary packages ship man pages:

ibacm
ibverbs-providers
ibverbs-utils
infiniband-diags
libibnetdisc-dev
libibumad-dev
libibverbs-dev
librdmacm-dev
rdmacm-utils
rdma-core
srptools

I do not see how a single rdma-core-doc package to ship all man pages be
a better solution.

Alternative proposals:

1. In case you just want to address the bootstrapping problem: Add a
build-profile that excludes pandoc and skips the man pages.

2. Other alternative: We want to convert the man pages from rst to man.
We could switch from pandoc to rst2man (part of python-docutils which is
Python code and Python is already a build-dependency).

I propose to develop and submit a PR upstream to support rst2man as
alternative to pandoc.