Accepting request 22913 from devel:tools:scm:svn

Copy from devel:tools:scm:svn/subversion based on submit request 22913 from user dirkmueller

OBS-URL: https://build.opensuse.org/request/show/22913
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/subversion?expand=0&rev=61
This commit is contained in:
OBS User autobuild
2009-10-23 14:00:56 +00:00
committed by Git OBS Bridge
parent 8e3177313a
commit f65e15b160
10 changed files with 140 additions and 202 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:03c17c48ec2936eb58abe5c7148e4a6368b47e92df8310d32efb75f5eb0064f1
size 996539

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6401c219496b777b220ecf873d9ebd2003cbfd0da9e78b7ffc4d8b9eae4c9d8b
size 1015309

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1dfd4550ae87687c5031665d3b1624082130b4dc235b1084eb0c6279f8e2ee6c
size 5483625

3
subversion-1.6.6.tar.bz2 Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fe23c1a247dea631048bd62fd1cd6111924be2896ef2d166245ac9a1284c3c92
size 5513036

View File

@@ -1,169 +0,0 @@
Index: Makefile.in
===================================================================
--- Makefile.in (revision 38431)
+++ Makefile.in (working copy)
@@ -416,7 +416,10 @@ check: bin $(TEST_DEPS) @BDB_TEST_DEPS@
if test "$(PARALLEL)" != ""; then \
flags="--parallel $$flags"; \
fi; \
- $(PYTHON) $(top_srcdir)/build/run_tests.py \
+ if test "$(LOG_TO_STDOUT)" != ""; then \
+ flags="--log-to-stdout $$flags"; \
+ fi; \
+ $(PYTHON) $(top_srcdir)/build/run_tests.py \
--config-file $(top_srcdir)/subversion/tests/tests.conf \
$$flags \
'$(abs_srcdir)' '$(abs_builddir)' $(TESTS); \
Index: build/run_tests.py
===================================================================
--- build/run_tests.py (revision 38431)
+++ build/run_tests.py (working copy)
@@ -36,7 +36,9 @@ class TestHarness:
'''Construct a TestHarness instance.
ABS_SRCDIR and ABS_BUILDDIR are the source and build directories.
- LOGFILE is the name of the log file.
+ LOGFILE is the name of the log file. If LOGFILE is None, let tests
+ print their output to stdout and stderr, and don't print a summary
+ at the end (since there's no log file to analyze).
BASE_URL is the base url for DAV tests.
FS_TYPE is the FS type for repository creation.
HTTP_LIBRARY is the HTTP library for DAV-based communications.
@@ -71,6 +73,10 @@ class TestHarness:
failed = 0
for cnt, prog in enumerate(list):
failed = self._run_test(prog, cnt, len(list)) or failed
+
+ if self.log is None:
+ return failed
+
self._open_log('r')
log_lines = self.log.readlines()
# Print summaries from least interesting to most interesting.
@@ -110,8 +116,9 @@ class TestHarness:
def _open_log(self, mode):
'Open the log file with the required MODE.'
- self._close_log()
- self.log = open(self.logfile, mode)
+ if self.logfile:
+ self._close_log()
+ self.log = open(self.logfile, mode)
def _close_log(self):
'Close the log file.'
@@ -129,11 +136,14 @@ class TestHarness:
return arg
progdir, progbase = os.path.split(prog)
- # Using write here because we don't want even a trailing space
- sys.stdout.write('Running all tests in %s [%d/%d]...' % (
- progbase, test_nr + 1, total_tests))
- self.log.write('START: %s\n' % progbase)
- self.log.flush()
+ if self.log:
+ # Using write here because we don't want even a trailing space
+ sys.stdout.write('Running all tests in %s [%d/%d]...' % (
+ progbase, test_nr + 1, total_tests))
+ self.log.write('START: %s\n' % progbase)
+ self.log.flush()
+ else:
+ print('START: %s' % progbase)
if progbase[-3:] == '.py':
progname = sys.executable
@@ -191,13 +201,16 @@ class TestHarness:
# output any failure info.
if failed == 1:
print('FAILURE')
- elif failed:
+ elif failed and self.log:
self.log.write('FAIL: %s: Unknown test failure see tests.log.\n\n' % progbase)
self.log.flush()
print('FAILURE')
else:
print('success')
- self.log.write('END: %s\n\n' % progbase)
+ if self.log:
+ self.log.write('END: %s\n\n' % progbase)
+ else:
+ print('END: %s\n' % progbase)
return failed
def _run_prog(self, progname, arglist):
@@ -210,20 +223,24 @@ class TestHarness:
os.close(stdout)
os.close(stderr)
- sys.stdout.flush()
- sys.stderr.flush()
- self.log.flush()
- old_stdout = os.dup(1)
- old_stderr = os.dup(2)
+ if self.log:
+ sys.stdout.flush()
+ sys.stderr.flush()
+ self.log.flush()
+ old_stdout = os.dup(1)
+ old_stderr = os.dup(2)
try:
- os.dup2(self.log.fileno(), 1)
- os.dup2(self.log.fileno(), 2)
+ if self.log:
+ os.dup2(self.log.fileno(), 1)
+ os.dup2(self.log.fileno(), 2)
rv = os.spawnv(os.P_WAIT, progname, arglist)
except:
- restore_streams(old_stdout, old_stderr)
+ if self.log:
+ restore_streams(old_stdout, old_stderr)
raise
else:
- restore_streams(old_stdout, old_stderr)
+ if self.log:
+ restore_streams(old_stdout, old_stderr)
return rv
@@ -233,7 +250,8 @@ def main():
['url=', 'fs-type=', 'verbose', 'cleanup',
'http-library=', 'server-minor-version=',
'fsfs-packing', 'fsfs-sharding=',
- 'enable-sasl', 'parallel', 'config-file='])
+ 'enable-sasl', 'parallel', 'config-file=',
+ 'log-to-stdout'])
except getopt.GetoptError:
args = []
@@ -243,8 +261,9 @@ def main():
base_url, fs_type, verbose, cleanup, enable_sasl, http_library, \
server_minor_version, fsfs_sharding, fsfs_packing, parallel, \
- config_file = \
- None, None, None, None, None, None, None, None, None, None, None
+ config_file, log_to_stdout = \
+ None, None, None, None, None, None, None, None, None, None, None, \
+ None
for opt, val in opts:
if opt in ['-u', '--url']:
base_url = val
@@ -268,11 +287,17 @@ def main():
parallel = 1
elif opt in ['--config-file']:
config_file = val
+ elif opt in ['--log-to-stdout']:
+ log_to_stdout = 1
else:
raise getopt.GetoptError
- th = TestHarness(args[0], args[1],
- os.path.abspath('tests.log'),
+ if log_to_stdout:
+ logfile = None
+ else:
+ logfile = os.path.abspath('tests.log')
+
+ th = TestHarness(args[0], args[1], logfile,
base_url, fs_type, http_library, server_minor_version,
verbose, cleanup, enable_sasl, parallel, config_file,
fsfs_sharding, fsfs_packing)

View File

@@ -0,0 +1,16 @@
Index: subversion/bindings/swig/ruby/test/test_core.rb
===================================================================
--- subversion/bindings/swig/ruby/test/test_core.rb (revision 40087)
+++ subversion/bindings/swig/ruby/test/test_core.rb (revision 40088)
@@ -628,9 +628,8 @@
assert_raises(Svn::Error::BadFilename) do
Svn::Core::MimeType.detect(nonexistent_html_file)
end
- assert_raises(Svn::Error::BadFilename) do
- Svn::Core::MimeType.detect(nonexistent_html_file, type_map)
- end
+ assert_equal("text/html",
+ Svn::Core::MimeType.detect(nonexistent_html_file, type_map))
empty_html_file = File.join(@tmp_path, "empty.html")
FileUtils.touch(empty_html_file)

View File

@@ -1,11 +0,0 @@
--- configure.ac.orig 2009-04-10 14:08:35.000000000 +0200
+++ configure.ac 2009-04-10 14:08:47.000000000 +0200
@@ -79,7 +79,7 @@
# Either a space-separated list of allowable Neon versions, or "any" to
# mean allow anything.
-NEON_ALLOWED_LIST="0\.25 0\.26 0\.27\.2 0\.28"
+NEON_ALLOWED_LIST="any"
NEON_RECOMMENDED_VER=0.28.4
NEON_URL="http://www.webdav.org/neon/neon-${NEON_RECOMMENDED_VER}.tar.gz"
dnl You can skip the neon version check only if you know what you are doing

View File

@@ -1,3 +1,80 @@
-------------------------------------------------------------------
Thu Oct 22 23:24:20 CEST 2009 - stsp@elego.de
- update to 1.6.6:
User-visible changes:
* fix crash during 'svn update' (r39673)
* respect Apache's ServerSignature directive (r40008, -21, -31)
* don't add a file with mixed line endings, and then abort (issue #2713)
* support Neon 0.29.
* fix a crash in 'svn rm --force' (r37953)
* handle tree conflicts involving replacements (issue #3486)
* allow non-threadsafe sqlite if APR has no threads (r39301)
* print newline before plaintext SSL cert / password prompts (r38982, r39302)
* improve merge performance with implicit subtree mergeinfo (issue #3443)
* fix "libsvn_ra_svn/marshal.c assertion failed (opt || cstr)" (issue #3485)
* make file externals work for binary files (issue #3368)
* perform MIME type matching case-insensitively (issue #3479)
* do not treat non-existent revisions as HEAD in 'svn export' (issue #3400)
* revert r36720's default MIME type change back to "text/plain" (issue #3508)
* improve "tree conflict already exists" error message (r38872)
* fix failure to commit replacement of a directory (issue #3281)
* fix mod_dav_svn parent dir links to preserve peg revisions (issue #3425)
Developer-visible changes:
* fix 2 failing tests in ruby bindings (r38886)
* do not require GNU grep for build (issue #3453)
* use '$SED' instead of 'sed' in build scripts (issue #3458)
* add svn.client.{log5,merge_peg3} to python bindings (r39635, -6, -7)
* include the time of a test run in tests.log (r39887)
- Rename subversion-1.6.5-rpmlintrc to subversion.rpmlintrc.
- Drop subversion.allowed-neon.patch in favour of --disable-neon-version-check
configure flag.
- Drop subversion-make-check-log-to-stdout.patch, it doesn't apply anymore.
It was mainly for debugging test suite hangs on Factory. We don't run
tests on factory anymore.
-------------------------------------------------------------------
Mon Aug 24 16:35:54 CEST 2009 - stsp@elego.de
- add patch to fix failing regression test in ruby bindings
- rename rpmlintrc file
-------------------------------------------------------------------
Sun Aug 23 23:17:25 CEST 2009 - pascal.bleser@opensuse.org
- update to 1.6.5:
* fix mod_dav_svn directory view links to preserve peg revisions
* properly escape lock comments over ra_neon
* allow syncing copies of '/' over ra_neon and ra_serf
* make 'svnlook diff' show empty added or deleted files
* fix building with Apache 2.4
* fix possible data loss on ext4 and GPFS filesystems
* resolve symlinks when checking for ~/.subversion
* don't let svn+ssh SIGKILL ssh processes
* allow PLAIN and LOGIN mechanisms with SASL in svnserve
* fix peg revision parsing in filenames like 'dir/@file.txt'
* don't pretend to do tree conflict resolution
* fix data corruption when syncing from svnserve to mod_dav_svn
* fix GNOME Keyring with '--non-interactive' option
* fixed: false "File '...' already exists" error during commit
- bump in-tree sqlite-amalgamation from 3.6.16 to 3.6.17
-------------------------------------------------------------------
Sat Aug 8 12:54:35 CEST 2009 - pascal.bleser@opensuse.org
- bump in-tree sqlite-amalgamation from 3.6.14.2 to 3.6.16
- use a trap function in check section to make sure the svnserve
process is killed
- use a random free port for testing the svnserve process
-------------------------------------------------------------------
Fri Aug 7 20:03:24 CEST 2009 - stsp@elego.de
- update to 1.6.4.
* Security fix [CVE-2009-2411]
-------------------------------------------------------------------
Fri Jul 24 17:51:56 CEST 2009 - dmueller@suse.de

View File

@@ -1,5 +1,5 @@
#
# spec file for package subversion (Version 1.6.3)
# spec file for package subversion (Version 1.6.6)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2009 Pascal Bleser <pascal.bleser@opensuse.org>
@@ -41,11 +41,11 @@
%endif # suse_version > 1030
Name: subversion
Version: 1.6.3
Release: 2
Version: 1.6.6
Release: 1
# in-tree SWIG version to use for the build:
%define swig_version 1.3.36
%define sqlite_version 3.6.14.2
%define sqlite_version 3.6.17
%if 0%{?suse_version} > 910
BuildRequires: update-alternatives
%endif # suse_version > 910
@@ -104,13 +104,15 @@ BuildRequires: libneon-devel
%else
BuildRequires: neon-devel openldap2-devel
%endif # suse_version > 1030
# for %check section, to find a free port:
BuildRequires: iproute2
#
%define _fwdefdir /etc/sysconfig/SuSEfirewall2.d/services
#
%define apxs /usr/sbin/apxs2
%define apache_libexecdir %(%{apxs} -q LIBEXECDIR)
%define apache_sysconfdir %(%{apxs} -q SYSCONFDIR)
%define apache_mmn %(MMN=$(%{apxs} -q LIBEXECDIR)_MMN; test -x $MMN && $MMN)
%define apache_mmn %(MMN="$(%{apxs} -q LIBEXECDIR)_MMN"; test -x "$MMN" && "$MMN")
%if %{!?site_python:1}0
%define site_python %(%__python -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib()")
%endif
@@ -127,12 +129,12 @@ Source1: subversion.conf
Source2: subversion.README.SuSE
Source3: svnmerge.py
Source9: subversion.rcsvnserve
# http://prdownloads.sourceforge.net/swig/swig-%{swig_version}.tar.bz2
Source10: subversion.sysconfig.svnserve
Source12: subversion.sysconfig.svnserve.remoteaccess
Source13: subversion.xinetd.svnserve
Source42: subversion.svngrep.sh
Source43: subversion.svndiff.sh
# http://ovh.dl.sourceforge.net/project/swig/swig/swig-%{swig_version}/swig-%{swig_version}.tar.gz
Source90: swig-%{swig_version}.tar.bz2
%if %with_intree_sqlite
# http://www.sqlite.org/sqlite-amalgamation-%{sqlite_version}.tar.gz
@@ -140,7 +142,7 @@ Source91: sqlite-amalgamation-%{sqlite_version}.tar.bz2
%else
BuildRequires: sqlite-devel >= %{sqlite_version}
%endif # with_intree_sqlite
Source92: %{name}-%{version}-rpmlintrc
Source92: %{name}.rpmlintrc
#
Patch11: subversion.libtool-verbose.patch
Patch12: subversion-fix_nonvoid_function_without_return.patch
@@ -149,10 +151,9 @@ Patch20: subversion-swig-perl-install_vendor.patch
Patch23: subversion.libtool-pie-flags.patch
Patch31: subversion.perl.LD_RUN_PATH.patch
Patch33: subversion.header_wrappers.patch
Patch34: subversion.allowed-neon.patch
Patch35: subversion.java14.patch
Patch36: subversion-ctypes-remove_shebang.patch
Patch37: subversion-make-check-log-to-stdout.patch
Patch38: subversion-ruby-bindings-test.patch
#
%if %with_ruby
%if %{!?rb_arch:1}0
@@ -334,10 +335,9 @@ popd #./sqlite-amalgamation
%endif
%patch31 -p1
%patch33 -p1
%patch34 -p0
%patch35 -p1
%patch36 -p0
%patch37 -p0
%patch38 -p0
%if 0%{?sles_version} == 9
%__grep -rwl '/usr/bin/python' . | xargs %__sed -i 's|/usr/bin/python|%{_usr}/bin/python2.5|g'
%__grep -rwl '/usr/bin/env python' . | xargs %__sed -i 's|/usr/bin/env python|%{_usr}/bin/python2.5|g'
@@ -373,7 +373,8 @@ CXXFLAGS="%{optflags}" \
--without-allegrocl \
--without-clisp \
--without-r \
--with-swiglibdir="$SWIG_ROOT/share/swig"
--with-swiglibdir="$SWIG_ROOT/share/swig" \
--disable-neon-version-check
%__make %{?jobs:-j%{jobs}}
%__make install
popd #swig
@@ -635,14 +636,38 @@ export PATH="$PWD/BUILDPATH:$PATH"
export LD_LIBRARY_PATH="$PWD/subversion/libsvn_auth_kwallet/.libs:$PWD/subversion/libsvn_auth_gnome_keyring/.libs:$LD_LIBRARY_PATH"
# run test over ra_local (file://)
for fstype in fsfs bdb; do
%__make check LOG_TO_STDOUT=true CLEANUP=true FS_TYPE=$fstype
%__make check LOG_TO_STDOUT=true CLEANUP=true FS_TYPE="$fstype"
done
SVNSERVE_PIDFILE="$PWD/svnserve.pid"
# hook up cleanup routine
function on_exit {
if [ -e "$SVNSERVE_PIDFILE" ]; then
pid=`cat "$SVNSERVE_PIDFILE" 2>/dev/null || :`
test -n "$pid" && kill -9 "$pid" || :
fi
}
trap on_exit EXIT
# find free port
free_port=""
for p in `/usr/sbin/ss -nat|tail +2|awk '{ split($4, a, ":"); if (a[2] > 1024) { print a[2]; }}'`; do used_port[$p]="$p"; done
for p in `seq 1025 65535`; do
if [ -z "${used_port[$p]}" ]; then
free_port="$p"
break
fi
done
if [ -z "$free_port" ]; then
echo "ERROR: failed to find a free port" >&2
echo "Used TCP ports: ${used_port[*]}" >&2
exit 1
fi
# run tests over ra_svn (svn://)
$PWD/subversion/svnserve/svnserve --listen-host 127.0.0.1 --pid-file $PWD/svnserve.pid -d -r $PWD/subversion/tests/cmdline
"$PWD/subversion/svnserve/svnserve" --listen-host 127.0.0.1 --listen-port "$free_port" --pid-file "$SVNSERVE_PIDFILE" -d -r "$PWD/subversion/tests/cmdline"
for fstype in fsfs bdb; do
%__make check LOG_TO_STDOUT=true CLEANUP=true FS_TYPE=$fstype BASE_URL=svn://127.0.0.1
%__make check LOG_TO_STDOUT=true CLEANUP=true FS_TYPE="$fstype" BASE_URL="svn://127.0.0.1:$free_port"
done
kill `cat $PWD/svnserve.pid`
kill -9 `cat "$SVNSERVE_PIDFILE" 2>/dev/null`
%__rm "$SVNSERVE_PIDFILE"
%if %with_java
%__make check-javahl
%endif # with_java