Modified: subversion/branches/revprop-packing/subversion/tests/cmdline/merge_tests.py URL: http://svn.apache.org/viewvc/subversion/branches/revprop-packing/subversion/tests/cmdline/merge_tests.py?rev=1148773&r1=1148772&r2=1148773&view=diff ============================================================================== --- subversion/branches/revprop-packing/subversion/tests/cmdline/merge_tests.py (original) +++ subversion/branches/revprop-packing/subversion/tests/cmdline/merge_tests.py Wed Jul 20 13:52:06 2011 @@ -12023,7 +12023,7 @@ def subtree_source_missing_in_requested_ sbox.build() wc_dir = sbox.wc_dir - # Make a branche to merge to. + # Make a branch to merge to. wc_disk, wc_status = set_up_branch(sbox, False, 1) # Some paths we'll care about. @@ -12033,16 +12033,14 @@ def subtree_source_missing_in_requested_ psi_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "H", "psi") omega_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "H", "omega") - # r7 Delete a A/D/H/psi. + # r7 Delete A/D/H/psi. svntest.actions.run_and_verify_svn(None, None, [], 'delete', psi_path) - svntest.actions.run_and_verify_svn(None, None, [], - 'ci', '-m', 'delete psi', wc_dir) + sbox.simple_commit(message='delete psi') # r8 - modify A/D/H/omega. svntest.main.file_write(os.path.join(omega_path), "Even newer content") - svntest.actions.run_and_verify_svn(None, None, [], - 'ci', '-m', 'modify omega', wc_dir) + sbox.simple_commit(message='modify omega') # r9 - Merge r3 to A_COPY/D/H/psi expected_output = expected_merge_output( @@ -12052,9 +12050,7 @@ def subtree_source_missing_in_requested_ 'merge', '-c', '3', sbox.repo_url + '/A/D/H/psi@3', psi_COPY_path) - svntest.actions.run_and_verify_svn(None, None, [], - 'ci', '-m', 'merge r3 to A_COPY/D/H/psi', - wc_dir) + sbox.simple_commit(message='merge r3 to A_COPY/D/H/psi') # r10 - Merge r6 to A_COPY/D/H/omega. expected_output = expected_merge_output( @@ -12064,9 +12060,7 @@ def subtree_source_missing_in_requested_ 'merge', '-c', '6', sbox.repo_url + '/A/D/H/omega', omega_COPY_path) - svntest.actions.run_and_verify_svn(None, None, [], 'ci', '-m', - 'merge r6 to A_COPY', - wc_dir) + sbox.simple_commit(message='merge r6 to A_COPY') svntest.actions.run_and_verify_svn(None, exp_noop_up_out(10), [], 'up', wc_dir) @@ -12093,17 +12087,14 @@ def subtree_source_missing_in_requested_ 'merge', '-c', '8', sbox.repo_url + '/A', A_COPY_path, '--record-only') - svntest.actions.run_and_verify_svn(None, None, [], 'ci', '-m', - 'merge r8 to A_COPY/D/H/omega', - wc_dir) + sbox.simple_commit(message='merge r8 to A_COPY/D/H/omega') svntest.actions.run_and_verify_svn(None, exp_noop_up_out(11), [], 'up', wc_dir) # r12 - modify A/D/H/omega yet again. svntest.main.file_write(os.path.join(omega_path), "Now with fabulous new content!") - svntest.actions.run_and_verify_svn(None, None, [], - 'ci', '-m', 'modify omega', wc_dir) + sbox.simple_commit(message='modify omega') # r13 - Merge all available revs to A_COPY/D/H/omega. expected_output = expected_merge_output( @@ -12113,9 +12104,7 @@ def subtree_source_missing_in_requested_ 'merge', sbox.repo_url + '/A/D/H/omega', omega_COPY_path) - svntest.actions.run_and_verify_svn(None, None, [], 'ci', '-m', - 'cherry harvest to A_COPY/D/H/omega', - wc_dir) + sbox.simple_commit(message='cherry harvest to A_COPY/D/H/omega') svntest.actions.run_and_verify_svn(None, exp_noop_up_out(13), [], 'up', wc_dir) @@ -12276,9 +12265,7 @@ def subtree_source_missing_in_requested_ 'merge', '-c', '12', sbox.repo_url + '/A', A_COPY_path, '--record-only') - svntest.actions.run_and_verify_svn(None, None, [], 'ci', '-m', - 'Merge r12 to A_COPY', - wc_dir) + sbox.simple_commit(message='Merge r12 to A_COPY') # Update A_COPY/D/H/rho back to r13 so it's mergeinfo doesn't include # r12. Then merge a range, -r6:12 which should delete a subtree @@ -13759,14 +13746,12 @@ def subtree_gets_changes_even_if_ultimat # r7: Make an additional text mod to A/D/H/psi. svntest.main.file_write(psi_path, "Even newer content") - svntest.actions.run_and_verify_svn(None, None, [], - 'ci', '-m', 'mod psi', wc_dir) + sbox.simple_commit(message='mod psi') # r8: Delete A/D/H/psi. svntest.actions.run_and_verify_svn(None, None, [], 'delete', psi_path) - svntest.actions.run_and_verify_svn(None, None, [], - 'ci', '-m', 'delete psi', wc_dir) + sbox.simple_commit(message='delete psi') # Update WC before merging so mergeinfo elision and inheritance # occur smoothly. @@ -13812,11 +13797,8 @@ def subtree_gets_changes_even_if_ultimat ['G ' + psi_COPY_path + '\n', ' G ' + psi_COPY_path + '\n',]), [], 'merge', '-c-7', sbox.repo_url + '/A/D/H/psi@7', psi_COPY_path) - svntest.actions.run_and_verify_svn(None, None, [], - 'ci', '-m', - 'merge -c3,7 from A/D/H,' \ - 'reverse merge -c-7 from A/D/H/psi', - wc_dir) + sbox.simple_commit(message='merge -c3,7 from A/D/H,' \ + 'reverse merge -c-7 from A/D/H/psi') # Merge all available revisions from A/D/H to A_COPY/D/H. This merge # ultimately tries to delete A_COPY/D/H/psi, but first it should merge
Modified: subversion/branches/revprop-packing/subversion/tests/cmdline/svntest/sandbox.py URL: http://svn.apache.org/viewvc/subversion/branches/revprop-packing/subversion/tests/cmdline/svntest/sandbox.py?rev=1148773&r1=1148772&r2=1148773&view=diff ============================================================================== --- subversion/branches/revprop-packing/subversion/tests/cmdline/svntest/sandbox.py (original) +++ subversion/branches/revprop-packing/subversion/tests/cmdline/svntest/sandbox.py Wed Jul 20 13:52:06 2011 @@ -204,16 +204,18 @@ class Sandbox: target = self.ospath(target) svntest.main.run_svn(False, 'switch', url, target, '--ignore-ancestry') - def simple_commit(self, target=None): - """Commit the WC or TARGET with a default log message. + def simple_commit(self, target=None, message=None): + """Commit the WC or TARGET, with a default or supplied log message. + Raise if the exit code is non-zero or there is output on stderr. TARGET is a relpath relative to the WC.""" assert not self.read_only if target is None: target = self.wc_dir else: target = self.ospath(target) - svntest.main.run_svn(False, 'commit', - '-m', svntest.main.make_log_msg(), + if message is None: + message = svntest.main.make_log_msg() + svntest.main.run_svn(False, 'commit', '-m', message, target) def simple_rm(self, *targets): Modified: subversion/branches/revprop-packing/subversion/tests/cmdline/tree_conflict_tests.py URL: http://svn.apache.org/viewvc/subversion/branches/revprop-packing/subversion/tests/cmdline/tree_conflict_tests.py?rev=1148773&r1=1148772&r2=1148773&view=diff ============================================================================== --- subversion/branches/revprop-packing/subversion/tests/cmdline/tree_conflict_tests.py (original) +++ subversion/branches/revprop-packing/subversion/tests/cmdline/tree_conflict_tests.py Wed Jul 20 13:52:06 2011 @@ -1224,8 +1224,6 @@ def actual_only_node_behaviour(sbox): 'Name': 'foo', 'Schedule': 'normal', 'Node Kind': 'none', - 'Depth': 'empty', ### is this right? - 'Copied From Rev': '0', 'Path': re.escape(sbox.ospath('A/foo')), } run_and_verify_info([expected_info], foo_path) Modified: subversion/branches/revprop-packing/subversion/tests/cmdline/update_tests.py URL: http://svn.apache.org/viewvc/subversion/branches/revprop-packing/subversion/tests/cmdline/update_tests.py?rev=1148773&r1=1148772&r2=1148773&view=diff ============================================================================== --- subversion/branches/revprop-packing/subversion/tests/cmdline/update_tests.py (original) +++ subversion/branches/revprop-packing/subversion/tests/cmdline/update_tests.py Wed Jul 20 13:52:06 2011 @@ -5392,6 +5392,17 @@ def skip_access_denied(sbox): f.close() +def update_to_HEAD_plus_1(sbox): + "updating to HEAD+1 should fail" + + sbox.build(read_only = True) + wc_dir = sbox.wc_dir + + svntest.actions.run_and_verify_update(wc_dir, + None, None, None, + ".*No such revision", + None, None, + None, None, None, wc_dir, '-r', '2') ####################################################################### @@ -5459,6 +5470,7 @@ test_list = [ None, update_nonexistent_child_of_copy, revive_children_of_copy, skip_access_denied, + update_to_HEAD_plus_1, ] if __name__ == '__main__': Modified: subversion/branches/revprop-packing/tools/dev/unix-build/Makefile.svn URL: http://svn.apache.org/viewvc/subversion/branches/revprop-packing/tools/dev/unix-build/Makefile.svn?rev=1148773&r1=1148772&r2=1148773&view=diff ============================================================================== --- subversion/branches/revprop-packing/tools/dev/unix-build/Makefile.svn (original) +++ subversion/branches/revprop-packing/tools/dev/unix-build/Makefile.svn Wed Jul 20 13:52:06 2011 @@ -29,7 +29,6 @@ # | the bot's health after making changes to this file. | # |______________________________________________________________| -ENABLE_PYTHON_BINDINGS ?= yes ENABLE_PERL_BINDINGS ?= yes ENABLE_JAVA_BINDINGS ?= no # they don't build with thread-less APR... USE_APR_ICONV ?= no # set to yes to use APR iconv instead of GNU iconv @@ -67,12 +66,14 @@ GNU_ICONV_VER = 1.13.1 APR_UTIL_VER = 1.3.12 HTTPD_VER = 2.2.19 NEON_VER = 0.29.6 -SERF_VER = 0.7.x +SERF_VER = 1.0.0 SERF_OLD_VER = 0.3.1 CYRUS_SASL_VER = 2.1.23 SQLITE_VER = 3070603 LIBMAGIC_VER = 5.07 RUBY_VER = 1.8.7-p334 +BZ2_VER = 1.0.6 +PYTHON_VER = 2.7.2 BDB_DIST = db-$(BDB_VER).tar.gz APR_ICONV_DIST = apr-iconv-$(APR_ICONV_VER).tar.gz @@ -83,6 +84,8 @@ CYRUS_SASL_DIST = cyrus-sasl-$(CYRUS_SAS HTTPD_DIST = httpd-$(HTTPD_VER).tar.bz2 LIBMAGIC_DIST = file-$(LIBMAGIC_VER).tar.gz RUBY_DIST = ruby-$(RUBY_VER).tar.gz +BZ2_DIST = bzip2-$(BZ2_VER).tar.gz +PYTHON_DIST = Python-$(PYTHON_VER).tgz DISTFILES = $(DISTDIR)/$(NEON_DIST) \ $(DISTDIR)/$(SERF_DIST) \ @@ -92,7 +95,9 @@ DISTFILES = $(DISTDIR)/$(NEON_DIST) \ $(DISTDIR)/$(GNU_ICONV_DIST) \ $(DISTDIR)/$(CYRUS_SASL_DIST) \ $(DISTDIR)/$(LIBMAGIC_DIST) \ - $(DISTDIR)/$(RUBY_DIST) + $(DISTDIR)/$(RUBY_DIST) \ + $(DISTDIR)/$(BZ2_DIST) \ + $(DISTDIR)/$(PYTHON_DIST) FETCH_CMD = wget -c @@ -105,12 +110,14 @@ APR_UTIL_URL = http://svn.apache.org/rep HTTPD_URL = http://archive.apache.org/dist/httpd/$(HTTPD_DIST) NEON_URL = http://webdav.org/neon/$(NEON_DIST) #SERF_URL = http://serf.googlecode.com/files/$(SERF_DIST) -SERF_URL = http://serf.googlecode.com/svn/branches/$(SERF_VER) +SERF_URL = http://serf.googlecode.com/svn/tags/$(SERF_VER) SERF_OLD_URL = http://serf.googlecode.com/svn/tags/$(SERF_OLD_VER) SQLITE_URL = http://www.sqlite.org/$(SQLITE_DIST) CYRUS_SASL_URL = ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/$(CYRUS_SASL_DIST) LIBMAGIC_URL = ftp://ftp.astron.com/pub/file/$(LIBMAGIC_DIST) RUBY_URL = http://ftp.ruby-lang.org/pub/ruby/1.8/$(RUBY_DIST) +BZ2_URL = http://bzip.org/$(BZ2_VER)/$(BZ2_DIST) +PYTHON_URL = http://python.org/ftp/python/2.7.2/$(PYTHON_DIST) BDB_SRCDIR = $(SRCDIR)/db-$(BDB_VER) APR_SRCDIR = $(SRCDIR)/apr-$(APR_VER) @@ -125,6 +132,8 @@ SQLITE_SRCDIR = $(SRCDIR)/sqlite-autocon CYRUS_SASL_SRCDIR = $(SRCDIR)/cyrus-sasl-$(CYRUS_SASL_VER) LIBMAGIC_SRCDIR = $(SRCDIR)/file-$(LIBMAGIC_VER) RUBY_SRCDIR = $(SRCDIR)/ruby-$(RUBY_VER) +BZ2_SRCDIR = $(SRCDIR)/bzip2-$(BZ2_VER) +PYTHON_SRCDIR = $(SRCDIR)/Python-$(PYTHON_VER) SVN_SRCDIR = $(SVN_WC) BDB_OBJDIR = $(OBJDIR)/db-$(BDB_VER) @@ -140,6 +149,8 @@ SQLITE_OBJDIR = $(OBJDIR)/sqlite-$(SQLIT CYRUS_SASL_OBJDIR = $(OBJDIR)/cyrus-sasl-$(CYRUS_SASL_VER) LIBMAGIC_OBJDIR = $(OBJDIR)/file-$(LIBMAGIC_VER) RUBY_OBJDIR = $(OBJDIR)/ruby-$(RUBY_VER) +BZ2_OBJDIR = $(OBJDIR)/bzip2-$(BZ2_VER) +PYTHON_OBJDIR = $(OBJDIR)/python-$(PYTHON_VER) SVN_OBJDIR = $(OBJDIR)/$(SVN_REL_WC) # Tweak this for out-of-tree builds. Note that running individual @@ -151,6 +162,9 @@ ifdef PROFILE PROFILE_CFLAGS=-pg endif +# We need this to make sure some targets below pick up the right libraries +LD_LIBRARY_PATH=$(PREFIX)/apr/lib:$(PREFIX)/iconv/lib:$(PREFIX)/bdb/lib:$(PREFIX)/neon/lib:$(PREFIX)/serf/lib:$(PREFIX)/sqlite/lib:$(PREFIX)/cyrus-sasl/lib:$(PREFIX)/iconv/lib:$(PREFIX)/libmagic/lib:$(PREFIX)/ruby/lib:$(PREFIX)/python/lib:$(PREFIX)/svn-$(WC)/lib + ####################################################################### # Main targets. ####################################################################### @@ -160,17 +174,19 @@ endif all: dirs-create bdb-install apr-install iconv-install apr-util-install \ httpd-install neon-install serf-install serf-old-install \ sqlite-install cyrus-sasl-install libmagic-install \ - ruby-install svn-install svn-bindings-install + ruby-install bz2-install python-install \ + svn-install svn-bindings-install # Use these to start a build from the beginning. reset: dirs-reset bdb-reset apr-reset iconv-reset apr-util-reset \ httpd-reset neon-reset serf-reset serf-old-reset sqlite-reset \ - cyrus-sasl-reset libmagic-reset ruby-reset svn-reset + cyrus-sasl-reset libmagic-reset ruby-reset python-reset \ + bz2-reset svn-reset # Use to save disk space. clean: bdb-clean apr-clean iconv-clean apr-util-clean httpd-clean \ neon-clean serf-clean serf-old-clean sqlite-clean cyrus-sasl-clean \ - libmagic-clean ruby-clean svn-clean + libmagic-clean ruby-clean bz2-clean python-clean svn-clean # Nukes everything (including installed binaries!) # Use this to start ALL OVER AGAIN! Use with caution! @@ -820,6 +836,12 @@ ifeq ($(UNAME),OpenBSD) done chmod +x $(CYRUS_SASL_SRCDIR)/configure endif + # Fixes excessive auth log spam from sasl if broken .la files exist + sed 's/SASL_LOG_WARN/SASL_LOG_DEBUG/' \ + < $(CYRUS_SASL_SRCDIR)/lib/dlopen.c \ + > $(CYRUS_SASL_SRCDIR)/lib/dlopen.c.patched + mv $(CYRUS_SASL_SRCDIR)/lib/dlopen.c.patched \ + $(CYRUS_SASL_SRCDIR)/lib/dlopen.c touch $@ # configure cyrus-sasl @@ -934,12 +956,118 @@ $(RUBY_OBJDIR)/.compiled: $(RUBY_OBJDIR) (cd $(RUBY_OBJDIR) && make) touch $@ -# install ruby and the test-unit gem needed to run SVN bindings tests +# install ruby $(RUBY_OBJDIR)/.installed: $(RUBY_OBJDIR)/.compiled (cd $(RUBY_OBJDIR) && make install) touch $@ ####################################################################### +# bz2 +####################################################################### + +bz2-retrieve: $(BZ2_OBJDIR)/.retrieved +bz2-compile: $(BZ2_OBJDIR)/.compiled +bz2-install: $(BZ2_OBJDIR)/.installed +bz2-reset: + $(foreach f, .retrieved .configured .compiled .installed, \ + rm -f $(BZ2_OBJDIR)/$(f);) + +bz2-clean: + -(cd $(BZ2_SRCDIR) && make distclean) + +# fetch distfile for bz2 +$(DISTDIR)/$(BZ2_DIST): + cd $(DISTDIR) && $(FETCH_CMD) $(BZ2_URL) + +# retrieve bz2 +$(BZ2_OBJDIR)/.retrieved: $(DISTDIR)/$(BZ2_DIST) + [ -d $(BZ2_OBJDIR) ] || mkdir -p $(BZ2_OBJDIR) + tar -C $(SRCDIR) -zxf $(DISTDIR)/$(BZ2_DIST) + touch $@ + +# compile bz2 +$(BZ2_OBJDIR)/.compiled: $(BZ2_OBJDIR)/.retrieved + (cd $(BZ2_SRCDIR) && make CFLAGS="-g $(PROFILE_CFLAGS) -fPIC") + touch $@ + +# install bz2 +$(BZ2_OBJDIR)/.installed: $(BZ2_OBJDIR)/.compiled + (cd $(BZ2_SRCDIR) && make install PREFIX=$(PREFIX)/bz2) + touch $@ + + +####################################################################### +# python +####################################################################### + +python-retrieve: $(PYTHON_OBJDIR)/.retrieved +python-configure: $(PYTHON_OBJDIR)/.configured +python-compile: $(PYTHON_OBJDIR)/.compiled +python-install: $(PYTHON_OBJDIR)/.installed +python-reset: + $(foreach f, .retrieved .configured .compiled .installed, \ + rm -f $(PYTHON_OBJDIR)/$(f);) + +python-clean: + -(cd $(PYTHON_OBJDIR) && make distclean) + +# fetch distfile for python +$(DISTDIR)/$(PYTHON_DIST): + cd $(DISTDIR) && $(FETCH_CMD) $(PYTHON_URL) + +# retrieve python +# +$(PYTHON_OBJDIR)/.retrieved: $(DISTDIR)/$(PYTHON_DIST) + [ -d $(PYTHON_OBJDIR) ] || mkdir -p $(PYTHON_OBJDIR) + tar -C $(SRCDIR) -zxf $(DISTDIR)/$(PYTHON_DIST) + # Make setup.py use our own dependencies instead of system ones + sed -e "s#sqlite_inc_paths = \[ '/usr/include',#sqlite_inc_paths = [ '$(PREFIX)/sqlite/include',#" \ + -e "s#'/usr/include/db4'#'$(PREFIX)/bdb/include'#" \ + -e "s|\(add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')\)|#\1|" \ + -e "s|\(add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')\)|#\1|" \ + -e "s#find_library_file(lib_dirs, 'bz2'#find_library_file(['$(PREFIX)/bz2/lib'] + lib_dirs, 'bz2'#" \ + < $(PYTHON_SRCDIR)/setup.py \ + > $(PYTHON_SRCDIR)/setup.py.patched + mv $(PYTHON_SRCDIR)/setup.py.patched $(PYTHON_SRCDIR)/setup.py + chmod +x $(PYTHON_SRCDIR)/setup.py + # Fixes shared library linking on OpenBSD + # http://bugs.python.org/issue12560 + sed -e '4930s#NetBSD\*|#NetBSD*|OpenBSD*|#' \ + < $(PYTHON_SRCDIR)/configure \ + > $(PYTHON_SRCDIR)/configure.patched + mv $(PYTHON_SRCDIR)/configure.patched $(PYTHON_SRCDIR)/configure + chmod +x $(PYTHON_SRCDIR)/configure + touch $@ + +# configure python +ifdef PROFILE +PYTHON_PROFILING=--enable-profiling +endif +$(PYTHON_OBJDIR)/.configured: $(PYTHON_OBJDIR)/.retrieved + cd $(PYTHON_OBJDIR) \ + && env CFLAGS="-g $(PROFILE_CFLAGS)" GREP="`which grep`" \ + CPPFLAGS="-I$(PREFIX)/bz2/include" \ + LDFLAGS="-Wl,-rpath=$(PREFIX)/python/lib -L$(PREFIX)/bz2/lib" \ + $(PYTHON_SRCDIR)/configure \ + --prefix=$(PREFIX)/python \ + --enable-shared \ + --with-system-expat \ + --with-dbmliborder=bdb \ + $(PYTHON_PROFILING) + touch $@ + +# compile python +$(PYTHON_OBJDIR)/.compiled: $(PYTHON_OBJDIR)/.configured + (cd $(PYTHON_OBJDIR) && make) + touch $@ + +# install python +$(PYTHON_OBJDIR)/.installed: $(PYTHON_OBJDIR)/.compiled + (cd $(PYTHON_OBJDIR) && make install) + touch $@ + + +####################################################################### # svn ####################################################################### @@ -1060,9 +1188,9 @@ $(SVN_OBJDIR)/.configured: $(SVN_OBJDIR) cd $(SVN_SRCDIR) && ./autogen.sh cd $(svn_builddir) && \ env LDFLAGS="-L$(PREFIX)/neon/lib -L$(PREFIX)/apr/lib" \ - LD_LIBRARY_PATH="$(PREFIX)/bdb/lib:$(PREFIX)/iconv/lib:$$LD_LIBRARY_PATH" \ + LD_LIBRARY_PATH="$(LD_LIBRARY_PATH):$$LD_LIBRARY_PATH" \ GREP="`which grep`" \ - PATH=$(PREFIX)/ruby/bin:$$PATH \ + PATH=$(PREFIX)/ruby/bin:$(PREFIX)/python/bin:$$PATH \ $(SVN_SRCDIR)/configure \ --enable-maintainer-mode \ --with-ssl \ @@ -1096,15 +1224,16 @@ $(SVN_OBJDIR)/.installed: $(SVN_OBJDIR)/ touch $@ $(SVN_OBJDIR)/.bindings-compiled: $(SVN_OBJDIR)/.installed - if [ $(ENABLE_PYTHON_BINDINGS) = yes ]; then \ - cd $(svn_builddir) \ - && make swig-py; \ - fi + cd $(svn_builddir) \ + && env LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) \ + make swig-py cd $(svn_builddir) && \ - PATH=$(PREFIX)/ruby/bin:$$PATH make swig-rb + env PATH=$(PREFIX)/ruby/bin:$$PATH \ + LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) make swig-rb if [ $(ENABLE_PERL_BINDINGS) = yes ]; then \ cd $(svn_builddir) \ - && make swig-pl; \ + && env LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) \ + make swig-pl; \ fi if [ $(ENABLE_JAVA_BINDINGS) = yes ]; then \ cd $(svn_builddir) \ @@ -1113,12 +1242,12 @@ $(SVN_OBJDIR)/.bindings-compiled: $(SVN_ touch $@ $(SVN_OBJDIR)/.bindings-installed: $(SVN_OBJDIR)/.bindings-compiled - if [ $(ENABLE_PYTHON_BINDINGS) = yes ]; then \ - cd $(svn_builddir) \ - && make install-swig-py; \ - fi + cd $(svn_builddir) \ + && env LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) \ + make install-swig-py cd $(svn_builddir) && \ - PATH=$(PREFIX)/ruby/bin:$$PATH make install-swig-rb + env PATH=$(PREFIX)/ruby/bin:$$PATH \ + LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) make install-swig-rb if [ $(ENABLE_PERL_BINDINGS) = yes ]; then \ cd $(svn_builddir) \ && make install-swig-pl-lib; \ @@ -1203,9 +1332,6 @@ endif echo >>[email protected] 'RedirectMatch ^/svn-test-work/repositories/REDIRECT-TEMP-(.*)$$ /svn-test-work/repositories/$$1' mv -f [email protected] $@ -# We need this to make sure some targets below pick up the right libraries -LD_LIBRARY_PATH=$(PREFIX)/apr/lib:$(PREFIX)/iconv/lib:$(PREFIX)/bdb/lib:$(PREFIX)/neon/lib:$(PREFIX)/serf/lib:$(PREFIX)/sqlite/lib:$(PREFIX)/cyrus-sasl/lib:$(PREFIX)/iconv/lib:$(PREFIX)/libmagic/lib:$(PREFIX)/ruby/lib:$(PREFIX)/svn-$(WC)/lib - .PHONY: libpath libpath: @echo export LD_LIBRARY_PATH=$(LD_LIBRARY_PATH):$$LD_LIBRARY_PATH @@ -1259,7 +1385,8 @@ define do_check -cd $(svn_builddir) && for fs in fsfs bdb; do \ echo "Begin test: $(subst svn-check-,,$@) x $$fs"; \ test -d "$(RAMDISK)/tmp" && export TMPDIR="$(RAMDISK)/tmp"; \ - make check PARALLEL=$(PARALLEL) CLEANUP=$(CLEANUP) $1 FS_TYPE=$$fs; \ + env LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) \ + make check PARALLEL=$(PARALLEL) CLEANUP=$(CLEANUP) $1 FS_TYPE=$$fs; \ for log in tests.log fails.log; do \ test -f $$log && mv -f $$log $$log.$@-$$fs; \ done; \ @@ -1313,12 +1440,10 @@ svn-check-swig-pl: fi svn-check-swig-py: - -if [ $(ENABLE_PYTHON_BINDINGS) = yes ]; then \ - (cd $(svn_builddir) && \ - env LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) \ - make check-swig-py 2>&1) | \ - tee $(svn_builddir)/tests.log.bindings.py; \ - fi + -(cd $(svn_builddir) && \ + env LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) \ + make check-swig-py 2>&1) | \ + tee $(svn_builddir)/tests.log.bindings.py # We add the svn prefix to PATH here because the ruby tests # attempt to start an svnserve binary found in PATH. @@ -1372,7 +1497,7 @@ endif @echo "sqlite: $(SQLITE_VER)" @echo "openssl: `openssl version | cut -d' ' -f2`" @echo "swig: `swig -version | grep Version | cut -d' ' -f3`" - @echo "python: `python --version 2>&1 | cut -d' ' -f2`" + @echo "python: $(PYTHON_VER)" @echo "perl: `eval \`perl -V:version\`; echo $$version`" @echo "ruby: $(RUBY_VER)" ifeq ($(ENABLE_JAVA_BINDINGS),yes) Modified: subversion/branches/revprop-packing/tools/dist/collect_sigs.py URL: http://svn.apache.org/viewvc/subversion/branches/revprop-packing/tools/dist/collect_sigs.py?rev=1148773&r1=1148772&r2=1148773&view=diff ============================================================================== --- subversion/branches/revprop-packing/tools/dist/collect_sigs.py (original) +++ subversion/branches/revprop-packing/tools/dist/collect_sigs.py Wed Jul 20 13:52:06 2011 @@ -78,7 +78,7 @@ def generate_asc_files(target_dir='.'): curs.execute('SELECT filename, signature FROM signatures;') for filename, signature in curs: fd = _open(filename) - fd.write(signature + "\n") + fd.write(signature) for fd in fds.values(): fd.flush() @@ -181,8 +181,11 @@ def list_signatures(): lines = "" curs = db.cursor() + like_filename = 'subversion-%s%%' % config.version curs.execute('''SELECT filename, COUNT(*) FROM signatures - GROUP BY filename ORDER BY filename''') + WHERE filename LIKE ? + GROUP BY filename ORDER BY filename''', + (like_filename, ) ) for filename, count in curs: lines += '<a href="%s/%s.asc">%s.asc</a>: %d signature%s<br/>\n' \ % (os.getenv('SCRIPT_NAME'), filename, filename, @@ -196,6 +199,24 @@ def save_valid_sig(db, filename, keyid, generate_asc_files(config.sigdir) + # Attempt to copy the results to a remote location + try: + import paramiko + + client = paramiko.SSHClient() + client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) + client.connect(config.ssh['host'], username = config.ssh['user'], + key_filename = config.ssh['key']) + sftp = client.open_sftp() + + sftp.put(os.path.join(config.sigdir, filename + '.asc'), + os.path.join(config.ssh['dir'], config.version, 'deploy', + filename + '.asc')) + client.close() + except: + # Ignore any errors + pass + def verify_sig_for_file(signature, filename): args = ['gpg', '--logger-fd', '1', '--no-tty', '--status-fd', '2', '--verify', '-', Modified: subversion/branches/revprop-packing/tools/dist/release.py URL: http://svn.apache.org/viewvc/subversion/branches/revprop-packing/tools/dist/release.py?rev=1148773&r1=1148772&r2=1148773&view=diff ============================================================================== --- subversion/branches/revprop-packing/tools/dist/release.py (original) +++ subversion/branches/revprop-packing/tools/dist/release.py Wed Jul 20 13:52:06 2011 @@ -79,6 +79,16 @@ class Version(object): regex = re.compile('(\d+).(\d+).(\d+)(?:-(?:(rc|alpha|beta)(\d+)))?') def __init__(self, ver_str): + # Special case the 'trunk-nightly' version + if ver_str == 'trunk-nightly': + self.major = None + self.minor = None + self.patch = None + self.pre = 'nightly' + self.pre_num = None + self.base = 'nightly' + return + match = self.regex.search(ver_str) if not match: @@ -122,7 +132,10 @@ class Version(object): def __str(self): if self.pre: - extra = '-%s%d' % (self.pre, self.pre_num) + if self.pre == 'nightly': + return 'nightly' + else: + extra = '-%s%d' % (self.pre, self.pre_num) else: extra = '' @@ -371,7 +384,10 @@ def roll_tarballs(args): # For now, just delegate to dist.sh to create the actual artifacts extra_args = '' if args.version.is_prerelease(): - extra_args = '-%s %d' % (args.version.pre, args.version.pre_num) + if args.version.pre == 'nightly': + extra_args = '-nightly' + else: + extra_args = '-%s %d' % (args.version.pre, args.version.pre_num) logging.info('Building UNIX tarballs') run_script(args.verbose, '%s/dist.sh -v %s -pr %s -r %d %s' % (sys.path[0], args.version.base, branch, args.revnum, @@ -409,7 +425,7 @@ def post_candidates(args): target = args.target else: target = os.path.join(os.getenv('HOME'), 'public_html', 'svn', - args.version) + str(args.version)) if args.code_name: dirname = args.code_name @@ -419,7 +435,7 @@ def post_candidates(args): if not os.path.exists(target): os.makedirs(target) - data = { 'version' : args.version, + data = { 'version' : str(args.version), 'revnum' : args.revnum, 'dirname' : dirname, } @@ -516,7 +532,7 @@ def write_announcement(args): 'Write the release announcement.' sha1info = get_sha1info(args) - data = { 'version' : args.version, + data = { 'version' : str(args.version), 'sha1info' : sha1info, 'siginfo' : open('getsigs-output', 'r').read(), 'major-minor' : args.version.base[:3],
