+#
# Conditional build:
%bcond_with net_client_only # build only net client
%bcond_without swig # disable bindings generation with Swig
%bcond_without perl # build without Perl bindings
%bcond_without ruby # build without Ruby bindings
%bcond_without apache # build without Apache support (webdav, etc)
-%bcond_without javahl # build without javahl support (Java high-level bindings)
-%bcond_without tests # don't perform "make check"
-%bcond_without kwallet # build without kde4 wallet support
-%bcond_without kde # build without kde4 support (alias for kwallet)
+%bcond_without java # build without javahl support (Java high-level bindings)
+%bcond_with tests # don't perform "make check"
+%bcond_without kwallet # build without kde5 wallet support
+%bcond_without kde # build without kde5 support (alias for kwallet)
%bcond_without gnome # build without gnome keyring support
%bcond_without db # disable Subversion Berkeley DB based filesystem library
+%bcond_with db6 # allow BDB6 (not tested by upstream, released on AGPL)
-# for AC: --without csvn,gnome,javahl,kde,ruby
+# for AC: --without csvn,gnome,java,kde,ruby
%if %{with net_client_only}
%undefine with_apache
%undefine with_db
%undefine with_swig
-%undefine with_javahl
+%undefine with_java
+%undefine with_csvn
+%undefine with_gnome
+%undefine with_kde
%endif
%if %{without swig}
Summary(pl.UTF-8): System kontroli wersji podobny, ale lepszy, niż CVS
Summary(pt_BR.UTF-8): Sistema de versionamento concorrente
Name: subversion
-Version: 1.8.1
+Version: 1.10.3
Release: 1
License: Apache v2.0
Group: Development/Version Control
-Source0: http://www.idg.pl/mirrors/apache/subversion/%{name}-%{version}.tar.bz2
-# Source0-md5: f2ee0471b8a560f5efa0f2349d9c9ab9
+Source0: http://www.apache.org/dist/subversion/%{name}-%{version}.tar.bz2
+# Source0-md5: 34b493f22988956af2e2e8fdb2ad0151
Source1: %{name}-dav_svn.conf
Source2: %{name}-authz_svn.conf
Source3: %{name}-svnserve.init
Patch1: %{name}-DESTDIR.patch
Patch2: %{name}-ruby-datadir-path.patch
Patch3: %{name}-tests.patch
+Patch4: x32-libdir.patch
URL: http://subversion.apache.org/
-%{?with_apache:BuildRequires: apache-devel >= 2.2.0-8}
-BuildRequires: apr-devel >= 1:1.0.0
-BuildRequires: apr-util-devel >= 1:1.2.8-3
+%{?with_apache:BuildRequires: apache-devel >= 2.4.14}
+BuildRequires: apr-devel >= 1:1.3
+BuildRequires: apr-util-devel >= 1:1.3
+BuildRequires: apr-util-crypto-openssl
BuildRequires: autoconf >= 2.59
BuildRequires: automake
BuildRequires: bison
%if %{with kwallet} || %{with gnome}
BuildRequires: dbus-devel
%endif
+%{!?with_db6:BuildRequires: db-devel < 6}
BuildRequires: db-devel >= 4.1.25
BuildRequires: expat-devel
-BuildRequires: gettext-devel
-%{?with_kwallet:BuildRequires: kde4-kdelibs-devel}
+BuildRequires: gettext-tools
+%{?with_gnome:BuildRequires: glib2-devel >= 2.0}
+%{?with_kde:BuildRequires: kf5-kdelibs4support-devel}
+%{?with_kwallet:BuildRequires: kf5-kwallet-devel}
%{?with_gnome:BuildRequires: libgnome-keyring-devel}
+%{?with_gnome:BuildRequires: libsecret-devel}
BuildRequires: libmagic-devel
BuildRequires: libtool >= 1.4-9
+BuildRequires: libutf8proc-devel >= 1.3.1-4
+BuildRequires: lz4-devel
BuildRequires: pkgconfig
%{?with_csvn:BuildRequires: python-ctypesgen}
BuildRequires: rpm-pythonprov
BuildRequires: rpmbuild(macros) >= 1.656
BuildRequires: sed >= 4.0
-BuildRequires: sqlite3-devel >= 3.6.18
+BuildRequires: serf-devel >= 1.3.4
+BuildRequires: sqlite3-devel >= 3.8.11.1
BuildRequires: texinfo
BuildRequires: which
-BuildRequires: serf-devel >= 1.2.1
-%if %{with javahl}
+BuildRequires: zlib-devel >= 1.2
+%if %{with java}
BuildRequires: jdk >= 1.5
BuildRequires: libstdc++-devel
%endif
%if %{with ruby}
BuildRequires: rpm-rubyprov
BuildRequires: ruby-devel >= 1:1.8.2
+BuildRequires: ruby-irb
BuildRequires: ruby-rubygems
BuildRequires: swig-ruby >= 1.3.24
%endif
%define apacheconfdir %(%{apxs} -q SYSCONFDIR 2>/dev/null)/conf.d
%define apachelibdir %(%{apxs} -q LIBEXECDIR 2>/dev/null)
-%define skip_post_check_so libsvn_swig_py-1.so.* libsvn_swig_perl-1.so.*
+%define skip_post_check_so libsvn_swig_py-1.so.* libsvn_swig_perl-1.so.* libsvn_fs_x-1.so.*
%description
The goal of the Subversion project is to build a version control
Summary: Subversion libraries and modules
Summary(pl.UTF-8): Biblioteka subversion oraz ładowalne moduły
Group: Libraries
-Requires: serf >= 1.2.1
+Requires: apr >= 1:1.3
+Requires: apr-util >= 1:1.3
+Requires: serf >= 1.3.4
+Requires: zlib >= 1.2
Obsoletes: libsubversion0
%description libs
Summary(pt_BR.UTF-8): Arquivos de desenvolvimento para o Subversion
Group: Development/Libraries
Requires: %{name}-libs = %{version}-%{release}
-Requires: apr-util-devel >= 1:1.0.0
+Requires: apr-util-devel >= 1:1.3
+Requires: serf-devel >= 1.3.4
Obsoletes: libsubversion0-devel
%description devel
Requires: %{name} = %{version}-%{release}
Requires: bash-completion
Conflicts: %{name}-tools <= 1.1.0-0.rc6.1
+%if "%{_rpmversion}" >= "5"
+BuildArch: noarch
+%endif
%description -n bash-completion-subversion
Bash completion for subversion.
Moduł uwierzytelniający dla Subversion pozwalający klientom SVN
uwierzytelniać się przy użyciu mechanizmu GNOME Keyring.
-%package -n kde4-kwallet-subversion
+%package -n kde5-kwallet-subversion
Summary: KDE Wallet authentication provider for Subversion
Summary(pl.UTF-8): Moduł uwierzytelniający dla Subversion wykorzystujący Portfel KDE
Group: X11/Applications
Requires: %{name}-libs = %{version}-%{release}
-%description -n kde4-kwallet-subversion
+%description -n kde5-kwallet-subversion
Authentication provider module for Subversion which allows SVN client
to authenticate using KDE Wallet.
-%description -n kde4-kwallet-subversion -l pl.UTF-8
+%description -n kde5-kwallet-subversion -l pl.UTF-8
Moduł uwierzytelniający dla Subversion pozwalający klientom SVN
uwierzytelniać się przy użyciu Portfela KDE.
%patch1 -p1
%patch2 -p0
%patch3 -p1
+%patch4 -p1
sed -i -e 's#serf_prefix/lib#serf_prefix/%{_lib}#g' build/ac-macros/serf.m4
--disable-mod-activation \
%if %{with db}
--with-berkeley-db="db.h:%{_includedir}:%{_libdir}:db" \
+ %{?with_db6:--enable-bdb6} \
%else
--without-berkeley-db \
%endif
%if %{with csvn}
--with-ctypesgen=%{_bindir}/ctypesgen.py \
%endif
-%if %{with javahl}
+%if %{with java}
--enable-javahl \
--with-jdk="%{java_home}" \
--without-jikes \
%{__make} -j1
cd -
%endif
-%if %{with javahl}
+%if %{with java}
%{__make} -j1 javahl \
javahl_javadir="%{_javadir}"
%endif
$RPM_BUILD_ROOT%{_sysconfdir}/%{name} \
$RPM_BUILD_ROOT/home/services/subversion{,/repos}
-%{__make} install -j1 \
+%{__make} -j1 install \
+ pkgconfig_dir=%{_pkgconfigdir} \
toolsdir=%{_bindir} \
DESTDIR=$RPM_BUILD_ROOT \
APACHE_LIBEXECDIR="$(%{_sbindir}/apxs -q LIBEXECDIR)" \
-%if %{with javahl}
+%if %{with java}
install-javahl \
javahl_javadir="%{_javadir}" \
%endif
swig_pydir=%{py_sitedir}/libsvn \
swig_pydir_extra=%{py_sitedir}/svn \
%endif
+ install-tools
+
%if %{with csvn}
- install-ctypes-python \
+# manually execute install-ctypes-python target
+cd subversion/bindings/ctypes-python
+%py_install
+cd ../../..
%endif
- install-tools
%if %{with ruby}
-%{__make} install -j1 \
- DESTDIR=$RPM_BUILD_ROOT \
- install-swig-rb install-swig-rb-doc \
+%{__make} -j1 install-swig-rb install-swig-rb-doc \
+ SWIG_RB_RI_DATADIR=$RPM_BUILD_ROOT%{ruby_ridir} \
+ DESTDIR=$RPM_BUILD_ROOT
# not our package
%{__rm} -r $RPM_BUILD_ROOT%{ruby_ridir}/OptionParser
%{__rm} -r $RPM_BUILD_ROOT%{ruby_ridir}/Time
+%if "%{ruby_abi}" >= "2.0"
+%{__rm} -r $RPM_BUILD_ROOT%{ruby_ridir}/File
+%endif
%{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/cache.ri
%{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/created.rid
%endif
%endif
# rename not to conflict with standard packages. (are these needed at all?)
-mv $RPM_BUILD_ROOT%{_bindir}/{,svn}diff
-mv $RPM_BUILD_ROOT%{_bindir}/{,svn}diff3
-mv $RPM_BUILD_ROOT%{_bindir}/{,svn}diff4
+%{__mv} $RPM_BUILD_ROOT%{_bindir}/{,svn}diff
+%{__mv} $RPM_BUILD_ROOT%{_bindir}/{,svn}diff3
+%{__mv} $RPM_BUILD_ROOT%{_bindir}/{,svn}diff4
%if %{with python} || %{with csvn}
%py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
cp -p tools/client-side/bash_completion $RPM_BUILD_ROOT/etc/bash_completion.d/%{name}
cp -p tools/examples/*.c $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
-%if %{with javahl}
+%if %{with java}
%{__rm} $RPM_BUILD_ROOT%{_libdir}/libsvnjavahl*.{la,a}
%endif
%if %{with swig}
%endif
%if %{with gnome} || %{with kwallet}
# dlopened by soname (libsvn_auth_*-1.so.0)
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/libsvn_auth_*-1.{so,la,a}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libsvn_auth_*-1.{so,la}
%endif
%find_lang %{name}
%post -n gnome-keyring-subversion -p /sbin/ldconfig
%postun -n gnome-keyring-subversion -p /sbin/ldconfig
-%post -n kde4-kwallet-subversion -p /sbin/ldconfig
-%postun -n kde4-kwallet-subversion -p /sbin/ldconfig
+%post -n kde5-kwallet-subversion -p /sbin/ldconfig
+%postun -n kde5-kwallet-subversion -p /sbin/ldconfig
%post svnserve
/sbin/chkconfig --add svnserve
%doc tools/hook-scripts/*.{pl,py,example}
%doc tools/hook-scripts/mailer/*.{py,example}
%doc tools/xslt/*
+%attr(755,root,root) %{_bindir}/fsfs-stats
%attr(755,root,root) %{_bindir}/svn
+%attr(755,root,root) %{_bindir}/svn-mergeinfo-normalizer
%attr(755,root,root) %{_bindir}/svnadmin
+%attr(755,root,root) %{_bindir}/svnconflict
%attr(755,root,root) %{_bindir}/svndumpfilter
%attr(755,root,root) %{_bindir}/svnlook
+%attr(755,root,root) %{_bindir}/svnmover
%attr(755,root,root) %{_bindir}/svnmucc
%attr(755,root,root) %{_bindir}/svnrdump
%attr(755,root,root) %{_bindir}/svnsync
%attr(755,root,root) %ghost %{_libdir}/libsvn_fs_fs-1.so.0
%attr(755,root,root) %{_libdir}/libsvn_fs_util-1.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libsvn_fs_util-1.so.0
+%attr(755,root,root) %{_libdir}/libsvn_fs_x-1.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsvn_fs_x-1.so.0
%attr(755,root,root) %{_libdir}/libsvn_ra-1.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libsvn_ra-1.so.0
%attr(755,root,root) %{_libdir}/libsvn_ra_local-1.so.*.*.*
%endif
%attr(755,root,root) %{_libdir}/libsvn_fs_fs-1.so
%attr(755,root,root) %{_libdir}/libsvn_fs_util-1.so
+%attr(755,root,root) %{_libdir}/libsvn_fs_x-1.so
%attr(755,root,root) %{_libdir}/libsvn_ra-1.so
%attr(755,root,root) %{_libdir}/libsvn_ra_local-1.so
%attr(755,root,root) %{_libdir}/libsvn_ra_serf-1.so
%endif
%{_libdir}/libsvn_fs_fs-1.la
%{_libdir}/libsvn_fs_util-1.la
+%{_libdir}/libsvn_fs_x-1.la
%{_libdir}/libsvn_ra-1.la
%{_libdir}/libsvn_ra_local-1.la
%{_libdir}/libsvn_ra_serf-1.la
%{_libdir}/libsvn_repos-1.la
%{_libdir}/libsvn_subr-1.la
%{_libdir}/libsvn_wc-1.la
+%if %{with gnome}
+# only for feature check, linking will fail (no libsvn_auth_gnome_keyring.so)
+%{_pkgconfigdir}/libsvn_auth_gnome_keyring.pc
+%endif
+%if %{with kwallet}
+# only for feature check, linking will fail (no libsvn_auth_kwallet.so)
+%{_pkgconfigdir}/libsvn_auth_kwallet.pc
+%endif
+%{_pkgconfigdir}/libsvn_client.pc
+%{_pkgconfigdir}/libsvn_delta.pc
+%{_pkgconfigdir}/libsvn_diff.pc
+%{_pkgconfigdir}/libsvn_fs.pc
+%if %{without net_client_only}
+%{_pkgconfigdir}/libsvn_fs_base.pc
+%endif
+%{_pkgconfigdir}/libsvn_fs_fs.pc
+%{_pkgconfigdir}/libsvn_fs_util.pc
+%{_pkgconfigdir}/libsvn_fs_x.pc
+%{_pkgconfigdir}/libsvn_ra.pc
+%{_pkgconfigdir}/libsvn_ra_local.pc
+%{_pkgconfigdir}/libsvn_ra_serf.pc
+%{_pkgconfigdir}/libsvn_ra_svn.pc
+%{_pkgconfigdir}/libsvn_repos.pc
+%{_pkgconfigdir}/libsvn_subr.pc
+%{_pkgconfigdir}/libsvn_wc.pc
%{_includedir}/%{name}-1
%{_examplesdir}/%{name}-%{version}
%endif
%{_libdir}/libsvn_fs_fs-1.a
%{_libdir}/libsvn_fs_util-1.a
+%{_libdir}/libsvn_fs_x-1.a
%{_libdir}/libsvn_ra-1.a
%{_libdir}/libsvn_ra_local-1.a
%{_libdir}/libsvn_ra_serf-1.a
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libsvn_auth_gnome_keyring-1.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libsvn_auth_gnome_keyring-1.so.0
+# does anything use it? requires libsvn_auth_gnome_keyring.so
+#%{_pkgconfigdir}/libsvn_auth_gnome_keyring.pc
%endif
%if %{with kwallet}
-%files -n kde4-kwallet-subversion
+%files -n kde5-kwallet-subversion
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libsvn_auth_kwallet-1.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libsvn_auth_kwallet-1.so.0
+# does anything use it? requires libsvn_auth_kwallet.so
+#%{_pkgconfigdir}/libsvn_auth_kwallet.pc
%endif
%if %{without net_client_only}
%attr(755,root,root) %{_bindir}/svndiff4
# tools/server-side
-%attr(755,root,root) %{_bindir}/fsfs-stats
+%attr(755,root,root) %{_bindir}/svnfsfs
%attr(755,root,root) %{_bindir}/svn-populate-node-origins-index
-%attr(755,root,root) %{_bindir}/svn-rep-sharing-stats
%attr(755,root,root) %{_bindir}/svnauthz
%attr(755,root,root) %{_bindir}/svnauthz-validate
# tools/client-side
-%attr(755,root,root) %{_bindir}/svn-bench
+%attr(755,root,root) %{_bindir}/svnbench
# tools/dev/svnraisetreeconflict
%attr(755,root,root) %{_bindir}/svnraisetreeconflict
# tools/dev/
%attr(755,root,root) %{_bindir}/fsfs-access-map
-%attr(755,root,root) %{_bindir}/fsfs-reorg
+%attr(755,root,root) %{_bindir}/x509-parser
%files -n bash-completion-subversion
%defattr(644,root,root,755)
%endif # net_client_only
-%if %{with javahl}
+%if %{with java}
%files -n java-subversion
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libsvnjavahl-1.so.*.*.*
%dir %{perl_vendorarch}/auto/SVN
%dir %{perl_vendorarch}/auto/SVN/*
%attr(755,root,root) %{perl_vendorarch}/auto/SVN/*/*.so
-%{perl_vendorarch}/auto/SVN/*/*.bs
%{_mandir}/man3/*.3pm*
%endif