fix inconsistencies in subversion.README.SUSE
OBS-URL: https://build.opensuse.org/package/show/devel:tools:scm:svn/subversion?expand=0&rev=376
This commit is contained in:
commit
e8c4cb81c8
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.osc
|
20
_constraints
Normal file
20
_constraints
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<constraints>
|
||||||
|
<hardware>
|
||||||
|
<memory>
|
||||||
|
<size unit="M">1024</size>
|
||||||
|
</memory>
|
||||||
|
</hardware>
|
||||||
|
<overwrite>
|
||||||
|
<conditions>
|
||||||
|
<arch>aarch64</arch>
|
||||||
|
<package>subversion:testsuite</package>
|
||||||
|
</conditions>
|
||||||
|
<hardware>
|
||||||
|
<cpu>
|
||||||
|
<flag>asimdrdm</flag>
|
||||||
|
</cpu>
|
||||||
|
</hardware>
|
||||||
|
</overwrite>
|
||||||
|
</constraints>
|
||||||
|
|
3
_multibuild
Normal file
3
_multibuild
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<multibuild>
|
||||||
|
<package>testsuite</package>
|
||||||
|
</multibuild>
|
3
contrib-1804739.tar.bz2
Normal file
3
contrib-1804739.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:730fbf35e19461abe0cfb489ca6f75211497c7b25fb6e45138662c0ec2f0b0f5
|
||||||
|
size 286671
|
20
disable-fs-fs-pack-test.patch
Normal file
20
disable-fs-fs-pack-test.patch
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
Index: subversion-1.14.2/build.conf
|
||||||
|
===================================================================
|
||||||
|
--- subversion-1.14.2.orig/build.conf
|
||||||
|
+++ subversion-1.14.2/build.conf
|
||||||
|
@@ -806,15 +806,6 @@ msvc-force-static = yes
|
||||||
|
|
||||||
|
# ----------------------------------------------------------------------------
|
||||||
|
# Tests for libsvn_fs_fs
|
||||||
|
-[fs-fs-pack-test]
|
||||||
|
-description = Test fsfs packing in libsvn_fs_fs
|
||||||
|
-type = exe
|
||||||
|
-path = subversion/tests/libsvn_fs_fs
|
||||||
|
-sources = fs-fs-pack-test.c
|
||||||
|
-install = test
|
||||||
|
-libs = libsvn_test libsvn_fs libsvn_fs_fs libsvn_delta
|
||||||
|
- libsvn_subr apriconv apr
|
||||||
|
-msvc-force-static = yes
|
||||||
|
|
||||||
|
[fs-fs-fuzzy-test]
|
||||||
|
description = Use fuzzying to test FSFS corruption resilience
|
23
fix-javahl-test.patch
Normal file
23
fix-javahl-test.patch
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
--- a/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java.orig
|
||||||
|
+++ b/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
|
||||||
|
@@ -4744,7 +4744,19 @@ public class BasicTests extends SVNTests
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
- tunnelAgent.joinAndTest();
|
||||||
|
+ // In this test, there is a race condition that sometimes results in
|
||||||
|
+ // IOException when 'WAIT_TUNNEL' tries to read from a pipe that
|
||||||
|
+ // already has its read end closed. This is not an error, but
|
||||||
|
+ // it's hard to distinguish this case from other IOException which
|
||||||
|
+ // indicate a problem. To reproduce, simply wrap this test's body in
|
||||||
|
+ // a loop. The workaround is to ignore any detected IOException.
|
||||||
|
+ //
|
||||||
|
+ // tunnelAgent.joinAndTest();
|
||||||
|
+ try {
|
||||||
|
+ tunnelAgent.join();
|
||||||
|
+ } catch (InterruptedException e) {
|
||||||
|
+ e.printStackTrace ();
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
18
gcc10-do-not-optimize-get_externals_to_pin.patch
Normal file
18
gcc10-do-not-optimize-get_externals_to_pin.patch
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
Index: subversion-1.14.2/subversion/bindings/javahl/native/SVNClient.cpp
|
||||||
|
===================================================================
|
||||||
|
--- subversion-1.14.2.orig/subversion/bindings/javahl/native/SVNClient.cpp
|
||||||
|
+++ subversion-1.14.2/subversion/bindings/javahl/native/SVNClient.cpp
|
||||||
|
@@ -77,10 +77,13 @@
|
||||||
|
#include "private/svn_subr_private.h"
|
||||||
|
#include "svn_private_config.h"
|
||||||
|
|
||||||
|
+#pragma GCC push_options
|
||||||
|
+#pragma GCC optimize("-O0")
|
||||||
|
#include "ExternalItem.hpp"
|
||||||
|
#include "jniwrapper/jni_list.hpp"
|
||||||
|
#include "jniwrapper/jni_stack.hpp"
|
||||||
|
#include "jniwrapper/jni_string_map.hpp"
|
||||||
|
+#pragma GCC pop_options
|
||||||
|
|
||||||
|
|
||||||
|
SVNClient::SVNClient(jobject jthis_in)
|
55
remove-kdelibs4support-dependency.patch
Normal file
55
remove-kdelibs4support-dependency.patch
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
From: Antonio Larrosa <alarrosa@suse.com>
|
||||||
|
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
|
||||||
|
old_CXXFLAGS="$CXXFLAGS"
|
||||||
|
old_LDFLAGS="$LDFLAGS"
|
||||||
|
old_LIBS="$LIBS"
|
||||||
|
@@ -122,9 +105,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])
|
12
subversion-1.10.2-javadoc.patch
Normal file
12
subversion-1.10.2-javadoc.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
Index: subversion-1.14.3/Makefile.in
|
||||||
|
===================================================================
|
||||||
|
--- subversion-1.14.3.orig/Makefile.in
|
||||||
|
+++ subversion-1.14.3/Makefile.in
|
||||||
|
@@ -741,7 +741,6 @@ doc-api: mkdir-init
|
||||||
|
doc-javahl:
|
||||||
|
$(JAVADOC) -d $(abs_builddir)/doc/javadoc \
|
||||||
|
-sourcepath $(top_srcdir)/subversion/bindings/javahl/src \
|
||||||
|
- -link http://java.sun.com/javase/6/docs/api/ \
|
||||||
|
org.tigris.subversion.javahl \
|
||||||
|
org.apache.subversion.javahl \
|
||||||
|
org.apache.subversion.javahl.callback \
|
127
subversion-1.14.4-swig-4.3.0-swig-py.patch
Normal file
127
subversion-1.14.4-swig-4.3.0-swig-py.patch
Normal file
@ -0,0 +1,127 @@
|
|||||||
|
------------------------------------------------------------------------
|
||||||
|
r1921523 | jun66j5 | 2024-10-24 05:11:00 +0200 (Thu, 24 Oct 2024) | 3 lines
|
||||||
|
Changed paths:
|
||||||
|
M /subversion/branches/1.14.x-r1921505
|
||||||
|
M /subversion/branches/1.14.x-r1921505/subversion/bindings/swig/include/svn_types.swg
|
||||||
|
M /subversion/branches/1.14.x-r1921505/subversion/bindings/swig/python/tests/client.py
|
||||||
|
M /subversion/branches/1.14.x-r1921505/subversion/bindings/swig/python/tests/core.py
|
||||||
|
|
||||||
|
On the 1.14.x-r1921505 branch: Merge r1921505 from trunk without changes for
|
||||||
|
`%typemap() svn_error_t * SVN_ERR_WITH_ATTRS`.
|
||||||
|
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
Index: 1.14.x-r1921505/subversion/bindings/swig/include/svn_types.swg
|
||||||
|
===================================================================
|
||||||
|
--- 1.14.x-r1921505/subversion/bindings/swig/include/svn_types.swg (revision 1921522)
|
||||||
|
+++ 1.14.x-r1921505/subversion/bindings/swig/include/svn_types.swg (revision 1921523)
|
||||||
|
@@ -435,9 +435,32 @@
|
||||||
|
svn_error_clear($1);
|
||||||
|
SWIG_fail;
|
||||||
|
}
|
||||||
|
- Py_INCREF(Py_None);
|
||||||
|
- $result = Py_None;
|
||||||
|
+ Py_XDECREF($result);
|
||||||
|
+ $result = PyList_New(0);
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+%typemap(ret) svn_error_t * {
|
||||||
|
+ if ($result == NULL) {
|
||||||
|
+ $result = Py_None;
|
||||||
|
+ Py_INCREF($result);
|
||||||
|
+ }
|
||||||
|
+ else {
|
||||||
|
+ switch (PyList_Size($result)) {
|
||||||
|
+ case 0:
|
||||||
|
+ $result = Py_None;
|
||||||
|
+ Py_INCREF($result);
|
||||||
|
+ break;
|
||||||
|
+ case 1:
|
||||||
|
+ {
|
||||||
|
+ PyObject *tmp = $result;
|
||||||
|
+ $result = PyList_GetItem(tmp, 0);
|
||||||
|
+ Py_INCREF($result);
|
||||||
|
+ Py_DECREF(tmp);
|
||||||
|
+ }
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef SWIGPERL
|
||||||
|
Index: 1.14.x-r1921505/subversion/bindings/swig/python/tests/client.py
|
||||||
|
===================================================================
|
||||||
|
--- 1.14.x-r1921505/subversion/bindings/swig/python/tests/client.py (revision 1921522)
|
||||||
|
+++ 1.14.x-r1921505/subversion/bindings/swig/python/tests/client.py (revision 1921523)
|
||||||
|
@@ -172,7 +172,9 @@
|
||||||
|
|
||||||
|
path = self.temper.alloc_empty_dir('-checkout')
|
||||||
|
|
||||||
|
- self.assertRaises(ValueError, client.checkout2,
|
||||||
|
+ # TypeError is raised since SWIG 4.3.0
|
||||||
|
+ self.assertRaises((ValueError, TypeError), r'Received a NULL pointer',
|
||||||
|
+ client.checkout2,
|
||||||
|
self.repos_uri, path, None, None, True, True,
|
||||||
|
self.client_ctx)
|
||||||
|
|
||||||
|
@@ -526,7 +528,9 @@
|
||||||
|
|
||||||
|
path = self.temper.alloc_empty_dir('-update')
|
||||||
|
|
||||||
|
- self.assertRaises(ValueError, client.checkout2,
|
||||||
|
+ # TypeError is raised since SWIG 4.3.0
|
||||||
|
+ self.assertRaises((ValueError, TypeError), r'Received a NULL pointer',
|
||||||
|
+ client.checkout2,
|
||||||
|
self.repos_uri, path, None, None, True, True,
|
||||||
|
self.client_ctx)
|
||||||
|
|
||||||
|
Index: 1.14.x-r1921505/subversion/bindings/swig/python/tests/core.py
|
||||||
|
===================================================================
|
||||||
|
--- 1.14.x-r1921505/subversion/bindings/swig/python/tests/core.py (revision 1921522)
|
||||||
|
+++ 1.14.x-r1921505/subversion/bindings/swig/python/tests/core.py (revision 1921523)
|
||||||
|
@@ -333,7 +333,35 @@
|
||||||
|
[b'', 1])
|
||||||
|
svn.core.svn_stream_close(stream)
|
||||||
|
|
||||||
|
+ def test_svn_rangelist_diff(self):
|
||||||
|
+ """
|
||||||
|
+ SWIG incorrectly handles return values when the first %append_output() is
|
||||||
|
+ invoked with a list instance. svn.core.svn_rangelist_diff() is in the case.
|
||||||
|
+ We test whether the workaround for it is working.
|
||||||
|
+ """
|
||||||
|
|
||||||
|
+ def from_args(start, end, inheritable):
|
||||||
|
+ instance = svn.core.svn_merge_range_t()
|
||||||
|
+ instance.start = start
|
||||||
|
+ instance.end = end
|
||||||
|
+ instance.inheritable = inheritable
|
||||||
|
+ return instance
|
||||||
|
+
|
||||||
|
+ def to_args(instance):
|
||||||
|
+ return [instance.start, instance.end, instance.inheritable]
|
||||||
|
+
|
||||||
|
+ def map_list(f, iterator):
|
||||||
|
+ return list(map(f, iterator))
|
||||||
|
+
|
||||||
|
+ from_ = [from_args(4, 5, True), from_args(9, 13, True)]
|
||||||
|
+ to = [from_args(7, 11, True)]
|
||||||
|
+ rv = svn.core.svn_rangelist_diff(from_, to, True)
|
||||||
|
+ self.assertIsInstance(rv, (list, tuple))
|
||||||
|
+ deleted, added = rv
|
||||||
|
+ self.assertEqual([[7, 9, True]], map_list(to_args, added))
|
||||||
|
+ self.assertEqual([[4, 5, True], [11, 13, True]],map_list(to_args, deleted))
|
||||||
|
+
|
||||||
|
+
|
||||||
|
def suite():
|
||||||
|
return unittest.defaultTestLoader.loadTestsFromTestCase(
|
||||||
|
SubversionCoreTestCase)
|
||||||
|
Index: 1.14.x-r1921505
|
||||||
|
===================================================================
|
||||||
|
--- 1.14.x-r1921505 (revision 1921522)
|
||||||
|
+++ 1.14.x-r1921505 (revision 1921523)
|
||||||
|
|
||||||
|
Property changes on: 1.14.x-r1921505
|
||||||
|
___________________________________________________________________
|
||||||
|
Modified: svn:mergeinfo
|
||||||
|
## -0,0 +0,1 ##
|
||||||
|
Merged /subversion/trunk:r1921505
|
143
subversion-1.14.4-swig-4.3.0-swig-rb.patch
Normal file
143
subversion-1.14.4-swig-4.3.0-swig-rb.patch
Normal file
@ -0,0 +1,143 @@
|
|||||||
|
------------------------------------------------------------------------
|
||||||
|
r1921506 | jun66j5 | 2024-10-23 12:44:41 +0200 (Wed, 23 Oct 2024) | 27 lines
|
||||||
|
Changed paths:
|
||||||
|
M /subversion/trunk/subversion/bindings/swig/include/svn_containers.swg
|
||||||
|
M /subversion/trunk/subversion/bindings/swig/include/svn_types.swg
|
||||||
|
M /subversion/trunk/subversion/bindings/swig/ruby/svn/core.rb
|
||||||
|
M /subversion/trunk/subversion/bindings/swig/svn_wc.i
|
||||||
|
|
||||||
|
Make swig-rb compatible with SWIG 4.3.0.
|
||||||
|
|
||||||
|
* subversion/bindings/swig/include/svn_containers.swg
|
||||||
|
(%typemap(out) apr_hash_t *PROPHASH,
|
||||||
|
%typemap(out) apr_hash_t *CHANGED_PATH_HASH,
|
||||||
|
%typemap(out) apr_array_header_t *PROP_LIST,
|
||||||
|
%typemap(out) apr_array_header_t *PROP_LIST_MAY_BE_NULL):
|
||||||
|
Set the return value to `$result` rather than using `%append_output` in
|
||||||
|
`%typemap(out)` for Ruby.
|
||||||
|
|
||||||
|
* subversion/bindings/swig/include/svn_types.swg
|
||||||
|
(%typemap(out) svn_error_t *):
|
||||||
|
Initialize `$result` with an empty array for the workaround to
|
||||||
|
`%append_output` incorrectly handling for nil and a list in Ruby.
|
||||||
|
|
||||||
|
(%typemap(ret) svn_error_t *):
|
||||||
|
Use first entry for `$result` when the size of the `$result` list is 1.
|
||||||
|
|
||||||
|
* subversion/bindings/swig/ruby/svn/core.rb
|
||||||
|
(Svn::Core::RangeList.diff):
|
||||||
|
Revised because multiple values are correctly retrieved from SWIG methods
|
||||||
|
now.
|
||||||
|
|
||||||
|
* subversion/bindings/swig/svn_wc.i
|
||||||
|
(%typemap(ret) svn_error_t *err):
|
||||||
|
Added because `%typemap(out) svn_error_t *err` is defined.
|
||||||
|
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
Index: trunk/subversion/bindings/swig/include/svn_containers.swg
|
||||||
|
===================================================================
|
||||||
|
--- trunk/subversion/bindings/swig/include/svn_containers.swg (revision 1921505)
|
||||||
|
+++ trunk/subversion/bindings/swig/include/svn_containers.swg (revision 1921506)
|
||||||
|
@@ -310,7 +310,7 @@
|
||||||
|
|
||||||
|
%typemap(out) apr_hash_t *PROPHASH
|
||||||
|
{
|
||||||
|
- %append_output(svn_swig_rb_apr_hash_to_hash_svn_string($1));
|
||||||
|
+ $result = svn_swig_rb_apr_hash_to_hash_svn_string($1);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
@@ -326,10 +326,8 @@
|
||||||
|
#ifdef SWIGRUBY
|
||||||
|
%typemap(out) apr_hash_t *CHANGED_PATH_HASH
|
||||||
|
{
|
||||||
|
- VALUE rb_changed_path_hash;
|
||||||
|
- rb_changed_path_hash =
|
||||||
|
+ $result =
|
||||||
|
svn_swig_rb_apr_hash_to_hash_swig_type($1, "svn_log_changed_path_t *");
|
||||||
|
- %append_output(rb_changed_path_hash);
|
||||||
|
}
|
||||||
|
|
||||||
|
%apply apr_hash_t *CHANGED_PATH_HASH {
|
||||||
|
@@ -760,7 +758,7 @@
|
||||||
|
|
||||||
|
%typemap(out) apr_array_header_t *PROP_LIST
|
||||||
|
{
|
||||||
|
- %append_output(svn_swig_rb_prop_apr_array_to_hash_prop($1));
|
||||||
|
+ $result = svn_swig_rb_prop_apr_array_to_hash_prop($1);
|
||||||
|
}
|
||||||
|
|
||||||
|
%typemap(in) apr_array_header_t *PROP_LIST_MAY_BE_NULL
|
||||||
|
@@ -778,7 +776,7 @@
|
||||||
|
|
||||||
|
%typemap(out) apr_array_header_t *PROP_LIST_MAY_BE_NULL
|
||||||
|
{
|
||||||
|
- %append_output($1 ? svn_swig_rb_prop_apr_array_to_hash_prop($1) : Qnil);
|
||||||
|
+ $result = $1 ? svn_swig_rb_prop_apr_array_to_hash_prop($1) : Qnil;
|
||||||
|
}
|
||||||
|
|
||||||
|
%apply apr_array_header_t *PROP_LIST {
|
||||||
|
Index: trunk/subversion/bindings/swig/include/svn_types.swg
|
||||||
|
===================================================================
|
||||||
|
--- trunk/subversion/bindings/swig/include/svn_types.swg (revision 1921505)
|
||||||
|
+++ trunk/subversion/bindings/swig/include/svn_types.swg (revision 1921506)
|
||||||
|
@@ -532,7 +532,7 @@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef SWIGRUBY
|
||||||
|
-%typemap(out) svn_error_t *
|
||||||
|
+%typemap(out) svn_error_t * (VALUE *svn_presult = NULL)
|
||||||
|
{
|
||||||
|
if ($1) {
|
||||||
|
svn_swig_rb_destroy_pool(_global_svn_swig_rb_pool);
|
||||||
|
@@ -539,8 +539,23 @@
|
||||||
|
svn_swig_rb_pop_pool(_global_svn_swig_rb_pool);
|
||||||
|
svn_swig_rb_handle_svn_error($1);
|
||||||
|
}
|
||||||
|
- $result = Qnil;
|
||||||
|
+ $result = rb_ary_new();
|
||||||
|
+ svn_presult = &$result;
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+%typemap(ret) svn_error_t *
|
||||||
|
+{
|
||||||
|
+ if (TYPE(*svn_presult) == T_ARRAY) {
|
||||||
|
+ switch (rb_array_len(*svn_presult)) {
|
||||||
|
+ case 0:
|
||||||
|
+ *svn_presult = Qnil;
|
||||||
|
+ break;
|
||||||
|
+ case 1:
|
||||||
|
+ *svn_presult = rb_ary_entry(*svn_presult, 0);
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* -----------------------------------------------------------------------
|
||||||
|
Index: trunk/subversion/bindings/swig/ruby/svn/core.rb
|
||||||
|
===================================================================
|
||||||
|
--- trunk/subversion/bindings/swig/ruby/svn/core.rb (revision 1921505)
|
||||||
|
+++ trunk/subversion/bindings/swig/ruby/svn/core.rb (revision 1921506)
|
||||||
|
@@ -812,7 +812,7 @@
|
||||||
|
def diff(to, consider_inheritance=false)
|
||||||
|
result = Core.rangelist_diff(self, to, consider_inheritance)
|
||||||
|
deleted = result.pop
|
||||||
|
- added = result
|
||||||
|
+ added = result.pop
|
||||||
|
[added, deleted].collect do |result|
|
||||||
|
self.class.new(*result)
|
||||||
|
end
|
||||||
|
Index: trunk/subversion/bindings/swig/svn_wc.i
|
||||||
|
===================================================================
|
||||||
|
--- trunk/subversion/bindings/swig/svn_wc.i (revision 1921505)
|
||||||
|
+++ trunk/subversion/bindings/swig/svn_wc.i (revision 1921506)
|
||||||
|
@@ -242,6 +242,8 @@
|
||||||
|
{
|
||||||
|
$result = $1 ? svn_swig_rb_svn_error_to_rb_error($1) : Qnil;
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+%typemap(ret) svn_error_t *err "";
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
3
subversion-1.14.4.tar.bz2
Normal file
3
subversion-1.14.4.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:44ead116e72e480f10f123c914bb6f9f8c041711c041ed7abff1b8634a199e3c
|
||||||
|
size 8509652
|
27
subversion-1.14.4.tar.bz2.asc
Normal file
27
subversion-1.14.4.tar.bz2.asc
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQEzBAABCAAdFiEEi8Ta4MWk1l9ARAEHT326qZpZuXMFAmb1IjcACgkQT326qZpZ
|
||||||
|
uXMqVgf/XkhwQvoJ54MzrQg9COlrKsjuqBg7MvAfvcnHcREbqu1b/pt9rVM5V+OI
|
||||||
|
9ofrhZfodWz6nAjHfMfFG0eBPM+qCwiwZ2cFQx0H20AW7sN3MOPizCOItBDkV/2h
|
||||||
|
2Mfhd+XjFcyE91z0vmeq7OWQtnI2mNjiHUVNnMdHRYW3v8Ga87Hk51O/kgpAfykF
|
||||||
|
MFyKVKrp+6NpIYIP80a/f4x+PDXw3tKNJnTuMcADKivNx0OzPr0AfF7F/OnG3dtQ
|
||||||
|
JWpRff8xJHgo9THdm6R3MyOkCmimPQldBL56ZWP7RdbQJYSyFvCHK/15BaDixJbM
|
||||||
|
Owg2OExJC3eMeeoGDeACRsmi+m5tjg==
|
||||||
|
=Ywix
|
||||||
|
-----END PGP SIGNATURE-----
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCAAdFiEEP45GfLM2bjAT4RINWD8ArfmBw58FAmb7gEsACgkQWD8ArfmB
|
||||||
|
w5+7HBAAuJH77kxmf5sgvxt7twt5flctaAlrM1odOn2dPwLUb7urHj5uiJnrpaTS
|
||||||
|
u77Zm6gv8xsQRjyTKLiFWktkRE3u0LWOsWj+8k9DAZa7JswwJ5vm3ARbUjrL/MnN
|
||||||
|
mYD1jDnBXto6xQsRRAaBMtsgKUCnrN5SbUuRuzZrdP7iPzzzwChd/FVz6U99J2Vk
|
||||||
|
wma/kQzMEOgV9hZrvJROknQmhyb2iUhSQgEMGj0qTOUqyQcNvTAnFdo4uslY+pL2
|
||||||
|
7x4JSv8UZ94t7UdSRTdFGoZVewW9CIGdqZ9ajkpZFb9gIfjs/9EapIjFtgYfVENI
|
||||||
|
RIKV+fUIM5shuL9PuEBUs7yzmxbpAF1KpKuofLUqvr2wjXejmW56VD/uCWUHkBuw
|
||||||
|
nnaRbvkOv8/jMebZC7pr7uZARxvK/YI5036ir+Jbl0IZveV/IyO3ud2lpQnXM+E4
|
||||||
|
64AUCp3QaRuFmwS2Kb3QvvAC98RMOqiTrg2H/afHBxlvF1eBWJkRulIm3w4nVzxv
|
||||||
|
o56DX/Xo1i8pef3giqKwWYc5j3MYl9Wro/xZXpkDBAazzr0zYj4Ma0DFbi7NAXBw
|
||||||
|
G4IWkrKrr0QLVKgXe0U4c6wTqrGc3fsnnO+pFnGds4pW7n7HFg+4+x1LuoipNOYe
|
||||||
|
/C4HFIPKS7RRedNwhULy02raF4/w3AHxepuMYOT2uqbrOocK6MM=
|
||||||
|
=H4vd
|
||||||
|
-----END PGP SIGNATURE-----
|
3
subversion-1.14.5.tar.bz2
Normal file
3
subversion-1.14.5.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:e78a29e7766b8b7b354497d08f71a55641abc53675ce1875584781aae35644a1
|
||||||
|
size 8675355
|
34
subversion-1.14.5.tar.bz2.asc
Normal file
34
subversion-1.14.5.tar.bz2.asc
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQEzBAABCAAdFiEEi8Ta4MWk1l9ARAEHT326qZpZuXMFAmdImqQACgkQT326qZpZ
|
||||||
|
uXP+Nwf+NxFQYbZCIEbLBvFL8Fgu1hDzI2CZSrbM/I6rX0TRDFGdBxQfp6WZkeCK
|
||||||
|
tsrIgYY1hztXP7AlnY439xXusT2cDMli9vnz03zdWQwD5bURMDZTnB067VwxTxxH
|
||||||
|
+Ol8qXU5QbXgxTxDuziH/YBVMHZIJOBFalGdJvPArlVMGYc3R+vYLji3jUXTxTOp
|
||||||
|
2Y0b8U8MJIk80uNliwiCPaxCpjp/jlX7EE/m9XyEAfmw3utNyVcxn94xpZtUFvOS
|
||||||
|
fE62udio10pFCGyGrnsX6qVn2cIIAdvXJvFtivzHRTXFu34bS3eeeb28m2En9MvH
|
||||||
|
wFhJ1R2om5c1wat7krNlb5pdyEt/Bg==
|
||||||
|
=MKVV
|
||||||
|
-----END PGP SIGNATURE-----
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCAAdFiEEP45GfLM2bjAT4RINWD8ArfmBw58FAmdMkVYACgkQWD8ArfmB
|
||||||
|
w5+qBw//XwHW91S1BiOBRA0mlRSj+UzWDG9+D0pYsvl025GEMPhleiELbgGqh6UV
|
||||||
|
zUpmHVBQ5f3hrsiykyo7oKGEq0xMNoFafiC1qW7fmDmxIMpE8IOxAEFHEWXl8ADs
|
||||||
|
IKMLpSRI4auMCXzPzquWNlxNL4Orot0VLUO2e+AIBmGe+LaUoS2cryrzVekMI4sg
|
||||||
|
obvRkVRupXWwxA90GQ2r0e0paI8tUQZMaD8lBrj+3HEc5w17XyyhVXVPhk2VftBu
|
||||||
|
Q+sVfaW1uNw2V+3igg6uqxSvyfyfI0f5N4WQBYoSTTqR04vqGidwamCCX9ZG0Wtc
|
||||||
|
e7T5fm9AtcKGnov4JmCpmZwKB1MzWKWFXlL6o+TRa9izBfRcqsaEmb2nXCmowh9H
|
||||||
|
c2mk1MJdvvI7xe4t5zeL0szHK1Y/hfxLjrRuvJuEgaMTeLQ3/QtsGicLRG8RkTzc
|
||||||
|
HQl1mMP8mzlwSiWYwNqrB3UNW9a4hAy4ndZRlzZoYbX8WWlwxwAitrJds+84QemX
|
||||||
|
oycOWxgoIMb1OFHUCLgtZgULZ8HdEWH/0b4qG7HNRJWKljnyeIAAaFo6NvTNILYn
|
||||||
|
3n+xyYcK3vN5ogE+1Krkn2JLqhoBjXfIIWA2UR3mUYeVOwLnZc5KdjYVxvykG5xj
|
||||||
|
TqlLw05pi/Kx3pX+Npq/djfAXd6Bh0FRgG4NOkBt2Dk+mmPBVOE=
|
||||||
|
=DU6C
|
||||||
|
-----END PGP SIGNATURE-----
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iHUEABYKAB0WIQR9yKe/N0eP9I4z6F4rSCK0tjQLrAUCZ0eYcgAKCRArSCK0tjQL
|
||||||
|
rLSZAP4572GbXMATfN9G8QWQAQ0zgxh15mRD/Raf7QTmUlQtcAEAupvFbGyFWDLk
|
||||||
|
ieRcoThYnLtNwtbI+P1sK2R2DSIqQg4=
|
||||||
|
=wIv3
|
||||||
|
-----END PGP SIGNATURE-----
|
87
subversion-1.8.0-rpath.patch
Normal file
87
subversion-1.8.0-rpath.patch
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
Prevent the linker from adding an rpath to shared libraries. Original
|
||||||
|
patch by David Kimdon <dwhedon@debian.org>. The basic theory is:
|
||||||
|
|
||||||
|
- Split the $(LINK) makefile macro into $(LINK) and $(LINK_LIB).
|
||||||
|
- Comment out LD_RUN_PATH in the Perl makefiles.
|
||||||
|
- Use libtool instead of apxs to install the apache modules.
|
||||||
|
libtool relinks without rpath in this case, apxs obviously doesn't.
|
||||||
|
|
||||||
|
---
|
||||||
|
Makefile.in | 12 +++++++-----
|
||||||
|
build.conf | 4 ++--
|
||||||
|
build/generator/gen_base.py | 3 ++-
|
||||||
|
3 files changed, 11 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
Index: subversion-1.14.3/Makefile.in
|
||||||
|
===================================================================
|
||||||
|
--- subversion-1.14.3.orig/Makefile.in
|
||||||
|
+++ subversion-1.14.3/Makefile.in
|
||||||
|
@@ -272,10 +272,10 @@ TEST_SHLIB_VAR_SWIG_RB=\
|
||||||
|
COMPILE_SVNXX = $(LT_COMPILE_CXX) $(SVNXX_INCLUDES) -o $@ -c
|
||||||
|
COMPILE_SVNXX_TEST = $(LT_COMPILE_CXX) $(SVNXX_INCLUDES) $(BOOST_TEST_CPPFLAGS) -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)
|
||||||
|
LINK_SVNXX_TEST = $(LINK_CXX) $(BOOST_TEST_LDFLAGS)
|
||||||
|
|
||||||
|
# special link rule for mod_dav_svn
|
||||||
|
@@ -883,7 +883,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; $(SWIG_PL_PERL) Makefile.PL PREFIX=$(prefix)
|
||||||
|
+ cd $(SWIG_PL_DIR)/native; \
|
||||||
|
+ $(SWIG_PL_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.14.3/build.conf
|
||||||
|
===================================================================
|
||||||
|
--- subversion-1.14.3.orig/build.conf
|
||||||
|
+++ subversion-1.14.3/build.conf
|
||||||
|
@@ -573,7 +573,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)
|
||||||
|
@@ -599,7 +599,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.14.3/build/generator/gen_base.py
|
||||||
|
===================================================================
|
||||||
|
--- subversion-1.14.3.orig/build/generator/gen_base.py
|
||||||
|
+++ subversion-1.14.3/build/generator/gen_base.py
|
||||||
|
@@ -600,7 +600,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')
|
||||||
|
@@ -654,6 +654,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')
|
@ -0,0 +1,11 @@
|
|||||||
|
--- a/Makefile.in.orig
|
||||||
|
+++ b/Makefile.in
|
||||||
|
@@ -879,7 +879,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
|
86
subversion-no-build-date.patch
Normal file
86
subversion-no-build-date.patch
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
From: Andreas Stieger <andreas.stieger@gmx.de>
|
||||||
|
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.14.4/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
|
||||||
|
===================================================================
|
||||||
|
--- subversion-1.14.4.orig/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
|
||||||
|
+++ subversion-1.14.4/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
|
||||||
|
@@ -149,10 +149,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.14.4/subversion/libsvn_subr/opt.c
|
||||||
|
===================================================================
|
||||||
|
--- subversion-1.14.4.orig/subversion/libsvn_subr/opt.c
|
||||||
|
+++ subversion-1.14.4/subversion/libsvn_subr/opt.c
|
||||||
|
@@ -1147,12 +1147,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.14.4/subversion/libsvn_subr/version.c
|
||||||
|
===================================================================
|
||||||
|
--- subversion-1.14.4.orig/subversion/libsvn_subr/version.c
|
||||||
|
+++ subversion-1.14.4/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) 2024 The Apache Software Foundation.\n"
|
||||||
|
Index: subversion-1.14.4/subversion/tests/cmdline/getopt_tests_data/svn--version--verbose_stdout
|
||||||
|
===================================================================
|
||||||
|
--- subversion-1.14.4.orig/subversion/tests/cmdline/getopt_tests_data/svn--version--verbose_stdout
|
||||||
|
+++ subversion-1.14.4/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.14.4/subversion/tests/cmdline/getopt_tests_data/svn--version_stdout
|
||||||
|
===================================================================
|
||||||
|
--- subversion-1.14.4.orig/subversion/tests/cmdline/getopt_tests_data/svn--version_stdout
|
||||||
|
+++ subversion-1.14.4/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;
|
26
subversion-perl-underlinking.patch
Normal file
26
subversion-perl-underlinking.patch
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
Index: subversion-1.14.3/Makefile.in
|
||||||
|
===================================================================
|
||||||
|
--- subversion-1.14.3.orig/Makefile.in
|
||||||
|
+++ subversion-1.14.3/Makefile.in
|
||||||
|
@@ -901,7 +901,7 @@ swig-pl: autogen-swig-pl $(SWIG_PL_DIR)/
|
||||||
|
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.14.3/subversion/bindings/swig/perl/native/Makefile.PL.in
|
||||||
|
===================================================================
|
||||||
|
--- subversion-1.14.3.orig/subversion/bindings/swig/perl/native/Makefile.PL.in
|
||||||
|
+++ subversion-1.14.3/subversion/bindings/swig/perl/native/Makefile.PL.in
|
||||||
|
@@ -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`)],
|
13
subversion-pkgconfig.patch
Normal file
13
subversion-pkgconfig.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
Index: subversion-1.14.2/Makefile.in
|
||||||
|
===================================================================
|
||||||
|
--- subversion-1.14.2.orig/Makefile.in
|
||||||
|
+++ subversion-1.14.2/Makefile.in
|
||||||
|
@@ -96,7 +96,7 @@ swig_rbdir = $(SWIG_RB_SITE_ARCH_DIR)/sv
|
||||||
|
toolsdir = @bindir@/svn-tools
|
||||||
|
|
||||||
|
# where to install pkg-config files
|
||||||
|
-pkgconfig_dir = $(datadir)/pkgconfig
|
||||||
|
+pkgconfig_dir = $(libdir)/pkgconfig
|
||||||
|
|
||||||
|
javahl_javadir = @libdir@/svn-javahl
|
||||||
|
javahl_javahdir = @libdir@/svn-javahl/include
|
3
subversion-rpmlintrc
Normal file
3
subversion-rpmlintrc
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# 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.*")
|
18
subversion-swig-perl-Wall.patch
Normal file
18
subversion-swig-perl-Wall.patch
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
Index: subversion-1.14.2/subversion/bindings/swig/perl/native/Makefile.PL.in
|
||||||
|
===================================================================
|
||||||
|
--- subversion-1.14.2.orig/subversion/bindings/swig/perl/native/Makefile.PL.in
|
||||||
|
+++ subversion-1.14.2/subversion/bindings/swig/perl/native/Makefile.PL.in
|
||||||
|
@@ -61,7 +61,6 @@ chomp($cflags);
|
||||||
|
# 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;
|
16
subversion-swig-perl-install_vendor.patch
Normal file
16
subversion-swig-perl-install_vendor.patch
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
Makefile.in | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
Index: subversion-1.14.3/Makefile.in
|
||||||
|
===================================================================
|
||||||
|
--- subversion-1.14.3.orig/Makefile.in
|
||||||
|
+++ subversion-1.14.3/Makefile.in
|
||||||
|
@@ -905,7 +905,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
|
265
subversion.README.SUSE
Normal file
265
subversion.README.SUSE
Normal file
@ -0,0 +1,265 @@
|
|||||||
|
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.11
|
||||||
|
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.11
|
||||||
|
|
||||||
|
- concerns when upgrading from earlier versions
|
||||||
|
* Upgrading the Working Copy
|
||||||
|
1.11 uses the same working copy format as 1.8 through 1.10. 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.11 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 myproject1
|
||||||
|
chown -R wwwrun:www myproject1/{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/myproject1_passwdfile
|
||||||
|
chown root:www /srv/svn/user_access/myproject1_passwdfile
|
||||||
|
chmod 640 /srv/svn/user_access/myproject1_passwdfile
|
||||||
|
|
||||||
|
htpasswd2 /srv/svn/user_access/myproject1_passwdfile user1
|
||||||
|
htpasswd2 /srv/svn/user_access/myproject1_passwdfile user2
|
||||||
|
|
||||||
|
Create the group file for myproject1:
|
||||||
|
/srv/svn/user_access/myproject1_groupfile
|
||||||
|
|
||||||
|
myproject1_committers: user2
|
||||||
|
myproject1_readers: user1 user2
|
||||||
|
|
||||||
|
|
||||||
|
You can test access by:
|
||||||
|
|
||||||
|
svn info http://127.0.0.1/repos/myproject1
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
|
||||||
|
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/myproject1
|
||||||
|
|
||||||
|
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/myproject1/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.
|
||||||
|
|
4591
subversion.changes
Normal file
4591
subversion.changes
Normal file
File diff suppressed because it is too large
Load Diff
110
subversion.conf
Normal file
110
subversion.conf
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
# 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 myproject1_committers
|
||||||
|
# Require group myproject1_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 myproject1_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>
|
3082
subversion.keyring
Normal file
3082
subversion.keyring
Normal file
File diff suppressed because it is too large
Load Diff
19
subversion.libtool-verbose.patch
Normal file
19
subversion.libtool-verbose.patch
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
---
|
||||||
|
Makefile.in | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
Index: subversion-1.14.2/Makefile.in
|
||||||
|
===================================================================
|
||||||
|
--- subversion-1.14.2.orig/Makefile.in
|
||||||
|
+++ subversion-1.14.2/Makefile.in
|
||||||
|
@@ -124,8 +124,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@
|
574
subversion.spec
Normal file
574
subversion.spec
Normal file
@ -0,0 +1,574 @@
|
|||||||
|
#
|
||||||
|
# spec file for package subversion
|
||||||
|
#
|
||||||
|
# Copyright (c) 2024 SUSE LLC
|
||||||
|
# Copyright (c) 2009-2010 Pascal Bleser <pascal.bleser@opensuse.org>
|
||||||
|
# Copyright (c) 2024 Andreas Stieger <Andreas.Stieger@gmx.de>
|
||||||
|
#
|
||||||
|
# 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 sqlite_minimum_version 3.8.2
|
||||||
|
#Compat macro for new _fillupdir macro introduced in Nov 2017
|
||||||
|
%if ! %{defined _fillupdir}
|
||||||
|
%define _fillupdir %{_localstatedir}/adm/fillup-templates
|
||||||
|
%endif
|
||||||
|
#Compat macros for SLES 15 SP2 which does not support python_site{arch,lib}
|
||||||
|
%if 0%{?sle_version} == 150200 && !0%{?is_opensuse}
|
||||||
|
%define python_sitearch %{python3_sitearch}
|
||||||
|
%define python_sitelib %{python3_sitelib}
|
||||||
|
%endif
|
||||||
|
%global flavor @BUILD_FLAVOR@%{nil}
|
||||||
|
%if "%{flavor}" == "testsuite"
|
||||||
|
%global psuffix -testsuite
|
||||||
|
%else
|
||||||
|
%global psuffix %{nil}
|
||||||
|
%endif
|
||||||
|
%bcond_without gnome
|
||||||
|
%bcond_without kde
|
||||||
|
%bcond_with python_ctypes
|
||||||
|
%bcond_with all_regression_tests
|
||||||
|
Name: subversion%{psuffix}
|
||||||
|
Version: 1.14.5
|
||||||
|
Release: 0
|
||||||
|
Summary: Subversion version control system
|
||||||
|
License: Apache-2.0
|
||||||
|
URL: https://subversion.apache.org
|
||||||
|
Source0: https://www.apache.org/dist/subversion/subversion-%{version}.tar.bz2
|
||||||
|
Source1: subversion.conf
|
||||||
|
Source2: subversion.README.SUSE
|
||||||
|
Source4: contrib-1804739.tar.bz2
|
||||||
|
Source10: subversion.sysconfig.svnserve
|
||||||
|
Source14: svnserve.service
|
||||||
|
Source15: svnserve.tmpfiles
|
||||||
|
Source16: svn.sysusers
|
||||||
|
Source42: subversion.svngrep.sh
|
||||||
|
Source43: subversion.svndiff.sh
|
||||||
|
Source50: https://www.apache.org/dist/subversion/subversion-%{version}.KEYS#/subversion.keyring
|
||||||
|
Source51: https://www.apache.org/dist/subversion/subversion-%{version}.tar.bz2.asc
|
||||||
|
Source92: subversion-rpmlintrc
|
||||||
|
Patch0: subversion-pkgconfig.patch
|
||||||
|
Patch1: subversion-1.10.2-javadoc.patch
|
||||||
|
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
|
||||||
|
Patch42: gcc10-do-not-optimize-get_externals_to_pin.patch
|
||||||
|
Patch45: disable-fs-fs-pack-test.patch
|
||||||
|
# PATCH-FIX-OPENSUSE SLE-11901
|
||||||
|
Patch46: remove-kdelibs4support-dependency.patch
|
||||||
|
# PATCH-FIX-UPSTREAM danilo.spinella@suse.com bsc#1195486 bsc#1193778
|
||||||
|
# Fix testCrash_RequestChannel_nativeRead_AfterException test on aarch64 and ppc64le
|
||||||
|
Patch47: fix-javahl-test.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.8.0
|
||||||
|
BuildRequires: junit
|
||||||
|
BuildRequires: libstdc++-devel
|
||||||
|
BuildRequires: libtool
|
||||||
|
BuildRequires: pkgconfig
|
||||||
|
BuildRequires: py3c-devel
|
||||||
|
BuildRequires: python3-devel >= 2.7
|
||||||
|
BuildRequires: python3-py3c
|
||||||
|
BuildRequires: python3-xml
|
||||||
|
BuildRequires: ruby-devel >= 1.8.2
|
||||||
|
BuildRequires: strip-nondeterminism
|
||||||
|
BuildRequires: swig
|
||||||
|
BuildRequires: sysuser-tools
|
||||||
|
BuildRequires: update-alternatives
|
||||||
|
BuildRequires: utf8proc-devel
|
||||||
|
BuildRequires: pkgconfig(apr-1) >= 1.3.0
|
||||||
|
BuildRequires: pkgconfig(apr-util-1) >= 1.3.0
|
||||||
|
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)
|
||||||
|
# in openSUSE Leap 42.3, lz4 was incorrectly packaged
|
||||||
|
BuildConflicts: pkgconfig(liblz4) = 124
|
||||||
|
Requires: libsqlite3-0 >= %{sqlite_minimum_version}
|
||||||
|
Requires(post): %fillup_prereq
|
||||||
|
# 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}
|
||||||
|
%sysusers_requires
|
||||||
|
%{?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
|
||||||
|
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
|
||||||
|
|
||||||
|
%description tools
|
||||||
|
This package contains some tools for subversion server and
|
||||||
|
repository admins.
|
||||||
|
|
||||||
|
%package perl
|
||||||
|
Summary: Allows Perl scripts to directly use Subversion repositories
|
||||||
|
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
|
||||||
|
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
|
||||||
|
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
|
||||||
|
Requires: subversion = %{version}
|
||||||
|
|
||||||
|
%description ruby
|
||||||
|
Provides Ruby (SWIG) support for Subversion version control system.
|
||||||
|
|
||||||
|
%package server
|
||||||
|
Summary: Apache server module for Subversion server
|
||||||
|
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
|
||||||
|
Requires: subversion = %{version}
|
||||||
|
Supplements: (subversion and kdebase4-workspace)
|
||||||
|
Supplements: (subversion and 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
|
||||||
|
Requires: subversion = %{version}
|
||||||
|
Supplements: (subversion and gnome-session)
|
||||||
|
|
||||||
|
%description -n libsvn_auth_gnome_keyring-1-0
|
||||||
|
Provides GNOME keyring support for Subversion
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%package bash-completion
|
||||||
|
Summary: Bash Completion for subversion
|
||||||
|
Requires: bash-completion
|
||||||
|
Requires: subversion = %{version}
|
||||||
|
Supplements: (%{name} and bash-completion)
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%description bash-completion
|
||||||
|
Bash command line completion support for subversion - completion of subcommands,
|
||||||
|
parameters and keywords for the svn command and other tools.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -p1 -a 4 -n subversion-%{version}
|
||||||
|
|
||||||
|
# do not use 'env python'
|
||||||
|
sed -i -e 's#%{_bindir}/env python#%{_bindir}/python3#' subversion/tests/cmdline/*.py
|
||||||
|
|
||||||
|
%build
|
||||||
|
%sysusers_generate_pre %{SOURCE16} subversion system-user-svn.conf
|
||||||
|
# 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="%{apache_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=%{apache_apxs} \
|
||||||
|
--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_build
|
||||||
|
%make_build doc-api
|
||||||
|
|
||||||
|
# Bindings
|
||||||
|
%make_build extraclean-bindings
|
||||||
|
%make_build swig-py swig-rb swig-pl
|
||||||
|
%if %{with python_ctypes}
|
||||||
|
%make_build ctypes-python
|
||||||
|
%endif
|
||||||
|
# Java is not thread safe
|
||||||
|
%make_build -j1 JAVAC_FLAGS=" -encoding iso8859-1" javahl doc-javahl
|
||||||
|
|
||||||
|
%install
|
||||||
|
%if "%{flavor}" != "testsuite"
|
||||||
|
%make_install
|
||||||
|
make DESTDIR=%{buildroot} install-swig-py install-swig-pl install-javahl install-swig-rb
|
||||||
|
strip-nondeterminism %{buildroot}%{_libdir}/svn-javahl/svn-javahl.jar
|
||||||
|
|
||||||
|
%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
|
||||||
|
%py_compile %{buildroot}/%{python_sitelib}/csvn
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%perl_process_packlist
|
||||||
|
%find_lang subversion
|
||||||
|
|
||||||
|
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 subversion.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 -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}%{_prefix}/lib/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}%{_datadir}/bash-completion/completions/subversion
|
||||||
|
|
||||||
|
# examples
|
||||||
|
mkdir -p %{buildroot}%{_docdir}/subversion
|
||||||
|
cp -r tools/hook-scripts tools/backup tools/bdb tools/examples tools/xslt %{buildroot}%{_docdir}/subversion
|
||||||
|
find %{buildroot}%{_docdir}/subversion -type f -print0 | xargs -0 chmod 644
|
||||||
|
|
||||||
|
# clean tools for doc
|
||||||
|
rm -rf tools/*/*.in
|
||||||
|
rm -rf doc/doxygen/html/installdox
|
||||||
|
|
||||||
|
# sysusers
|
||||||
|
install -Dm0644 %{SOURCE16} %{buildroot}%{_sysusersdir}/system-user-svn.conf
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "testsuite"
|
||||||
|
%check
|
||||||
|
export LANG=C LC_ALL=C
|
||||||
|
|
||||||
|
echo "========= mount RAM disc"
|
||||||
|
test ! -e /dev/shm/svn-test-work && mkdir /dev/shm/svn-test-work
|
||||||
|
test -e subversion/tests/cmdline/svn-test-work && rm -rf subversion/tests/cmdline/svn-test-work
|
||||||
|
ln -s /dev/shm/svn-test-work subversion/tests/cmdline/
|
||||||
|
|
||||||
|
%make_build -Onone check FS_TYPE=fsfs CLEANUP=true || (cat fails.log; exit 1)
|
||||||
|
%make_build -Onone check-javahl || (cat fails.log; exit 1)
|
||||||
|
%make_build -Onone check-swig-pl || (cat fails.log; exit 1)
|
||||||
|
%if 0%{?suse_version} <= 1500
|
||||||
|
# swig bindings check failing from swig 4.0.0 and later
|
||||||
|
%make_build check-swig-py || (cat fails.log; exit 1)
|
||||||
|
%endif
|
||||||
|
%make_build check-swig-rb || (cat fails.log; exit 1)
|
||||||
|
%if %{with all_regression_tests}
|
||||||
|
%make_build svnserveautocheck CLEANUP=true FS_TYPE=fsfs || (cat fails.log; exit 1)
|
||||||
|
%make_build svnserveautocheck CLEANUP=true FS_TYPE=bdb || (cat fails.log; exit 1)
|
||||||
|
%make_build davautocheck CLEANUP=true FS_TYPE=fsfs || (cat fails.log; exit 1)
|
||||||
|
%make_build davautocheck CLEANUP=true FS_TYPE=bdb || (cat fails.log; exit 1)
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%else
|
||||||
|
|
||||||
|
%pre -f subversion.pre
|
||||||
|
%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}/subversion/*
|
||||||
|
%{_docdir}/subversion
|
||||||
|
%{_sbindir}/rcsvnserve
|
||||||
|
%{_fillupdir}/sysconfig.svnserve
|
||||||
|
%dir %attr(755,%{svnuser},%{svngroup}) /srv/svn
|
||||||
|
%{_unitdir}/svnserve.service
|
||||||
|
%{_tmpfilesdir}/svnserve.conf
|
||||||
|
%{_sysusersdir}/system-user-svn.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
|
||||||
|
%{_libdir}/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
|
||||||
|
%{_datadir}/bash-completion/completions/subversion
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%changelog
|
24
subversion.svndiff.sh
Normal file
24
subversion.svndiff.sh
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
#!/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 "$@"
|
2
subversion.svngrep.sh
Normal file
2
subversion.svngrep.sh
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
find \( -path '*/.pc' -o -path '*/.svn' -o -path '*/.git' -o -path '*/.hg' \) -prune -o -type f -print0 | xargs -0 grep "$@"
|
13
subversion.sysconfig.svnserve
Normal file
13
subversion.sysconfig.svnserve
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
## 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"
|
2
svn.sysusers
Normal file
2
svn.sysusers
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
#Type Name ID GECOS Home directory Shell
|
||||||
|
u svn - "user for Apache Subversion svnserve" /srv/svn -
|
26
svnserve.service
Normal file
26
svnserve.service
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Subversion protocol daemon
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
# added automatically, for details please see
|
||||||
|
# https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort
|
||||||
|
ProtectSystem=full
|
||||||
|
PrivateDevices=true
|
||||||
|
ProtectHostname=true
|
||||||
|
ProtectClock=true
|
||||||
|
ProtectKernelTunables=true
|
||||||
|
ProtectKernelModules=true
|
||||||
|
ProtectKernelLogs=true
|
||||||
|
ProtectControlGroups=true
|
||||||
|
RestrictRealtime=true
|
||||||
|
# end of automatic additions
|
||||||
|
Type=forking
|
||||||
|
EnvironmentFile=/etc/sysconfig/svnserve
|
||||||
|
User=svn
|
||||||
|
Group=svn
|
||||||
|
PIDFile=/run/svnserve/svnserve.pid
|
||||||
|
ExecStart=/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid $SVNSERVE_OPTIONS
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
1
svnserve.tmpfiles
Normal file
1
svnserve.tmpfiles
Normal file
@ -0,0 +1 @@
|
|||||||
|
D /run/svnserve 0755 svn svn -
|
Loading…
x
Reference in New Issue
Block a user