On Wed, 18 Oct 2017 at 14:16:48 -0400, Jeremy Bicha wrote: > Source: debian-policy > Version: 4.1.1.1 > > I recently introduced support for nodoc for libgdamm5.0 in its > packaging branch (not uploaded to unstable yet) [1]. Since there is > only one arch-indep package, the -doc package, there are no packages > built when an arch-indep build is attempted with the nodoc build > profile. > > This is technically a violation of Debian Policy 4.9.1 which has this wording > "This option does not change the set of binary packages generated by > the source package, but documentation-only binary packages may be > nearly empty when built with this option." [2]
I don't think this is a policy violation: you're mixing up the nodoc build profile with the nodoc build option. This is a very easy mistake to make; I'm not sure what the point of the nodoc build option is any more, other than compatibility with packages and tools that might already have used it. My interpretation is that the nodoc build profile requires/implies the nodoc build option (building with the nodoc profile but not the nodoc option is undefined behaviour, and is allowed to fail), but the nodoc option does not imply the nodoc profile. A build with both the profile and the option is allowed to be more aggressive in its documentation-removal than a build with just the option, and for example delete entire packages. (You have to use the profile anyway if you want your build-dependencies to be reduced, so in practice I think the only useful combinations are neither or both.) Indeed, for it to be useful, I think this has to happen, because build profiles are not meant to make functional changes to a built binary package, but for gtk-doc packages (and probably others) losing the documentation is a functional change: it means the .devhelp file is no longer there, so other packages can't use it to rewrite/adjust cross-references at build time. > The wiki also would need to be updated. [3] > > [3] https://wiki.debian.org/BuildProfileSpec#Registered_profile_names I already did that. The page was recently edited to specify nodoc as "may make non-functional changes to content, *must not* change set of packages" (my emphasis) based on the same misunderstanding you had. I discussed that change with the author of that edit on IRC, and he agreed that it had been a misunderstanding; so I reverted the change, taking it back to "may make non-functional changes to content, *may* change set of packages". smcv