From d2fb5b21a9951e0c0cd1a03c99ac75aebba03e31 Mon Sep 17 00:00:00 2001 From: Michele Calgaro Date: Tue, 15 Mar 2016 20:11:53 +0100 Subject: [PATCH] Fix krb5 library detection. This resolves FTBFS with heimdal-krb5. Based on similar patch for libraries/libtdeldap from Slavek Banko. Signed-off-by: Michele Calgaro --- cert-updater/Makefile.am | 4 ++-- cmdline/Makefile.am | 4 ++-- configure.in.in | 37 +++++++++++++++++++++++++++++++++++++ src/Makefile.am | 4 ++-- 4 files changed, 43 insertions(+), 6 deletions(-) diff --git a/cert-updater/Makefile.am b/cert-updater/Makefile.am index 94dcd2b..6053b31 100644 --- a/cert-updater/Makefile.am +++ b/cert-updater/Makefile.am @@ -1,10 +1,10 @@ -INCLUDES= $(all_includes) $(KDE_INCLUDES)/tde +INCLUDES= $(all_includes) $(KDE_INCLUDES)/tde $(KRB5_CFLAGS) bin_PROGRAMS = tdeldapcertupdater tdeldapcertupdater_SOURCES = main.cpp tdeldapcertupdater_METASOURCES = AUTO -tdeldapcertupdater_LDFLAGS = $(all_libraries) $(KDE_RPATH) $(LIB_QT) -lDCOP $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx $(LIB_TDEIO) -ltdetexteditor -ltdeldap +tdeldapcertupdater_LDFLAGS = $(all_libraries) $(KDE_RPATH) $(LIB_QT) -lDCOP $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx $(LIB_TDEIO) -ltdetexteditor -ltdeldap $(KRB5_LIBS) KDE_OPTIONS = nofinal diff --git a/cmdline/Makefile.am b/cmdline/Makefile.am index 6e59eb7..3228e85 100644 --- a/cmdline/Makefile.am +++ b/cmdline/Makefile.am @@ -1,10 +1,10 @@ -INCLUDES= $(all_includes) $(KDE_INCLUDES)/tde +INCLUDES= $(all_includes) $(KDE_INCLUDES)/tde $(KRB5_CFLAGS) bin_PROGRAMS = tdeldapbonding tdeldapbonding_SOURCES = main.cpp tdeldapbonding_METASOURCES = AUTO -tdeldapbonding_LDFLAGS = $(all_libraries) $(KDE_RPATH) $(LIB_QT) -lDCOP $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx $(LIB_TDEIO) -ltdetexteditor -ltdeldap +tdeldapbonding_LDFLAGS = $(all_libraries) $(KDE_RPATH) $(LIB_QT) -lDCOP $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx $(LIB_TDEIO) -ltdetexteditor -ltdeldap $(KRB5_LIBS) KDE_OPTIONS = nofinal diff --git a/configure.in.in b/configure.in.in index 18b1486..03cae23 100644 --- a/configure.in.in +++ b/configure.in.in @@ -4,3 +4,40 @@ AM_INIT_AUTOMAKE(autostart, 0.1) AC_C_BIGENDIAN AC_CHECK_KDEMAXPATHLEN + +PKG_CHECK_MODULES(KRB5, krb5, have_krb5=yes, have_krb5=no) +if test "x$have_krb5" = "xno"; then + # Try to find krb5 without pkg-config file + AC_MSG_CHECKING(krb5) + AC_FIND_FILE(krb5.h, [\ + /usr/local/include/heimdal /usr/local/include \ + /usr/include/heimdal /usr/include \ + ], krb5_includes) + if test "x$krb5_includes" != "xNO"; then + krb5_multiarch="`gcc -print-multiarch 2>/dev/null`" + AC_FIND_FILE(libkrb5.so, [\ + /usr/local/lib/$krb5_multiarch/heimdal /usr/local/lib64/heimdal /usr/local/lib/heimdal \ + /usr/local/lib/$krb5_multiarch /usr/local/lib64 /usr/local/lib \ + /usr/lib/$krb5_multiarch/heimdal /usr/lib64/heimdal /usr/lib/heimdal \ + /usr/lib/$krb5_multiarch /usr/lib64 /usr/lib \ + ], krb5_libs) + if test "x$krb5_libs" != "xNO"; then + AC_MSG_RESULT([libraries $krb5_libs, headers $krb5_includes]) + CPPFLAGS="$CPPFLAGS -I$krb5_includes" + CFLAGS="$CFLAGS -I$krb5_includes" + LDFLAGS="$LDFLAGS -L$krb5_libs" + AC_CHECK_HEADER(krb5.h, have_krb5=yes) + fi + fi + if test "x$have_krb5" != "xno"; then + KRB5_CFLAGS="-I$krb5_includes" + KRB5_LIBS="-L$krb5_libs -lkrb5" + AC_SUBST(KRB5_CFLAGS) + AC_SUBST(KRB5_LIBS) + else + AC_MSG_RESULT(no) + fi +fi +if test "x$have_krb5" = "xno"; then + AC_MSG_ERROR([krb5 library is needed but not found on our system]) +fi diff --git a/src/Makefile.am b/src/Makefile.am index 1426da0..2b2a1ca 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,4 +1,4 @@ -INCLUDES = $(all_includes) $(KDE_INCLUDES)/tde +INCLUDES = $(all_includes) $(KDE_INCLUDES)/tde $(KRB5_CFLAGS) METASOURCES = AUTO # Install this plugin in the KDE modules directory @@ -7,7 +7,7 @@ kde_module_LTLIBRARIES = kcm_ldapbonding.la kcm_ldapbonding_la_SOURCES = tdeumaskinput.cpp ldapbonding.cpp ldapconfigbase.ui realmpropertiesdialog.cpp bondintropage.cpp bondintropagedlg.ui bondrealmpage.cpp bondrealmpagedlg.ui bondfinishpage.cpp bondfinishpagedlg.ui bondwizard.cpp ldappasswddlg.cpp kcm_ldapbonding_la_LIBADD = $(LIB_TDEIO) $(LIB_TDEUI) -ltdeldap kcm_ldapbonding_la_LDFLAGS = -avoid-version -module -no-undefined \ - $(all_libraries) + $(all_libraries) $(KRB5_LIBS) xdg_apps_DATA = ldapbonding.desktop