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