From da4e9f2357588777937311f0253c38a5a60f4847 Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Tue, 24 Mar 2015 18:35:18 -0400 Subject: [PATCH] Workaround rawhide bug (bz1204646) with krb5-config by switching to pkg-config (patch from upstream) --- gssproxy-0.4.0-use-pkg-config.patch | 142 ++++++++++++++++++++++++++++ gssproxy.spec | 9 +- 2 files changed, 150 insertions(+), 1 deletion(-) create mode 100644 gssproxy-0.4.0-use-pkg-config.patch diff --git a/gssproxy-0.4.0-use-pkg-config.patch b/gssproxy-0.4.0-use-pkg-config.patch new file mode 100644 index 0000000..69a6834 --- /dev/null +++ b/gssproxy-0.4.0-use-pkg-config.patch @@ -0,0 +1,142 @@ +From fb2bc584b06929de1547da0ce5582dcbc5c550ea Mon Sep 17 00:00:00 2001 +From: Simo Sorce +Date: Tue, 24 Mar 2015 18:14:34 -0400 +Subject: [PATCH] Switch to use pkg-config for krb5-gssapi + +Signed-off-by: Simo Sorce +--- + proxy/configure.ac | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/proxy/configure.ac b/proxy/configure.ac +index 51979762d738e5f8e58a432d0e0db6b860eb360c..cf3e4fa43ecb6b2afd7313289ba9a97903d8c35d 100644 +--- a/proxy/configure.ac ++++ b/proxy/configure.ac +@@ -124,12 +124,13 @@ LIBS="$PTHREAD_CFLAGS $CFLAGS" + CC="$PTHREAD_CC" + + AC_CHECK_HEADERS([gssapi/gssapi.h],,[AC_MSG_ERROR([Could not find GSSAPI headers])]) +-AC_PATH_PROG(KRB5_CONFIG, krb5-config, failed) +-if test x$KRB5_CONFIG = xfailed; then ++PKG_CHECK_MODULES([KRB5_GSSAPI], [krb5-gssapi >= 1.12.0], ++ [have_krb5_gssapi=1], [have_krb5_gssapi=]) ++if test x$have_krb5_gssapi = x; then + AC_MSG_ERROR([Could not find GSSAPI development libraries]) + else +- GSSAPI_CFLAGS="`$KRB5_CONFIG --cflags gssapi`" +- GSSAPI_LIBS="`$KRB5_CONFIG --libs gssapi`" ++ GSSAPI_CFLAGS="`$PKG_CONFIG --cflags krb5-gssapi`" ++ GSSAPI_LIBS="`$PKG_CONFIG --libs krb5-gssapi`" + fi + AC_CHECK_LIB(gssapi_krb5, gss_import_cred,, + [AC_MSG_ERROR([GSSAPI library does not support gss_import_cred])], +-- +2.1.0 + +From 3ea42efe873859745e4b4199be6bf43591798edc Mon Sep 17 00:00:00 2001 +From: Simo Sorce +Date: Tue, 24 Mar 2015 19:58:23 -0400 +Subject: [PATCH] Use pkg-config for krb5 libs too + +Signed-off-by: Simo Sorce +--- + proxy/configure.ac | 7 +++++-- + proxy/external/krb5.m4 | 53 -------------------------------------------------- + 2 files changed, 5 insertions(+), 55 deletions(-) + delete mode 100644 proxy/external/krb5.m4 + +diff --git a/proxy/configure.ac b/proxy/configure.ac +index cf3e4fa43ecb6b2afd7313289ba9a97903d8c35d..6a02de2d0e10ebe00d3ac03db781dc24e2af6d77 100644 +--- a/proxy/configure.ac ++++ b/proxy/configure.ac +@@ -70,7 +70,6 @@ WITH_GPP_DEFAULT_BEHAVIOR + + m4_include([external/pkg.m4]) + m4_include([external/libpopt.m4]) +-m4_include([external/krb5.m4]) + m4_include([external/docbook.m4]) + m4_include([external/sizes.m4]) + m4_include([external/selinux.m4]) +@@ -127,8 +126,10 @@ AC_CHECK_HEADERS([gssapi/gssapi.h],,[AC_MSG_ERROR([Could not find GSSAPI headers + PKG_CHECK_MODULES([KRB5_GSSAPI], [krb5-gssapi >= 1.12.0], + [have_krb5_gssapi=1], [have_krb5_gssapi=]) + if test x$have_krb5_gssapi = x; then +- AC_MSG_ERROR([Could not find GSSAPI development libraries]) ++ AC_MSG_ERROR([Could not find Krb5 / GSSAPI development libraries]) + else ++ KRB5_CFLAGS="`$PKG_CONFIG --cflags krb5`" ++ KRB5_LIBS="`$PKG_CONFIG --libs krb5`" + GSSAPI_CFLAGS="`$PKG_CONFIG --cflags krb5-gssapi`" + GSSAPI_LIBS="`$PKG_CONFIG --libs krb5-gssapi`" + fi +@@ -139,6 +140,8 @@ AC_CHECK_LIB(gssapi_krb5, gss_export_cred,, + [AC_MSG_ERROR([GSSAPI library does not support gss_export_cred])], + [$GSSAPI_LIBS]) + ++AC_SUBST([KRB5_CFLAGS]) ++AC_SUBST([KRB5_LIBS]) + AC_SUBST([GSSAPI_CFLAGS]) + AC_SUBST([GSSAPI_LIBS]) + +diff --git a/proxy/external/krb5.m4 b/proxy/external/krb5.m4 +deleted file mode 100644 +index b7db80c119fb438206cbe5ab5b4a3a8f6816523f..0000000000000000000000000000000000000000 +--- a/proxy/external/krb5.m4 ++++ /dev/null +@@ -1,53 +0,0 @@ +-AC_SUBST(KRB5_CFLAGS) +-AC_SUBST(KRB5_LIBS) +- +-if test x$KRB5_LIBS != x; then +- KRB5_PASSED_LIBS=$KRB5_LIBS +-fi +- +-if test x$KRB5_CFLAGS != x; then +- KRB5_PASSED_CFLAGS=$KRB5_CFLAGS +-fi +- +-AC_PATH_PROG(KRB5_CONFIG, krb5-config) +-AC_MSG_CHECKING(for working krb5-config) +-if test -x "$KRB5_CONFIG"; then +- KRB5_CFLAGS="`$KRB5_CONFIG --cflags`" +- KRB5_LIBS="`$KRB5_CONFIG --libs`" +- AC_MSG_RESULT(yes) +-else +- if test x$KRB5_PASSED_LIBS = x; then +- AC_MSG_ERROR(no. Please install MIT kerberos devel package) +- fi +-fi +- +-if test x$KRB5_PASSED_LIBS != x; then +- KRB5_LIBS=$KRB5_PASSED_LIBS +-fi +- +-if test x$KRB5_PASSED_CFLAGS != x; then +- KRB5_CFLAGS=$KRB5_PASSED_CFLAGS +-fi +- +-AC_ARG_VAR([KRB5_CFLAGS], [C compiler flags for kerberos, overriding krb5-config])dnl +-AC_ARG_VAR([KRB5_LIBS], [linker flags for kerberos, overriding krb5-config])dnl +- +-SAVE_CFLAGS=$CFLAGS +-SAVE_LIBS=$LIBS +-CFLAGS="$CFLAGS $KRB5_CFLAGS" +-LIBS="$LIBS $KRB5_LIBS" +-AC_CHECK_HEADERS([krb5.h krb5/krb5.h]) +-AC_CHECK_FUNCS([krb5_get_init_creds_opt_alloc krb5_get_error_message \ +- krb5_free_unparsed_name \ +- krb5_get_init_creds_opt_set_expire_callback \ +- krb5_get_init_creds_opt_set_fast_ccache_name \ +- krb5_get_init_creds_opt_set_fast_flags \ +- krb5_get_init_creds_opt_set_canonicalize \ +- krb5_unparse_name_flags]) +-CFLAGS=$SAVE_CFLAGS +-LIBS=$SAVE_LIBS +- +-if test x$ac_cv_header_krb5_h != xyes -a x$ac_cv_header_krb5_krb5_h != xyes +-then +- AC_MSG_ERROR(you must have Kerberos 5 header files to build gssproxy) +-fi +-- +2.1.0 + diff --git a/gssproxy.spec b/gssproxy.spec index 8a9b730..dbeaeb6 100644 --- a/gssproxy.spec +++ b/gssproxy.spec @@ -1,6 +1,6 @@ Name: gssproxy Version: 0.4.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GSSAPI Proxy Group: System Environment/Libraries @@ -14,6 +14,7 @@ BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) %global gpstatedir %{_localstatedir}/lib/gssproxy ### Patches ### +Patch01: gssproxy-0.4.0-use-pkg-config.patch ### Dependencies ### @@ -52,6 +53,8 @@ A proxy for GSSAPI credential handling %prep %setup -q +%patch01 -p2 + %build autoreconf -f -i %configure \ @@ -102,6 +105,10 @@ rm -rf %{buildroot} %systemd_postun_with_restart gssproxy.service %changelog +* Tue Mar 24 2015 Simo Sorce 0.4.0-2 +- Workaround rawhide bug (bz1204646) with krb5-config by switching to + pkg-config (patch from upstream) + * Tue Mar 24 2015 Simo Sorce 0.4.0-1 - New upstream realease Added optional support for running GSS-Proxy as an unprivileged user