Accepting request 248119 from devel:tools:scm:svn

spec file clean-up and unbundling by scarabeus_iv, without ctypesgen not available in openSUSE:Factory

OBS-URL: https://build.opensuse.org/request/show/248119
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/subversion?expand=0&rev=120
This commit is contained in:
Stephan Kulow 2014-09-10 15:02:16 +00:00 committed by Git OBS Bridge
commit d5107924db
12 changed files with 413 additions and 582 deletions

View File

@ -2,7 +2,7 @@
<constraints> <constraints>
<hardware> <hardware>
<memory> <memory>
<size unit="M">768</size> <size unit="M">1024</size>
</memory> </memory>
</hardware> </hardware>
</constraints> </constraints>

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c90b21864a5df1f46e7a3cd7ee6bcfc3e050db4e3a24f2c6a3996970584c383c
size 1396268

View File

@ -0,0 +1,75 @@
Prevent the linker from adding an rpath to shared libraries. Original
patch by David Kimdon <dwhedon@debian.org>. The basic theory is:
- Split the $(LINK) makefile macro into $(LINK) and $(LINK_LIB).
- Comment out LD_RUN_PATH in the Perl makefiles.
- Use libtool instead of apxs to install the apache modules.
libtool relinks without rpath in this case, apxs obviously doesn't.
--- a/Makefile.in
+++ b/Makefile.in
@@ -216,10 +216,10 @@
# special compilation for files destined for cxxhl
COMPILE_CXXHL_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=compile $(COMPILE_CXX) $(LT_CFLAGS) $(CXXHL_INCLUDES) -o $@ -c
-LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(libdir)
-LINK_LIB = $(LINK) $(LT_SO_VERSION)
-LINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) -rpath $(libdir)
-LINK_CXX_LIB = $(LINK_CXX) $(LT_SO_VERSION)
+LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS)
+LINK_LIB = $(LINK) $(LT_SO_VERSION) -rpath $(libdir)
+LINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS)
+LINK_CXX_LIB = $(LINK_CXX) $(LT_SO_VERSION) -rpath $(libdir)
# special link rule for mod_dav_svn
LINK_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(APACHE_LIBEXECDIR) -avoid-version -module $(APACHE_LDFLAGS)
@@ -777,7 +777,9 @@
./config.status subversion/bindings/swig/perl/native/Makefile.PL
$(SWIG_PL_DIR)/native/Makefile: $(SWIG_PL_DIR)/native/Makefile.PL
- cd $(SWIG_PL_DIR)/native; $(PERL) Makefile.PL
+ cd $(SWIG_PL_DIR)/native; \
+ $(PERL) Makefile.PL INSTALLDIRS=vendor; \
+ sed -i -e '/^LD_RUN_PATH/s/^/#/' Makefile Makefile.[a-z]*
# There is a "readlink -f" command on some systems for the same purpose,
# but it's not as portable (e.g. Mac OS X doesn't have it). These should
--- a/build.conf
+++ b/build.conf
@@ -502,7 +502,7 @@
lang = python
path = subversion/bindings/swig/python/libsvn_swig_py
libs = libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_subr apriconv apr
-link-cmd = $(LINK)
+link-cmd = $(LINK_LIB) $(SWIG_PY_LIBS)
install = swig-py-lib
# need special build rule to include -DSWIGPYTHON
compile-cmd = $(COMPILE_SWIG_PY)
@@ -525,7 +525,7 @@
lang = ruby
path = subversion/bindings/swig/ruby/libsvn_swig_ruby
libs = libsvn_client libsvn_wc libsvn_delta libsvn_subr apriconv apr
-link-cmd = $(LINK) $(SWIG_RB_LIBS)
+link-cmd = $(LINK_LIB) $(SWIG_RB_LIBS)
install = swig-rb-lib
# need special build rule to include
compile-cmd = $(COMPILE_SWIG_RB)
--- a/build/generator/gen_base.py
+++ b/build/generator/gen_base.py
@@ -415,7 +415,7 @@
self.install = options.get('install')
self.compile_cmd = options.get('compile-cmd')
self.sources = options.get('sources', '*.c *.cpp')
- self.link_cmd = options.get('link-cmd', '$(LINK)')
+ self.link_cmd = options.get('link-cmd', '$(LINK_LIB)')
self.external_lib = options.get('external-lib')
self.external_project = options.get('external-project')
@@ -467,6 +467,7 @@
extmap = self.gen_obj._extension_map
self.objext = extmap['exe', 'object']
self.filename = build_path_join(self.path, name + extmap['exe', 'target'])
+ self.link_cmd = '$(LINK)'
self.manpages = options.get('manpages', '')
self.testing = options.get('testing')

View File

@ -0,0 +1,11 @@
--- Makefile.in 2011-07-16 13:50:53.000000000 +0200
+++ Makefile.in.new 2012-03-11 12:13:57.000000000 +0100
@@ -732,7 +732,7 @@
extraclean-swig-headers: clean-swig-headers
$(EXTRACLEAN_SWIG_HEADERS)
-$(SWIG_PL_DIR)/native/Makefile.PL: $(SWIG_SRC_DIR)/perl/native/Makefile.PL.in
+$(SWIG_PL_DIR)/native/Makefile.PL: $(SWIG_SRC_DIR)/perl/native/Makefile.PL.in libsvn_swig_perl
./config.status subversion/bindings/swig/perl/native/Makefile.PL
$(SWIG_PL_DIR)/native/Makefile: $(SWIG_PL_DIR)/native/Makefile.PL

View File

@ -0,0 +1,24 @@
diff -urN subversion-1.8.10.old/Makefile.in subversion-1.8.10/Makefile.in
--- subversion-1.8.10.old/Makefile.in 2014-08-19 14:05:55.226069730 +0200
+++ subversion-1.8.10/Makefile.in 2014-08-19 14:55:21.696069376 +0200
@@ -791,7 +791,7 @@
if test "`$(READLINK_PL) $(SWIG_PL_DIR)`" != "`$(READLINK_PL) $(SWIG_PL_SRC_DIR)`"; then \
ln -sf $(SWIG_PL_SRC_DIR)/native/*.c $(SWIG_PL_DIR)/native; \
fi
- cd $(SWIG_PL_DIR)/native; $(MAKE) OPTIMIZE="" OTHERLDFLAGS="$(SWIG_LDFLAGS)"
+ cd $(SWIG_PL_DIR)/native; $(MAKE)
check-swig-pl: swig-pl swig-pl-lib
cd $(SWIG_PL_DIR)/native; $(MAKE) test
diff -urN subversion-1.8.10.old/subversion/bindings/swig/perl/native/Makefile.PL.in subversion-1.8.10/subversion/bindings/swig/perl/native/Makefile.PL.in
--- subversion-1.8.10.old/subversion/bindings/swig/perl/native/Makefile.PL.in 2014-08-19 14:05:55.198069730 +0200
+++ subversion-1.8.10/subversion/bindings/swig/perl/native/Makefile.PL.in 2014-08-19 14:41:23.190069476 +0200
@@ -86,7 +86,7 @@
" -I$svnlib_builddir",
" -I$swig_srcdir -g"),
OBJECT => q/$(O_FILES)/,
- LIBS => [join(' ', $apr_ldflags,
+ LIBS => [join(' ', $apr_ldflags, '-lpthread -lapr-1 -lperl',
(map {"-L$_"} @ldpaths),
@ldmodules, '-lsvn_swig_perl-1',
`$swig -perl -ldflags`)],

View File

@ -0,0 +1,16 @@
Don't drop -Wall in the swig Perl bindings, otherwise building with
e.g. -Wformat-security might break.
https://bugzilla.redhat.com/show_bug.cgi?id=1037341
--- subversion-1.8.5/subversion/bindings/swig/perl/native/Makefile.PL.in.swigplWall
+++ subversion-1.8.5/subversion/bindings/swig/perl/native/Makefile.PL.in
@@ -54,7 +54,6 @@ my $includes = ' -I/usr/include/apr-1
# SWIG is using C++ style comments in an extern "C" code.
$cflags =~ s/-ansi\s+//g;
$cflags =~ s/-std=c89\s+//g;
-$cflags =~ s/-Wall//g;
$cflags =~ s/-Wunused//g;
$cflags =~ s/-Wshadow//g;
$cflags =~ s/-Wstrict-prototypes//g;

View File

@ -1,3 +1,39 @@
-------------------------------------------------------------------
Tue Sep 9 06:57:54 UTC 2014 - andreas.stieger@gmx.de
- Re-enable optional running full regression test suite,
cleanup of dependencies only for network based tests.
- make build with ctypesgen optional, off as it is not in Factory
-------------------------------------------------------------------
Mon Sep 8 22:41:18 UTC 2014 - andreas.stieger@gmx.de
- move autogen to %build to not break quilt setup
-------------------------------------------------------------------
Thu Sep 4 13:38:53 UTC 2014 - tchvatal@suse.com
- Use python_sitearch properly
-------------------------------------------------------------------
Thu Sep 4 11:50:04 UTC 2014 - tchvatal@suse.com
- Cleanup with spec-cleaner, remove crufty conditionals to reduce
the in-build conditions
- Install only systemd packages where needed
- Drop support of really old stuff (sle10)
- Run only basic tests and run them always
- Unbundle everything. For older distros rather use linkpac
- Removed patches:
* subversion.libtool-pie-flags.patch
* subversion.perl.LD_RUN_PATH.patch
* swig.noembed.patch
- Added patches:
* subversion-1.8.0-rpath.patch
* subversion-fix-parallel-build-support-for-perl-bindings.patch
* subversion-perl-underlinking.patch
* subversion-swig-perl-Wall.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Aug 7 22:22:08 UTC 2014 - andreas.stieger@gmx.de Thu Aug 7 22:22:08 UTC 2014 - andreas.stieger@gmx.de

View File

@ -1,19 +0,0 @@
---
Makefile.in | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Index: subversion-nightly/Makefile.in
===================================================================
--- subversion-nightly.orig/Makefile.in 2013-03-17 20:02:10.000000000 +0000
+++ subversion-nightly/Makefile.in 2013-03-17 20:02:15.000000000 +0000
@@ -228,8 +228,8 @@ libsvn_subr_LDFLAGS = @libsvn_subr_LDFLA
libsvn_wc_LDFLAGS = @libsvn_wc_LDFLAGS@
# Compilation of SWIG-generated C source code
-COMPILE_PY_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_PY_COMPILE) $(LT_CFLAGS) $(CPPFLAGS) $(SWIG_PY_INCLUDES) -prefer-pic -c -o $@
-COMPILE_RB_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_RB_COMPILE) $(LT_CFLAGS) $(CPPFLAGS) $(SWIG_RB_INCLUDES) -prefer-pic -c -o $@
+COMPILE_PY_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_PY_COMPILE) $(LT_CFLAGS) $(CPPFLAGS) $(SWIG_PY_INCLUDES) -fpie -fPIE -prefer-pic -c -o $@
+COMPILE_RB_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_RB_COMPILE) $(LT_CFLAGS) $(CPPFLAGS) $(SWIG_RB_INCLUDES) -fpie -fPIE -prefer-pic -c -o $@
# these commands link the wrapper objects into an extension library/module
LINK_PY_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=link $(SWIG_PY_LINK) $(SWIG_LDFLAGS) -rpath $(swig_pydir) -avoid-version -module

View File

@ -1,21 +0,0 @@
clear LD_RUN_PATH, it will end up as RPATH in ELF binaries
ERROR: RPATH "/usr/src/packages/BUILD/subversion-1.5.x/subversion/libsvn_subr/.libs" on /var/tmp/subversion-1.5.0-build/usr/lib/perl5/vendor_perl/5.10.0/ppc-linux-thread-multi-64int/auto/SVN/_Wc/_Wc.so is not allowed
---
Makefile.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: subversion-1.8.0-rc2/Makefile.in
===================================================================
--- subversion-1.8.0-rc2.orig/Makefile.in 2013-05-14 20:25:00.000000000 +0100
+++ subversion-1.8.0-rc2/Makefile.in 2013-05-14 20:25:01.000000000 +0100
@@ -760,7 +760,7 @@ $(SWIG_PL_DIR)/native/Makefile.PL: $(SWI
./config.status subversion/bindings/swig/perl/native/Makefile.PL
$(SWIG_PL_DIR)/native/Makefile: $(SWIG_PL_DIR)/native/Makefile.PL
- cd $(SWIG_PL_DIR)/native; $(PERL) Makefile.PL
+ cd $(SWIG_PL_DIR)/native; $(PERL) Makefile.PL ; for i in `grep -wl ^LD_RUN_PATH Makefile Makefile.[^P]*` ; do sed -i 's@^LD_RUN_PATH.*@LD_RUN_PATH=@' $$i ; done
# There is a "readlink -f" command on some systems for the same purpose,
# but it's not as portable (e.g. Mac OS X doesn't have it). These should

View File

@ -18,129 +18,28 @@
# #
# 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 svngroup svn
%define svnuser svn %define svnuser svn
%{!?_tmpfilesdir:%global _tmpfilesdir /usr/lib/tmpfiles.d} %global _tmpfilesdir %{_libexecdir}/tmpfiles.d
%define _fwdefdir %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services
%define apxs %{_sbindir}/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 0%{?suse_version} > 1140
%define with_systemd 1
BuildRequires: pkgconfig(systemd)
%{?systemd_requires}
%endif
%bcond_with python_ctypes
%bcond_with all_regression_tests
Name: subversion Name: subversion
Version: 1.8.10 Version: 1.8.10
Release: 0 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: doxygen
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
%if %{with regression_tests}
BuildRequires: junit
%endif
%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 Summary: Subversion version control system
License: Apache-2.0 License: Apache-2.0
Group: Development/Tools/Version Control Group: Development/Tools/Version Control
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Url: https://subversion.apache.org Url: https://subversion.apache.org
Source0: https://www.apache.org/dist/subversion/%{name}-%{version}.tar.bz2 Source0: https://www.apache.org/dist/subversion/%{name}-%{version}.tar.bz2
Source1: subversion.conf Source1: subversion.conf
@ -157,38 +56,63 @@ Source43: subversion.svndiff.sh
# https://people.apache.org/keys/group/subversion-pmc.asc # https://people.apache.org/keys/group/subversion-pmc.asc
Source50: subversion.keyring Source50: subversion.keyring
Source51: https://www.apache.org/dist/subversion/%{name}-%{version}.tar.bz2.asc Source51: https://www.apache.org/dist/subversion/%{name}-%{version}.tar.bz2.asc
%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 Source92: %{name}.rpmlintrc
#
Patch11: subversion.libtool-verbose.patch Patch11: subversion.libtool-verbose.patch
# build fixes
Patch20: subversion-swig-perl-install_vendor.patch Patch20: subversion-swig-perl-install_vendor.patch
Patch23: subversion.libtool-pie-flags.patch Patch23: subversion-swig-perl-Wall.patch
Patch31: subversion.perl.LD_RUN_PATH.patch Patch30: subversion-1.8.0-rpath.patch
Patch37: subversion-no-build-date.patch Patch37: subversion-no-build-date.patch
Patch38: subversion-1.8.9-allow-httpd-2.4.6.patch Patch38: subversion-1.8.9-allow-httpd-2.4.6.patch
Patch39: swig.noembed.patch Patch39: subversion-fix-parallel-build-support-for-perl-bindings.patch
# Patch40: subversion-perl-underlinking.patch
%if %with_ruby BuildRequires: apache2-devel
%define rb_arch %(echo "%{_host_cpu}-%{_os}" | sed -e "s/i686/i586/" -e "s/armv5tel/armv4l/" -e "s/hppa2.0/hppa/") BuildRequires: apache2-prefork
%define site_ruby %(ruby -rrbconfig -e 'print RbConfig::CONFIG["sitelibdir"]') BuildRequires: cyrus-sasl-devel
%endif # with_ruby BuildRequires: db-devel
# BuildRequires: dbus-1-devel
%if %with_java BuildRequires: doxygen
BuildRequires: file-devel
BuildRequires: gcc-c++
BuildRequires: glib2-devel
BuildRequires: java-devel >= 1.6.0
BuildRequires: junit
BuildRequires: kdelibs4-core
BuildRequires: krb5-devel
BuildRequires: libgnome-keyring-devel
BuildRequires: libkde4-devel
BuildRequires: libqt4-devel
BuildRequires: libserf-devel >= 1.2.1
BuildRequires: libstdc++-devel
BuildRequires: libtool
BuildRequires: pkgconfig
BuildRequires: python-devel
BuildRequires: python-xml
BuildRequires: ruby-devel >= 1.8.2
BuildRequires: sqlite3-devel >= 3.7.15.1
BuildRequires: swig
BuildRequires: update-alternatives
BuildRequires: zlib-devel
Requires(post): %fillup_prereq
Requires(pre): pwdutils
Provides: subversion-javahl = %{version}-%{release} Provides: subversion-javahl = %{version}-%{release}
%endif # with_java BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} < 1210
Requires(post): %insserv_prereq
%endif
%if 0%{?suse_version} > 1130
BuildRequires: bash-completion
# Test dependency
BuildRequires: python-pysqlite
%endif
%if %{with all_regression_tests}
# tools required for network based tests
BuildRequires: net-tools
BuildRequires: time
BuildRequires: wget
%endif
%if %{with python_ctypes}
BuildRequires: ctypesgen
%endif
%description %description
Subversion exists to be universally recognized and adopted as an open-source, Subversion exists to be universally recognized and adopted as an open-source,
@ -197,20 +121,17 @@ 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 support the needs of a wide variety of users and projects, from individuals
to large-scale enterprise operations. to large-scale enterprise operations.
%package devel %package devel
Summary: Development package for Subversion developers Summary: Development package for Subversion developers
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: subversion = %{version}
# this pulls in libapr1-devel and libexpat-devel # this pulls in libapr1-devel and libexpat-devel
Requires: libapr-util1-devel Requires: libapr-util1-devel
Requires: subversion = %{version}
%description devel %description devel
The subversion-devel package includes the static libraries and include The subversion-devel package includes the static libraries and include
files for developers interacting with the subversion package. files for developers interacting with the subversion package.
%package tools %package tools
Summary: Tools for Subversion Summary: Tools for Subversion
Group: Development/Tools/Version Control Group: Development/Tools/Version Control
@ -227,9 +148,7 @@ Requires: perl >= 5.8
Requires: subversion = %{version} Requires: subversion = %{version}
%description perl %description perl
Provides Perl (SWIG) support for Subversion. Provides Perl (SWIG) support for Subversion version control system.
%package python %package python
Summary: Allows Python scripts to directly use Subversion repositories Summary: Allows Python scripts to directly use Subversion repositories
@ -237,22 +156,17 @@ Group: Development/Tools/Version Control
Requires: subversion = %{version} Requires: subversion = %{version}
%description python %description python
Provides Python (SWIG) support for Subversion. Provides Python (SWIG) support for Subversion version control system.
%if %with_python_ctypes
%if %{with python_ctypes}
%package python-ctypes %package python-ctypes
Summary: High-Level Python Bindings for Subversion Summary: High-Level Python Bindings for Subversion
Group: Development/Tools/Version Control Group: Development/Tools/Version Control
Requires: subversion = %{version} Requires: subversion = %{version}
%description python-ctypes %description python-ctypes
Provides high-level Python support for Subversion, based on ctypes. Provides high-level Python support for Subversion, based on ctypes.
%endif # with_python_ctypes %endif
%if %with_ruby
%package ruby %package ruby
Summary: Allows Ruby scripts to directly use Subversion repositories Summary: Allows Ruby scripts to directly use Subversion repositories
@ -260,11 +174,7 @@ Group: Development/Tools/Version Control
Requires: subversion = %{version} Requires: subversion = %{version}
%description ruby %description ruby
Provides Ruby (SWIG) support for Subversion. Provides Ruby (SWIG) support for Subversion version control system.
%endif # with_ruby
%package server %package server
Summary: Apache server module for Subversion server Summary: Apache server module for Subversion server
@ -277,22 +187,12 @@ Requires: subversion = %{version}
The subversion-server package adds the Subversion server Apache module The subversion-server package adds the Subversion server Apache module
to the Apache directories and configuration. to the Apache directories and configuration.
http://subversion.apache.org
%if %with_kde4_kwallet
%package -n libsvn_auth_kwallet-1-0 %package -n libsvn_auth_kwallet-1-0
Summary: A Concurrent Versioning system similar to but better than CVS Summary: A Concurrent Versioning system similar to but better than CVS
Group: Development/Tools/Version Control Group: Development/Tools/Version Control
%description -n libsvn_auth_kwallet-1-0 %description -n libsvn_auth_kwallet-1-0
Provides KWallet integration for Subversion. Provides KWallet integration for Subversion version control system.
%endif # with_kde4_kwallet
%if %with_gnome_keyring
%package -n libsvn_auth_gnome_keyring-1-0 %package -n libsvn_auth_gnome_keyring-1-0
Summary: A Concurrent Versioning system similar to but better than CVS Summary: A Concurrent Versioning system similar to but better than CVS
@ -303,130 +203,37 @@ Subversion does the same thing cvs (CVS (Concurrent Versioning System))
but has major enhancements compared to CVS. The name of the cmdline but has major enhancements compared to CVS. The name of the cmdline
client is svn. client is svn.
%if 0%{?suse_version} > 1130
%endif # with_gnome_keyring
%if %with_bashcomp
%package bash-completion %package bash-completion
Summary: Bash Completion for %{name} Summary: Bash Completion for %{name}
Group: Development/Tools/Version Control Group: Development/Tools/Version Control
Requires: %{name} = %{version} Requires: %{name} = %{version}
Requires: bash-completion Requires: bash-completion
%if %{?suse_version} >= 1130
BuildArch: noarch BuildArch: noarch
%endif
%description bash-completion %description bash-completion
Bash command line completion support for %{name} - completion of subcommands, Bash command line completion support for %{name} - completion of subcommands,
parameters and keywords for the svn command and other tools. parameters and keywords for the svn command and other tools.
%endif
%endif # with_bashcomp
%prep %prep
%if %with_intree_swig
%setup -q -n subversion-%{version} -a 4 -b 90
pushd "../swig-%{swig_version}"
%patch39
popd
%else
%setup -q -n subversion-%{version} -a 4 %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 %patch11 -p1
%patch20 -p1 %patch20 -p1
%patch23 -p1 %patch23 -p1
%patch31 -p1 %patch30 -p1
%patch37 -p1 %patch37 -p1
%patch38 -p1 %patch38 -p1
%patch39
SQLITE_RECOMMENDED_VER=$(grep -E '^SQLITE_RECOMMENDED_VER=' configure.ac|cut -f2 -d=|cut -f2 -d\") %patch40 -p1
#"
[ "$SQLITE_RECOMMENDED_VER" = "%{sqlite_version}" ] || {
echo "ERROR: recommended sqlite version is $SQLITE_RECOMMENDED_VER, but we're using %{sqlite_version}" >&2;
exit 1;
}
%build %build
# Re-boot strap, needed for patch37 # Re-boot strap, needed for patch37
./autogen.sh PATH=%{_prefix}/bin:$PATH ./autogen.sh --release
# 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. # Fix timestamp in doxygen
export SUSE_ASNEEDED=0 echo "HTML_TIMESTAMP = NO" >> doc/doxygen.conf
%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 ppc64le
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 cat > with_jdk.files <<EOF-JAVA
%{_libdir}/libsvnjavahl*.so.* %{_libdir}/libsvnjavahl*.so.*
%{_libdir}/libsvnjavahl*.so %{_libdir}/libsvnjavahl*.so
@ -434,23 +241,12 @@ cat > with_jdk.files <<EOF-JAVA
%{_libdir}/svn-javahl/svn-javahl.jar %{_libdir}/svn-javahl/svn-javahl.jar
%{_datadir}/java/svn-javahl.jar %{_datadir}/java/svn-javahl.jar
EOF-JAVA 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 # ### these possibly need further discussion
# swig_pydir = @libdir@/svn-python/libsvn # swig_pydir = @libdir@/svn-python/libsvn
# swig_pydir_extra = @libdir@/svn-python/svn # swig_pydir_extra = @libdir@/svn-python/svn
sed --in-place=~ " sed --in-place=~ "
s@^swig_pydir = .*@swig_pydir = %{site_python}/libsvn@ s@^swig_pydir = .*@swig_pydir = %{python_sitearch}/libsvn@
s@^swig_pydir_extra = .*@swig_pydir_extra = %{site_python}/svn@ s@^swig_pydir_extra = .*@swig_pydir_extra = %{python_sitearch}/svn@
" Makefile.in " Makefile.in
diff -u Makefile.in~ Makefile.in || true diff -u Makefile.in~ Makefile.in || true
sh -x autogen.sh sh -x autogen.sh
@ -465,14 +261,12 @@ do
fi fi
echo echo
done >> build-outputs.mK done >> build-outputs.mK
export CFLAGS="$(%{apxs} -q CFLAGS) %{optflags} -fpie -fstack-protector" export CFLAGS="$(%{apxs} -q CFLAGS) %{optflags} -fstack-protector -fpie"
%if 0%{?suse_version} >= 1230
export CFLAGS="$CFLAGS -std=gnu99"
%endif
export CXXFLAGS="$CFLAGS" export CXXFLAGS="$CFLAGS"
export LDFLAGS=-pie export APACHE_LDFLAGS="-Wl,-z,relro,-z,now"
export PATH="${SWIG_ROOT}/bin:${PATH}" export LDFLAGS="-pie"
%configure \ %configure \
--enable-local-library-preloading \
--with-editor="vim -c 'set tw=72 et' " \ --with-editor="vim -c 'set tw=72 et' " \
--with-serf=%{_prefix} \ --with-serf=%{_prefix} \
--with-apr=%{_prefix} \ --with-apr=%{_prefix} \
@ -481,210 +275,172 @@ export PATH="${SWIG_ROOT}/bin:${PATH}"
--with-zlib=%{_prefix} \ --with-zlib=%{_prefix} \
--with-berkeley-db=db.h:db.h:%{_prefix}:db \ --with-berkeley-db=db.h:db.h:%{_prefix}:db \
--with-apache-libexecdir=%{apache_libexecdir} \ --with-apache-libexecdir=%{apache_libexecdir} \
$with_jdk \ --with-jdk=%{_libdir}/jvm/java --enable-javahl \
%if %with_java --with-junit="%{_datadir}/java/junit.jar" \
%if %{with regression_tests}
--with-junit="%{_usr}/share/java/junit.jar" \
%endif
%endif
--with-jikes=no \ --with-jikes=no \
%if %with_intree_swig --with-sqlite="%{_prefix}" \
--with-swig="$SWIG_ROOT" \ --with-gnome-keyring \
%endif --with-kwallet \
%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 \ --disable-mod-activation \
--with-libmagic \ --with-libmagic \
--disable-static --disable-static
%__make %{?jobs:-j%jobs} SWIG_LDFLAGS= make %{?_smp_mflags}
%__make doc-api make doc-api %{?_smp_mflags}
#
if [ "$with_jdk" != "" ] ; then # Bindings
with_jdk=javahl make extraclean-bindings %{?_smp_mflags}
fi make %{?_smp_mflags} swig-py swig-rb swig-pl
%if %with_ruby %if %{with python_ctypes}
ruby_target=swig-rb make %{?_smp_mflags} ctypes-python
%else %endif
ruby_target= # Java is not thread safe
%endif # with_ruby make -j1 JAVAC_FLAGS=" -encoding iso8859-1" javahl doc-javahl
%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 %install
if [ -f with_jdk ] ; then %if 0%{?suse_version} == 1110
with_jdk=install-javahl export NO_BRP_CHECK_BYTECODE_VERSION=true
else %endif
with_jdk= make DESTDIR=%{buildroot} install -j1
fi make DESTDIR=%{buildroot} install-swig-py install-swig-pl install-javahl install-swig-rb
%if %with_ruby %if %{with python_ctypes}
ruby_target=install-swig-rb make DESTDIR=%{buildroot} install-ctypes-python
%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: # 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 find "%{buildroot}%{python_sitelib}/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" python "%{py_libdir}/compileall.py" -f -d "%{python_sitelib}/csvn" "%{buildroot}/%{python_sitelib}/csvn"
%endif # with_python_ctypes %endif
%perl_process_packlist %perl_process_packlist
%find_lang %name %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}/%{_tmpfilesdir}
%{__install} -m 0644 %{SOURCE15} %{buildroot}/%{_tmpfilesdir}/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 cp -Lav %{SOURCE42} %{buildroot}%{_bindir}/svngrep
%__install -D -m0644 tools/client-side/bash_completion "%{buildroot}/etc/bash_completion.d/%{name}" cp -Lav %{SOURCE43} %{buildroot}%{_bindir}/svndiff
%endif #with_bashcomp
mkdir -p %{buildroot}%{_datadir}/emacs/site-lisp/
cp -avL contrib/client-side/emacs/*.el %{buildroot}%{_datadir}/emacs/site-lisp/
rm -f %{buildroot}%{_datadir}/emacs/site-lisp/vc-svn.el
cp -avL contrib/client-side/svn_apply_autoprops.py %{buildroot}%{_prefix}/bin
mkdir -p %{buildroot}/%{apache_sysconfdir}/conf.d
cp -av %{SOURCE1} %{buildroot}/%{apache_sysconfdir}/conf.d/subversion.conf
cp -avL %{SOURCE2} 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=%{buildroot} install-tools
mv %{buildroot}%{_bindir}/svn-tools/{svn-populate-node-origins-index,svn-rep-sharing-stats,svnauthz-validate,svn-bench,fsfs-stats} %{buildroot}%{_bindir}
# discard all other tools
rm -rf %{buildroot}%{_bindir}/svn-tools
mkdir -p %{buildroot}%{_prefix}/sbin
mkdir -p %{buildroot}%{_localstatedir}/adm/fillup-templates
install -m 644 -D %{SOURCE13} %{buildroot}%{_sysconfdir}/xinetd.d/svnserve
install -m 644 -D %{SOURCE10} %{buildroot}%{_localstatedir}/adm/fillup-templates/sysconfig.svnserve
install -m 644 -D %{SOURCE12} %{buildroot}/%{_fwdefdir}/svnserve
install -d -m 0755 %{buildroot}/srv/svn
%if 0%{?with_systemd}
install -m 644 -D %{SOURCE14} %{buildroot}/%{_unitdir}/svnserve.service
ln -sv %{_sbindir}/service %{buildroot}%{_sbindir}/rcsvnserve
install -d -m 0755 %{buildroot}/%{_tmpfilesdir}
install -m 0644 %{SOURCE15} %{buildroot}/%{_tmpfilesdir}/svnserve.conf
%else
install -m 755 -D %{SOURCE9} %{buildroot}%{_initddir}/svnserve
ln -sv %{_initddir}/svnserve %{buildroot}%{_sbindir}/rcsvnserve
%endif
#useless libtool stuff
rm -rf %{buildroot}%{python_sitearch}/*/*.{a,la}
rm -rf %{buildroot}%{_libdir}/libsvn_swig_*.{so,la,a}
rm -rf %{buildroot}%{rb_sitelib}/svn/ext/*.*a
find %{buildroot} -type f -name "*.la" -delete -print
# remove stuff produced with Perl modules
find %{buildroot} -type f \
-a \( -name .packlist -o \( -name '*.bs' -a -empty \) \) \
-print0 | xargs -0 rm -f
# make Perl modules writable so they get stripped
%if 0%{?suse_version} > 1130
find %{buildroot}%{_libexecdir}/perl5 -type f -perm 555 -print0 |
xargs -0 chmod 755
%endif
install -d -m 0755 %{buildroot}/%{_datadir}/java
ln -sv %{_libdir}/svn-javahl/svn-javahl.jar %{buildroot}/%{_datadir}/java/svn-javahl.jar
rm -f %{buildroot}%{_localstatedir}/adm/perl-modules/subversion
%if 0%{?suse_version} > 1130
install -D -m0644 tools/client-side/bash_completion "%{buildroot}%{_sysconfdir}/bash_completion.d/%{name}"
%endif
# examples
mkdir -p %{buildroot}%{_docdir}/%{name}
cp -r tools/hook-scripts tools/backup tools/bdb tools/examples tools/xslt %{buildroot}%{_docdir}/%{name}
find %{buildroot}%{_docdir}/%{name} -type f -print0 | xargs -0 chmod 644
# clean tools for doc # clean tools for doc
%__rm -rf tools/*/*.in rm -rf tools/*/*.in
rm -rf doc/doxygen/html/installdox
%check %check
# #
# double check that the essential repository access schemes have been compiled in # 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) schemes=$(LD_LIBRARY_PATH="%{buildroot}%{_libdir}" "%{buildroot}%{_bindir}/svn" --version | grep "'" | cut -d\' -f2 | sort -u)
# reset vim syntax: ' # reset vim syntax: '
test "$schemes" = "file test "$schemes" = "file
http http
https https
svn" svn"
#
# check that when building with in-tree SQLite, it is statically linked and of exactly that version %if 0%{?suse_version} > 1130
sqlite_info=$(LD_LIBRARY_PATH="${RPM_BUILD_ROOT}%{_libdir}" "${RPM_BUILD_ROOT}%{_bindir}/svn" --version -v | %__grep "SQLite" | cut -d\- -f2) export LANG=C LC_ALL=C
%if %with_intree_sqlite make %{?_smp_mflags} check CLEANUP=true || (cat fails.log; exit 1)
test "$sqlite_info" = " SQLite %{sqlite_version} (static)" make %{?_smp_mflags} check-javahl || (cat fails.log; exit 1)
make %{?_smp_mflags} check-swig-pl || (cat fails.log; exit 1)
make %{?_smp_mflags} check-swig-py || (cat fails.log; exit 1)
make %{?_smp_mflags} check-swig-rb || (cat fails.log; exit 1)
%if %{with all_regression_tests}
make %{?_smp_mflags} svnserveautocheck CLEANUP=true FS_TYPE=fsfs || (cat fails.log; exit 1)
make %{?_smp_mflags} svnserveautocheck CLEANUP=true FS_TYPE=bdb || (cat fails.log; exit 1)
make %{?_smp_mflags} davautocheck CLEANUP=true FS_TYPE=fsfs || (cat fails.log; exit 1)
make %{?_smp_mflags} davautocheck CLEANUP=true FS_TYPE=bdb || (cat fails.log; exit 1)
%endif %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 %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 %pre
getent group %{svngroup} >/dev/null || groupadd -r %{svngroup} 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} 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} %if 0%{?with_systemd}
%service_add_pre svnserve.service %service_add_pre svnserve.service
%endif %endif
%preun %preun
%stop_on_removal svnserve %if 0%{?with_systemd}
%if 0%{?has_systemd}
%service_del_preun svnserve.service %service_del_preun svnserve.service
%else
%stop_on_removal svnserve
%endif %endif
%post %post
%{fillup_and_insserv -n svnserve svnserve} %{fillup_only svnserve}
%if 0%{?has_systemd} %if 0%{?with_systemd}
%service_add_post svnserve.service %service_add_post svnserve.service
systemd-tmpfiles --create %{_tmpfilesdir}/svnserve.conf systemd-tmpfiles --create %{_tmpfilesdir}/svnserve.conf
%else
%{fillup_and_insserv -n svnserve svnserve}
%endif %endif
/sbin/ldconfig /sbin/ldconfig
%postun %postun
%restart_on_update svnserve %if 0%{?with_systemd}
%{insserv_cleanup}
%if 0%{?has_systemd}
%service_del_postun svnserve.service %service_del_postun svnserve.service
%else
%insserv_cleanup
%endif %endif
/sbin/ldconfig /sbin/ldconfig
@ -696,48 +452,44 @@ systemd-tmpfiles --create %{_tmpfilesdir}/svnserve.conf
%postun -n subversion-perl -p /sbin/ldconfig %postun -n subversion-perl -p /sbin/ldconfig
%if %with_ruby
%post -n subversion-ruby -p /sbin/ldconfig %post -n subversion-ruby -p /sbin/ldconfig
%postun -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 %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 %postun -n libsvn_auth_gnome_keyring-1-0 -p /sbin/ldconfig
%post -n libsvn_auth_kwallet-1-0 -p /sbin/ldconfig %post -n libsvn_auth_kwallet-1-0 -p /sbin/ldconfig
%postun -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 %files -f files.subversion
%defattr(-,root,root) %defattr(-,root,root)
%doc README.SUSE BUGS CHANGES LICENSE README.mod_authz_svn %doc README.SUSE BUGS CHANGES LICENSE README.mod_authz_svn
%doc tools/hook-scripts tools/backup tools/bdb tools/examples tools/xslt %dir %{_docdir}/%{name}/*
# %config(noreplace) %{_sysconfdir}/xinetd.d/svnserve
%config(noreplace) /etc/xinetd.d/svnserve %{_sbindir}/rcsvnserve
%attr(754,root,root) /etc/init.d/svnserve %{_localstatedir}/adm/fillup-templates/sysconfig.svnserve
%attr(754,root,root) /usr/sbin/rcsvnserve
/var/adm/fillup-templates/sysconfig.svnserve
%dir %attr(755,%{svnuser},%{svngroup}) /srv/svn %dir %attr(755,%{svnuser},%{svngroup}) /srv/svn
%config %{_fwdefdir}/* %config %{_fwdefdir}/*
%if 0%{?has_systemd} %if 0%{?with_systemd}
%{_unitdir}/svnserve.service %{_unitdir}/svnserve.service
%{_tmpfilesdir}/svnserve.conf %{_tmpfilesdir}/svnserve.conf
%else
%{_initddir}/svnserve
%endif %endif
# %attr(755,root,root) %{_bindir}/svn
%attr(755,root,root) /usr/bin/svn %attr(755,root,root) %{_bindir}/svnadmin
%attr(755,root,root) /usr/bin/svnadmin %attr(755,root,root) %{_bindir}/svndumpfilter
%attr(755,root,root) /usr/bin/svndumpfilter %attr(755,root,root) %{_bindir}/svnlook
%attr(755,root,root) /usr/bin/svnlook %attr(755,root,root) %{_bindir}/svnserve
%attr(755,root,root) /usr/bin/svnserve %attr(755,root,root) %{_bindir}/svnversion
%attr(755,root,root) /usr/bin/svnversion %attr(755,root,root) %{_bindir}/svndiff
%attr(755,root,root) /usr/bin/svndiff %attr(755,root,root) %{_bindir}/svngrep
%attr(755,root,root) /usr/bin/svngrep %attr(755,root,root) %{_bindir}/svnsync
%attr(755,root,root) /usr/bin/svnsync %attr(755,root,root) %{_bindir}/svnrdump
%attr(755,root,root) /usr/bin/svnrdump %attr(755,root,root) %{_bindir}/svnmucc
%attr(755,root,root) /usr/bin/svnmucc
%{_libdir}/libsvn_client*.so.* %{_libdir}/libsvn_client*.so.*
%{_libdir}/libsvn_delta*.so.* %{_libdir}/libsvn_delta*.so.*
%{_libdir}/libsvn_diff*.so.* %{_libdir}/libsvn_diff*.so.*
@ -747,44 +499,39 @@ systemd-tmpfiles --create %{_tmpfilesdir}/svnserve.conf
%{_libdir}/libsvn_subr*.so.* %{_libdir}/libsvn_subr*.so.*
%{_libdir}/libsvn_wc*.so.* %{_libdir}/libsvn_wc*.so.*
%{_mandir}/man?/svn* %{_mandir}/man?/svn*
# %{_datadir}/emacs
/usr/share/emacs
%files perl %files perl
%defattr(-,root,root) %defattr(-,root,root)
%doc %{_mandir}/man?/SVN::* %doc %{_mandir}/man?/SVN::*
%{_libdir}/libsvn_swig_perl-1.so.* %{_libdir}/libsvn_swig_perl-1.so.*
%perl_vendorarch/SVN %{perl_vendorarch}/SVN
%perl_vendorarch/auto/SVN %{perl_vendorarch}/auto/SVN
%files python %files python
%defattr(-,root,root) %defattr(-,root,root)
%dir %{site_python} %dir %{python_sitearch}
%dir %{site_python}/svn %dir %{python_sitearch}/svn
%dir %{site_python}/libsvn %dir %{python_sitearch}/libsvn
%{_libdir}/libsvn_swig_py-1.so.* %{_libdir}/libsvn_swig_py-1.so.*
%{site_python}/libsvn/* %{python_sitearch}/libsvn/*
%{site_python}/svn/* %{python_sitearch}/svn/*
%if %with_python_ctypes %if %{with python_ctypes}
%files python-ctypes %files python-ctypes
%defattr(-,root,root) %defattr(-,root,root)
%doc subversion/bindings/ctypes-python/examples %doc subversion/bindings/ctypes-python/examples
%dir %{site_python} %dir %{python_sitelib}
%{site_python}/csvn %{python_sitelib}/csvn
%if %suse_version >= 1020 %{python_sitelib}/svn_ctypes_python_bindings-*-py%{py_ver}.egg-info
%{site_python}/svn_ctypes_python_bindings-*-py%{py_ver}.egg-info %endif
%endif # suse_version >= 1020
%endif # with_python_ctypes
%if %with_ruby
%files ruby %files ruby
%defattr(-,root,root) %defattr(-,root,root)
%dir %{site_ruby} %dir %{rb_sitelib}
%{site_ruby}/svn %{rb_sitelib}/svn
%{site_ruby}/%{rb_arch}/svn %{rb_sitelib}/*/svn
%{_libdir}/libsvn_swig_ruby-1.so.* %{_libdir}/libsvn_swig_ruby-1.so.*
%endif # with_ruby
%files devel %files devel
%defattr(-,root,root) %defattr(-,root,root)
@ -811,24 +558,20 @@ systemd-tmpfiles --create %{_tmpfilesdir}/svnserve.conf
%{apache_libexecdir}/mod_authz_svn.* %{apache_libexecdir}/mod_authz_svn.*
%{apache_libexecdir}/mod_dontdothat.* %{apache_libexecdir}/mod_dontdothat.*
%if %with_gnome_keyring
%files -n libsvn_auth_gnome_keyring-1-0 %files -n libsvn_auth_gnome_keyring-1-0
%defattr(-,root,root) %defattr(-,root,root)
%{_libdir}/libsvn_auth_gnome_keyring-1.so.0 %{_libdir}/libsvn_auth_gnome_keyring-1.so.0
%{_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 %files -n libsvn_auth_kwallet-1-0
%defattr(-,root,root) %defattr(-,root,root)
%{_libdir}/libsvn_auth_kwallet-1.so.0 %{_libdir}/libsvn_auth_kwallet-1.so.0
%{_libdir}/libsvn_auth_kwallet-1.so.0.* %{_libdir}/libsvn_auth_kwallet-1.so.0.*
%endif # with_kde4_kwallet
%if %with_bashcomp %if 0%{?suse_version} > 1130
%files bash-completion %files bash-completion
%defattr(-,root,root) %defattr(-,root,root)
%config %{_sysconfdir}/bash_completion.d/%{name} %config %{_sysconfdir}/bash_completion.d/%{name}
%endif #with_bashcomp %endif
%changelog %changelog

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:47439796e3332dd6f5f9e2a45a26c5dc2a6bc93461c2e009d7cb493d1816dc1f
size 4604982

View File

@ -1,28 +0,0 @@
From: Michael Schröder <mls@suse.com>
Date: Tue, 22 Jul 2014 17:09:01 +0100
Subject: do not undef bool in swig, it breaks modern perl versions
References: https://github.com/swig/swig/commit/4305a3cef9b210541c3b88ab2fd03d787c3bca66
Upstream: committed
Fixes swig compilation errors like:
[ 778s] /usr/lib/perl5/5.20.0/i586-linux-thread-multi/CORE/handy.h:124:39: error: expected ':' before numeric constant
[ 778s] #define cBOOL(cbool) ((cbool) ? (bool)1 : (bool)0)
[ 778s] core.c: In function '_wrap_svn_diff_open_patch_file':
[ 778s] /usr/lib/perl5/5.20.0/i586-linux-thread-multi/CORE/handy.h:124:34: error: 'bool' undeclared (first use in this function)
[ 778s] #define cBOOL(cbool) ((cbool) ? (bool)1 : (bool)0)
etc.
--- ./Lib/perl5/noembed.h.orig 2014-07-22 15:04:46.921825843 +0000
+++ ./Lib/perl5/noembed.h 2014-07-22 15:04:58.983770532 +0000
@@ -61,9 +61,6 @@
#ifdef eof
#undef eof
#endif
-#ifdef bool
- #undef bool
-#endif
#ifdef close
#undef close
#endif