The attached patch reintroduces the move of krb5-config to krb5-multidev. In addition to the original changes, it also changes krb5-config and the pkg-config files to use "-isystem" for Kerberos include paths rather than "-I".
I have confirmed that pidgin-sipe (which was mentioned in bug 751760) builds correctly with this change. Please let me know what you think, thanks! Jelmer
diff --git a/debian/changelog b/debian/changelog index a6173ea..39bf945 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,14 @@ +krb5 (1.12.1+dfsg-3.1) UNRELEASED; urgency=low + + * Reintroduce changes to move krb5-config into krb5-multidev: + + Provide -L and -I flags from krb5-config. Closes: #730837 + + Ship krb5-config.mit binary in krb5-multidev., Closes: #745322 + + Provide -L and -I flags from pkg-config files. Closes: #750041 + * Use -isystem for include paths, to prevent the compiler from warning + about problems in them. Closes: #751760 + + -- Jelmer Vernooij <[email protected]> Sun, 06 Jul 2014 03:53:54 +0200 + krb5 (1.12.1+dfsg-3) unstable; urgency=high * High urgency to revert some changes in the previous version that got diff --git a/debian/krb5-multidev.install.in b/debian/krb5-multidev.install.in index f57f4d9..d18ecc0 100644 --- a/debian/krb5-multidev.install.in +++ b/debian/krb5-multidev.install.in @@ -8,3 +8,5 @@ usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/kdb.pc usr/lib/${DEB_HOST_MULTIARCH}/pkg usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/krb5-gssapi.pc usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/mit-krb5 usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/krb5.pc usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/mit-krb5 usr/include/* usr/include/mit-krb5 +usr/bin/krb5-config.mit +usr/share/man/man1/krb5-config.mit.1 diff --git a/debian/libkrb5-dev.install b/debian/libkrb5-dev.install deleted file mode 100644 index 71f71c8..0000000 --- a/debian/libkrb5-dev.install +++ /dev/null @@ -1,2 +0,0 @@ -usr/bin/krb5-config -usr/share/man/man1/krb5-config.1 diff --git a/debian/libkrb5-dev.links b/debian/libkrb5-dev.links new file mode 100644 index 0000000..1a6b052 --- /dev/null +++ b/debian/libkrb5-dev.links @@ -0,0 +1,2 @@ +usr/bin/krb5-config.mit usr/bin/krb5-config +usr/share/man/man1/krb5-config.mit.1.gz usr/share/man/man1/krb5-config.1.gz diff --git a/debian/patches/debian-local/0008-krb5-config-paths.patch b/debian/patches/debian-local/0008-krb5-config-paths.patch new file mode 100644 index 0000000..1e7cc50 --- /dev/null +++ b/debian/patches/debian-local/0008-krb5-config-paths.patch @@ -0,0 +1,43 @@ +From: Jelmer Vernooij <[email protected]> +Date: Sun 20 Apr 15:59:08 CEST 2014 +Debian-Bug: http://bugs.debian.org/730837 +Subject: Fix krb5-config paths + +Include library and include flags in krb5-config, so they +work when the symlinks provided by libkrb5-dev are not +installed. + +Patch-Category: debian-local + +diff --git a/src/build-tools/krb5-config.in b/src/build-tools/krb5-config.in +index 637bad7..a73654f 100755 +--- a/src/build-tools/krb5-config.in ++++ b/src/build-tools/krb5-config.in +@@ -29,8 +29,8 @@ version_string="Kerberos 5 release @KRB5_VERSION@" + + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-includedir=@includedir@ +-libdir=@libdir@ ++includedir=@includedir@/mit-krb5 ++libdir=@libdir@/mit-krb5 + CC_LINK='@CC_LINK@' + KDB5_DB_LIB=@KDB5_DB_LIB@ + LDFLAGS='@LDFLAGS@' +@@ -209,15 +209,7 @@ fi + + + if test -n "$do_libs"; then +- # Assumes /usr/lib is the standard library directory everywhere... +- case $libdir in +- /usr/lib*) +- libdirarg= +- ;; +- *) +- libdirarg="-L$libdir" +- ;; +- esac ++ libdirarg="-L$libdir" + # Ugly gross hack for our build tree + lib_flags=`echo $CC_LINK | sed -e 's/\$(CC)//' \ + -e 's/\$(PURE)//' \ diff --git a/debian/patches/debian-local/0012-Fix-pkg-config-paths.patch b/debian/patches/debian-local/0012-Fix-pkg-config-paths.patch new file mode 100644 index 0000000..5aae283 --- /dev/null +++ b/debian/patches/debian-local/0012-Fix-pkg-config-paths.patch @@ -0,0 +1,94 @@ +Date: Sun 1 Jun 20:33:00 BST 2014 +From: Jelmer Vernooij <[email protected]> +Subject: Fix pkg-config library/include paths +Bug-Debian: http://bugs.debian.org/750041 + +Include library and include flags in pkg-config files, so they work when the +symlinks provided by libkrb5-dev are not installed. + +Patch-Category: debian-local + +diff --git a/src/build-tools/gssrpc.pc.in b/src/build-tools/gssrpc.pc.in +index ca90921..e08c2e8 100644 +--- a/src/build-tools/gssrpc.pc.in ++++ b/src/build-tools/gssrpc.pc.in +@@ -1,7 +1,7 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ +-includedir=@includedir@ ++libdir=@libdir@/mit-krb5 ++includedir=@includedir@/mit-krb5 + vendor=MIT + + Name: gssrpc +diff --git a/src/build-tools/kadm-client.pc.in b/src/build-tools/kadm-client.pc.in +index c8d1cd1..de56a75 100644 +--- a/src/build-tools/kadm-client.pc.in ++++ b/src/build-tools/kadm-client.pc.in +@@ -1,7 +1,7 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ +-includedir=@includedir@ ++libdir=@libdir@/mit-krb5 ++includedir=@includedir@/mit-krb5 + + Name: kadm-client + Description: Kerberos administration client library +diff --git a/src/build-tools/kadm-server.pc.in b/src/build-tools/kadm-server.pc.in +index cd2f86c..a73ff86 100644 +--- a/src/build-tools/kadm-server.pc.in ++++ b/src/build-tools/kadm-server.pc.in +@@ -1,7 +1,7 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ +-includedir=@includedir@ ++libdir=@libdir@/mit-krb5 ++includedir=@includedir@/mit-krb5 + + Name: kadm-server + Description: Kerberos administration server library +diff --git a/src/build-tools/kdb.pc.in b/src/build-tools/kdb.pc.in +index 461a8d01d0..356501d 100644 +--- a/src/build-tools/kdb.pc.in ++++ b/src/build-tools/kdb.pc.in +@@ -1,7 +1,7 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ +-includedir=@includedir@ ++libdir=@libdir@/mit-krb5 ++includedir=@includedir@/mit-krb5 + + KDB5_DB_LIB=@KDB5_DB_LIB@ + +diff --git a/src/build-tools/mit-krb5-gssapi.pc.in b/src/build-tools/mit-krb5-gssapi.pc.in +index 7b91b19..b2b2436 100644 +--- a/src/build-tools/mit-krb5-gssapi.pc.in ++++ b/src/build-tools/mit-krb5-gssapi.pc.in +@@ -1,7 +1,7 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ +-includedir=@includedir@ ++libdir=@libdir@/mit-krb5 ++includedir=@includedir@/mit-krb5 + + Name: mit-krb5-gssapi + Description: Kerberos implementation of the GSSAPI +diff --git a/src/build-tools/mit-krb5.pc.in b/src/build-tools/mit-krb5.pc.in +index 0308815..058e75f 100644 +--- a/src/build-tools/mit-krb5.pc.in ++++ b/src/build-tools/mit-krb5.pc.in +@@ -1,7 +1,7 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ +-includedir=@includedir@ ++libdir=@libdir@/mit-krb5 ++includedir=@includedir@/mit-krb5 + + defccname=@DEFCCNAME@ + defktname=@DEFKTNAME@ diff --git a/debian/patches/debian-local/0013-isystem-headers.patch b/debian/patches/debian-local/0013-isystem-headers.patch new file mode 100644 index 0000000..d5c0817 --- /dev/null +++ b/debian/patches/debian-local/0013-isystem-headers.patch @@ -0,0 +1,93 @@ +Description: Use -isystem for include paths + This is necessary so Kerberos headers files are classified as "system headers" + by the compiler, and thus not subject to the same strict warnings as + other headers (which breaks compilation if -Werror is specified). + . + This fixes the build of folks using -Werror and including Kerberos headers + when the latter are installed in a non-standard location (e.g. + /usr/include/tuple/mit-krb5, as Debian is doing). +Author: Jelmer Vernooij <[email protected]> +Bug-Debian: http://bugs.debian.org/751760 + +diff --git a/src/build-tools/gssrpc.pc.in b/src/build-tools/gssrpc.pc.in +index e08c2e8..fb4f489 100644 +--- a/src/build-tools/gssrpc.pc.in ++++ b/src/build-tools/gssrpc.pc.in +@@ -7,6 +7,6 @@ vendor=MIT + Name: gssrpc + Description: GSSAPI RPC implementation + Version: @KRB5_VERSION@ +-Cflags: -I${includedir} ++Cflags: -isystem ${includedir} + Libs: -L${libdir} -lgssrpc + Requires.private: mit-krb5-gssapi +diff --git a/src/build-tools/kadm-client.pc.in b/src/build-tools/kadm-client.pc.in +index de56a75..47541ac 100644 +--- a/src/build-tools/kadm-client.pc.in ++++ b/src/build-tools/kadm-client.pc.in +@@ -7,5 +7,5 @@ Name: kadm-client + Description: Kerberos administration client library + Version: @KRB5_VERSION@ + Requires.private: mit-krb5-gssapi gssrpc +-Cflags: -I${includedir} ++Cflags: -isystem ${includedir} + Libs: -L${libdir} -lkadm5clnt_mit +diff --git a/src/build-tools/kadm-server.pc.in b/src/build-tools/kadm-server.pc.in +index a73ff86..5ce4b73 100644 +--- a/src/build-tools/kadm-server.pc.in ++++ b/src/build-tools/kadm-server.pc.in +@@ -7,5 +7,5 @@ Name: kadm-server + Description: Kerberos administration server library + Version: @KRB5_VERSION@ + Requires.private: kdb mit-krb5-gssapi +-Cflags: -I${includedir} ++Cflags: -isystem ${includedir} + Libs: -L${libdir} -lkadm5srv_mit +diff --git a/src/build-tools/kdb.pc.in b/src/build-tools/kdb.pc.in +index 356501d..d39eeef 100644 +--- a/src/build-tools/kdb.pc.in ++++ b/src/build-tools/kdb.pc.in +@@ -9,6 +9,6 @@ Name: kdb + Description: Kerberos database access libraries + Version: @KRB5_VERSION@ + Requires.private: mit-krb5-gssapi mit-krb5 gssrpc +-Cflags: -I${includedir} ++Cflags: -isystem ${includedir} + Libs: -L${libdir} -lkdb5 + Libs.private: ${KDB5_DB_LIB} +diff --git a/src/build-tools/krb5-config.in b/src/build-tools/krb5-config.in +index a73654f..723d1eb 100755 +--- a/src/build-tools/krb5-config.in ++++ b/src/build-tools/krb5-config.in +@@ -201,7 +201,7 @@ fi + + if test -n "$do_cflags"; then + if test x"$includedir" != x"/usr/include" ; then +- echo "-I${includedir}" ++ echo "-isystem ${includedir}" + else + echo '' + fi +diff --git a/src/build-tools/mit-krb5-gssapi.pc.in b/src/build-tools/mit-krb5-gssapi.pc.in +index b2b2436..f919222 100644 +--- a/src/build-tools/mit-krb5-gssapi.pc.in ++++ b/src/build-tools/mit-krb5-gssapi.pc.in +@@ -7,5 +7,5 @@ Name: mit-krb5-gssapi + Description: Kerberos implementation of the GSSAPI + Version: @KRB5_VERSION@ + Requires.private: mit-krb5 +-Cflags: -I${includedir} ++Cflags: -isystem ${includedir} + Libs: -L${libdir} -lgssapi_krb5 +diff --git a/src/build-tools/mit-krb5.pc.in b/src/build-tools/mit-krb5.pc.in +index 058e75f..455427a 100644 +--- a/src/build-tools/mit-krb5.pc.in ++++ b/src/build-tools/mit-krb5.pc.in +@@ -10,6 +10,6 @@ defcktname=@DEFCKTNAME@ + Name: mit-krb5 + Description: An implementation of Kerberos network authentication + Version: @KRB5_VERSION@ +-Cflags: -I${includedir} ++Cflags: -isystem ${includedir} + Libs: -L${libdir} -lkrb5 -lk5crypto -lcom_err + Libs.private: -lkrb5support diff --git a/debian/patches/series b/debian/patches/series index 8a31de8..809b83a 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -5,6 +5,9 @@ debian-local/0004-debian-osconf.hin-path-changes.patch debian-local/0005-debian-install-ldap-library-in-subdirectory.patch debian-local/0006-gssapi-never-unload-mechanisms.patch debian-local/0007-Add-substpdf-target.patch +debian-local/0008-krb5-config-paths.patch +debian-local/0012-Fix-pkg-config-paths.patch +debian-local/0013-isystem-headers.patch upstream/0008-Move-OTP-sockets-to-KDC_RUN_DIR.patch upstream/0009-Avoid-duplicate-etc-krb5.conf-in-profile-path.patch 0010-autoreconf.patch diff --git a/debian/rules b/debian/rules index 80d1092..ca517fc 100755 --- a/debian/rules +++ b/debian/rules @@ -119,6 +119,10 @@ install: build-arch mv $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libkdb_ldap* \ $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/krb5/ rm -f $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/krb5/libkdb_ldap*.so + mv $(CURDIR)/debian/tmp/usr/bin/krb5-config \ + $(CURDIR)/debian/tmp/usr/bin/krb5-config.mit + mv $(CURDIR)/debian/tmp/usr/share/man/man1/krb5-config.1 \ + $(CURDIR)/debian/tmp/usr/share/man/man1/krb5-config.mit.1 install -m644 src/util/ac_check_krb5.m4 \ debian/libkrb5-dev/usr/share/aclocal
signature.asc
Description: Digital signature

