Hi Sam, On Thu, Jan 16, 2025 at 09:38:38AM -0700, Sam Hartman wrote: > >>>>> "Helmut" == Helmut Grohne <hel...@subdivi.de> writes: > [talking about pam manpages] > > Helmut> From a package building pov, I'd appreciate if you could > Helmut> also move the tools for building the manual pages to > Helmut> Build-Depends-Indep while you move them. > > I think we still end up with a bunch of manpages in libpam0g-dev. > Although that's also M-A: same, so probably has similar issues, although > probably they come up less frequently than libpam-modules.
Thanks for picking this idea up. If libpam0g-dev also has manual pages, you very likely need to close this bug as wontfix. Only if you also move those manual pages to libpam-doc you really can reduce Build-Depends. > But let's say we move those man pages too. That may not be the worst of ideas. Those who need documentation likely are those who have plenty of disk space. Why not? At the same time, build daemons will no longer install the manual pages from libpam0g-dev. The speedup likely is not measurable. > I'd love to minimize build-depends-arch, but I don't know how. > In my meson setup call, I want to either enable or disable the docs > feature. > I realize I could leave it auto, but that has been too fragile in the > past as upstream changes their doc dependencies. So it is too easy to > get into a situation where upstream builds none of the docs because some > tool is not present. > > But the meson setup call is in override_dh_auto_configure. > I don't know at that point how to figure out of I am building arch all > packages. > > If someone can either give me some hints here or provide a patch, I'd > love to review it. This is a rather common problem. Even more so with build profiles that turn on or off particular features. Approaching it from the build profile side actually makes it slightly easier. I confirm that figuring out whether you are doing an arch-only build or not is non-trivial. Instead, you could ask whether libpam-doc is being built. dh_listpackages prints the packages that currently are being built. I tend to use something like the following pattern: --$(if $(filter libpam-doc,$(shell dh_listpackages)),en,dis)able-doc If I am doing multiple conditionals, I tend to add a variable: DO_PACKAGES := $(shell dh_listpackages) This may slow down your build if you have many overrides and many binary packages. If you want prior art, try https://codesearch.debian.net/search?q=filter.*dh_listpackages&literal=0. Helmut