[cairo-bugs] [Bug 58803] New: Overly public Requires: in cairo-png.pc
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Thu Dec 27 04:16:53 PST 2012
https://bugs.freedesktop.org/show_bug.cgi?id=58803
Priority: medium
Bug ID: 58803
Assignee: chris at chris-wilson.co.uk
Summary: Overly public Requires: in cairo-png.pc
QA Contact: cairo-bugs at cairographics.org
Severity: normal
Classification: Unclassified
OS: All
Reporter: dmacks at netspace.org
Hardware: Other
Status: NEW
Version: 1.12.8
Component: general
Product: cairo
cairo-1.12.8 built with png support installs cairo-png.pc that asserts:
> Requires: cairo libpng
However, libpng is not exposed in the public interface. The installed
cairo-png.h does not #include any png headers and does not use any png types or
re-export any functions from it. It's just part of the internal implementation
and cairo links against it already, so there's no need to tell everyone using
cairo that they need to link against libpng directly themselves. Worse, libpng
has a history of changing its .pc naming, so this Requires entry requires that
I have the *same* (or at least within a certain range) version available as
when I built cairo itself, which creates a deadlock if I install a different
version of a libpng-dev package on my system. Which again shouldn't matter
because it's not exposed.
Instead, it should go in Requires.private, which is only used by pkg-config in
static-lib or other special platform situations where the implementation
details need to be exposed.
> Requires: cairo
> Requires.private:libpng
That's already where libpng is in cairo.pc itself.
--
You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cairographics.org/archives/cairo-bugs/attachments/20121227/c1282d5e/attachment.html>
More information about the cairo-bugs
mailing list