[Xcb-commit] libxcb: check-pc-requires xcb-composite.pc.in xcb-damage.pc.in xcb-dpms.pc.in xcb-dri2.pc.in xcb-dri3.pc.in xcb-glx.pc.in xcb-present.pc.in xcb-randr.pc.in xcb-record.pc.in xcb-render.pc.in xcb-res.pc.in xcb-screensaver.pc.in xcb-shape.pc.in xcb-shm.pc.in xcb-sync.pc.in xcb-xevie.pc.in xcb-xf86dri.pc.in xcb-xfixes.pc.in xcb-xinerama.pc.in xcb-xinput.pc.in xcb-xkb.pc.in xcb-xprint.pc.in xcb-xselinux.pc.in xcb-xtest.pc.in xcb-xv.pc.in xcb-xvmc.pc.in

Uli Schlachter psychon at kemper.freedesktop.org
Fri Oct 3 14:55:08 PDT 2014


 check-pc-requires     |    4 ++--
 xcb-composite.pc.in   |    2 +-
 xcb-damage.pc.in      |    2 +-
 xcb-dpms.pc.in        |    2 +-
 xcb-dri2.pc.in        |    2 +-
 xcb-dri3.pc.in        |    2 +-
 xcb-glx.pc.in         |    2 +-
 xcb-present.pc.in     |    2 +-
 xcb-randr.pc.in       |    2 +-
 xcb-record.pc.in      |    2 +-
 xcb-render.pc.in      |    2 +-
 xcb-res.pc.in         |    2 +-
 xcb-screensaver.pc.in |    2 +-
 xcb-shape.pc.in       |    2 +-
 xcb-shm.pc.in         |    2 +-
 xcb-sync.pc.in        |    2 +-
 xcb-xevie.pc.in       |    2 +-
 xcb-xf86dri.pc.in     |    2 +-
 xcb-xfixes.pc.in      |    2 +-
 xcb-xinerama.pc.in    |    2 +-
 xcb-xinput.pc.in      |    2 +-
 xcb-xkb.pc.in         |    2 +-
 xcb-xprint.pc.in      |    2 +-
 xcb-xselinux.pc.in    |    2 +-
 xcb-xtest.pc.in       |    2 +-
 xcb-xv.pc.in          |    2 +-
 xcb-xvmc.pc.in        |    2 +-
 27 files changed, 28 insertions(+), 28 deletions(-)

New commits:
commit 382d306d6c44a9ece5551c210a932773b5cb94a5
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date:   Fri Sep 5 01:46:40 2014 +0100

    Move internal/private dependencies to Requires.private
    
    Program using the xcb sub-modules has indirect compile and runtime
    dependency of core xcb. To ensure this out we currently list xcb in
    the Requires field of the pkg-config files. While this provides all
    the required dependencies for successful compilation this causes
    over-linking and hides potential linking miss-use against the xcb modules.
    
    By moving to Requires.private we retain the compilation and runtime
    compatibility and avoids any runtime problems.
    
    Cc: Keith Packard <keithp at keithp.com>
    Cc: Alan Coopersmith <alan.coopersmith at oracle.com>
    References: http://people.freedesktop.org/~dbn/pkg-config-guide.html#faq
    References: https://wiki.mageia.org/en/Overlinking_issues_in_packaging
    References: http://err.no/personal/blog/2008/Mar/25
    Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
    Reviewed-by: Julien Cristau <jcristau at debian.org>
    Signed-off-by: Uli Schlachter <psychon at znc.in>

diff --git a/check-pc-requires b/check-pc-requires
index 0fd9c65..063356f 100755
--- a/check-pc-requires
+++ b/check-pc-requires
@@ -23,7 +23,7 @@ for inc in src/*.h; do
 		included=`grep '# *include' $inc |
 			sed -e 's/[^<"]*[<"]//' -e 's/[>"]//' |
 			grep -v 'xcb.h\|xproto.h'`
-		requires=`grep '^Requires:' $pcin`
+		requires=`grep '^Requires.private:' $pcin`
 		missing=""
 		for i in $included; do
 			ibase=`basename $i .h`
@@ -58,7 +58,7 @@ for inc in src/*.h; do
 		*)
 			if [ "$fix" = "y" ]; then
 			    echo $package adding dependency on $missing
-			    sed -i '/^Requires:/s/$/ '"$missing"'/' $pcin
+			    sed -i '/^Requires.private:/s/$/ '"$missing"'/' $pcin
 			else
 			    echo $package missing $missing
 			    status=1
diff --git a/xcb-composite.pc.in b/xcb-composite.pc.in
index 02d49b0..b9b74c2 100644
--- a/xcb-composite.pc.in
+++ b/xcb-composite.pc.in
@@ -6,6 +6,6 @@ includedir=@includedir@
 Name: XCB Composite
 Description: XCB Composite Extension
 Version: @PACKAGE_VERSION@
-Requires: xcb xcb-xfixes
+Requires.private: xcb xcb-xfixes
 Libs: -L${libdir} -lxcb-composite
 Cflags: -I${includedir}
diff --git a/xcb-damage.pc.in b/xcb-damage.pc.in
index c4bc599..3fb46b7 100644
--- a/xcb-damage.pc.in
+++ b/xcb-damage.pc.in
@@ -6,6 +6,6 @@ includedir=@includedir@
 Name: XCB Damage
 Description: XCB Damage Extension
 Version: @PACKAGE_VERSION@
-Requires: xcb xcb-xfixes
+Requires.private: xcb xcb-xfixes
 Libs: -L${libdir} -lxcb-damage
 Cflags: -I${includedir}
diff --git a/xcb-dpms.pc.in b/xcb-dpms.pc.in
index 838a054..281861c 100644
--- a/xcb-dpms.pc.in
+++ b/xcb-dpms.pc.in
@@ -6,6 +6,6 @@ includedir=@includedir@
 Name: XCB DPMS
 Description: XCB DPMS Extension
 Version: @PACKAGE_VERSION@
-Requires: xcb
+Requires.private: xcb
 Libs: -L${libdir} -lxcb-dpms
 Cflags: -I${includedir}
diff --git a/xcb-dri2.pc.in b/xcb-dri2.pc.in
index a9944df..fdb188b 100644
--- a/xcb-dri2.pc.in
+++ b/xcb-dri2.pc.in
@@ -6,6 +6,6 @@ includedir=@includedir@
 Name: XCB DRI2
 Description: XCB DRI2 Extension
 Version: @PACKAGE_VERSION@
-Requires: xcb
+Requires.private: xcb
 Libs: -L${libdir} -lxcb-dri2
 Cflags: -I${includedir}
diff --git a/xcb-dri3.pc.in b/xcb-dri3.pc.in
index 0eb7390..befe11e 100644
--- a/xcb-dri3.pc.in
+++ b/xcb-dri3.pc.in
@@ -6,6 +6,6 @@ includedir=@includedir@
 Name: XCB DRI3
 Description: XCB DRI3 Extension
 Version: @PACKAGE_VERSION@
-Requires: xcb
+Requires.private: xcb
 Libs: -L${libdir} -lxcb-dri3
 Cflags: -I${includedir}
diff --git a/xcb-glx.pc.in b/xcb-glx.pc.in
index bbd4126..79805ef 100644
--- a/xcb-glx.pc.in
+++ b/xcb-glx.pc.in
@@ -6,6 +6,6 @@ includedir=@includedir@
 Name: XCB GLX
 Description: XCB GLX Extension
 Version: @PACKAGE_VERSION@
-Requires: xcb
+Requires.private: xcb
 Libs: -L${libdir} -lxcb-glx
 Cflags: -I${includedir}
diff --git a/xcb-present.pc.in b/xcb-present.pc.in
index e2eccc4..2e0cff8 100644
--- a/xcb-present.pc.in
+++ b/xcb-present.pc.in
@@ -6,6 +6,6 @@ includedir=@includedir@
 Name: XCB Present
 Description: XCB Present Extension
 Version: @PACKAGE_VERSION@
-Requires: xcb xcb-randr xcb-xfixes xcb-sync
+Requires.private: xcb xcb-randr xcb-xfixes xcb-sync
 Libs: -L${libdir} -lxcb-present
 Cflags: -I${includedir}
diff --git a/xcb-randr.pc.in b/xcb-randr.pc.in
index 09c3d12..4c0de13 100644
--- a/xcb-randr.pc.in
+++ b/xcb-randr.pc.in
@@ -6,6 +6,6 @@ includedir=@includedir@
 Name: XCB RandR
 Description: XCB RandR Extension
 Version: @PACKAGE_VERSION@
-Requires: xcb xcb-render
+Requires.private: xcb xcb-render
 Libs: -L${libdir} -lxcb-randr
 Cflags: -I${includedir}
diff --git a/xcb-record.pc.in b/xcb-record.pc.in
index 689f098..b441c9a 100644
--- a/xcb-record.pc.in
+++ b/xcb-record.pc.in
@@ -6,6 +6,6 @@ includedir=@includedir@
 Name: XCB Record
 Description: XCB Record Extension
 Version: @PACKAGE_VERSION@
-Requires: xcb
+Requires.private: xcb
 Libs: -L${libdir} -lxcb-record
 Cflags: -I${includedir}
diff --git a/xcb-render.pc.in b/xcb-render.pc.in
index c3b050a..9ad543e 100644
--- a/xcb-render.pc.in
+++ b/xcb-render.pc.in
@@ -6,6 +6,6 @@ includedir=@includedir@
 Name: XCB Render
 Description: XCB Render Extension
 Version: @PACKAGE_VERSION@
-Requires: xcb
+Requires.private: xcb
 Libs: -L${libdir} -lxcb-render
 Cflags: -I${includedir}
diff --git a/xcb-res.pc.in b/xcb-res.pc.in
index 62dbab6..1f2889d 100644
--- a/xcb-res.pc.in
+++ b/xcb-res.pc.in
@@ -6,6 +6,6 @@ includedir=@includedir@
 Name: XCB Res
 Description: XCB X-Resource Extension
 Version: @PACKAGE_VERSION@
-Requires: xcb
+Requires.private: xcb
 Libs: -L${libdir} -lxcb-res
 Cflags: -I${includedir}
diff --git a/xcb-screensaver.pc.in b/xcb-screensaver.pc.in
index ba3f8ec..1209b20 100644
--- a/xcb-screensaver.pc.in
+++ b/xcb-screensaver.pc.in
@@ -6,6 +6,6 @@ includedir=@includedir@
 Name: XCB Screensaver
 Description: XCB Screensaver Extension
 Version: @PACKAGE_VERSION@
-Requires: xcb
+Requires.private: xcb
 Libs: -L${libdir} -lxcb-screensaver
 Cflags: -I${includedir}
diff --git a/xcb-shape.pc.in b/xcb-shape.pc.in
index 880204d..09637b4 100644
--- a/xcb-shape.pc.in
+++ b/xcb-shape.pc.in
@@ -6,6 +6,6 @@ includedir=@includedir@
 Name: XCB Shape
 Description: XCB Shape Extension
 Version: @PACKAGE_VERSION@
-Requires: xcb
+Requires.private: xcb
 Libs: -L${libdir} -lxcb-shape
 Cflags: -I${includedir}
diff --git a/xcb-shm.pc.in b/xcb-shm.pc.in
index 9256bf0..47c193b 100644
--- a/xcb-shm.pc.in
+++ b/xcb-shm.pc.in
@@ -6,6 +6,6 @@ includedir=@includedir@
 Name: XCB Shm
 Description: XCB Shm Extension
 Version: @PACKAGE_VERSION@
-Requires: xcb
+Requires.private: xcb
 Libs: -L${libdir} -lxcb-shm
 Cflags: -I${includedir}
diff --git a/xcb-sync.pc.in b/xcb-sync.pc.in
index ead76d1..7a4c315 100644
--- a/xcb-sync.pc.in
+++ b/xcb-sync.pc.in
@@ -6,6 +6,6 @@ includedir=@includedir@
 Name: XCB Sync
 Description: XCB Sync Extension
 Version: @PACKAGE_VERSION@
-Requires: xcb
+Requires.private: xcb
 Libs: -L${libdir} -lxcb-sync
 Cflags: -I${includedir}
diff --git a/xcb-xevie.pc.in b/xcb-xevie.pc.in
index 0aa3e02..dc4fee4 100644
--- a/xcb-xevie.pc.in
+++ b/xcb-xevie.pc.in
@@ -6,6 +6,6 @@ includedir=@includedir@
 Name: XCB Xevie
 Description: XCB Xevie Extension
 Version: @PACKAGE_VERSION@
-Requires: xcb
+Requires.private: xcb
 Libs: -L${libdir} -lxcb-xevie
 Cflags: -I${includedir}
diff --git a/xcb-xf86dri.pc.in b/xcb-xf86dri.pc.in
index f3f2980..87c93d5 100644
--- a/xcb-xf86dri.pc.in
+++ b/xcb-xf86dri.pc.in
@@ -6,6 +6,6 @@ includedir=@includedir@
 Name: XCB XFree86-DRI
 Description: XCB XFree86-DRI Extension
 Version: @PACKAGE_VERSION@
-Requires: xcb
+Requires.private: xcb
 Libs: -L${libdir} -lxcb-xf86dri
 Cflags: -I${includedir}
diff --git a/xcb-xfixes.pc.in b/xcb-xfixes.pc.in
index 93eafda..2ebb9cf 100644
--- a/xcb-xfixes.pc.in
+++ b/xcb-xfixes.pc.in
@@ -6,6 +6,6 @@ includedir=@includedir@
 Name: XCB XFixes
 Description: XCB XFixes Extension
 Version: @PACKAGE_VERSION@
-Requires: xcb xcb-render xcb-shape
+Requires.private: xcb xcb-render xcb-shape
 Libs: -L${libdir} -lxcb-xfixes
 Cflags: -I${includedir}
diff --git a/xcb-xinerama.pc.in b/xcb-xinerama.pc.in
index c4775f9..abc3012 100644
--- a/xcb-xinerama.pc.in
+++ b/xcb-xinerama.pc.in
@@ -6,6 +6,6 @@ includedir=@includedir@
 Name: XCB Xinerama
 Description: XCB Xinerama Extension
 Version: @PACKAGE_VERSION@
-Requires: xcb
+Requires.private: xcb
 Libs: -L${libdir} -lxcb-xinerama
 Cflags: -I${includedir}
diff --git a/xcb-xinput.pc.in b/xcb-xinput.pc.in
index ff34ab4..1f1bb27 100644
--- a/xcb-xinput.pc.in
+++ b/xcb-xinput.pc.in
@@ -6,6 +6,6 @@ includedir=@includedir@
 Name: XCB XInput
 Description: XCB XInput Extension (EXPERIMENTAL)
 Version: @PACKAGE_VERSION@
-Requires: xcb xcb-xfixes
+Requires.private: xcb xcb-xfixes
 Libs: -L${libdir} -lxcb-xinput
 Cflags: -I${includedir}
diff --git a/xcb-xkb.pc.in b/xcb-xkb.pc.in
index 6ed0035..d5b1bad 100644
--- a/xcb-xkb.pc.in
+++ b/xcb-xkb.pc.in
@@ -6,6 +6,6 @@ includedir=@includedir@
 Name: XCB XKB
 Description: XCB Keyboard Extension (EXPERIMENTAL)
 Version: @PACKAGE_VERSION@
-Requires: xcb
+Requires.private: xcb
 Libs: -L${libdir} -lxcb-xkb
 Cflags: -I${includedir}
diff --git a/xcb-xprint.pc.in b/xcb-xprint.pc.in
index b5275d5..7ac65f6 100644
--- a/xcb-xprint.pc.in
+++ b/xcb-xprint.pc.in
@@ -6,6 +6,6 @@ includedir=@includedir@
 Name: XCB Xprint
 Description: XCB Xprint Extension
 Version: @PACKAGE_VERSION@
-Requires: xcb
+Requires.private: xcb
 Libs: -L${libdir} -lxcb-xprint
 Cflags: -I${includedir}
diff --git a/xcb-xselinux.pc.in b/xcb-xselinux.pc.in
index 6a71f73..0f86a93 100644
--- a/xcb-xselinux.pc.in
+++ b/xcb-xselinux.pc.in
@@ -6,6 +6,6 @@ includedir=@includedir@
 Name: XCB SELinux
 Description: XCB SELinux Extension
 Version: @PACKAGE_VERSION@
-Requires: xcb
+Requires.private: xcb
 Libs: -L${libdir} -lxcb-xselinux
 Cflags: -I${includedir}
diff --git a/xcb-xtest.pc.in b/xcb-xtest.pc.in
index 886c4dc..9961152 100644
--- a/xcb-xtest.pc.in
+++ b/xcb-xtest.pc.in
@@ -6,6 +6,6 @@ includedir=@includedir@
 Name: XCB XTEST
 Description: XCB XTEST Extension
 Version: @PACKAGE_VERSION@
-Requires: xcb
+Requires.private: xcb
 Libs: -L${libdir} -lxcb-xtest
 Cflags: -I${includedir}
diff --git a/xcb-xv.pc.in b/xcb-xv.pc.in
index f447613..f31de1a 100644
--- a/xcb-xv.pc.in
+++ b/xcb-xv.pc.in
@@ -6,6 +6,6 @@ includedir=@includedir@
 Name: XCB Xv
 Description: XCB Xv Extension
 Version: @PACKAGE_VERSION@
-Requires: xcb xcb-shm
+Requires.private: xcb xcb-shm
 Libs: -L${libdir} -lxcb-xv
 Cflags: -I${includedir}
diff --git a/xcb-xvmc.pc.in b/xcb-xvmc.pc.in
index 95bf4ef..93c51a9 100644
--- a/xcb-xvmc.pc.in
+++ b/xcb-xvmc.pc.in
@@ -6,6 +6,6 @@ includedir=@includedir@
 Name: XCB XvMC
 Description: XCB XvMC Extension
 Version: @PACKAGE_VERSION@
-Requires: xcb xcb-xv
+Requires.private: xcb xcb-xv
 Libs: -L${libdir} -lxcb-xvmc
 Cflags: -I${includedir}


More information about the xcb-commit mailing list