diff --git a/subversion-make-check-log-to-stdout.patch b/subversion-make-check-log-to-stdout.patch new file mode 100644 index 0000000..a15d32c --- /dev/null +++ b/subversion-make-check-log-to-stdout.patch @@ -0,0 +1,169 @@ +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) diff --git a/subversion.changes b/subversion.changes index 71b8281..4609b9a 100644 --- a/subversion.changes +++ b/subversion.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------- +Fri Jul 24 17:51:56 CEST 2009 - dmueller@suse.de + +- fix typo in dav svn default configuration (bnc#517143) + +------------------------------------------------------------------- +Tue Jul 21 22:02:50 CEST 2009 - stsp@elego.de + +- Don't run regression tests on OpenSUSE Factory. It takes too + long which causes problems for the build service because the + subversion package is being rebuilt often. + +------------------------------------------------------------------- +Sat Jul 18 01:31:27 CEST 2009 - stsp@elego.de + +- To help us figure out why the test suite sometimes hangs on the + build service, add a patch which allows logging to stdout + and stderr, instead of logging to tests.log, during make check. + ------------------------------------------------------------------- Mon Jul 6 19:19:23 CEST 2009 - stsp@elego.de diff --git a/subversion.conf b/subversion.conf index 4724cb7..be40846 100644 --- a/subversion.conf +++ b/subversion.conf @@ -73,7 +73,7 @@ # # # # DAV svn -# SVNParent /srv/svn/repositories/ +# SVNParentPath /srv/svn/repositories/ # SVNListParentPath on # AuthType Basic # AuthName "subversion repository" diff --git a/subversion.spec b/subversion.spec index 2016c83..c572100 100644 --- a/subversion.spec +++ b/subversion.spec @@ -42,7 +42,7 @@ Name: subversion Version: 1.6.3 -Release: 1 +Release: 2 # in-tree SWIG version to use for the build: %define swig_version 1.3.36 %define sqlite_version 3.6.14.2 @@ -152,6 +152,7 @@ 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 # %if %with_ruby %if %{!?rb_arch:1}0 @@ -336,6 +337,7 @@ popd #./sqlite-amalgamation %patch34 -p0 %patch35 -p1 %patch36 -p0 +%patch37 -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' @@ -622,20 +624,23 @@ if [ "$with_jdk" != "" ] ; then fi %check +# Don't run regression tests on Factory, they take too long to complete. +# This check needs to be bumped with every release: +%if 0%{?suse_version} <= 1110 %if 0%{?sles_version} == 9 export PATH="$PWD/BUILDPATH:$PATH" -%endif +%endif # sles_version == 9 # During "make check", auth-test loads DSOs at runtime and can't find # them if we don't set up LD_LIBRARY_PATH as below. 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 CLEANUP=true FS_TYPE=$fstype || cat tests.log +%__make check LOG_TO_STDOUT=true CLEANUP=true FS_TYPE=$fstype done # 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 for fstype in fsfs bdb; do -%__make check CLEANUP=true FS_TYPE=$fstype BASE_URL=svn://127.0.0.1 || cat tests.log +%__make check LOG_TO_STDOUT=true CLEANUP=true FS_TYPE=$fstype BASE_URL=svn://127.0.0.1 done kill `cat $PWD/svnserve.pid` %if %with_java @@ -646,6 +651,7 @@ kill `cat $PWD/svnserve.pid` %if %with_ruby %__make check-swig-rb %endif # with_ruby +%endif # suse_version <= 1110 %clean %__rm -rf "%{buildroot}"