Bug 2453 - Convert -config (binconfig) files to pkgconfig
Summary: Convert -config (binconfig) files to pkgconfig
Status: VERIFIED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: core (show other bugs)
Version: 1.2
Hardware: x86 Multiple
: Medium normal
Target Milestone: 1.4 M2
Assignee: Chen Qi
QA Contact:
URL:
Whiteboard: Finished
Depends on:
Blocks:
 
Reported: 2012-05-14 06:58 UTC by Saul Wold
Modified: 2012-12-14 06:24 UTC (History)
8 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Saul Wold 2012-05-14 06:58:20 UTC
We have about 30 recipes / packages that deliver *-config tools for development, these packages should deliver pkgconfig (.pc) files instead.  Verify if they do and use that file and delete the -config or create a patch to deliver the .pc file.
Comment 1 Chen Qi 2012-11-21 09:06:13 UTC
Hi Saul,
Below is a patch that adds pkgconfig to libksba. Am I doing it right?
If so, I'll add pkgconfig support to other packages in the same way; otherwise, please let me know what's wrong with it.

Chen Qi
-----------------------------------------------------------------

From e6fd274484cc2b4b479c561d6dc7c17d26273a84 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Wed, 21 Nov 2012 16:30:51 +0800
Subject: [PATCH] libksba: add pkgconfig support

Add pkgconfig support for libksba.

[YOCTO #2453]

Singed-off-by: Chen Qi<Qi.Chen@windriver.com>
---
 .../libksba/0001-add-pkgconfig-support.patch       |   42 ++++++++++++++++++++
 meta/recipes-support/libksba/libksba_1.2.0.bb      |   13 ++++--
 2 files changed, 52 insertions(+), 3 deletions(-)
 create mode 100644 meta/recipes-support/libksba/libksba/0001-add-pkgconfig-support.patch

diff --git a/meta/recipes-support/libksba/libksba/0001-add-pkgconfig-support.patch b/meta/recipes-support/libksba/libksba/0001-add-pkgconfig-support.patch
new file mode 100644
index 0000000..619041b
--- /dev/null
+++ b/meta/recipes-support/libksba/libksba/0001-add-pkgconfig-support.patch
@@ -0,0 +1,42 @@
+Upstream-Status: Inappropriate [distribution]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+
+Index: libksba-1.2.0/configure.ac
+====================================================================
+--- libksba-1.2.0/configure.ac
++++ libksba-1.2.0/configure.ac
+@@ -391,6 +391,7 @@ m4/Makefile
+ gl/Makefile
+ src/Makefile
+ src/ksba-config
++src/ksba.pc
+ src/versioninfo.rc
+ tests/Makefile
+ doc/Makefile
+
+Index: libksba-1.2.0/src/ksba.pc.in
+====================================================================
+--- /dev/null
++++ libksba-1.2.0/src/ksba.pc.in
+@@ -0,0 +1,17 @@
++# Process this file with autoconf to produce a pkg-config metadata file.
++
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++# API info
++api_version=@KSBA_CONFIG_API_VERSION@
++
++Name: ksba
++Description: Libksba provides an easy API to create and parse X.509 and CMS related objects
++Requires:
++Version: @VERSION@
++Libs: -L${libdir} -lksba
++Libs.private: -L{libdir} -lgpg-error
++Cflags: -I${includedir}
+-- 
+1.7.11.2
+
diff --git a/meta/recipes-support/libksba/libksba_1.2.0.bb b/meta/recipes-support/libksba/libksba_1.2.0.bb
index dd8d88f..ca361ef 100644
--- a/meta/recipes-support/libksba/libksba_1.2.0.bb
+++ b/meta/recipes-support/libksba/libksba_1.2.0.bb
@@ -2,13 +2,20 @@ DESCRIPTION = "Libksba provides an easy API to create and parse X.509 and CMS re
 HOMEPAGE = "http://www.gnupg.org/related_software/libksba/"
 LICENSE = "GPLv3"
 LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
-PR = "r1"
+PR = "r2"
 
 DEPENDS = "libgpg-error"
 
-inherit autotools binconfig
+inherit autotools binconfig pkgconfig
 
-SRC_URI = "ftp://ftp.gnupg.org/gcrypt/${BPN}/${BPN}-${PV}.tar.bz2"
+SRC_URI = "ftp://ftp.gnupg.org/gcrypt/${BPN}/${BPN}-${PV}.tar.bz2 \
+	   file://0001-add-pkgconfig-support.patch"
 
 SRC_URI[md5sum] = "e797f370b69b4dc776499d6a071ae137"
 SRC_URI[sha256sum] = "09afce65b03d027cbec10d21464f4f651cdfd269e38b404f83e48d3e2a3c934b"
+
+# ksba.pc is added locally and thus installed here
+do_install_append() {
+	install -d ${D}/${libdir}/pkgconfig
+	install -m 0644 ${S}/src/ksba.pc ${D}/${libdir}/pkgconfig/
+}
-- 
1.7.9.5
Comment 2 Chen Qi 2012-12-10 07:11:26 UTC
Merged into master.
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=ChenQi/pkgconfig2
Comment 3 Chen Qi 2012-12-13 08:33:57 UTC
The four packages are:
pth
libassuan
libksba
icu (ICU is being upgraded for now)
Comment 4 Chen Qi 2012-12-13 09:04:16 UTC
(In reply to comment #3)
> The four packages are:
> pth
> libassuan
> libksba
> icu (ICU is being upgraded for now)

The corresponding .pc files reside under /usr/lib/pkgconfig/.

Naming rule: libxxx -> xxx.pc or libxxx.pc (if necessary)
Comment 5 Yi Zhao 2012-12-14 06:24:02 UTC
Verified with master branch: 45915123a727f86b106da7ccb761b23067b1ff88

###################
# rpm -ql icu-dev|grep ".pc"
/usr/lib/pkgconfig/icu.pc
# rpm -ql libpth-dev|grep ".pc"
/usr/lib/pkgconfig/pth.pc
# rpm -ql libksba-dev|grep ".pc"
/usr/lib/pkgconfig/ksba.pc
# rpm -ql libassuan-dev|grep ".pc"
/usr/lib/pkgconfig/assuan.pc
###################