From 03f6a09561d67ca36039b7cb298e83e0d0070db863970c98bc75f5da60daec05 Mon Sep 17 00:00:00 2001 From: Andreas Stieger Date: Mon, 8 Sep 2014 22:14:38 +0000 Subject: [PATCH] Accepting request 247700 from home:scarabeus_iv:branches:devel:tools:scm:svn Once more, this time building everywhere. OBS-URL: https://build.opensuse.org/request/show/247700 OBS-URL: https://build.opensuse.org/package/show/devel:tools:scm:svn/subversion?expand=0&rev=178 --- _constraints | 2 +- sqlite-amalgamation-3071501.zip | 3 - subversion-1.8.0-rpath.patch | 75 ++ ...llel-build-support-for-perl-bindings.patch | 11 + subversion-perl-underlinking.patch | 24 + subversion-swig-perl-Wall.patch | 16 + subversion.changes | 24 + subversion.libtool-pie-flags.patch | 19 - subversion.perl.LD_RUN_PATH.patch | 21 - subversion.spec | 736 ++++++------------ swig-1.3.36.tar.gz | 3 - swig.noembed.patch | 28 - 12 files changed, 382 insertions(+), 580 deletions(-) delete mode 100644 sqlite-amalgamation-3071501.zip create mode 100644 subversion-1.8.0-rpath.patch create mode 100644 subversion-fix-parallel-build-support-for-perl-bindings.patch create mode 100644 subversion-perl-underlinking.patch create mode 100644 subversion-swig-perl-Wall.patch delete mode 100644 subversion.libtool-pie-flags.patch delete mode 100644 subversion.perl.LD_RUN_PATH.patch delete mode 100644 swig-1.3.36.tar.gz delete mode 100644 swig.noembed.patch diff --git a/_constraints b/_constraints index ee8f4eb..09fb859 100644 --- a/_constraints +++ b/_constraints @@ -2,7 +2,7 @@ - 768 + 1024 diff --git a/sqlite-amalgamation-3071501.zip b/sqlite-amalgamation-3071501.zip deleted file mode 100644 index c6969c6..0000000 --- a/sqlite-amalgamation-3071501.zip +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c90b21864a5df1f46e7a3cd7ee6bcfc3e050db4e3a24f2c6a3996970584c383c -size 1396268 diff --git a/subversion-1.8.0-rpath.patch b/subversion-1.8.0-rpath.patch new file mode 100644 index 0000000..b928e32 --- /dev/null +++ b/subversion-1.8.0-rpath.patch @@ -0,0 +1,75 @@ +Prevent the linker from adding an rpath to shared libraries. Original +patch by David Kimdon . 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') diff --git a/subversion-fix-parallel-build-support-for-perl-bindings.patch b/subversion-fix-parallel-build-support-for-perl-bindings.patch new file mode 100644 index 0000000..9c6feba --- /dev/null +++ b/subversion-fix-parallel-build-support-for-perl-bindings.patch @@ -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 diff --git a/subversion-perl-underlinking.patch b/subversion-perl-underlinking.patch new file mode 100644 index 0000000..9021ef7 --- /dev/null +++ b/subversion-perl-underlinking.patch @@ -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`)], diff --git a/subversion-swig-perl-Wall.patch b/subversion-swig-perl-Wall.patch new file mode 100644 index 0000000..84bb996 --- /dev/null +++ b/subversion-swig-perl-Wall.patch @@ -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; diff --git a/subversion.changes b/subversion.changes index fd12127..c99cff0 100644 --- a/subversion.changes +++ b/subversion.changes @@ -1,3 +1,27 @@ +------------------------------------------------------------------- +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 diff --git a/subversion.libtool-pie-flags.patch b/subversion.libtool-pie-flags.patch deleted file mode 100644 index d0da7c7..0000000 --- a/subversion.libtool-pie-flags.patch +++ /dev/null @@ -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 diff --git a/subversion.perl.LD_RUN_PATH.patch b/subversion.perl.LD_RUN_PATH.patch deleted file mode 100644 index 61429d1..0000000 --- a/subversion.perl.LD_RUN_PATH.patch +++ /dev/null @@ -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 diff --git a/subversion.spec b/subversion.spec index 3776262..aeb2f07 100644 --- a/subversion.spec +++ b/subversion.spec @@ -18,129 +18,25 @@ # -# 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} - -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 +%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 %{!?site_python:1}0 -%define site_python %(%__python -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib()") +%if 0%{?suse_version} > 1140 +%define with_systemd 1 +BuildRequires: pkgconfig(systemd) +%{?systemd_requires} %endif -# -PreReq: %insserv_prereq %fillup_prereq -# +Name: subversion +Version: 1.8.10 +Release: 0 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 +53,62 @@ 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: ctypesgen +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 +# svnserveautocheck.sh davautocheck.sh requirements +BuildRequires: net-tools +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: util-linux +BuildRequires: wget +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 0%{?suse_version} > 1230 +BuildRequires: time +%endif %description Subversion exists to be universally recognized and adopted as an open-source, @@ -197,20 +117,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 +144,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 +152,15 @@ 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. %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 @@ -260,11 +168,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 +181,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 +%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 +197,36 @@ 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 +%patch39 +%patch40 -p1 +# Re-boot strap, needed for patch37 +PATH=%{_prefix}/bin:$PATH ./autogen.sh --release -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; -} +# Fix timestamp in doxygen +echo "HTML_TIMESTAMP = NO" >> doc/doxygen.conf %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 - -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 < with_jdk.files < 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 +254,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,134 +268,116 @@ 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 ctypes-python +# 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 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" %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 @@ -616,75 +385,47 @@ 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 +sqlite_info=$(LD_LIBRARY_PATH="%{buildroot}%{_libdir}" "%{buildroot}%{_bindir}/svn" --version -v | grep "SQLite" | cut -d\- -f2) # -%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) +%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) %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 +437,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 +484,37 @@ 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 %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 -%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 +541,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 diff --git a/swig-1.3.36.tar.gz b/swig-1.3.36.tar.gz deleted file mode 100644 index dd72fe2..0000000 --- a/swig-1.3.36.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:47439796e3332dd6f5f9e2a45a26c5dc2a6bc93461c2e009d7cb493d1816dc1f -size 4604982 diff --git a/swig.noembed.patch b/swig.noembed.patch deleted file mode 100644 index 015ffcf..0000000 --- a/swig.noembed.patch +++ /dev/null @@ -1,28 +0,0 @@ -From: Michael Schröder -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