From 850fa696294bcd54edcc588941ab41d3768dac29 Mon Sep 17 00:00:00 2001 From: jorton Date: Thu, 10 Sep 2009 19:21:04 +0000 Subject: [PATCH] - add -gnome, -kde subpackages (#522592) --- subversion-1.6.2-kwallet.patch | 25 ++++++++++++++++++ subversion.spec | 46 ++++++++++++++++++++++++++++++++-- 2 files changed, 69 insertions(+), 2 deletions(-) create mode 100644 subversion-1.6.2-kwallet.patch diff --git a/subversion-1.6.2-kwallet.patch b/subversion-1.6.2-kwallet.patch new file mode 100644 index 0000000..471b7c8 --- /dev/null +++ b/subversion-1.6.2-kwallet.patch @@ -0,0 +1,25 @@ + +The first half of this is certainly upstream-worthy, but the second half is presumably +some Fedora-specific KDE packaging thing. It's not obvious how to get +kde4-config to report the directory which contains the .so files. + +--- subversion-1.6.2/build/ac-macros/kwallet.m4.kwallet ++++ subversion-1.6.2/build/ac-macros/kwallet.m4 +@@ -45,14 +45,14 @@ AC_DEFUN(SVN_LIB_KWALLET, + CPPFLAGS="$CPPFLAGS $d" + 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_include_dirs="-I`$kde4_config --path include`" ++ SVN_KWALLET_INCLUDES="$DBUS_CPPFLAGS $qt_include_dirs $kde_include_dirs" + 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`" +- LDFLAGS="$old_LDFLAGS $qt_lib_dirs -L$kde_dir/lib`$kde4_config --libsuffix`" ++ LDFLAGS="$old_LDFLAGS $qt_lib_dirs -L/usr/lib`$kde4_config --libsuffix`/kde4/devel" + AC_LANG(C++) + AC_LINK_IFELSE([ + #include diff --git a/subversion.spec b/subversion.spec index 214ffe0..645089e 100644 --- a/subversion.spec +++ b/subversion.spec @@ -15,7 +15,7 @@ Summary: A Modern Concurrent Version Control System Name: subversion Version: 1.6.5 -Release: 1%{?dist} +Release: 1%{?dist}.1 License: ASL 1.1 Group: Development/Tools URL: http://subversion.tigris.org/ @@ -28,11 +28,13 @@ Patch2: subversion-1.6.0-deplibs.patch Patch3: subversion-1.6.1-rpath.patch Patch6: subversion-1.6.0-pie.patch Patch7: subversion-1.1.3-java.patch +Patch8: subversion-1.6.2-kwallet.patch BuildRequires: autoconf, libtool, python, python-devel, texinfo, which BuildRequires: db4-devel >= 4.1.25, swig >= 1.3.24, gettext BuildRequires: apr-devel >= 1.3.0, apr-util-devel >= 1.3.0 BuildRequires: neon-devel >= 0:0.24.7-1, cyrus-sasl-devel BuildRequires: sqlite-devel >= 3.4.0 +BuildRequires: gnome-keyring-devel, dbus-devel, kdelibs-devel >= 4.0.0 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Provides: svn = %{version}-%{release} Requires: apr >= 1.3.0 @@ -60,6 +62,24 @@ The subversion-devel package includes the static libraries and include files for developers interacting with the subversion package. +%package gnome +Group: Development/Tools +Summary: GNOME Keyring support for Subversion +Requires: subversion = %{version}-%{release} + +%description gnome +The subversion-gnome package adds support for storing Subversion +passwords in the GNOME Keyring. + +%package kde +Group: Development/Tools +Summary: KDE Wallet support for Subversion +Requires: subversion = %{version}-%{release} + +%description kde +The subversion-kde package adds support for storing Subversion +passwords in the KDE Wallet. + %package -n mod_dav_svn Group: System Environment/Daemons Summary: Apache httpd module for Subversion server @@ -114,6 +134,7 @@ This package includes the Ruby bindings to the Subversion libraries. %ifarch sparc64 sed -i -e 's|-fpie|-fPIE|g' Makefile.in %endif +%patch8 -p1 -b .kwallet %build # Regenerate the buildsystem, so that: @@ -135,7 +156,9 @@ export CC=gcc CXX=g++ JAVA_HOME=%{jdk_path} CFLAGS="$RPM_OPT_FLAGS" --with-ruby-sitedir=%{ruby_sitearch} \ --with-apxs=%{_sbindir}/apxs --disable-mod-activation \ --disable-static --with-sasl=%{_prefix} \ - --disable-neon-version-check + --disable-neon-version-check \ + --with-gnome-keyring \ + --with-kwallet make %{?_smp_mflags} all make swig-py swig-py-lib %{swigdirs} make swig-pl swig-pl-lib swig-rb swig-rb-lib @@ -165,6 +188,13 @@ install -m 644 $RPM_SOURCE_DIR/subversion.conf ${RPM_BUILD_ROOT}%{_sysconfdir}/h rm -rf ${RPM_BUILD_ROOT}%{_includedir}/subversion-*/*.txt \ ${RPM_BUILD_ROOT}%{python_sitearch}/*/*.{a,la} +# The SVN build system is broken w.r.t. DSO support; it treats +# normal libraries as DSOs and puts them in $libdir, whereas they +# should go in some subdir somewhere, and be linked using -module, +# etc. So, forcibly nuke the .so's for libsvn_auth_{gnome,kde}, +# since nothing should ever link against them directly. +rm -f ${RPM_BUILD_ROOT}%{_libdir}/libsvn_auth_*.so + # remove stuff produced with Perl modules find $RPM_BUILD_ROOT -type f \ -a \( -name .packlist -o \( -name '*.bs' -a -empty \) \) \ @@ -206,6 +236,7 @@ sed -i "/^dependency_libs/{ %if %{make_check} %check export LANG=C LC_ALL=C +export LD_LIBRARY_PATH=$RPM_BUILD_ROOT%{_libdir} make check check-swig-pl check-swig-py CLEANUP=yes # check-swig-rb omitted: it runs svnserve %endif @@ -248,8 +279,16 @@ rm -rf ${RPM_BUILD_ROOT} %dir %{_sysconfdir}/subversion %exclude %{_libdir}/libsvn_swig_perl* %exclude %{_libdir}/libsvn_swig_ruby* +%exclude %{_libdir}/libsvn_auth_kwallet* +%exclude %{_libdir}/libsvn_auth_gnome* %exclude %{_mandir}/man*/*::* +%files gnome +%{_libdir}/libsvn_auth_gnome_keyring-*.so.* + +%files kde +%{_libdir}/libsvn_auth_kwallet-*.so.* + %files devel %defattr(-,root,root) %{_includedir}/subversion-1 @@ -286,6 +325,9 @@ rm -rf ${RPM_BUILD_ROOT} %endif %changelog +* Thu Sep 10 2009 Joe Orton 1.6.5-1.1 +- add -gnome, -kde subpackages (#522592) + * Sun Aug 23 2009 Joe Orton 1.6.5-1 - update to 1.6.5