Re: Bug#30739: When a tiny part of a package uses non-free libraries
"Scott K. Ellis" <email@example.com> writes:
> On Tue, 22 Dec 1998, Brian Mays wrote:
> > > a non-free component, it should be in contrib. Just a bit different
> > > perspective, to think about this from the point of view of a developer
> > > who doesn't want to be foreced to install non-free components to build
> > > a package properly, rather than from the POV of a user.
> > If the developer doing a NMU of the package doesn't want libforms-dev
> > on his system, then fine. The pcmcia-cs source will build a package
> > without the cardinfo binary, which can be used for the NMU. I don't
> > see how this is any different than splitting the cardinfo into a
> > separate deb which won't be built if libforms-dev isn't installed. Or
> > do we have to split the source in two? Well, so much for preserving
> > pristine upstream sources.
> At which point in time, the NMU will lack functionality that the original
> package had, and someone will file a bug that cardinfo vanished. Policy
> is QUITE CLEAR that you have to be able to build packages in main with
> only stuff in main. I DON'T CARE if the binary that needs libforms is
> small or insignificant, it is still a policy violation.
The solution is quite simple:
Just adapt the binary/rules so that the building of the contrib
package that depends on libforms is an optional stage.
There are many ways of doing this.
Perhaps it's easiest to just check an environment variable, and if it
is set, build the contrib package.
Or you could even go as far as what I do in the Gnome packages, and
have a "debconfigure" script which generates a new debian/rules
depending on what you want to do.