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>
<hardware>
<memory>
<size unit="M">768</size>
<size unit="M">1024</size>
</memory>
</hardware>
</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

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 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
Version: 1.8.10
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
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
@ -157,38 +56,63 @@ 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 %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
Patch23: subversion-swig-perl-Wall.patch
Patch30: subversion-1.8.0-rpath.patch
Patch37: subversion-no-build-date.patch
Patch38: subversion-1.8.9-allow-httpd-2.4.6.patch
Patch39: swig.noembed.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
Patch39: subversion-fix-parallel-build-support-for-perl-bindings.patch
Patch40: subversion-perl-underlinking.patch
BuildRequires: apache2-devel
BuildRequires: apache2-prefork
BuildRequires: cyrus-sasl-devel
BuildRequires: db-devel
BuildRequires: dbus-1-devel
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}
%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
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 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
Requires: subversion = %{version}
%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
@ -227,9 +148,7 @@ Requires: perl >= 5.8
Requires: subversion = %{version}
%description perl
Provides Perl (SWIG) support for Subversion.
Provides Perl (SWIG) support for Subversion version control system.
%package python
Summary: Allows Python scripts to directly use Subversion repositories
@ -237,22 +156,17 @@ Group: Development/Tools/Version Control
Requires: subversion = %{version}
%description python
Provides Python (SWIG) support for Subversion.
%if %with_python_ctypes
Provides Python (SWIG) support for Subversion version control system.
%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
%endif
%package ruby
Summary: Allows Ruby scripts to directly use Subversion repositories
@ -260,11 +174,7 @@ Group: Development/Tools/Version Control
Requires: subversion = %{version}
%description ruby
Provides Ruby (SWIG) support for Subversion.
%endif # with_ruby
Provides Ruby (SWIG) support for Subversion version control system.
%package 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
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
Provides KWallet integration for Subversion version control system.
%package -n libsvn_auth_gnome_keyring-1-0
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
client is svn.
%endif # with_gnome_keyring
%if %with_bashcomp
%if 0%{?suse_version} > 1130
%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
%endif
%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
%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
%patch30 -p1
%patch37 -p1
%patch38 -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;
}
%patch39
%patch40 -p1
%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 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
PATH=%{_prefix}/bin:$PATH ./autogen.sh --release
# Fix timestamp in doxygen
echo "HTML_TIMESTAMP = NO" >> doc/doxygen.conf
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
@ -434,23 +241,12 @@ cat > with_jdk.files <<EOF-JAVA
%{_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@
s@^swig_pydir = .*@swig_pydir = %{python_sitearch}/libsvn@
s@^swig_pydir_extra = .*@swig_pydir_extra = %{python_sitearch}/svn@
" Makefile.in
diff -u Makefile.in~ Makefile.in || true
sh -x autogen.sh
@ -465,14 +261,12 @@ do
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 CFLAGS="$(%{apxs} -q CFLAGS) %{optflags} -fstack-protector -fpie"
export CXXFLAGS="$CFLAGS"
export LDFLAGS=-pie
export PATH="${SWIG_ROOT}/bin:${PATH}"
export APACHE_LDFLAGS="-Wl,-z,relro,-z,now"
export LDFLAGS="-pie"
%configure \
--enable-local-library-preloading \
--with-editor="vim -c 'set tw=72 et' " \
--with-serf=%{_prefix} \
--with-apr=%{_prefix} \
@ -481,210 +275,172 @@ export PATH="${SWIG_ROOT}/bin:${PATH}"
--with-zlib=%{_prefix} \
--with-berkeley-db=db.h:db.h:%{_prefix}:db \
--with-apache-libexecdir=%{apache_libexecdir} \
$with_jdk \
%if %with_java
%if %{with regression_tests}
--with-junit="%{_usr}/share/java/junit.jar" \
%endif
%endif
--with-jdk=%{_libdir}/jvm/java --enable-javahl \
--with-junit="%{_datadir}/java/junit.jar" \
--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
--with-sqlite="%{_prefix}" \
--with-gnome-keyring \
--with-kwallet \
--disable-mod-activation \
--with-libmagic \
--disable-static
%__make %{?jobs:-j%jobs} SWIG_LDFLAGS=
%__make doc-api
#
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
make %{?_smp_mflags}
make doc-api %{?_smp_mflags}
# Bindings
make extraclean-bindings %{?_smp_mflags}
make %{?_smp_mflags} swig-py swig-rb swig-pl
%if %{with python_ctypes}
make %{?_smp_mflags} ctypes-python
%endif
# Java is not thread safe
make -j1 JAVAC_FLAGS=" -encoding iso8859-1" javahl doc-javahl
%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
%if 0%{?suse_version} == 1110
export NO_BRP_CHECK_BYTECODE_VERSION=true
%endif
make DESTDIR=%{buildroot} install -j1
make DESTDIR=%{buildroot} install-swig-py install-swig-pl install-javahl install-swig-rb
%if %{with python_ctypes}
make DESTDIR=%{buildroot} install-ctypes-python
# 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
find "%{buildroot}%{python_sitelib}/csvn/" -name "*.pyc" | xargs rm -f
python "%{py_libdir}/compileall.py" -f -d "%{python_sitelib}/csvn" "%{buildroot}/%{python_sitelib}/csvn"
%endif
%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}/%{_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
%find_lang %{name}
%if %with_bashcomp
%__install -D -m0644 tools/client-side/bash_completion "%{buildroot}/etc/bash_completion.d/%{name}"
%endif #with_bashcomp
cp -Lav %{SOURCE42} %{buildroot}%{_bindir}/svngrep
cp -Lav %{SOURCE43} %{buildroot}%{_bindir}/svndiff
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
%__rm -rf tools/*/*.in
rm -rf tools/*/*.in
rm -rf doc/doxygen/html/installdox
%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)
schemes=$(LD_LIBRARY_PATH="%{buildroot}%{_libdir}" "%{buildroot}%{_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)"
%if 0%{?suse_version} > 1130
export LANG=C LC_ALL=C
make %{?_smp_mflags} check CLEANUP=true || (cat fails.log; exit 1)
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
#
%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}
%if 0%{?with_systemd}
%service_add_pre svnserve.service
%endif
%preun
%stop_on_removal svnserve
%if 0%{?has_systemd}
%if 0%{?with_systemd}
%service_del_preun svnserve.service
%else
%stop_on_removal svnserve
%endif
%post
%{fillup_and_insserv -n svnserve svnserve}
%if 0%{?has_systemd}
%{fillup_only svnserve}
%if 0%{?with_systemd}
%service_add_post svnserve.service
systemd-tmpfiles --create %{_tmpfilesdir}/svnserve.conf
%else
%{fillup_and_insserv -n svnserve svnserve}
%endif
/sbin/ldconfig
%postun
%restart_on_update svnserve
%{insserv_cleanup}
%if 0%{?has_systemd}
%if 0%{?with_systemd}
%service_del_postun svnserve.service
%else
%insserv_cleanup
%endif
/sbin/ldconfig
@ -696,48 +452,44 @@ systemd-tmpfiles --create %{_tmpfilesdir}/svnserve.conf
%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
%postun -n libsvn_auth_gnome_keyring-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
%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 %{_docdir}/%{name}/*
%config(noreplace) %{_sysconfdir}/xinetd.d/svnserve
%{_sbindir}/rcsvnserve
%{_localstatedir}/adm/fillup-templates/sysconfig.svnserve
%dir %attr(755,%{svnuser},%{svngroup}) /srv/svn
%config %{_fwdefdir}/*
%if 0%{?has_systemd}
%if 0%{?with_systemd}
%{_unitdir}/svnserve.service
%{_tmpfilesdir}/svnserve.conf
%else
%{_initddir}/svnserve
%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
%attr(755,root,root) %{_bindir}/svn
%attr(755,root,root) %{_bindir}/svnadmin
%attr(755,root,root) %{_bindir}/svndumpfilter
%attr(755,root,root) %{_bindir}/svnlook
%attr(755,root,root) %{_bindir}/svnserve
%attr(755,root,root) %{_bindir}/svnversion
%attr(755,root,root) %{_bindir}/svndiff
%attr(755,root,root) %{_bindir}/svngrep
%attr(755,root,root) %{_bindir}/svnsync
%attr(755,root,root) %{_bindir}/svnrdump
%attr(755,root,root) %{_bindir}/svnmucc
%{_libdir}/libsvn_client*.so.*
%{_libdir}/libsvn_delta*.so.*
%{_libdir}/libsvn_diff*.so.*
@ -747,44 +499,39 @@ systemd-tmpfiles --create %{_tmpfilesdir}/svnserve.conf
%{_libdir}/libsvn_subr*.so.*
%{_libdir}/libsvn_wc*.so.*
%{_mandir}/man?/svn*
#
/usr/share/emacs
%{_datadir}/emacs
%files perl
%defattr(-,root,root)
%doc %{_mandir}/man?/SVN::*
%{_libdir}/libsvn_swig_perl-1.so.*
%perl_vendorarch/SVN
%perl_vendorarch/auto/SVN
%{perl_vendorarch}/SVN
%{perl_vendorarch}/auto/SVN
%files python
%defattr(-,root,root)
%dir %{site_python}
%dir %{site_python}/svn
%dir %{site_python}/libsvn
%dir %{python_sitearch}
%dir %{python_sitearch}/svn
%dir %{python_sitearch}/libsvn
%{_libdir}/libsvn_swig_py-1.so.*
%{site_python}/libsvn/*
%{site_python}/svn/*
%{python_sitearch}/libsvn/*
%{python_sitearch}/svn/*
%if %with_python_ctypes
%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
%dir %{python_sitelib}
%{python_sitelib}/csvn
%{python_sitelib}/svn_ctypes_python_bindings-*-py%{py_ver}.egg-info
%endif
%if %with_ruby
%files ruby
%defattr(-,root,root)
%dir %{site_ruby}
%{site_ruby}/svn
%{site_ruby}/%{rb_arch}/svn
%dir %{rb_sitelib}
%{rb_sitelib}/svn
%{rb_sitelib}/*/svn
%{_libdir}/libsvn_swig_ruby-1.so.*
%endif # with_ruby
%files devel
%defattr(-,root,root)
@ -811,24 +558,20 @@ systemd-tmpfiles --create %{_tmpfilesdir}/svnserve.conf
%{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
%if 0%{?suse_version} > 1130
%files bash-completion
%defattr(-,root,root)
%config %{_sysconfdir}/bash_completion.d/%{name}
%endif #with_bashcomp
%endif
%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