[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#879049: debian-policy: 4.9.1: Allow nodoc to be used to not create empty -doc packages



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


Reply to: