Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package subversion.15772 for 
openSUSE:Leap:15.2:Update checked in at 2021-02-12 09:22:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2:Update/subversion.15772 (Old)
 and      /work/SRC/openSUSE:Leap:15.2:Update/.subversion.15772.new.28504 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "subversion.15772"

Fri Feb 12 09:22:55 2021 rev:1 rq:871304 version:1.10.6

Changes:
--------
New Changes file:

--- /dev/null   2021-01-11 18:20:20.070723563 +0100
+++ 
/work/SRC/openSUSE:Leap:15.2:Update/.subversion.15772.new.28504/subversion.changes
  2021-02-12 09:23:04.728384390 +0100
@@ -0,0 +1,4164 @@
+-------------------------------------------------------------------
+Mon Feb  8 11:33:49 UTC 2021 - Mark??ta Machov?? <[email protected]>
+
+- Add subversion-CVE-2020-17525.patch (bsc#1181687, CVE-2020-17525)
+  * A null-pointer-dereference has been found in mod_authz_svn that results in
+    a remote unauthenticated Denial-of-Service in some server configurations.
+
+-------------------------------------------------------------------
+Mon Oct 19 10:20:28 UTC 2020 - Tom???? Chv??tal <[email protected]>
+
+- Enable kde integration from 15-SP3 and newer releases jsc#SLE-11654
+
+-------------------------------------------------------------------
+Fri Sep  4 12:21:59 UTC 2020 - Antonio Larrosa <[email protected]>
+
+- Add patch to remove dependency on kdelibs4support just to run
+  kf5-config to find out that headers are in /usr/include and
+  libraries are in /usr/lib(64) (jsc#SLE-11901):
+  * remove-kdelibs4support-dependency.patch
+
+-------------------------------------------------------------------
+Thu Jul 25 08:12:08 UTC 2019 - Tom???? Chv??tal <[email protected]>
+
+- Update to 1.10.6 bsc#1142743 bsc#1142721 CVE-2018-11782 
+  CVE-2019-0203:
+  * Allow the use of empty groups in authz rules. (r1854883)
+  * Fix conflict resolver case with move vs move conflicts. (r1863297)
+  * Fix #4760: Missing children in svnadmin dump --include/exclude. (r1863298)
+  * Fix #4793: authz rights from inverted access selectors. (r1854882)
+  * Fix conflict resolver bug: local and incoming edits swapped. (r1863300)
+  * Fix #4806: Remove on-disk trees with read-only dirs. (r1863299)
+  * Fix memory lifetime problem in a libsvn_wc error code path. (r1863302)
+  * No tree conflict when 'svn up' deletes unmodified dir with unversioned 
items. (r1863296)
+  * Remove a useless common ancestor search from conflict resolver. (r1863294)
+  * Conflict resolver support for added vs unversioned file (r1845577)
+  * Conflict resolver support for unversioned directories (r1846299)
+  * Fix: repos-to-WC copy with --parents doesn't create dirs (#4768)
+  * Fix: foreign repo copy with peg/operative revisions (#4785)
+  * Fix: foreign repo copy of file adding mergeinfo (#4792)
+  * Fix: assertion failure using -rPREV on a working copy at r0 (#4532)
+  * Fix: tree conflict message ends a sentence with a colon (#4717)
+  * Fix CVE-2018-11803: malicious SVN clients can crash mod_dav_svn
+  * Fix: unexpected SVN_ERR_FS_NOT_DIRECTORY errors (#4791)
+  * Fix: mod_dav_svn's SVNUseUTF8 had no effect in some setups (r1844882)
+  * Fix crash in mod_http2 (#4782)
+  * Store the HTTPS client cert password (r1842578)
+  * Fix shelving when custom diff command is configured (issue #4758)
+  * Fix conflict resolver crashes (issue #4744, r1842581, r1842582, r1842583)
+  * Fix conflict resolver endless scan in some cases (r1842586)
+  * Fix "Accept incoming deletion" on locally deleted file (issue #4739)
+  * Fix "resolver adds unrelated moves to move target list" (issue #4766)
+  * Correctly claim to offer Gnome Keyring support with libsecret (r1831142)
+  * Fix segfault using Gnome Keyring with libsecret (r1835782)
+  * Fix JavaHL local refs capacity warning when unparsing externals (r1831143)
+  * Since on Windows Subversion does not handle symlinks, never check for 
reparse points (r1835701)
+  * Prune externals after 'update --set-depth=exclude' (r1835702)
+  * Fix issue #4740, "conflict resolver searches too far back ..." (r1835703)
+- Remove merged patch subversion-CVE-2018-11803.patch
+- Remove merged patch subversion-1.10.0-fix-svn-version-gnome-keyring.patch
+- Refresh patch subversion-no-build-date.patch
+
+-------------------------------------------------------------------
+Wed Jan 23 07:57:55 UTC 2019 - Karol Babioch <[email protected]>
+
+- Added subversion-CVE-2018-11803.patch: Fixed a vulnerability that allowed
+  malicious SVN clients to trigger a crash in mod_dav_svn by omitting the root
+  path from a recursive directory listing request (CVE-2018-11803 bsc#1122842)
+
+-------------------------------------------------------------------
+Sun Apr 15 17:43:29 UTC 2018 - [email protected]
+
+- Apache Subversion 1.10.0:
+  * new conflict resolver
+  * Many bug fixes and enhancements
+  * lz4 compression for the repositories
+  * https://subversion.apache.org/docs/release-notes/1.10.html
+- Packaging changes;
+  * Convert dependencies to pkgconfig counterparts
+  * Add dependency on liblz4 and utf8proc
+  * Use %license (boo#1082318)
+  * build with KDE5 KWallet support
+- Refresh patches:
+  * subversion-1.8.0-rpath.patch
+  * subversion-no-build-date.patch
+  * subversion-fix-parallel-build-support-for-perl-bindings.patch
+  * subversion-perl-underlinking.patch
+- dropped patches:
+  * subversion-1.8.11-autocheck-time.patch, upstream
+  * subversion-1.9.0-allow-httpd-2.4.6.patch, no longer required
+- Add subversion-1.10.0-fix-svn-version-gnome-keyring.patch to list
+  GNOME keyring support in svn --version when using libsecret
+
+-------------------------------------------------------------------
+Tue Dec 19 06:59:02 UTC 2017 - [email protected]
+
+- BuildConflict with jdk10 or higher. The build uses extensively
+  the javah tool which is removed in jdk10.
+
+-------------------------------------------------------------------
+Thu Nov 23 13:45:36 UTC 2017 - [email protected]
+
+- Replace references to /var/adm/fillup-templates with new 
+  %_fillupdir macro (boo#1069468)
+
+-------------------------------------------------------------------
+Wed Nov  1 18:01:15 UTC 2017 - [email protected]
+
+- Explicitly require python2
+
+-------------------------------------------------------------------
+Mon Oct  9 10:30:38 UTC 2017 - [email protected]
+
+- Disable kwallet support on openSUSE built with openssl 1.1, because
+  otherwise the libopenssl pulled in by libserf and libqt4 create
+  a conflict (boo#1042629)
+
+-------------------------------------------------------------------
+Fri Aug 25 12:41:19 UTC 2017 - [email protected]
+
+- Switch the KDE condition to match sle15 too
+
+-------------------------------------------------------------------
+Fri Aug 11 09:14:24 UTC 2017 - [email protected]
+
+- Remove user changing option inherited from sysconfig from README
+  * Was removed as it does not work on systemd, new section is there
+    describing current approach
+
+-------------------------------------------------------------------
+Thu Aug 10 15:04:45 UTC 2017 - [email protected]
+
+- Apache Subversion 1.9.7: 
+  * CVE-2017-9800: A remote attacker could have caused svn clients
+    to execute arbitrary code via specially crafted URLs in
+    svn:externals and svn:sync-from-url properties. (bsc#1051362)
+
+-------------------------------------------------------------------
+Fri Jul 28 14:18:49 UTC 2017 - [email protected]
+
+- Add instructions for running svnserve as a user different from
+  "svn", and remove sysconfig variables that are no longer
+  effective with the systemd unit. bsc#1049448
+
+-------------------------------------------------------------------
+Fri Jul  7 11:17:13 UTC 2017 - [email protected]
+
+- Apache Subversion 1.9.6 (bsc#1026936):
+  This change makes Subversion resilient to collision attacks,
+  including SHA-1 collision attacks such as <http://shattered.io/>.
+  https://subversion.apache.org/faq#shattered-sha1
+  * fsfs: never attempt to share directory representations
+  * fsfs: make consistency independent of hash algorithms
+  * cp/mv: improve error message when target is an unversioned dir
+  * merge: reduce memory usage with large amounts of mergeinfo
+  * 'svnadmin freeze': document the purpose more clearly
+  * dump: fix segfault when a revision has no revprops
+  * fsfs: improve error message upon failure to open rep-cache
+  * work around an APR bug related to file truncation
+  * javahl: follow redirects when opening a connection
+
+-------------------------------------------------------------------
+Thu Jun 15 14:37:29 UTC 2017 - [email protected]
+
+- Deleted all xinetd related entries as it is not desired anymore
+  * its obsolete due to socket based service
+  * socket based service is not needed at this pkg
+
+-------------------------------------------------------------------
+Mon Mar 13 10:28:41 UTC 2017 - [email protected]
+
+- Update to build with new RPM in Factory
+- Provide the kwallet auth in main pkg in case kde integration is
+  disabled
+- Use apache2-rpm-macros to get the apache variables
+
+-------------------------------------------------------------------
+Wed Nov 30 07:42:07 UTC 2016 - [email protected]
+
+- Version update to 1.9.5:
+  * bsc#1011552 CVE-2016-8734 Unrestricted XML entity expansion in
+    mod_dontdothat and Subversion clients using http(s)://
+- Client-side bugfixes:
+  * fix accessing non-existent paths during reintegrate merge (r1766699 et al)
+  * fix handling of newly secured subdirectories in working copy (r1724448)
+  * info: remove trailing whitespace in --show-item=revision (issue #4660)
+  * fix recording wrong revisions for tree conflicts (r1734106)
+  * gpg-agent: improve discovery of gpg-agent sockets (r1766327)
+  * gpg-agent: fix file descriptor leak (r1766323)
+  * resolve: fix --accept=mine-full for binary files (issue #4647)
+  * merge: fix possible crash (issue #4652)
+  * resolve: fix possible crash (r1748514)
+  * fix potential crash in Win32 crash reporter (r1663253 et al)
+- Server-side bugfixes:
+  * fsfs: fix "offset too large" error during pack (issue #4657)
+  * svnserve: enable hook script environments (r1769152)
+  * fsfs: fix possible data reconstruction error (issue #4658)
+  * fix source of spurious 'incoming edit' tree conflicts (r1770108)
++++ 3967 more lines (skipped)
++++ between /dev/null
++++ and 
/work/SRC/openSUSE:Leap:15.2:Update/.subversion.15772.new.28504/subversion.changes

New:
----
  _constraints
  contrib-1804739.tar.bz2
  remove-kdelibs4support-dependency.patch
  subversion-1.10.6.tar.bz2
  subversion-1.10.6.tar.bz2.asc
  subversion-1.8.0-rpath.patch
  subversion-CVE-2020-17525.patch
  subversion-fix-parallel-build-support-for-perl-bindings.patch
  subversion-no-build-date.patch
  subversion-perl-underlinking.patch
  subversion-rpmlintrc
  subversion-swig-perl-Wall.patch
  subversion-swig-perl-install_vendor.patch
  subversion.README.SUSE
  subversion.changes
  subversion.conf
  subversion.keyring
  subversion.libtool-verbose.patch
  subversion.spec
  subversion.svndiff.sh
  subversion.svngrep.sh
  subversion.sysconfig.svnserve
  subversion.sysconfig.svnserve.remoteaccess
  svnserve.service
  svnserve.tmpfiles

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ subversion.spec ++++++
#
# spec file for package subversion
#
# Copyright (c) 2021 SUSE LLC
# Copyright (c) 2009-2010 Pascal Bleser <[email protected]>
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


%define svngroup svn
%define svnuser svn
%define _fwdefdir %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services
%define sqlite_minimum_version 3.8.2
%bcond_without gnome
# SLE does not ship KDE
%if 0%{?is_opensuse} || 0%{?sle_version} > 150200
%bcond_without kde
%else
%bcond_with kde
%endif
#Compat macro for new _fillupdir macro introduced in Nov 2017
%if ! %{defined _fillupdir}
  %define _fillupdir %{_localstatedir}/adm/fillup-templates
%endif
%bcond_without  python_ctypes
%bcond_with     all_regression_tests
Name:           subversion
Version:        1.10.6
Release:        0
Summary:        Subversion version control system
License:        Apache-2.0
Group:          Development/Tools/Version Control
Url:            https://subversion.apache.org
Source0:        
https://www.apache.org/dist/subversion/%{name}-%{version}.tar.bz2
Source1:        subversion.conf
Source2:        subversion.README.SUSE
Source4:        contrib-1804739.tar.bz2
Source10:       subversion.sysconfig.svnserve
Source12:       subversion.sysconfig.svnserve.remoteaccess
Source14:       svnserve.service
Source15:       svnserve.tmpfiles
Source42:       subversion.svngrep.sh
Source43:       subversion.svndiff.sh
Source50:       
https://people.apache.org/keys/group/subversion.asc#/subversion.keyring
Source51:       
https://www.apache.org/dist/subversion/%{name}-%{version}.tar.bz2.asc
Source92:       %{name}-rpmlintrc
Patch11:        subversion.libtool-verbose.patch
Patch20:        subversion-swig-perl-install_vendor.patch
Patch23:        subversion-swig-perl-Wall.patch
Patch30:        subversion-1.8.0-rpath.patch
Patch37:        subversion-no-build-date.patch
Patch39:        subversion-fix-parallel-build-support-for-perl-bindings.patch
Patch40:        subversion-perl-underlinking.patch
# PATCH-FIX-OPENSUSE SLE-11901
Patch46:        remove-kdelibs4support-dependency.patch
# PATCH-FIX-SECURITY bsc#1181687
Patch50:        subversion-CVE-2020-17525.patch
BuildRequires:  apache-rpm-macros
BuildRequires:  apache2-devel >= 2.2.0
BuildRequires:  apache2-prefork
BuildRequires:  db-devel
BuildRequires:  doxygen
BuildRequires:  file-devel
BuildRequires:  gcc-c++
BuildRequires:  java-devel >= 1.6.0
BuildRequires:  junit
BuildRequires:  libstdc++-devel
BuildRequires:  libtool
BuildRequires:  pkgconfig
# Python 2 is required to run autogen.sh ; swig is also hardcoded to py2
BuildRequires:  python2-devel >= 2.7
BuildRequires:  python2-xml
BuildRequires:  ruby-devel >= 1.8.2
BuildRequires:  swig
BuildRequires:  update-alternatives
BuildRequires:  utf8proc-devel
BuildRequires:  pkgconfig(apr-1) >= 1.3.0
BuildRequires:  pkgconfig(apr-util-1) >= 1.3.0
BuildRequires:  pkgconfig(bash-completion)
BuildRequires:  pkgconfig(krb5)
BuildRequires:  pkgconfig(liblz4) >= 1.7
BuildRequires:  pkgconfig(libsasl2)
BuildRequires:  pkgconfig(serf-1) >= 1.3.4
BuildRequires:  pkgconfig(sqlite3) >= %{sqlite_minimum_version}
BuildRequires:  pkgconfig(systemd)
BuildRequires:  pkgconfig(zlib)
# Package needs javah which was deprecated with this version of java
BuildConflicts: java-devel >= 10
# in openSUSE Leap 42.3, lz4 was incorrectly packaged
BuildConflicts: pkgconfig(liblz4) = 124
Requires:       libsqlite3-0 >= %{sqlite_minimum_version}
Requires(post): %fillup_prereq
Requires(pre):  pwdutils
Recommends:     %{name}-bash-completion
# workaround for boo#969159
Conflicts:      libsvn_auth_kwallet-1-0 < %{version}
Conflicts:      libsvn_auth_kwallet-1-0 > %{version}
Conflicts:      libsvn_gnome_keyring-1-0 < %{version}
Conflicts:      libsvn_gnome_keyring-1-0 > %{version}
Provides:       subversion-javahl = %{version}-%{release}
%{?systemd_requires}
%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
%if %{with gnome}
BuildRequires:  pkgconfig(dbus-1)
BuildRequires:  pkgconfig(libsecret-1)
%endif
%if %{with kde}
BuildRequires:  cmake(KF5CoreAddons)
BuildRequires:  cmake(KF5I18n)
BuildRequires:  cmake(KF5Wallet)
BuildRequires:  cmake(Qt5Core)
BuildRequires:  cmake(Qt5DBus)
BuildRequires:  cmake(Qt5Gui)
%else
# In a case we migrate from system that had the kwallet integration we need it
# gone from the package to allow update
Provides:       libsvn_auth_kwallet-1-0 = %{version}
Obsoletes:      libsvn_auth_kwallet-1-0 < %{version}
%endif

%description
Subversion exists to be universally recognized and adopted as an open-source,
centralized version control system characterized by its reliability as a safe
haven for valuable data; the simplicity of its model and usage; and its ability
to support the needs of a wide variety of users and projects, from individuals
to large-scale enterprise operations.

%package devel
Summary:        Development package for Subversion developers
Group:          Development/Libraries/C and C++
Requires:       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

%description tools
This package contains some tools for subversion server and
repository admins.

%package perl
Summary:        Allows Perl scripts to directly use Subversion repositories
Group:          Development/Tools/Version Control
Requires:       perl = %{perl_version}
Requires:       perl >= 5.8
Requires:       subversion = %{version}

%description perl
Provides Perl (SWIG) support for Subversion version control system.

%package python
Summary:        Allows Python scripts to directly use Subversion repositories
Group:          Development/Tools/Version Control
Requires:       subversion = %{version}

%description python
Provides Python (SWIG) support for Subversion 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

%package ruby
Summary:        Allows Ruby scripts to directly use Subversion repositories
Group:          Development/Tools/Version Control
Requires:       subversion = %{version}

%description ruby
Provides Ruby (SWIG) support for Subversion version control system.

%package server
Summary:        Apache server module for Subversion server
Group:          Development/Tools/Version Control
Requires:       %{apache_mmn}
Requires:       apache2
Requires:       subversion = %{version}

%description server
The subversion-server package adds the Subversion server Apache module
to the Apache directories and configuration.

%if %{with kde}
%package -n libsvn_auth_kwallet-1-0
Summary:        KWallet support for Subversion
Group:          Development/Tools/Version Control
Requires:       %{name} = %{version}
Supplements:    packageand(subversion:kdebase4-workspace)
Supplements:    packageand(subversion:plasma5-workspace)

%description -n libsvn_auth_kwallet-1-0
Provides KWallet integration for Subversion
%endif

%if %{with gnome}
%package -n libsvn_auth_gnome_keyring-1-0
Summary:        GNOME keyring sypport for Subversion
Group:          Development/Tools/Version Control
Requires:       %{name} = %{version}
Supplements:    packageand(subversion:gnome-session)

%description -n libsvn_auth_gnome_keyring-1-0
Provides GNOME keyring support for Subversion
%endif

%package bash-completion
Summary:        Bash Completion for %{name}
Group:          Development/Tools/Version Control
Requires:       %{name} = %{version}
Requires:       pkgconfig(bash-completion)
BuildArch:      noarch

%description bash-completion
Bash command line completion support for %{name} - completion of subcommands,
parameters and keywords for the svn command and other tools.

%prep
%setup -q -a 4
%patch11 -p1
%patch20 -p1
%patch23 -p1
%patch30 -p1
%patch37 -p1
%patch39
%patch40 -p1
%patch46 -p1
%patch50 -p1

%build
# Re-boot strap, needed for patch37
PATH=%{_prefix}/bin:$PATH ./autogen.sh --release

# Fix timestamp in doxygen
echo "HTML_TIMESTAMP = NO" >> doc/doxygen.conf

cat > with_jdk.files <<EOF-JAVA
%{_libdir}/libsvnjavahl*.so.*
%{_libdir}/libsvnjavahl*.so
%dir %{_libdir}/svn-javahl
%{_libdir}/svn-javahl/svn-javahl.jar
%{_datadir}/java/svn-javahl.jar
EOF-JAVA
# ### 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 = %{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
for i in subversion/bindings/javahl/native/*.cpp
do
        d=$(sed -n '/^#include 
"..\/include/{s@^[^/]\+\([^"]\+\).*@subversion/bindings/javahl\1@;H};${x;s@\n@ 
@gp}' $i)
        echo
        echo "# $i"
        if ! test -z "$d"
        then
                echo ${i%.cpp}.lo: $d
        fi
        echo
done >> build-outputs.mK
export CFLAGS="$(apxs2 -q CFLAGS) %{optflags} -fstack-protector -fpie"
export CXXFLAGS="$CFLAGS"
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} \
        --with-apr-util=%{_prefix} \
        --with-apxs=apxs2 \
        --with-zlib=%{_prefix} \
        --with-berkeley-db=db.h:db.h:%{_prefix}:db \
        --with-apache-libexecdir=%{apache_libexecdir} \
        --with-jdk=%{_libdir}/jvm/java --enable-javahl \
        --with-junit="%{_datadir}/java/junit.jar" \
        --with-jikes=no \
        --with-sqlite="%{_prefix}" \
        --enable-sqlite-compatibility-version=%{sqlite_minimum_version} \
%if %{with gnome}
        --with-gnome-keyring \
%endif
%if %{with kde}
        --with-kwallet \
%endif
        --disable-mod-activation \
        --with-libmagic \
        --disable-static \
        --enable-broken-httpd-auth
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
%make_install
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}%{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 %{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}%{_bindir}

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 -v 
%{buildroot}%{_bindir}/svn-tools/{fsfs-access-map,svnauthz,svnauthz-validate,svn-populate-node-origins-index,svnraisetreeconflict}
 %{buildroot}%{_bindir}
# discard all other tools
rm -rf %{buildroot}%{_bindir}/svn-tools
# replicate svn-bench compatibility link
ln -sf svnbench %{buildroot}%{_bindir}/svn-bench

mkdir -p %{buildroot}%{_sbindir}
mkdir -p %{buildroot}%{_fillupdir}
install -m 644 -D %{SOURCE10} %{buildroot}%{_fillupdir}/sysconfig.svnserve
install -m 644 -D %{SOURCE12} %{buildroot}/%{_fwdefdir}/svnserve
install -d -m 0755 %{buildroot}/srv/svn

install -m 644 -D %{SOURCE14} %{buildroot}/%{_unitdir}/svnserve.service
ln -sv service %{buildroot}%{_sbindir}/rcsvnserve
install -d -m 0755 %{buildroot}/%{_tmpfilesdir}
install -m 0644 %{SOURCE15} %{buildroot}/%{_tmpfilesdir}/svnserve.conf

#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
find %{buildroot}%{_libexecdir}/perl5 -type f -perm 555 -print0 |
    xargs -0 chmod 755

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

install -D -m0644 tools/client-side/bash_completion 
"%{buildroot}%{_sysconfdir}/bash_completion.d/%{name}"

# 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 doc/doxygen/html/installdox

%check
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)
%if 0%{?suse_version} <= 1320
# swig bindings check failing from swig 3.0.3 and later
make %{?_smp_mflags} check-swig-py || (cat fails.log; exit 1)
# same for ruby bindings
make %{?_smp_mflags} check-swig-rb || (cat fails.log; exit 1)
%endif
%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

%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}
%service_add_pre svnserve.service

%preun
%service_del_preun svnserve.service

%post
%{fillup_only -n svnserve svnserve}
%service_add_post svnserve.service
systemd-tmpfiles --create %{_tmpfilesdir}/svnserve.conf
/sbin/ldconfig

%postun
%service_del_postun svnserve.service
/sbin/ldconfig

%post -n subversion-python -p /sbin/ldconfig
%postun -n subversion-python -p /sbin/ldconfig
%post -n subversion-perl -p /sbin/ldconfig
%postun -n subversion-perl -p /sbin/ldconfig
%post -n subversion-ruby -p /sbin/ldconfig
%postun -n subversion-ruby -p /sbin/ldconfig

%if %{with gnome}
%post -n libsvn_auth_gnome_keyring-1-0 -p /sbin/ldconfig
%postun -n libsvn_auth_gnome_keyring-1-0 -p /sbin/ldconfig
%endif

%if %{with kde}
%post -n libsvn_auth_kwallet-1-0 -p /sbin/ldconfig
%postun -n libsvn_auth_kwallet-1-0 -p /sbin/ldconfig
%endif

%files -f files.subversion
%license LICENSE
%doc README.SUSE BUGS CHANGES README.mod_authz_svn
%dir %{_docdir}/%{name}/*
%{_docdir}/%{name}
%{_sbindir}/rcsvnserve
%{_fillupdir}/sysconfig.svnserve
%dir %attr(755,%{svnuser},%{svngroup}) /srv/svn
%config %{_fwdefdir}/*
%{_unitdir}/svnserve.service
%{_tmpfilesdir}/svnserve.conf
%attr(755,root,root) %{_bindir}/svn
%attr(755,root,root) %{_bindir}/svnadmin
%attr(755,root,root) %{_bindir}/svndiff
%attr(755,root,root) %{_bindir}/svndumpfilter
%attr(755,root,root) %{_bindir}/svnfsfs
%attr(755,root,root) %{_bindir}/svngrep
%attr(755,root,root) %{_bindir}/svnlook
%attr(755,root,root) %{_bindir}/svnmucc
%attr(755,root,root) %{_bindir}/svnrdump
%attr(755,root,root) %{_bindir}/svnserve
%attr(755,root,root) %{_bindir}/svnsync
%attr(755,root,root) %{_bindir}/svnversion
%{_libdir}/libsvn_client*.so.*
%{_libdir}/libsvn_delta*.so.*
%{_libdir}/libsvn_diff*.so.*
%{_libdir}/libsvn_fs*.so.*
%{_libdir}/libsvn_ra*.so.*
%{_libdir}/libsvn_repos*.so.*
%{_libdir}/libsvn_subr*.so.*
%{_libdir}/libsvn_wc*.so.*
%{_mandir}/man?/svn*
%{_datadir}/emacs

%files perl
%{_mandir}/man?/SVN::*
%{_libdir}/libsvn_swig_perl-1.so.*
%{perl_vendorarch}/SVN
%{perl_vendorarch}/auto/SVN

%files python
%dir %{python_sitearch}
%dir %{python_sitearch}/svn
%dir %{python_sitearch}/libsvn
%{_libdir}/libsvn_swig_py-1.so.*
%{python_sitearch}/libsvn/*
%{python_sitearch}/svn/*

%if %{with python_ctypes}
%files python-ctypes
%doc subversion/bindings/ctypes-python/examples
%dir %{python_sitelib}
%{python_sitelib}/csvn
%{python_sitelib}/svn_ctypes_python_bindings-*-py%{py_ver}.egg-info
%endif

%files ruby
%dir %{rb_sitelib}
%{rb_sitelib}/svn
%{rb_sitelib}/*/svn
%{_libdir}/libsvn_swig_ruby-1.so.*

%files devel
%dir %{_includedir}/subversion-1
%{_libdir}/libsvn_*.so
%{_datadir}/pkgconfig/*.pc
%{_includedir}/subversion-1/*
%doc doc/doxygen/html

%files tools
%{_bindir}/fsfs-access-map
%attr(755,root,root) %{_bindir}/svn_apply_autoprops.py
%{_bindir}/svnauthz
%{_bindir}/svnauthz-validate
%{_bindir}/svnbench
%{_bindir}/svn-bench
%{_bindir}/svn-populate-node-origins-index
%{_bindir}/svnraisetreeconflict

%files server
%dir %{apache_sysconfdir}/conf.d
%config (noreplace) %{apache_sysconfdir}/conf.d/subversion.conf
%dir %{apache_libexecdir}
%{apache_libexecdir}/mod_dav_svn.*
%{apache_libexecdir}/mod_authz_svn.*
%{apache_libexecdir}/mod_dontdothat.*

%if %{with gnome}
%files -n libsvn_auth_gnome_keyring-1-0
%{_libdir}/libsvn_auth_gnome_keyring-1.so.0
%{_libdir}/libsvn_auth_gnome_keyring-1.so.0.*
%endif

%if %{with kde}
%files -n libsvn_auth_kwallet-1-0
%{_libdir}/libsvn_auth_kwallet-1.so.0
%{_libdir}/libsvn_auth_kwallet-1.so.0.*
%endif

%files bash-completion
%config %{_sysconfdir}/bash_completion.d/%{name}

%changelog
++++++ _constraints ++++++
<?xml version="1.0"?>
<constraints>
  <hardware>
    <memory>
      <size unit="M">1024</size>
    </memory>
  </hardware>
</constraints>

++++++ remove-kdelibs4support-dependency.patch ++++++
From: Antonio Larrosa <[email protected]>
Subject: Removes requirement for kf5-config (kdelibs4support)

With this, we don't need to include kdelibs4support and all its dependencies on 
SLE

Index: subversion-1.14.0/build/ac-macros/kwallet.m4
===================================================================
--- subversion-1.14.0.orig/build/ac-macros/kwallet.m4
+++ subversion-1.14.0/build/ac-macros/kwallet.m4
@@ -59,30 +59,13 @@ AC_DEFUN(SVN_LIB_KWALLET,
                 kde_lib_names="-lkdeui -lkdecore -lQtGui -lQtDBus -lQtCore"
               fi
               if test -n "$qt_pkg_config_names"; then
-                if test "$svn_lib_kwallet" != "yes"; then
-                  AC_MSG_CHECKING([for $kde_config_name])
-                  KDE_CONFIG="$svn_lib_kwallet/bin/$kde_config_name"
-                  if test -f "$KDE_CONFIG" && test -x "$KDE_CONFIG"; then
-                    AC_MSG_RESULT([yes])
+                  if echo "$svn_lib_kwallet" | $EGREP ":" > /dev/null; then
+                    kde_incdir=["`echo "$svn_lib_kwallet" | $SED -e 
"s/:.*//"`"]
+                    kde_libdir=["`echo "$svn_lib_kwallet" | $SED -e 
"s/.*://"`"]
                   else
-                    if echo "$svn_lib_kwallet" | $EGREP ":" > /dev/null; then
-                      AC_MSG_RESULT([unneeded])
-                      KDE_CONFIG="unneeded"
-                      kde_incdir=["`echo "$svn_lib_kwallet" | $SED -e 
"s/:.*//"`"]
-                      kde_libdir=["`echo "$svn_lib_kwallet" | $SED -e 
"s/.*://"`"]
-                    else
-                      AC_MSG_RESULT([no])
-                      KDE_CONFIG=""
-                    fi
-                  fi
-                else
-                  AC_PATH_PROG(KDE_CONFIG, $kde_config_name)
-                  if test -n "$KDE_CONFIG"; then
-                    kde_incdir="`$KDE_CONFIG --install include`"
-                    kde_libdir="`$KDE_CONFIG --install lib`"
+                    kde_incdir="${includedir}"
+                    kde_libdir="${libdir}"
                   fi
-                fi
-                if test -n "$KDE_CONFIG"; then
                   if test $kde_config_name = "kf5-config"; then
                     dnl KF5 does not compile with -std=c++98
                     SVN_CXX_MODE_SETUP11
@@ -122,9 +109,6 @@ int main()
                     AC_MSG_RESULT([no])
                     AC_MSG_ERROR([cannot find KWallet])
                   fi
-                else
-                  AC_MSG_ERROR([cannot find $kde_config_name])
-                fi
               else
                 AC_MSG_RESULT([no])
                 AC_MSG_ERROR([cannot find Qt])
++++++ subversion-1.8.0-rpath.patch ++++++
Prevent the linker from adding an rpath to shared libraries.  Original
patch by David Kimdon <[email protected]>.  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.

---
 Makefile.in                 |   12 +++++++-----
 build.conf                  |    4 ++--
 build/generator/gen_base.py |    3 ++-
 3 files changed, 11 insertions(+), 8 deletions(-)

Index: subversion-1.10.0/Makefile.in
===================================================================
--- subversion-1.10.0.orig/Makefile.in
+++ subversion-1.10.0/Makefile.in
@@ -264,10 +264,10 @@ COMPILE_CXXHL_CXX = $(LT_COMPILE_CXX) $(
 COMPILE_GOOGLEMOCK_CXX = $(LT_COMPILE_CXX_NOWARN) $(GOOGLEMOCK_LIB_INCLUDES) 
-o $@ -c
 COMPILE_CXXHL_GOOGLEMOCK_CXX = $(LT_COMPILE_CXX) $(CXXHL_INCLUDES) 
$(GOOGLEMOCK_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) -shared
@@ -864,7 +864,9 @@ $(SWIG_PL_DIR)/native/Makefile.PL: $(SWI
        ./config.status subversion/bindings/swig/perl/native/Makefile.PL
 
 $(SWIG_PL_DIR)/native/Makefile: libsvn_swig_perl 
$(SWIG_PL_DIR)/native/Makefile.PL
-       cd $(SWIG_PL_DIR)/native; $(PERL) Makefile.PL PREFIX=$(prefix)
+       cd $(SWIG_PL_DIR)/native; \
+               $(PERL) Makefile.PL PREFIX=$(prefix) 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
Index: subversion-1.10.0/build.conf
===================================================================
--- subversion-1.10.0.orig/build.conf
+++ subversion-1.10.0/build.conf
@@ -568,7 +568,7 @@ lang = python
 path = subversion/bindings/swig/python/libsvn_swig_py
 libs = libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_subr
        apriconv apr python swig
-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)
@@ -594,7 +594,7 @@ type = swig_lib
 lang = ruby
 path = subversion/bindings/swig/ruby/libsvn_swig_ruby
 libs = libsvn_client libsvn_wc libsvn_delta libsvn_subr apriconv apr ruby swig
-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)
Index: subversion-1.10.0/build/generator/gen_base.py
===================================================================
--- subversion-1.10.0.orig/build/generator/gen_base.py
+++ subversion-1.10.0/build/generator/gen_base.py
@@ -599,7 +599,7 @@ class TargetLinked(Target):
     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')
@@ -653,6 +653,7 @@ class TargetExe(TargetLinked):
       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')
++++++ subversion-CVE-2020-17525.patch ++++++
Index: subversion-1.10.6/subversion/libsvn_repos/config_file.c
===================================================================
--- subversion-1.10.6.orig/subversion/libsvn_repos/config_file.c
+++ subversion-1.10.6/subversion/libsvn_repos/config_file.c
@@ -237,6 +237,10 @@ get_repos_config(svn_stream_t **stream,
     {
       /* Search for a repository in the full path. */
       repos_root_dirent = svn_repos_find_root_path(dirent, scratch_pool);
+      if (repos_root_dirent == NULL)
+        return svn_error_trace(handle_missing_file(stream, checksum, access,
+                                                   url, must_exist,
+                                                   svn_node_none));
 
       /* Attempt to open a repository at repos_root_dirent. */
       SVN_ERR(svn_repos_open3(&access->repos, repos_root_dirent, NULL,
++++++ subversion-fix-parallel-build-support-for-perl-bindings.patch ++++++
Index: Makefile.in
===================================================================
--- Makefile.in.orig
+++ Makefile.in
@@ -860,7 +860,7 @@ clean-swig-headers:
 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: libsvn_swig_perl 
$(SWIG_PL_DIR)/native/Makefile.PL
++++++ subversion-no-build-date.patch ++++++
From: Andreas Stieger <[email protected]>
Date: Wed, 06 Mar 2013 00:05:08 +0000
Subject: Remove volatile build information
Upstream: never

Prevent unneccessary rebuilds of binary packages differing only by date, time 
and build host.

---
 subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java 
|    4 ++--
 subversion/libsvn_subr/opt.c                                                  
|    8 ++------
 subversion/libsvn_subr/version.c                                              
|    4 ++--
 subversion/tests/cmdline/getopt_tests_data/svn--version--verbose_stdout       
|    1 -
 subversion/tests/cmdline/getopt_tests_data/svn--version_stdout                
|    1 -
 5 files changed, 6 insertions(+), 12 deletions(-)

Index: 
subversion-1.10.6/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
===================================================================
--- 
subversion-1.10.6.orig/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
+++ 
subversion-1.10.6/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
@@ -144,10 +144,10 @@ public class BasicTests extends SVNTests
         {
             vx = client.getVersionExtended(false);
             String result = vx.getBuildDate();
-            if (result == null || result.trim().length() == 0)
+            if (result == null)
                 throw new Exception("Build date empty");
             result = vx.getBuildTime();
-            if (result == null || result.trim().length() == 0)
+            if (result == null)
                 throw new Exception("Build time empty");
             result = vx.getBuildHost();
             if (result == null || result.trim().length() == 0)
Index: subversion-1.10.6/subversion/libsvn_subr/opt.c
===================================================================
--- subversion-1.10.6.orig/subversion/libsvn_subr/opt.c
+++ subversion-1.10.6/subversion/libsvn_subr/opt.c
@@ -1118,12 +1118,8 @@ svn_opt__print_version_info(const char *
   if (quiet)
     return svn_cmdline_printf(pool, "%s\n", SVN_VER_NUMBER);
 
-  SVN_ERR(svn_cmdline_printf(pool, _("%s, version %s\n"
-                                     "   compiled %s, %s on %s\n\n"),
-                             pgm_name, SVN_VERSION,
-                             svn_version_ext_build_date(info),
-                             svn_version_ext_build_time(info),
-                             svn_version_ext_build_host(info)));
+  SVN_ERR(svn_cmdline_printf(pool, _("%s, version %s\n\n"),
+                             pgm_name, SVN_VERSION));
   SVN_ERR(svn_cmdline_printf(pool, "%s\n", svn_version_ext_copyright(info)));
 
   if (footer)
Index: subversion-1.10.6/subversion/libsvn_subr/version.c
===================================================================
--- subversion-1.10.6.orig/subversion/libsvn_subr/version.c
+++ subversion-1.10.6/subversion/libsvn_subr/version.c
@@ -139,8 +139,8 @@ svn_version_extended(svn_boolean_t verbo
 {
   svn_version_extended_t *info = apr_pcalloc(pool, sizeof(*info));
 
-  info->build_date = __DATE__;
-  info->build_time = __TIME__;
+  info->build_date = "";
+  info->build_time = "";
   info->build_host = SVN_BUILD_HOST;
   info->copyright = apr_pstrdup
     (pool, _("Copyright (C) 2019 The Apache Software Foundation.\n"
Index: 
subversion-1.10.6/subversion/tests/cmdline/getopt_tests_data/svn--version--verbose_stdout
===================================================================
--- 
subversion-1.10.6.orig/subversion/tests/cmdline/getopt_tests_data/svn--version--verbose_stdout
+++ 
subversion-1.10.6/subversion/tests/cmdline/getopt_tests_data/svn--version--verbose_stdout
@@ -1,5 +1,4 @@
 svn, version 1.9.0-dev (under development)
-   compiled Feb 26 2014, 15:15:42 on x86_64-unknown-openbsd5.5
 
 Copyright (C) 2012 The Apache Software Foundation.
 This software consists of contributions made by many people;
Index: 
subversion-1.10.6/subversion/tests/cmdline/getopt_tests_data/svn--version_stdout
===================================================================
--- 
subversion-1.10.6.orig/subversion/tests/cmdline/getopt_tests_data/svn--version_stdout
+++ 
subversion-1.10.6/subversion/tests/cmdline/getopt_tests_data/svn--version_stdout
@@ -1,5 +1,4 @@
 svn, version 1.9.0-dev (under development)
-   compiled Feb 26 2014, 15:15:42 on x86_64-unknown-openbsd5.5
 
 Copyright (C) 2014 The Apache Software Foundation.
 This software consists of contributions made by many people;
++++++ subversion-perl-underlinking.patch ++++++
Index: subversion-1.10.0-alpha2/Makefile.in
===================================================================
--- subversion-1.10.0-alpha2.orig/Makefile.in   2017-02-24 15:57:25.605638431 
+0100
+++ subversion-1.10.0-alpha2/Makefile.in        2017-02-24 15:57:25.617638527 
+0100
@@ -865,7 +865,7 @@ swig-pl: $(swig-pl_DEPS)
            fi; \
          done; \
        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
Index: 
subversion-1.10.0-alpha2/subversion/bindings/swig/perl/native/Makefile.PL.in
===================================================================
--- 
subversion-1.10.0-alpha2.orig/subversion/bindings/swig/perl/native/Makefile.PL.in
   2017-02-24 15:57:25.561638078 +0100
+++ 
subversion-1.10.0-alpha2/subversion/bindings/swig/perl/native/Makefile.PL.in    
    2017-02-24 15:57:25.617638527 +0100
@@ -85,7 +85,7 @@ my %config = (
                  " -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`)],
++++++ subversion-rpmlintrc ++++++
# libsvn_subr calls exit as part of the default malfunction handler.
# That's OK. Library users are expected to override the default handler.
addFilter("subversion.*shared-lib-calls-exit.*libsvn_subr-1.so.*")
++++++ subversion-swig-perl-Wall.patch ++++++

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;
++++++ subversion-swig-perl-install_vendor.patch ++++++
 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:24:53.000000000 
+0100
+++ subversion-1.8.0-rc2/Makefile.in    2013-05-14 20:24:54.000000000 +0100
@@ -780,7 +780,7 @@ check-swig-pl: swig-pl swig-pl-lib
        cd $(SWIG_PL_DIR)/native; $(MAKE) test
 
 install-swig-pl: swig-pl install-swig-pl-lib
-       cd $(SWIG_PL_DIR)/native; $(MAKE) install
+       cd $(SWIG_PL_DIR)/native; $(MAKE) install_vendor
 
 EXTRACLEAN_SWIG_PL=rm -f $(SWIG_PL_SRC_DIR)/native/svn_*.c \
                          $(SWIG_PL_SRC_DIR)/native/core.c
++++++ subversion.README.SUSE ++++++
Quickstart document for Apache Subversion on openSUSE.

For the full documentation, install the package subversion-doc and see
/usr/share/doc/packages/subversion/html/book/svn-book.html
An online version can be found at http://svnbook.red-bean.com/

Topics:

0. upgrading to Apache Subversion 1.10
1. mini-howto
2. allowing anonymous read access
3. serving several repositories with SVNParentPath 
4. serving the repositories at "/"
5. running svnserve
6. running svnserve under a different user
7. quickstart for mod_dontdothat

================================================================================

0. upgrading to Apache Subversion 1.10

- concerns when upgrading from earlier versions
  * Upgrading the Working Copy
    1.10 uses the same working copy format as 1.8 and 1.9. When upgrading
    a working copy from a client earlier than 1.8, a one-time execution of
    "svn upgrade" is required. After that, clients earlier than 1.8 will
    be unable to use the working copy. For details, please see:
    https://subversion.apache.org/docs/release-notes/1.10.html#wc-upgrade
  * Upgrading the Repository
    1.10 can read and write repositories created by earlier versions.
    "svnadmin upgrade" may be used to upgrade to FSFS format 8 of 1.10,
    after which the repository will be no longer be usable for 1.9 servers.
    An optional dump/load cycle may be used to apply FSFS improvements
    to past revisions, for 1.10 this is the LZ4 compression feature.
    https://subversion.apache.org/docs/release-notes/1.10.html#compatibility
    https://subversion.apache.org/docs/release-notes/1.10.html#lz4

================================================================================

1. mini-howto

To run a subversion server, you need to configure apache2 to load two modules: 
mod_dav and mod_dav_svn.

  zypper in subversion-server
  a2enmod dav
  a2enmod dav_svn

A default/example configuration of the dav_svn module can be found in
/etc/apache2/conf.d/subversion.conf. The current default configuration
automatically includes this file the default server configuration.

The MaxKeepAliveRequests option in httpd.conf needs to be increased from 100
(the default) to at least 1000 (there is no reason why it could not be 10000).
This will improve performance by allowing serf clients to use fewer TCP
connections to the server. Clients using neon will also work fine with this
configuration.

Create some directories to contain the repositories and other files:

  mkdir -p /srv/svn/repos
  mkdir -p /srv/svn/user_access
  mkdir -p /srv/svn/html

Edit /etc/apache2/conf.d/subversion.conf and uncomment the desired sections.

The first section "project related HTML files" is optional and will allow you
to return some static content when /repos is accessed alone. If you do not need
this, discard this section. 

If instead you wish to show a list of repositories, set "SVNListParentPath on"
later. See for details:
http://svnbook.red-bean.com/en/1.8/svn.serverconfig.httpd.html#svn.serverconfig.httpd.extra.browsing.reposlisting

The section following that will configure a repository to be served out of 
the path /srv/svn/repos/myproject1. Note that the location "/repo/myproject1"
and "SVNPath" is specified explicitly, see section 3 for an alternative.

To create the repository itself:

  cd /srv/svn/repos
  svnadmin create project1
  chown -R wwwrun:www project1/{db,locks}

If using svnserve is not planned, /srv/svn/repos may be owned by wwrun:www.
Otherwise see instruction in the svnserve section on how to use the user and
group svn.

The webserver must be (re)started:

  rcapache2 restart

To create the user access files:

  touch /srv/svn/user_access/project1_passwdfile
  chown root:www /srv/svn/user_access/project1_passwdfile
  chmod 640 /srv/svn/user_access/project1_passwdfile

  htpasswd2 /srv/svn/user_access/project1_passwdfile user1
  htpasswd2 /srv/svn/user_access/project1_passwdfile user2

Create the group file for project1:
  /srv/svn/user_access/project1_groupfile

  project1_committers: user2
  project1_readers: user1 user2


You can test access by:

  svn info http://127.0.0.1/repos/project1

================================================================================

2. allowing anonymous read access

To allow anonymous read access, remove the <Limit GET...> section and move the
three Auth* statements into the <LimitExcept GET...> section.

================================================================================

3. serving several repositories with SVNParentPath 

When serving several repositories, instead of specifying each location with
SVNPath in a separate location, you can use SVNParentPath with a single 
location.
Change the <Location ...> directive form the template to start with the 
following:

  <Location /repos/>
    DAV svn
    SVNParentPath /srv/svn/repos
    SVNListParentPath on  

Do not forget to restart the apache service to make the configuration effective.

  service apache2 restart

================================================================================

4. serving the repositories at "/"

Include the configuration into the relevant vhost configuration. Uncomment the 
section in the template files labeled 'Hosting svn at "/"' and adjust as 
required.
Note that this example uses "SVNParentPath" as given in the previous section.

================================================================================

5. running svnserve

Subversion repositories can be via the svnserve daemon and a special network 
protocol. svnserve should not run as root user. The startup scripts expects a 
user/group named 'svn'.

The subversion package creates an user and group svn.

If you want to expose the repository via both svnserve and mod_dav_svn
(Apache httpd) in parallel, ensure that the apache user is part of the
svn group.

  usermod -A svn wwwrun

This requires a restart of the apache2 service to become effective.

Change the permissions to let the svn group write, and set the setgid flag
on the repositories.

  chown -R svn:svn /srv/svn/repos
  chmod -R g+ws /srv/svn/repos

Then proceed to create repositories using svnadmin create described above.

In either case, if using svnserve, ensure that the repositories are owned by
svn:svn.

The settings files with the options passed to the daemon is is located in:

  /etc/sysconfig/svnserve

To start, ensure proper ownership of repositories and run:

  systemctl start svnserve

For further information about multi-method repository access, see
http://svnbook.red-bean.com/en/1.8/svn.serverconfig.multimethod.html

You can test repository access by:

  svn info svn://127.0.0.1/project1

Please note that by default, svnserve is configured to be started with -R,
meaning read-only access only. Remove to allow write access, after you have
configured access via

  /srv/svn/repos/repo1/conf/svnserve.conf

To configue authentication for svnserve, see
http://svnbook.red-bean.com/en/1.8/svn.serverconfig.svnserve.html#svn.serverconfig.svnserve.auth

================================================================================

6. running svnserve under a different user

By default, the svnserve daemon will run with the svn:svn user and group.
To configure the user under which the svnserve daemon will be executed:

  systemctl edit svnserve

Enter overriding settings as required:

  [Service]
  User=svn-alternate-user
  Group=svn-alternate-group

Verify:

  systemctl cat svnserve

Adjust permissions to /srv/svn/repos, /var/run/svnserve to allow the required
read/write access.

Make systemd pick up the changed unit file and restart the service:

  systemctl daemon-reload
  systemctl restart svnserve

================================================================================

7. quickstart for mod_dontdothat

The apache module mod_dontdothat can be used to prevent users from causing high
load on the server, e.g. checking out the root of the tree or the tags or 
branches directories. 

Make sure mod_dontdothat is loaded:
$ a2enmod dontdothat

Add configuration for the module, e.g.

<Location />
  DAV svn
  SVNParentPath /srv/svn/repos/
  SVNListParentPath on
  # [...other configuration...]
  <IfModule mod_dontdothat.c>
    DontDoThatConfigFile /srv/svn/mod_dontdothat.config
    DontDoThatDisallowReplay off
  </IfModule>
</Location>

Restart apache to make the change effective.

A fairly standard file /srv/svn/mod_dontdothat.config may contain:

[recursive-actions]
/*/trunk = allow
/ = deny
/* = deny
/*/tags = deny
/*/branches = deny
/*/* = deny
/*/*/tags = deny
/*/*/branches = deny

This allows checking out of /trunk and each branch, but disallows checking out
all branches or the complete repository at once.

++++++ subversion.conf ++++++
# Example configuration for a subversion repository
# Install the package subversion-doc and see
# /usr/share/doc/packages/subversion for the full documentation
# An online version can be found at http://svnbook.red-bean.com/
#

<IfModule mod_dav_svn.c>

##
## project related HTML files
##
#<IfModule mod_alias.c>
#Alias /repos    /srv/svn/html
#</IfModule>
#<Directory /srv/svn/html>
#        Options         +Indexes +Multiviews -FollowSymLinks
#        IndexOptions    FancyIndexing \
#                        ScanHTMLTitles \
#                        NameWidth=* \
#                        DescriptionWidth=* \
#                        SuppressLastModified \
#                        SuppressSize
#
#        order allow,deny
#        allow from all
#</Directory>



#<Location /repos/myproject1>
#   DAV svn
#   SVNPath /srv/svn/repos/myproject1
#
#   AuthType Basic
#   AuthName "Authorization Realm"
#   AuthUserFile /srv/svn/user_access/myproject1_passwdfile
#   AuthGroupFile /srv/svn/user_access/myproject1_groupfile
#
#   # Limit read access to certain people
#   <Limit GET PROPFIND OPTIONS REPORT>
#      # uncomment to require SSL connection for password protection.
#      # SSLRequireSSL
#      Require group project1_committers
#      Require group project1_readers
#   </Limit>
#
#   # Limit write permission to list of valid users.
#   <LimitExcept GET PROPFIND OPTIONS REPORT>
#      # uncomment to require SSL connection for password protection.
#      # SSLRequireSSL
#      Require group project1_committers
#   </LimitExcept>
#
#</Location>

##
## Hosting svn at "/"
##
#<VirtualHost *>
#    ServerName svn.example.com
#    ErrorLog    /var/log/apache2/svn.example.com-error_log
#    TransferLog /var/log/apache2/svn.example.com-access_log
#    #
#    # Do not set DocumentRoot. It is not needed here and just causes trouble.
#    #
#    # Map the error documents back to their defaults.
#    # Otherwise mod_dav_svn tries to find a "error" repository.
#    #
#    ErrorDocument 400 default
#    ErrorDocument 401 default
#    ErrorDocument 403 default
#    ErrorDocument 404 default
#    ErrorDocument 405 default
#    ErrorDocument 408 default
#    ErrorDocument 410 default
#    ErrorDocument 411 default
#    ErrorDocument 412 default
#    ErrorDocument 413 default
#    ErrorDocument 414 default
#    ErrorDocument 415 default
#    ErrorDocument 500 default
#    ErrorDocument 501 default
#    ErrorDocument 502 default
#    ErrorDocument 503 default
#    #
#    <Location />
#      DAV svn
#      SVNParentPath /srv/svn/repos/
#      SVNListParentPath on
#      AuthType Basic
#      AuthName "subversion repository"
#      AuthBasicProvider file
#      AuthUserFile /srv/svn/auth/svn.example.org.htpasswd
#      SetOutputFilter DEFLATE
#      <LimitExcept GET PROPFIND OPTIONS REPORT>
#        Require valid-user
#      </LimitExcept>
#      #
#      # Optional configuration for mod_dontdothat
#      # prevent users from causing high load on the server, e.g. checking out 
#      # the root of the tree or the tags or branches directories
#      #
#      #<IfModule mod_dontdothat.c>
#      #  DontDoThatConfigFile /srv/svn/mod_dontdothat.config
#      #  DontDoThatDisallowReplay off
#      #</IfModule>
#    </Location>
#</VirtualHost>

</IfModule>
++++++ subversion.keyring ++++++
++++ 57484 lines (skipped)

++++++ subversion.libtool-verbose.patch ++++++
---
 Makefile.in |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Index: subversion-nightly/Makefile.in
===================================================================
--- subversion-nightly.orig/Makefile.in 2013-03-15 12:21:46.000000000 +0000
+++ subversion-nightly/Makefile.in      2013-03-17 20:02:04.000000000 +0000
@@ -112,8 +112,8 @@ EXEEXT = @EXEEXT@
 
 SHELL = @SHELL@
 LIBTOOL = @SVN_LIBTOOL@
-LTFLAGS = --tag=CC --silent
-LTCXXFLAGS = --tag=CXX --silent
+LTFLAGS = --tag=CC
+LTCXXFLAGS = --tag=CXX
 LT_CFLAGS = @LT_CFLAGS@
 LT_LDFLAGS = @LT_LDFLAGS@
 LT_SO_VERSION = @SVN_LT_SOVERSION@
++++++ subversion.svndiff.sh ++++++
#!/bin/bash
# stupid svn has no 'svn diff -v -R $bignum' to grab all info for a single patch
export TZ=UTC
export LANG=C
export LC_ALL=C
shopt -s extglob
case "$1" in
        r+([0-9]))
        rev=${1#?}
        shift
        ;;
        +([0-9]))
        rev=$1
        shift
        ;;
esac
if test -z "$rev"
then
        echo "Usage: $0 <svnrepo revision number>"
        exit 1
fi
revprev=$(($rev - 1 ))
svn log -v -r $rev "$@"
svn diff -r $revprev:$rev "$@"
++++++ subversion.svngrep.sh ++++++
#!/bin/sh
find \( -path '*/.pc' -o -path '*/.svn' -o -path '*/.git' -o -path '*/.hg' \) 
-prune -o -type f -print0 | xargs -0 grep "$@"
++++++ subversion.sysconfig.svnserve ++++++
## Path:        Network/Subversion/svnserve
## Description: Basic configuration for svnserve

## Type:        string
## Default      "-d -R -r /srv/svn/repos"
#
# Default options for the svnserve process.
# The -R option enforces read-only access, i.e. write operations to the
# repository (such as commits) will not be allowed.
# Authentication should be configured before allowing write access.
# See 
http://svnbook.red-bean.com/en/1.8/svn.serverconfig.svnserve.html#svn.serverconfig.svnserve.auth
#
SVNSERVE_OPTIONS="-d -R -r /srv/svn/repos"
++++++ subversion.sysconfig.svnserve.remoteaccess ++++++
## Name: svnserve
## Description: Open ports for svnserve
  
TCP="svn"
++++++ svnserve.service ++++++
[Unit]
Description=Subversion protocol daemon
After=network.target

[Service]
Type=forking
EnvironmentFile=/etc/sysconfig/svnserve
User=svn
Group=svn
PIDFile=/var/run/svnserve/svnserve.pid
ExecStart=/usr/bin/svnserve --daemon --pid-file=/var/run/svnserve/svnserve.pid 
$SVNSERVE_OPTIONS

[Install]
WantedBy=multi-user.target
++++++ svnserve.tmpfiles ++++++
D /var/run/svnserve 0755 svn svn -

Reply via email to