- fix performance problems when dynamically linking against SQLite 3.8. While this does not create a new working copy format version, working copies that were created with a 1.8 client linked against SQLite 3.7 need to have "svn upgrade" run once to enjoy the benefits, while otherwise maintaining compatibility. The step is optional and not required for new working copies. Adds subversion-1.8.x-SQLite-3.8.patch based on upstream commits. - dynamically link against SQLite as per the above in 13.1 and up. OBS-URL: https://build.opensuse.org/request/show/209129 OBS-URL: https://build.opensuse.org/package/show/devel:tools:scm:svn/subversion?expand=0&rev=158
831 lines
24 KiB
RPMSpec
831 lines
24 KiB
RPMSpec
#
|
|
# spec file for package subversion
|
|
#
|
|
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
|
# Copyright (c) 2013 Andreas Stieger <andreas.stieger@gmx.de>
|
|
# Copyright (c) 2009-2010 Pascal Bleser <pascal.bleser@opensuse.org>
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
# svn 1.8 supports ruby 1.8 >= 1.8.2 or 1.9.3 specifically. openSUSE 13.2
|
|
# has ruby 2.0 - Ruby bindings to be re-enabled when svn is ported to ruby 2.0
|
|
%define with_ruby 0%{?suse_version} > 1110 && 0%{?suse_version} <= 1310
|
|
%define with_intree_swig 0%{?suse_version} != 1110
|
|
%define with_intree_sqlite 0%{?suse_version} < 1310
|
|
%define with_python_ctypes 0
|
|
%define with_kde4_kwallet 0%{?suse_version} > 1100
|
|
%define with_gnome_keyring 0%{?suse_version} > 1100
|
|
|
|
# run build --with=regression_tests to run test suite
|
|
%bcond_with regression_tests
|
|
|
|
%if 0%{?sles_version} > 10 && 0%{?sles_version} < 12
|
|
%define with_bashcomp 0
|
|
%else
|
|
%define with_bashcomp 1
|
|
%endif
|
|
|
|
%define svngroup svn
|
|
%define svnuser svn
|
|
|
|
Name: subversion
|
|
Version: 1.8.5
|
|
Release: 0
|
|
# in-tree SWIG version to use for the build:
|
|
%define swig_version 1.3.36
|
|
%define sqlite_version 3.7.15.1
|
|
%define sqlite_pkg_version 3071501
|
|
BuildRequires: apache2-devel
|
|
BuildRequires: db-devel
|
|
BuildRequires: file-devel
|
|
BuildRequires: gcc-c++
|
|
BuildRequires: krb5-devel
|
|
BuildRequires: libstdc++-devel
|
|
BuildRequires: libtool
|
|
BuildRequires: pkgconfig
|
|
BuildRequires: python-devel
|
|
BuildRequires: python-xml
|
|
BuildRequires: update-alternatives
|
|
BuildRequires: zlib-devel
|
|
Requires(pre): pwdutils
|
|
#
|
|
%if 0%{?suse_version} > 1140
|
|
BuildRequires: pkgconfig(systemd)
|
|
%{?systemd_requires}
|
|
%define has_systemd 1
|
|
%endif
|
|
#
|
|
%if %with_bashcomp
|
|
BuildRequires: bash-completion
|
|
%endif #with_bashcomp
|
|
%if %with_python_ctypes
|
|
BuildRequires: ctypesgen
|
|
%endif
|
|
%if %with_ruby
|
|
# Only 1.8.x releases are fully supported, 1.9.3 support is new
|
|
# configure script disallows versions between 1.8.7 and 1.9.3
|
|
BuildConflicts: ruby-devel = 1.9.0
|
|
BuildConflicts: ruby-devel = 1.9.1
|
|
BuildConflicts: ruby-devel = 1.9.2
|
|
%if 0%{?suse_version} >= 1310
|
|
# 13.1 and later have a ruby19 package, pkgconfig and a different versioning scheme
|
|
BuildRequires: pkgconfig(ruby-1.9)
|
|
%else
|
|
BuildRequires: ruby-devel >= 1.8.2
|
|
%endif
|
|
%endif # with_ruby
|
|
BuildRequires: apache2-prefork
|
|
BuildRequires: cyrus-sasl-devel
|
|
%if %with_gnome_keyring
|
|
BuildRequires: dbus-1-devel
|
|
BuildRequires: glib2-devel
|
|
%if 0%{?suse_version} >= 1130
|
|
BuildRequires: libgnome-keyring-devel
|
|
%else
|
|
BuildRequires: gnome-keyring-devel
|
|
%endif
|
|
%endif # with_gnome_keyring
|
|
BuildRequires: libserf-devel >= 1.2.1
|
|
%if %with_kde4_kwallet
|
|
BuildRequires: dbus-1-devel
|
|
BuildRequires: kdelibs4-core
|
|
BuildRequires: libkde4-devel
|
|
BuildRequires: libqt4-devel
|
|
%endif # with_kde4_kwallet
|
|
%if 0%{?suse_version} >= 1130
|
|
%define with_java 1
|
|
BuildRequires: java-devel >= 1.6.0
|
|
BuildRequires: junit
|
|
%else
|
|
%define with_java 0
|
|
%endif
|
|
%if %{with regression_tests}
|
|
# svnserveautocheck.sh davautocheck.sh requirements
|
|
BuildRequires: net-tools
|
|
BuildRequires: python-sqlite
|
|
BuildRequires: util-linux
|
|
BuildRequires: wget
|
|
%if 0%{?suse_version} > 1230
|
|
BuildRequires: time
|
|
%endif
|
|
%endif # with regression_tests
|
|
#
|
|
%define _fwdefdir /etc/sysconfig/SuSEfirewall2.d/services
|
|
#
|
|
%define apxs /usr/sbin/apxs2
|
|
%define apache_libexecdir %(%{apxs} -q LIBEXECDIR)
|
|
%define apache_sysconfdir %(%{apxs} -q SYSCONFDIR)
|
|
%define apache_mmn %(MMN="$(%{apxs} -q LIBEXECDIR)_MMN"; test -x "$MMN" && "$MMN")
|
|
%if %{!?site_python:1}0
|
|
%define site_python %(%__python -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib()")
|
|
%endif
|
|
#
|
|
PreReq: %insserv_prereq %fillup_prereq
|
|
#
|
|
Summary: Subversion version control system
|
|
License: Apache-2.0
|
|
Group: Development/Tools/Version Control
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
Url: https://subversion.apache.org
|
|
Source0: https://www.apache.org/dist/subversion/%{name}-%{version}.tar.bz2
|
|
Source1: subversion.conf
|
|
Source2: subversion.README.SuSE
|
|
Source4: contrib-1485350.tar.bz2
|
|
Source9: subversion.rcsvnserve
|
|
Source10: subversion.sysconfig.svnserve
|
|
Source12: subversion.sysconfig.svnserve.remoteaccess
|
|
Source13: subversion.xinetd.svnserve
|
|
Source14: svnserve.service
|
|
Source15: svnserve.tmpfiles
|
|
Source42: subversion.svngrep.sh
|
|
Source43: subversion.svndiff.sh
|
|
# https://people.apache.org/keys/group/subversion-pmc.asc
|
|
Source50: subversion.keyring
|
|
Source51: https://www.apache.org/dist/subversion/%{name}-%{version}.tar.bz2.asc
|
|
%if 0%{?suse_version} >= 1230
|
|
BuildRequires: gpg-offline
|
|
%endif
|
|
%if %with_intree_swig
|
|
Source90: http://sourceforge.net/projects/swig/files/swig/swig-%{swig_version}/swig-%{swig_version}.tar.gz
|
|
%else
|
|
BuildRequires: swig
|
|
%endif
|
|
%if %with_intree_sqlite
|
|
Source91: http://www.sqlite.org/sqlite-amalgamation-%{sqlite_pkg_version}.zip
|
|
BuildRequires: unzip
|
|
BuildConflicts: sqlite3-devel
|
|
%else
|
|
BuildRequires: sqlite3-devel >= %{sqlite_version}
|
|
%requires_ge libsqlite3-0
|
|
%endif # with_intree_sqlite
|
|
Source92: %{name}.rpmlintrc
|
|
#
|
|
Patch11: subversion.libtool-verbose.patch
|
|
# build fixes
|
|
Patch20: subversion-swig-perl-install_vendor.patch
|
|
Patch23: subversion.libtool-pie-flags.patch
|
|
Patch31: subversion.perl.LD_RUN_PATH.patch
|
|
Patch37: subversion-no-build-date.patch
|
|
Patch38: subversion-1.8.x-fix-ppc-tests.patch
|
|
Patch39: subversion-1.8.x-SQLite-3.8.patch
|
|
#
|
|
%if %with_ruby
|
|
%define rb_arch %(echo "%{_host_cpu}-%{_os}" | sed -e "s/i686/i586/" -e "s/armv5tel/armv4l/" -e "s/hppa2.0/hppa/")
|
|
%define site_ruby %(ruby -rrbconfig -e 'print RbConfig::CONFIG["sitelibdir"]')
|
|
%endif # with_ruby
|
|
#
|
|
%if %with_java
|
|
Provides: subversion-javahl = %{version}-%{release}
|
|
%endif # with_java
|
|
|
|
%description
|
|
Subversion exists to be universally recognized and adopted as an open-source,
|
|
centralized version control system characterized by its reliability as a safe
|
|
haven for valuable data; the simplicity of its model and usage; and its ability
|
|
to support the needs of a wide variety of users and projects, from individuals
|
|
to large-scale enterprise operations.
|
|
|
|
|
|
%package devel
|
|
Summary: Development package for Subversion developers
|
|
Group: Development/Libraries/C and C++
|
|
Requires: subversion = %{version}
|
|
# this pulls in libapr1-devel and libexpat-devel
|
|
Requires: libapr-util1-devel
|
|
|
|
%description devel
|
|
The subversion-devel package includes the static libraries and include
|
|
files for developers interacting with the subversion package.
|
|
|
|
|
|
|
|
%package tools
|
|
Summary: Tools for Subversion
|
|
Group: Development/Tools/Version Control
|
|
|
|
%description tools
|
|
This package contains some tools for subversion server and
|
|
repository admins.
|
|
|
|
%package perl
|
|
Summary: Allows Perl scripts to directly use Subversion repositories
|
|
Group: Development/Tools/Version Control
|
|
Requires: perl = %{perl_version}
|
|
Requires: perl >= 5.8
|
|
Requires: subversion = %{version}
|
|
|
|
%description perl
|
|
Provides Perl (SWIG) support for Subversion.
|
|
|
|
|
|
|
|
%package python
|
|
Summary: Allows Python scripts to directly use Subversion repositories
|
|
Group: Development/Tools/Version Control
|
|
Requires: subversion = %{version}
|
|
|
|
%description python
|
|
Provides Python (SWIG) support for Subversion.
|
|
|
|
|
|
|
|
%if %with_python_ctypes
|
|
|
|
%package python-ctypes
|
|
|
|
Summary: High-Level Python Bindings for Subversion
|
|
Group: Development/Tools/Version Control
|
|
Requires: subversion = %{version}
|
|
|
|
%description python-ctypes
|
|
Provides high-level Python support for Subversion, based on ctypes.
|
|
%endif # with_python_ctypes
|
|
%if %with_ruby
|
|
|
|
%package ruby
|
|
Summary: Allows Ruby scripts to directly use Subversion repositories
|
|
Group: Development/Tools/Version Control
|
|
Requires: subversion = %{version}
|
|
|
|
%description ruby
|
|
Provides Ruby (SWIG) support for Subversion.
|
|
|
|
|
|
|
|
%endif # with_ruby
|
|
|
|
%package server
|
|
Summary: Apache server module for Subversion server
|
|
Group: Development/Tools/Version Control
|
|
Requires: %{apache_mmn}
|
|
Requires: apache2
|
|
Requires: subversion = %{version}
|
|
|
|
%description server
|
|
The subversion-server package adds the Subversion server Apache module
|
|
to the Apache directories and configuration.
|
|
|
|
http://subversion.apache.org
|
|
|
|
|
|
|
|
%if %with_kde4_kwallet
|
|
|
|
%package -n libsvn_auth_kwallet-1-0
|
|
Summary: A Concurrent Versioning system similar to but better than CVS
|
|
Group: Development/Tools/Version Control
|
|
|
|
%description -n libsvn_auth_kwallet-1-0
|
|
Provides KWallet integration for Subversion.
|
|
|
|
|
|
%endif # with_kde4_kwallet
|
|
%if %with_gnome_keyring
|
|
|
|
%package -n libsvn_auth_gnome_keyring-1-0
|
|
Summary: A Concurrent Versioning system similar to but better than CVS
|
|
Group: Development/Tools/Version Control
|
|
|
|
%description -n libsvn_auth_gnome_keyring-1-0
|
|
Subversion does the same thing cvs (CVS (Concurrent Versioning System))
|
|
but has major enhancements compared to CVS. The name of the cmdline
|
|
client is svn.
|
|
|
|
|
|
|
|
%endif # with_gnome_keyring
|
|
|
|
%if %with_bashcomp
|
|
|
|
%package bash-completion
|
|
Summary: Bash Completion for %{name}
|
|
Group: Development/Tools/Version Control
|
|
Requires: %{name} = %{version}
|
|
Requires: bash-completion
|
|
%if %{?suse_version} >= 1130
|
|
BuildArch: noarch
|
|
%endif
|
|
|
|
%description bash-completion
|
|
Bash command line completion support for %{name} - completion of subcommands,
|
|
parameters and keywords for the svn command and other tools.
|
|
|
|
%endif # with_bashcomp
|
|
|
|
%prep
|
|
%{?gpg_verify: %gpg_verify %{S:51}}
|
|
%if %with_intree_swig
|
|
%setup -q -n subversion-%{version} -a 4 -b 90
|
|
%else
|
|
%setup -q -n subversion-%{version} -a 4
|
|
%endif
|
|
#
|
|
%if %with_intree_sqlite
|
|
%__install -d ./sqlite-amalgamation
|
|
pushd ./sqlite-amalgamation
|
|
unzip -ej "%{SOURCE91}"
|
|
popd #./sqlite-amalgamation
|
|
%endif # with_intree_sqlite
|
|
#
|
|
%patch11 -p1
|
|
%patch20 -p1
|
|
%patch23 -p1
|
|
%patch31 -p1
|
|
%patch37 -p1
|
|
%patch38 -p1
|
|
%patch39 -p1
|
|
|
|
SQLITE_RECOMMENDED_VER=$(grep -E '^SQLITE_RECOMMENDED_VER=' configure.ac|cut -f2 -d=|cut -f2 -d\")
|
|
#"
|
|
[ "$SQLITE_RECOMMENDED_VER" = "%{sqlite_version}" ] || {
|
|
echo "ERROR: recommended sqlite version is $SQLITE_RECOMMENDED_VER, but we're using %{sqlite_version}" >&2;
|
|
exit 1;
|
|
}
|
|
|
|
%build
|
|
# Re-boot strap, needed for patch37
|
|
./autogen.sh
|
|
# This package failed when testing with -Wl,-as-needed being default.
|
|
# So we disable it here, if you want to retest, just delete this comment and the line below.
|
|
export SUSE_ASNEEDED=0
|
|
%if 0%{?sles_version} == 9
|
|
mkdir BUILDPATH
|
|
%__ln_s "%{_usr}/bin/python2.5" "BUILDPATH/python"
|
|
export PATH="$PWD/BUILDPATH:$PATH"
|
|
export PYTHON="%{_usr}/bin/python2.5"
|
|
%endif
|
|
%if %with_intree_swig
|
|
SWIG_ROOT=`cd ..; pwd`/intree-swig
|
|
pushd "../swig-%{swig_version}"
|
|
%ifarch aarch64
|
|
cp ../subversion-%{version}/build/config.* Tools/config/
|
|
%endif
|
|
CFLAGS="%{optflags}" \
|
|
CXXFLAGS="%{optflags}" \
|
|
./configure \
|
|
--prefix="$SWIG_ROOT" \
|
|
--libdir="$SWIG_ROOT/%{_lib}" \
|
|
--without-tcl \
|
|
--without-java \
|
|
--without-gcj \
|
|
--without-guile \
|
|
--without-mzscheme \
|
|
--without-ocaml \
|
|
--without-pike \
|
|
--without-chicken \
|
|
--without-csharp \
|
|
--without-lua \
|
|
--without-allegrocl \
|
|
--without-clisp \
|
|
--without-r \
|
|
--with-swiglibdir="$SWIG_ROOT/share/swig"
|
|
%__make %{?jobs:-j%{jobs}}
|
|
%__make install
|
|
popd #swig
|
|
%endif
|
|
|
|
with_jdk=none
|
|
%if %with_java
|
|
for i in \
|
|
/usr/%{_lib}/jvm/java-openjdk \
|
|
/usr/%{_lib}/jvm/java \
|
|
/usr/%{_lib}/jvm/java-1.5.0-ibm \
|
|
/usr/%{_lib}/jvm/java-1.4.2-gcj \
|
|
/usr/%{_lib}/BEAJava2-1.4.2 \
|
|
/usr/%{_lib}/SunJava2-1.4.2 \
|
|
/usr/%{_lib}/jvm/java-1.4.2-sun \
|
|
/usr/lib/jvm/java-1.4.2-sun \
|
|
/usr/%{_lib}/jvm/java-1.5.0-ibm \
|
|
/usr/%{_lib}/jvm/java-1.5.0-sun \
|
|
/usr/lib/jvm/java-1.5.0-sun \
|
|
/usr/%{_lib}/jvm/java-1.4.2-ibm \
|
|
/usr/%{_lib}/jvm/IBMJava2-1.4.2 \
|
|
/usr/lib/BEAJava2-1.4.2 \
|
|
/usr/lib/SunJava2-1.4.2 \
|
|
/usr/lib/jvm/java-1.4.2-sun \
|
|
/usr/lib/IBMJava2-1.4 \
|
|
; do
|
|
if [ -d "$i" ] ; then
|
|
with_jdk="$i"
|
|
break
|
|
fi
|
|
done
|
|
%endif # with_java
|
|
if [ "$with_jdk" != "none" ] ; then
|
|
with_jdk="--with-jdk=$with_jdk --enable-javahl"
|
|
echo with_jdk > with_jdk
|
|
cat > with_jdk.files <<EOF-JAVA
|
|
%{_libdir}/libsvnjavahl*.so.*
|
|
%{_libdir}/libsvnjavahl*.so
|
|
%dir %{_libdir}/svn-javahl
|
|
%{_libdir}/svn-javahl/svn-javahl.jar
|
|
%{_datadir}/java/svn-javahl.jar
|
|
EOF-JAVA
|
|
else
|
|
with_jdk=""
|
|
rm -f with_jdk
|
|
echo -n '' > with_jdk.files
|
|
fi
|
|
%if !%with_java
|
|
with_jdk=""
|
|
rm -f with_jdk
|
|
echo -n '' > with_jdk.files
|
|
%endif # !with_java
|
|
cat with_jdk.files
|
|
# ### these possibly need further discussion
|
|
# swig_pydir = @libdir@/svn-python/libsvn
|
|
# swig_pydir_extra = @libdir@/svn-python/svn
|
|
sed --in-place=~ "
|
|
s@^swig_pydir = .*@swig_pydir = %{site_python}/libsvn@
|
|
s@^swig_pydir_extra = .*@swig_pydir_extra = %{site_python}/svn@
|
|
" Makefile.in
|
|
diff -u Makefile.in~ Makefile.in || true
|
|
sh -x autogen.sh
|
|
for i in subversion/bindings/javahl/native/*.cpp
|
|
do
|
|
d=$(sed -n '/^#include "..\/include/{s@^[^/]\+\([^"]\+\).*@subversion/bindings/javahl\1@;H};${x;s@\n@ @gp}' $i)
|
|
echo
|
|
echo "# $i"
|
|
if ! test -z "$d"
|
|
then
|
|
echo ${i%.cpp}.lo: $d
|
|
fi
|
|
echo
|
|
done >> build-outputs.mK
|
|
export CFLAGS="$(%{apxs} -q CFLAGS) %{optflags} -fpie -fstack-protector"
|
|
%if 0%{?suse_version} >= 1230
|
|
export CFLAGS="$CFLAGS -std=gnu99"
|
|
%endif
|
|
export CXXFLAGS="$CFLAGS"
|
|
export LDFLAGS=-pie
|
|
export PATH="${SWIG_ROOT}/bin:${PATH}"
|
|
%configure \
|
|
--with-editor="vim -c 'set tw=72 et' " \
|
|
--with-serf=%{_prefix} \
|
|
--with-apr=%{_prefix} \
|
|
--with-apr-util=%{_prefix} \
|
|
--with-apxs=%{apxs} \
|
|
--with-zlib=%{_prefix} \
|
|
--with-berkeley-db=db.h:db.h:%{_prefix}:db \
|
|
--with-apache-libexecdir=%{apache_libexecdir} \
|
|
$with_jdk \
|
|
%if %with_java
|
|
--with-junit="%{_usr}/share/java/junit.jar" \
|
|
%endif
|
|
--with-jikes=no \
|
|
%if %with_intree_swig
|
|
--with-swig="$SWIG_ROOT" \
|
|
%endif
|
|
%if %with_intree_sqlite
|
|
--with-sqlite="./sqlite-amalgamation/sqlite3.c" \
|
|
%else
|
|
--with-sqlite="%{_usr}" \
|
|
%endif
|
|
%if %with_gnome_keyring
|
|
--with-gnome-keyring \
|
|
%endif
|
|
%if %with_kde4_kwallet
|
|
--with-kwallet \
|
|
%endif
|
|
--disable-mod-activation \
|
|
--with-libmagic \
|
|
--disable-static
|
|
%__make %{?jobs:-j%jobs} SWIG_LDFLAGS=
|
|
#
|
|
if [ "$with_jdk" != "" ] ; then
|
|
with_jdk=javahl
|
|
fi
|
|
%if %with_ruby
|
|
ruby_target=swig-rb
|
|
%else
|
|
ruby_target=
|
|
%endif # with_ruby
|
|
%if %with_python_ctypes
|
|
python_ctypes_target=ctypes-python
|
|
%else
|
|
python_ctypes_target=
|
|
%endif # with_python_ctypes
|
|
%__make extraclean-bindings
|
|
%__make swig-py $python_ctypes_target swig-pl $ruby_target SWIG_LDFLAGS= $with_jdk
|
|
|
|
%install
|
|
if [ -f with_jdk ] ; then
|
|
with_jdk=install-javahl
|
|
else
|
|
with_jdk=
|
|
fi
|
|
%if %with_ruby
|
|
ruby_target=install-swig-rb
|
|
%else
|
|
ruby_target=
|
|
%endif # with_ruby
|
|
%if %with_python_ctypes
|
|
python_ctypes_target=install-ctypes-python
|
|
%else
|
|
python_ctypes_target=
|
|
%endif # with_python_ctypes
|
|
%__make DESTDIR="$RPM_BUILD_ROOT" install install-swig-pl install-swig-py $python_ctypes_target $ruby_target $with_jdk
|
|
%if %with_python_ctypes
|
|
# remove csvn .pyc files and recompile them because they contain the $RPM_BUILD_ROOT path:
|
|
find "%{buildroot}%{py_prefix}/lib/python%{py_ver}/site-packages/csvn/" -name "*.pyc" | xargs %__rm -f
|
|
%__python "%{py_libdir}/compileall.py" -f -d "%{py_prefix}/lib/python%{py_ver}/site-packages/csvn" "%{buildroot}/%{py_prefix}/lib/python%{py_ver}/csvn"
|
|
%endif # with_python_ctypes
|
|
|
|
%perl_process_packlist
|
|
%find_lang %name
|
|
#
|
|
cp -Lav %{S:42} $RPM_BUILD_ROOT%{_bindir}/svngrep
|
|
cp -Lav %{S:43} $RPM_BUILD_ROOT%{_bindir}/svndiff
|
|
#
|
|
mkdir -p $RPM_BUILD_ROOT/usr/share/emacs/site-lisp/
|
|
cp -avL contrib/client-side/emacs/*.el $RPM_BUILD_ROOT/usr/share/emacs/site-lisp/
|
|
rm -f $RPM_BUILD_ROOT/usr/share/emacs/site-lisp/vc-svn.el
|
|
#
|
|
cp -avL contrib/client-side/svn_apply_autoprops.py $RPM_BUILD_ROOT/usr/bin
|
|
#
|
|
mkdir -p $RPM_BUILD_ROOT/%{apache_sysconfdir}/conf.d
|
|
cp -av %{S:1} $RPM_BUILD_ROOT/%{apache_sysconfdir}/conf.d/subversion.conf
|
|
#
|
|
cp -avL %{S:2} README.SuSE
|
|
cp -avL subversion/mod_authz_svn/INSTALL README.mod_authz_svn
|
|
cat %name.lang > files.subversion
|
|
cat with_jdk.files >> files.subversion
|
|
#
|
|
# tools
|
|
%__make DESTDIR="$RPM_BUILD_ROOT" install-tools
|
|
%__mv $RPM_BUILD_ROOT%{_bindir}/svn-tools/{svn-populate-node-origins-index,svn-rep-sharing-stats,svnauthz-validate,svn-bench,fsfs-stats} $RPM_BUILD_ROOT%{_bindir}
|
|
# discard all other tools
|
|
%__rm -rf $RPM_BUILD_ROOT%{_bindir}/svn-tools
|
|
#
|
|
#
|
|
#
|
|
mkdir -p $RPM_BUILD_ROOT/usr/sbin
|
|
mkdir -p $RPM_BUILD_ROOT/var/adm/fillup-templates
|
|
install -m 644 -D %{S:13} $RPM_BUILD_ROOT/etc/xinetd.d/svnserve
|
|
install -m 755 -D %{S:9} $RPM_BUILD_ROOT/etc/init.d/svnserve
|
|
ln -sv /etc/init.d/svnserve $RPM_BUILD_ROOT/usr/sbin/rcsvnserve
|
|
install -m 644 -D %{S:10} $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.svnserve
|
|
install -m 644 -D %{S:12} $RPM_BUILD_ROOT/%{_fwdefdir}/svnserve
|
|
%{__install} -d -m 0755 %{buildroot}/srv/svn
|
|
%if 0%{?has_systemd}
|
|
install -m 644 -D %{S:14} $RPM_BUILD_ROOT/%{_unitdir}/svnserve.service
|
|
%{__install} -d -m 0755 %{buildroot}/var/run/svnserve/
|
|
%{__install} -d -m 0755 %{buildroot}/usr/lib/tmpfiles.d/
|
|
%{__install} -m 0644 %{SOURCE15} %{buildroot}/usr/lib/tmpfiles.d/svnserve.conf
|
|
%endif
|
|
#useless libtool stuff
|
|
rm -f %{buildroot}%{_libdir}/*.la
|
|
if [ "$with_jdk" != "" ] ; then
|
|
install -d -m 0755 $RPM_BUILD_ROOT/%{_datadir}/java
|
|
ln -sv %{_libdir}/svn-javahl/svn-javahl.jar $RPM_BUILD_ROOT/%{_datadir}/java/svn-javahl.jar
|
|
fi
|
|
rm -f %{buildroot}/var/adm/perl-modules/subversion
|
|
|
|
%if %with_bashcomp
|
|
%__install -D -m0644 tools/client-side/bash_completion "%{buildroot}/etc/bash_completion.d/%{name}"
|
|
%endif #with_bashcomp
|
|
|
|
# clean tools for doc
|
|
%__rm -rf tools/*/*.in
|
|
|
|
%check
|
|
|
|
#
|
|
# double check that the essential repository access schemes have been compiled in
|
|
#
|
|
schemes=$(LD_LIBRARY_PATH="${RPM_BUILD_ROOT}%{_libdir}" "${RPM_BUILD_ROOT}%{_bindir}/svn" --version | %__grep "'" | cut -d\' -f2 | sort -u)
|
|
# reset vim syntax: '
|
|
test "$schemes" = "file
|
|
http
|
|
https
|
|
svn"
|
|
#
|
|
# check that when building with in-tree SQLite, it is statically linked and of exactly that version
|
|
sqlite_info=$(LD_LIBRARY_PATH="${RPM_BUILD_ROOT}%{_libdir}" "${RPM_BUILD_ROOT}%{_bindir}/svn" --version -v | %__grep "SQLite" | cut -d\- -f2)
|
|
%if %with_intree_sqlite
|
|
test "$sqlite_info" = " SQLite %{sqlite_version} (static)"
|
|
%endif
|
|
#
|
|
|
|
%if %{with regression_tests}
|
|
|
|
# run tests over ra_local (file://) using fsfs backend
|
|
%__make check CLEANUP=true FS_TYPE=fsfs || (cat fails.log; exit 1)
|
|
|
|
# run tests over ra_local (file://) using bdb backend
|
|
%__make check CLEANUP=true FS_TYPE=bdb || (cat fails.log; exit 1)
|
|
|
|
# run tests over ra_svn (svn://) using fsfs backend
|
|
%__make svnserveautocheck CLEANUP=true FS_TYPE=fsfs || (cat fails.log; exit 1)
|
|
|
|
# run tests over ra_svn (svn://) using bdb backend
|
|
%__make svnserveautocheck CLEANUP=true FS_TYPE=bdb || (cat fails.log; exit 1)
|
|
|
|
# run tests over ra_serf (http://) using fsfs backend
|
|
%__make davautocheck CLEANUP=true FS_TYPE=fsfs || (cat fails.log; exit 1)
|
|
|
|
# run tests over ra_serf (http://) using bdb backend
|
|
%__make davautocheck CLEANUP=true FS_TYPE=bdb || (cat fails.log; exit 1)
|
|
|
|
%if %with_java
|
|
%__make check-javahl || (cat fails.log; exit 1)
|
|
%endif # with_java
|
|
%__make check-swig-pl || (cat fails.log; exit 1)
|
|
%if 0%{?suse_version} > 1140
|
|
# python bindings fail testsuite on 11.4
|
|
%__make check-swig-py || (cat fails.log; exit 1)
|
|
%endif
|
|
%if %with_ruby
|
|
%__make check-swig-rb || (cat fails.log; exit 1)
|
|
%endif # with_ruby
|
|
|
|
%endif # with regression_tests
|
|
|
|
%clean
|
|
%__rm -rf "%{buildroot}"
|
|
|
|
%pre
|
|
getent group %{svngroup} >/dev/null || groupadd -r %{svngroup}
|
|
getent passwd %{svnuser} >/dev/null || useradd -r -g %{svngroup} -d /srv/svn -s /sbin/nologin -c "user for Apache Subversion svnserve" %{svnuser}
|
|
%if 0%{?has_systemd}
|
|
%service_add_pre svnserve.service
|
|
%endif
|
|
|
|
%preun
|
|
%stop_on_removal svnserve
|
|
%if 0%{?has_systemd}
|
|
%service_del_preun svnserve.service
|
|
%endif
|
|
|
|
%post
|
|
%{fillup_and_insserv -n svnserve svnserve}
|
|
%if 0%{?has_systemd}
|
|
%service_add_post svnserve.service
|
|
systemd-tmpfiles --create /usr/lib/tmpfiles.d/svnserve.conf
|
|
%endif
|
|
/sbin/ldconfig
|
|
|
|
%postun
|
|
%restart_on_update svnserve
|
|
%{insserv_cleanup}
|
|
%if 0%{?has_systemd}
|
|
%service_del_postun svnserve.service
|
|
%endif
|
|
/sbin/ldconfig
|
|
|
|
%post -n subversion-python -p /sbin/ldconfig
|
|
|
|
%postun -n subversion-python -p /sbin/ldconfig
|
|
|
|
%post -n subversion-perl -p /sbin/ldconfig
|
|
|
|
%postun -n subversion-perl -p /sbin/ldconfig
|
|
|
|
%if %with_ruby
|
|
%post -n subversion-ruby -p /sbin/ldconfig
|
|
%postun -n subversion-ruby -p /sbin/ldconfig
|
|
%endif # with_ruby
|
|
|
|
%if %with_gnome_keyring
|
|
%post -n libsvn_auth_gnome_keyring-1-0 -p /sbin/ldconfig
|
|
%postun -n libsvn_auth_gnome_keyring-1-0 -p /sbin/ldconfig
|
|
%endif # with_gnome_keyring
|
|
|
|
%if %with_kde4_kwallet
|
|
%post -n libsvn_auth_kwallet-1-0 -p /sbin/ldconfig
|
|
%postun -n libsvn_auth_kwallet-1-0 -p /sbin/ldconfig
|
|
%endif # with_kde4_kwallet
|
|
|
|
%files -f files.subversion
|
|
%defattr(-,root,root)
|
|
%doc README.SuSE BUGS CHANGES LICENSE README.mod_authz_svn
|
|
%doc tools/hook-scripts tools/backup tools/bdb tools/examples tools/xslt
|
|
#
|
|
%config(noreplace) /etc/xinetd.d/svnserve
|
|
%attr(754,root,root) /etc/init.d/svnserve
|
|
%attr(754,root,root) /usr/sbin/rcsvnserve
|
|
/var/adm/fillup-templates/sysconfig.svnserve
|
|
%dir %attr(755,%{svnuser},%{svngroup}) /srv/svn
|
|
%config %{_fwdefdir}/*
|
|
%if 0%{?has_systemd}
|
|
%{_unitdir}/svnserve.service
|
|
%ghost %dir %attr(755,%{svnuser},%{svngroup}) /var/run/svnserve
|
|
/usr/lib/tmpfiles.d/svnserve.conf
|
|
%endif
|
|
#
|
|
%attr(755,root,root) /usr/bin/svn
|
|
%attr(755,root,root) /usr/bin/svnadmin
|
|
%attr(755,root,root) /usr/bin/svndumpfilter
|
|
%attr(755,root,root) /usr/bin/svnlook
|
|
%attr(755,root,root) /usr/bin/svnserve
|
|
%attr(755,root,root) /usr/bin/svnversion
|
|
%attr(755,root,root) /usr/bin/svndiff
|
|
%attr(755,root,root) /usr/bin/svngrep
|
|
%attr(755,root,root) /usr/bin/svnsync
|
|
%attr(755,root,root) /usr/bin/svnrdump
|
|
%attr(755,root,root) /usr/bin/svnmucc
|
|
%{_libdir}/libsvn_client*.so.*
|
|
%{_libdir}/libsvn_delta*.so.*
|
|
%{_libdir}/libsvn_diff*.so.*
|
|
%{_libdir}/libsvn_fs*.so.*
|
|
%{_libdir}/libsvn_ra*.so.*
|
|
%{_libdir}/libsvn_repos*.so.*
|
|
%{_libdir}/libsvn_subr*.so.*
|
|
%{_libdir}/libsvn_wc*.so.*
|
|
%{_mandir}/man?/svn*
|
|
#
|
|
/usr/share/emacs
|
|
|
|
%files perl
|
|
%defattr(-,root,root)
|
|
%doc %{_mandir}/man?/SVN::*
|
|
%{_libdir}/libsvn_swig_perl-1.so.*
|
|
%perl_vendorarch/SVN
|
|
%perl_vendorarch/auto/SVN
|
|
|
|
%files python
|
|
%defattr(-,root,root)
|
|
%dir %{site_python}
|
|
%dir %{site_python}/svn
|
|
%dir %{site_python}/libsvn
|
|
%{_libdir}/libsvn_swig_py-1.so.*
|
|
%{site_python}/libsvn/*
|
|
%{site_python}/svn/*
|
|
|
|
%if %with_python_ctypes
|
|
%files python-ctypes
|
|
%defattr(-,root,root)
|
|
%doc subversion/bindings/ctypes-python/examples
|
|
%dir %{site_python}
|
|
%{site_python}/csvn
|
|
%if %suse_version >= 1020
|
|
%{site_python}/svn_ctypes_python_bindings-*-py%{py_ver}.egg-info
|
|
%endif # suse_version >= 1020
|
|
%endif # with_python_ctypes
|
|
|
|
%if %with_ruby
|
|
%files ruby
|
|
%defattr(-,root,root)
|
|
%dir %{site_ruby}
|
|
%{site_ruby}/svn
|
|
%{site_ruby}/%{rb_arch}/svn
|
|
%{_libdir}/libsvn_swig_ruby-1.so.*
|
|
%endif # with_ruby
|
|
|
|
%files devel
|
|
%defattr(-,root,root)
|
|
%dir %{_includedir}/subversion-1
|
|
%{_libdir}/libsvn_*.so
|
|
%{_includedir}/subversion-1/*
|
|
|
|
%files tools
|
|
%defattr(-,root,root)
|
|
%attr(755,root,root) %{_bindir}/svn_apply_autoprops.py
|
|
%{_bindir}/svn-populate-node-origins-index
|
|
%{_bindir}/svnauthz-validate
|
|
%{_bindir}/svn-rep-sharing-stats
|
|
%{_bindir}/svn-bench
|
|
%{_bindir}/fsfs-stats
|
|
|
|
%files server
|
|
%defattr(-,root,root)
|
|
%dir %{apache_sysconfdir}/conf.d
|
|
%config (noreplace) %{apache_sysconfdir}/conf.d/subversion.conf
|
|
%dir %{apache_libexecdir}
|
|
%{apache_libexecdir}/mod_dav_svn.*
|
|
%{apache_libexecdir}/mod_authz_svn.*
|
|
%{apache_libexecdir}/mod_dontdothat.*
|
|
|
|
%if %with_gnome_keyring
|
|
%files -n libsvn_auth_gnome_keyring-1-0
|
|
%defattr(-,root,root)
|
|
%{_libdir}/libsvn_auth_gnome_keyring-1.so.0
|
|
%{_libdir}/libsvn_auth_gnome_keyring-1.so.0.*
|
|
%endif # with_gnome_keyring
|
|
|
|
%if %with_kde4_kwallet
|
|
%files -n libsvn_auth_kwallet-1-0
|
|
%defattr(-,root,root)
|
|
%{_libdir}/libsvn_auth_kwallet-1.so.0
|
|
%{_libdir}/libsvn_auth_kwallet-1.so.0.*
|
|
%endif # with_kde4_kwallet
|
|
|
|
%if %with_bashcomp
|
|
%files bash-completion
|
|
%defattr(-,root,root)
|
|
%config %{_sysconfdir}/bash_completion.d/%{name}
|
|
%endif #with_bashcomp
|
|
|
|
%changelog
|