Upstream-Status: Denied Add pkgconfig support to libksba. This patch is rejected by upstream for the reason below: They think pkgconfig adds no portability and maintaining them is not worthwhile. Signed-off-by: Chen Qi Index: libksba-1.3.0/Makefile.am =================================================================== --- libksba-1.3.0.orig/Makefile.am 2014-05-13 21:39:22.390385646 +0000 +++ libksba-1.3.0/Makefile.am 2014-05-13 21:39:22.462385646 +0000 @@ -21,6 +21,9 @@ ACLOCAL_AMFLAGS = -I m4 -I gl/m4 AUTOMAKE_OPTIONS = dist-bzip2 no-dist-gzip +pkgconfigdir = ${libdir}/pkgconfig +pkgconfig_DATA = ksba.pc + # (A suitable gitlog-to-changelog script can be found in GnuPG master.) GITLOG_TO_CHANGELOG=gitlog-to-changelog Index: libksba-1.3.0/configure.ac =================================================================== --- libksba-1.3.0.orig/configure.ac 2014-05-13 21:39:22.390385646 +0000 +++ libksba-1.3.0/configure.ac 2014-05-13 21:39:22.462385646 +0000 @@ -400,6 +400,7 @@ src/Makefile src/ksba-config src/versioninfo.rc +ksba.pc tests/Makefile doc/Makefile ]) Index: libksba-1.3.0/ksba.pc.in =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ libksba-1.3.0/ksba.pc.in 2014-05-13 21:39:22.462385646 +0000 @@ -0,0 +1,17 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +# API info +api_version=@KSBA_CONFIG_API_VERSION@ +host=@KSBA_CONFIG_HOST@ + +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} + Index: libksba-1.3.0/src/ksba.m4 =================================================================== --- libksba-1.3.0.orig/src/ksba.m4 2014-05-13 21:39:22.390385646 +0000 +++ libksba-1.3.0/src/ksba.m4 2014-05-13 21:49:03.650382696 +0000 @@ -22,18 +22,7 @@ dnl AC_DEFUN([AM_PATH_KSBA], [AC_REQUIRE([AC_CANONICAL_HOST]) - AC_ARG_WITH(ksba-prefix, - AC_HELP_STRING([--with-ksba-prefix=PFX], - [prefix where KSBA is installed (optional)]), - ksba_config_prefix="$withval", ksba_config_prefix="") - if test x$ksba_config_prefix != x ; then - ksba_config_args="$ksba_config_args --prefix=$ksba_config_prefix" - if test x${KSBA_CONFIG+set} != xset ; then - KSBA_CONFIG=$ksba_config_prefix/bin/ksba-config - fi - fi - AC_PATH_PROG(KSBA_CONFIG, ksba-config, no) tmp=ifelse([$1], ,1:1.0.0,$1) if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then req_ksba_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'` @@ -43,48 +32,13 @@ min_ksba_version="$tmp" fi - AC_MSG_CHECKING(for KSBA - version >= $min_ksba_version) - ok=no - if test "$KSBA_CONFIG" != "no" ; then - req_major=`echo $min_ksba_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` - req_minor=`echo $min_ksba_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` - req_micro=`echo $min_ksba_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'` - ksba_config_version=`$KSBA_CONFIG $ksba_config_args --version` - major=`echo $ksba_config_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` - minor=`echo $ksba_config_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` - micro=`echo $ksba_config_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'` - if test "$major" -gt "$req_major"; then - ok=yes - else - if test "$major" -eq "$req_major"; then - if test "$minor" -gt "$req_minor"; then - ok=yes - else - if test "$minor" -eq "$req_minor"; then - if test "$micro" -ge "$req_micro"; then - ok=yes - fi - fi - fi - fi - fi - fi - if test $ok = yes; then - AC_MSG_RESULT([yes ($ksba_config_version)]) - else - AC_MSG_RESULT(no) - fi + PKG_CHECK_MODULES(KSBA, [ksba >= $min_ksba_version], [ok=yes], [ok=no]) + if test $ok = yes; then # Even if we have a recent libksba, we should check that the # API is compatible. if test "$req_ksba_api" -gt 0 ; then - tmp=`$KSBA_CONFIG --api-version 2>/dev/null || echo 0` + tmp=`$PKG_CONFIG --variable=api_version ksba` if test "$tmp" -gt 0 ; then AC_MSG_CHECKING([KSBA API version]) if test "$req_ksba_api" -eq "$tmp" ; then @@ -97,10 +51,8 @@ fi fi if test $ok = yes; then - KSBA_CFLAGS=`$KSBA_CONFIG $ksba_config_args --cflags` - KSBA_LIBS=`$KSBA_CONFIG $ksba_config_args --libs` ifelse([$2], , :, [$2]) - libksba_config_host=`$LIBKSBA_CONFIG $ksba_config_args --host 2>/dev/null || echo none` + libksba_config_host=`$PKG_CONFIG --variable=host ksba` if test x"$libksba_config_host" != xnone ; then if test x"$libksba_config_host" != x"$host" ; then AC_MSG_WARN([[ @@ -114,8 +66,6 @@ fi fi else - KSBA_CFLAGS="" - KSBA_LIBS="" ifelse([$3], , :, [$3]) fi AC_SUBST(KSBA_CFLAGS)