You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Nico Kadel-Garcia <nk...@gmail.com> on 2011/10/30 00:47:06 UTC

KWallet detection bug in Subverson-1.7.1 for RHEL 6 and Fedora

The recent versions of RHEL 6  and Fedora install KDE as distinct kde3
or kde4 setups in /usr/include/{kde3,kde4} and
/usr/lib[64]/{kde3,kde4}/devel. The result confuses the
build/ac-macros/kwallet.m4 macros. While splitting the "kde_dir" test
into separate tests for "kde4--config --path include" and "kde4-config
--path lib" may work well in other, more simply configured
distributions, for RHEL and Fedora, it's a problem.

The published RPM's for subversion-1.6.17 on Fedora had their own
patch, but it's not suitable for subversion-1.7.1. So I've written and
tested the one below. The "kde4/devel" bit is Fedora/RHEL specific. If
it's not suitable for the main codeline, it should at least go in a
new "packages/rpm/rhel-6" location. I'll try to get an updated set of
tools for those as well: Rewriting the "Makefile" there to not blow
away .rpmmacros but correctly bundle the software is... interesting.

---- subversion-1.7.1/build/ac-macros/kwallet.m4  (revision 1187723)
+++ subversion-1.7.1/build/ac-macros/kwallet.m4  (working copy)
@@ -64,15 +64,15 @@
                     fi
                   done
                   qt_include_dirs="`$PKG_CONFIG --cflags-only-I
QtCore QtDBus QtGui`"
-                  kde_dir="`$KDE4_CONFIG --prefix`"
-                  SVN_KWALLET_INCLUDES="$DBUS_CPPFLAGS
$qt_include_dirs -I$kde_dir/include"
+                  kde_inc_dir="`$KDE4_CONFIG --path include`"
+                  SVN_KWALLET_INCLUDES="$DBUS_CPPFLAGS
$qt_include_dirs -I$kde_inc_dir"
                   qt_libs_other_options="`$PKG_CONFIG
--libs-only-other QtCore QtDBus QtGui`"
                   SVN_KWALLET_LIBS="$DBUS_LIBS -lQtCore -lQtDBus
-lQtGui -lkdecore -lkdeui $qt_libs_other_options"
                   CXXFLAGS="$CXXFLAGS $SVN_KWALLET_INCLUDES"
                   LIBS="$LIBS $SVN_KWALLET_LIBS"
                   qt_lib_dirs="`$PKG_CONFIG --libs-only-L QtCore QtDBus QtGui`"
-                  kde_lib_suffix="`$KDE4_CONFIG --libsuffix`"
-                  LDFLAGS="$old_LDFLAGS
`SVN_REMOVE_STANDARD_LIB_DIRS($qt_lib_dirs
-L$kde_dir/lib$kde_lib_suffix)`"
+                  kde_lib_dir="`$KDE4_CONFIG --path lib | awk -F:
'{print $(NF)}'`/kde4/devel"
+                  LDFLAGS="$old_LDFLAGS
`SVN_REMOVE_STANDARD_LIB_DIRS($qt_lib_dirs -L$kde_lib_dir)`"
                   AC_LANG(C++)
                   AC_LINK_IFELSE([AC_LANG_SOURCE([[
  #include <kwallet.h>