[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


          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