Hi Jordi, thanks for the fast report!

On Mon Feb 6, 2023 at 12:09 PM CET, Jordi Mallach wrote:
> While trying to build against the new libspng-dev, I found that even my
> build was issuing -lspng, it would fail because it could not find it.
>
> It turns out you're missing a dependency against libspng0 itself.

Whoops, I wonder how I missed that. I thought lintian had a check for
this too, but aparently it doesn't.

> Additionally, I've seen the following too:
>
> - spng.pc declares:
>
> Requires.private: zlib
>
> If I understand correctly, this is not a public dependency, which means
> libspng-dev does not need to depend on zlib-dev. In fact, that's one of
> the features SPNG advertises.

Yeah, it's not part of the public interface (i.e. not exposed in the
header file), but it's still required to statically link to the library.
Not only that, but even if shared linking is required, pkg-config
requires all the Requires.private dependencies if the --cflags flag is
specified. If you try to remove zlib.pc and ask pkgconf to find spng,
here's what happens:

    $ pkg-config --cflags --libs spng                           
    Package zlib was not found in the pkg-config search path.
    Perhaps you should add the directory containing `zlib.pc'
    to the PKG_CONFIG_PATH environment variable
    Package 'zlib', required by 'spng', not found

In short, zlib-dev is a required dependency. As for what spng
advertises, yeah, you _can_ avoid zlib, but by using minz instead.

> - I would downgrade the Recommends on libspng-doc to a Suggests, to
>   avoid pulling in fonts and other unneeded packages on the 95% of
>   cases.

I'd prefer to keep it a recommendation instead. I find offline
documentation extremely important, as you don't always have internet
access; not only that, you can only grep it for what you're looking for,
etc, etc. Some make documentation part of the -dev package itself, but
with a Recommends it won't pulled in by a buildd, where it really is
unneeded.

That being said, I find pulling in an extra font package annoying too,
so I'll look into dropping that.

Thanks again for the report and suggestions! I've pushed the fix to
Salsa, and I'll do an upload ASAP.

Reply via email to