[arch-commits] Commit in subversion/repos (9 files)

Anatol Pomozov anatolik at archlinux.org
Tue Dec 31 20:35:16 UTC 2019


    Date: Tuesday, December 31, 2019 @ 20:35:15
  Author: anatolik
Revision: 372417

archrelease: copy trunk to staging-x86_64

Added:
  subversion/repos/staging-x86_64/
  subversion/repos/staging-x86_64/PKGBUILD
    (from rev 372416, subversion/trunk/PKGBUILD)
  subversion/repos/staging-x86_64/ruby-27.patch
    (from rev 372416, subversion/trunk/ruby-27.patch)
  subversion/repos/staging-x86_64/ruby-frozen-nil.patch
    (from rev 372416, subversion/trunk/ruby-frozen-nil.patch)
  subversion/repos/staging-x86_64/subversion.rpath.fix.patch
    (from rev 372416, subversion/trunk/subversion.rpath.fix.patch)
  subversion/repos/staging-x86_64/svn
    (from rev 372416, subversion/trunk/svn)
  subversion/repos/staging-x86_64/svnserve.conf
    (from rev 372416, subversion/trunk/svnserve.conf)
  subversion/repos/staging-x86_64/svnserve.service
    (from rev 372416, subversion/trunk/svnserve.service)
  subversion/repos/staging-x86_64/svnserve.tmpfiles
    (from rev 372416, subversion/trunk/svnserve.tmpfiles)

----------------------------+
 PKGBUILD                   |  122 +++++++++++++++++++++++++++++++++++++++++++
 ruby-27.patch              |   44 +++++++++++++++
 ruby-frozen-nil.patch      |   42 ++++++++++++++
 subversion.rpath.fix.patch |   11 +++
 svn                        |   11 +++
 svnserve.conf              |    5 +
 svnserve.service           |   11 +++
 svnserve.tmpfiles          |    1 
 8 files changed, 247 insertions(+)

Copied: subversion/repos/staging-x86_64/PKGBUILD (from rev 372416, subversion/trunk/PKGBUILD)
===================================================================
--- staging-x86_64/PKGBUILD	                        (rev 0)
+++ staging-x86_64/PKGBUILD	2019-12-31 20:35:15 UTC (rev 372417)
@@ -0,0 +1,122 @@
+# Maintainer: Angel Velasquez <angvp at archlinux.org>
+# Maintainer: Felix Yan <felixonmars at archlinux.org>
+# Contributor: Stéphane Gaudreault <stephane at archlinux.org>
+# Contributor: Paul Mattal <paul at archlinux.org>
+# Contributor: Jason Chu <jason at archlinux.org>
+
+pkgname=subversion
+pkgver=1.13.0
+pkgrel=1
+pkgdesc="A Modern Concurrent Version Control System"
+arch=('x86_64')
+url="https://subversion.apache.org/"
+license=('APACHE')
+depends=('file' 'libutf8proc' 'serf' 'sqlite' 'systemd')
+makedepends=('apache' 'python2' 'perl' 'swig3' 'java-environment>=8'
+             'libgnome-keyring' 'kwallet' 'kdelibs4support' 'ruby')
+optdepends=('libgnome-keyring: for GNOME Keyring for auth credentials'
+            'kwallet: for KWallet for auth credentials'
+            'bash-completion: for svn bash completion'
+            'python2: for some hook scripts'
+            'java-environment: for Java support'
+            'ruby: for some hook scripts')
+checkdepends=('ruby-test-unit')
+provides=('svn')
+backup=('etc/xinetd.d/svn' 'etc/conf.d/svnserve')
+options=('!makeflags' '!emptydirs')
+source=(https://www.apache.org/dist/subversion/subversion-${pkgver}.tar.bz2{,.asc}
+        ruby-27.patch
+        svn
+        svnserve.conf
+        svnserve.tmpfiles
+        svnserve.service
+        subversion.rpath.fix.patch
+        ruby-frozen-nil.patch)
+sha512sums=('36f390b412bf772bf894efc2aadc247f12ca30ac407e04f664c14411c3519e1bb242d1239f2f44cbcb86eafc7c413efc8eadbfe1d1e75118235a7b7adc6c85b2'
+            'SKIP'
+            '4057e4bb08da476c029629091f5c8a1c7c72104412baaf39b0e2bd69b64ff7963a1c10b210eb6e2275024cd3f697b7793f257a609c3278f31f5dec36d080594e'
+            '3df59e92aa0314ff6adce26e2e1162bf2872ca03ff1f78891081a60e67b521b6046b4a2f85f718dcd27f9d5709594658817a09548cdb74e3976d371dbe47e7db'
+            'f7f2ceac2446cc94ac2be3404083cc54a0f1f4d04d5301f600dfafca38819669bcffdfa45f1b90b9f3cdb042469385a764f11dc1a827f10c23ddf73b7ac6c9da'
+            '7775f4da5003970c9ebdc2f696ba090df194a77d9daed791875488c943f72ae496b5f9cc6f3ff9f3f4de9f352a3b518137babdea38947d1a2d5dd16aa1844036'
+            '8cc23ae71bd7ce7c337eaf12929f1af0a11b55250808e88f06397b874daf2efb9491c464be3d082d937a82c2b0b7c3ed06d6695cfd8a3fda1f803bbfd15837de'
+            '60d538160e738eb3b3e84a3881fe5a8d75c79053d3f31c4c29ef6ace6ccc5dd4367ed712766c911bae3436e9706e4dd144b270bb45161a6c1834a37e154d0440'
+            'bb772e55acd9601121ad06b254c364e8d8cf772ca59b8df0cf4c5c5ecba110d4108d0363672f121f770550cdd052802474029e57643258f398aacd2b63ccb898')
+validpgpkeys=('19BBCAEF7B19B280A0E2175E62D48FAD16A0DE01'
+              '8BC4DAE0C5A4D65F404401074F7DBAA99A59B973'
+              'BA3C15B1337CF0FB222BD41A1BCA6586A347943F'
+              'E7B2A7F4EC28BE9FF8B38BA4B64FFF1209F9FA74'
+              '3D1DC66D6D2E0B9039528138C4A6C625CCC8E1DF'
+              'A844790FB5743606EE95920776D788E1ED1A599C'
+              '7B8CA7F6451AD89C8ADC077B376A3CFD110B1C95'
+              '056F8016D9B87B1BDE41746799EC741B57921ACC'
+              '3F8E467CB3366E3013E1120D583F00ADF981C39F')
+# Ben Reser / Stefan Sperling / Branko Čibej / Evgeny Kotkov / Bert Huijben / Philip Martin /
+# Stefan Fuhrmann / Stefan Hett (CODE SIGNING KEY) /Nathan Hartman (CODE SIGNING KEY)
+
+prepare() {
+   cd ${pkgname}-${pkgver}
+   patch -Np0 -i ../subversion.rpath.fix.patch
+   patch -p1 -i ../ruby-frozen-nil.patch
+   sed -i 's|/usr/bin/env python|/usr/bin/env python2|' tools/hook-scripts/{,mailer/{,tests/}}*.py subversion/tests/cmdline/*.py
+   rm subversion/bindings/swig/proxy/*.swg
+
+   patch -p1 < ../ruby-27.patch # https://issues.apache.org/jira/browse/SVN-4841
+
+   ./autogen.sh
+}
+
+build() {
+   cd ${pkgname}-${pkgver}
+   export PYTHON=/usr/bin/python2
+   ./configure --prefix=/usr --with-apr=/usr --with-apr-util=/usr \
+               --with-zlib=/usr --with-serf=/usr --with-apxs \
+               --with-sqlite=/usr \
+               --enable-javahl --with-jdk=/usr/lib/jvm/default \
+               --with-gnome-keyring --with-kwallet \
+               --with-apache-libexecdir=/usr/lib/httpd/modules \
+               --with-ruby-sitedir=/usr/lib/ruby/vendor_ruby \
+               --disable-static
+
+   make LT_LDFLAGS="-L$Fdestdir/usr/lib"
+   make swig_pydir=/usr/lib/python2.7/site-packages/libsvn \
+     swig_pydir_extra=/usr/lib/python2.7/site-packages/svn SWIG=swig-3 swig-py swig-pl javahl swig-rb
+}
+
+check() {
+   cd ${pkgname}-${pkgver}
+   export LANG=C LC_ALL=C
+   make check check-swig-pl check-swig-py check-swig-rb CLEANUP=yes # check-javahl
+}
+
+package() {
+   cd ${pkgname}-${pkgver}
+
+   export LD_LIBRARY_PATH="${pkgdir}"/usr/lib:${LD_LIBRARY_PATH}
+   make DESTDIR="${pkgdir}" INSTALLDIRS=vendor \
+     swig_pydir=/usr/lib/python2.7/site-packages/libsvn \
+     swig_pydir_extra=/usr/lib/python2.7/site-packages/svn \
+     install install-swig-py install-swig-pl install-javahl install-swig-rb
+
+   install -dm755 "${pkgdir}"/usr/share/subversion
+   cp -a tools/hook-scripts "${pkgdir}"/usr/share/subversion/
+   rm "${pkgdir}"/usr/share/subversion/hook-scripts/*.in
+
+   ## svnserve ...
+
+   # xinetd
+   install -D -m 644 "${srcdir}"/svn "${pkgdir}"/etc/xinetd.d/svn
+
+   # ... systemd
+   install -D -m 644 "${srcdir}"/svnserve.service  "${pkgdir}"/usr/lib/systemd/system/svnserve.service
+   install -D -m 644 "${srcdir}"/svnserve.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/svnserve.conf
+
+   # ... common config
+   install -D -m 644 "${srcdir}"/svnserve.conf "${pkgdir}"/etc/conf.d/svnserve
+
+   install -Dm 644 tools/client-side/bash_completion \
+     "${pkgdir}"/usr/share/bash-completion/completions/subversion
+   for i in svn svnadmin svndumpfilter svnlook svnsync svnversion; do
+      ln -sf subversion "${pkgdir}"/usr/share/bash-completion/completions/${i}
+   done
+}
+

Copied: subversion/repos/staging-x86_64/ruby-27.patch (from rev 372416, subversion/trunk/ruby-27.patch)
===================================================================
--- staging-x86_64/ruby-27.patch	                        (rev 0)
+++ staging-x86_64/ruby-27.patch	2019-12-31 20:35:15 UTC (rev 372417)
@@ -0,0 +1,44 @@
+commit 7aa586a6e7235bdbc7ad551e6853fe24a0dcf991
+Author: Anatol Pomozov <anatol.pomozov at gmail.com>
+Date:   Tue Dec 31 08:48:46 2019 -0800
+
+    Fix issue #4841: do not include internal ruby include paths
+    
+    Building subversion with ruby2.7 produces a compilation warning:
+    
+    subversion/bindings/swig/ruby/svn_client.c:1666:13: warning: implicit declaration of function ‘assert’ [-Wimplicit-function-declaration]
+     1666 | assert(own); /* badly formed typemap which will lead to a memory leak - it must set and use own to delete *ptr */
+     | ^~~~~~
+    
+    And later tests fail with:
+    
+    /usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require': /build/subversion/src/subversion-1.13.0/subversion/bindings/swig/ruby/libsvn_swig_ruby/.libs/libsvn_swig_ruby-1.so.0: undefined symbol: assert - /build/subversion/src/subversion-1.13.0/subversion/bindings/swig/ruby/.ext/svn/ext/core.so (LoadError)
+            from /usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
+            from /build/subversion/src/subversion-1.13.0/subversion/bindings/swig/ruby/svn/error.rb:21:in `<top (required)>'
+            from /usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
+            from /usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
+            from /build/subversion/src/subversion-1.13.0/subversion/bindings/swig/ruby/svn/core.rb:25:in `<top (required)>'
+            from /usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
+            from /usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
+            from /build/subversion/src/subversion-1.13.0/subversion/bindings/swig/ruby/test/run-test.rb:47:in `<main>'
+    make: *** [Makefile:962: check-swig-rb] Error 1
+    
+    It turns out that ruby 2.7 added a new header file '$RUBY_TOP/ruby/assert.h'.
+    Subversion includes both $RUBY_TOP and $RUBY_TOP/ruby and it makes "assert.h" to
+    be resolved to ruby's version instead of libc one.
+    
+    To fix this problem subversion should use only $RUBY_TOP and avoid using internal ruby paths.
+
+diff --git a/build/ac-macros/swig.m4 b/build/ac-macros/swig.m4
+index bc2599038f..c707a8c282 100644
+--- a/build/ac-macros/swig.m4
++++ b/build/ac-macros/swig.m4
+@@ -230,7 +230,7 @@ AC_DEFUN(SVN_FIND_SWIG,
+     AC_CACHE_CHECK([for Ruby include path], [svn_cv_ruby_includes],[
+     if test -d "$rbconfig_rubyhdrdir"; then
+       dnl Ruby >=1.9
+-      svn_cv_ruby_includes="-I. -I$rbconfig_rubyhdrdir -I$rbconfig_rubyhdrdir/ruby -I$rbconfig_rubyhdrdir/ruby/backward"
++      svn_cv_ruby_includes="-I. -I$rbconfig_rubyhdrdir"
+       if test -d "$rbconfig_rubyarchhdrdir"; then
+         dnl Ruby >=2.0
+         svn_cv_ruby_includes="$svn_cv_ruby_includes -I$rbconfig_rubyarchhdrdir"

Copied: subversion/repos/staging-x86_64/ruby-frozen-nil.patch (from rev 372416, subversion/trunk/ruby-frozen-nil.patch)
===================================================================
--- staging-x86_64/ruby-frozen-nil.patch	                        (rev 0)
+++ staging-x86_64/ruby-frozen-nil.patch	2019-12-31 20:35:15 UTC (rev 372417)
@@ -0,0 +1,42 @@
+commit 6c69127693e9e395c026d982f871253548037a4d
+Author: James McCoy <jamessan at debian.org>
+Date:   Sun Nov 8 23:06:45 2015 -0500
+
+    Create a new Ruby Object instead of attempting to modify nil.
+    
+    Starting in Ruby 2.2, the nil, true, and false objects are frozen.  This
+    was causing test_repos.rb's test_load to fail due to calling
+    "repos.load_fs(nil)".  This results in svn_swig_rb_make_stream trying to
+    attributes on nil, which isn't allowed.
+    
+    * subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c:
+      (svn_swig_rb_make_stream): Create a new Object if the given io is nil.
+       Also call svn_swig_rb_get_pool in order to deduplicate some
+       pool-handling code.
+
+diff --git a/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c b/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
+index a25ec5a..2210853 100644
+--- a/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
++++ b/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
+@@ -3230,14 +3230,16 @@ svn_swig_rb_make_stream(VALUE io)
+     stream_p = &stream;
+     r2c_swig_type2(io, "svn_stream_t *", (void **)stream_p);
+   } else {
++    if (NIL_P(io)) {
++      io = rb_class_new_instance(0, NULL, rb_cObject);
++    }
+     VALUE rb_pool = rb_pool_new(Qnil);
+-    apr_pool_wrapper_t *pool_wrapper;
+-    apr_pool_wrapper_t **pool_wrapper_p;
++    apr_pool_t *pool;
++
++    svn_swig_rb_get_pool(0, NULL, io, &rb_pool, &pool);
+ 
+     rb_set_pool(io, rb_pool);
+-    pool_wrapper_p = &pool_wrapper;
+-    r2c_swig_type2(rb_pool, "apr_pool_wrapper_t *", (void **)pool_wrapper_p);
+-    stream = svn_stream_create((void *)io, pool_wrapper->pool);
++    stream = svn_stream_create((void *)io, pool);
+     svn_stream_set_read2(stream, NULL /* only full read support */,
+                          read_handler_rbio);
+     svn_stream_set_write(stream, write_handler_rbio);

Copied: subversion/repos/staging-x86_64/subversion.rpath.fix.patch (from rev 372416, subversion/trunk/subversion.rpath.fix.patch)
===================================================================
--- staging-x86_64/subversion.rpath.fix.patch	                        (rev 0)
+++ staging-x86_64/subversion.rpath.fix.patch	2019-12-31 20:35:15 UTC (rev 372417)
@@ -0,0 +1,11 @@
+--- Makefile.in.orig	2009-02-16 14:10:48.000000000 -0200
++++ Makefile.in	2009-06-04 00:56:29.000000000 -0300
+@@ -678,6 +678,7 @@
+ 
+ $(SWIG_PL_DIR)/native/Makefile: $(SWIG_PL_DIR)/native/Makefile.PL
+ 	cd $(SWIG_PL_DIR)/native; $(PERL) Makefile.PL PREFIX=$(prefix)
++	cd $(SWIG_PL_DIR)/native; sed -i 's|LD_RUN_PATH|DIE_RPATH_DIE|g' Makefile{,.{client,delta,fs,ra,repos,wc}}
+ 
+ # 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
+ # only be used where Python/Perl are known to be available.

Copied: subversion/repos/staging-x86_64/svn (from rev 372416, subversion/trunk/svn)
===================================================================
--- staging-x86_64/svn	                        (rev 0)
+++ staging-x86_64/svn	2019-12-31 20:35:15 UTC (rev 372417)
@@ -0,0 +1,11 @@
+service svn
+{
+	flags			= REUSE
+	socket_type		= stream
+	wait			= no
+	user			= root
+	server			= /usr/bin/svnserve
+	server_args		= -i
+	log_on_failure		+= USERID
+	disable			= yes
+}

Copied: subversion/repos/staging-x86_64/svnserve.conf (from rev 372416, subversion/trunk/svnserve.conf)
===================================================================
--- staging-x86_64/svnserve.conf	                        (rev 0)
+++ staging-x86_64/svnserve.conf	2019-12-31 20:35:15 UTC (rev 372417)
@@ -0,0 +1,5 @@
+#
+# Parameters to be passed to svnserve
+#
+#SVNSERVE_ARGS="-r /path/to/some/repos"
+SVNSERVE_ARGS=""

Copied: subversion/repos/staging-x86_64/svnserve.service (from rev 372416, subversion/trunk/svnserve.service)
===================================================================
--- staging-x86_64/svnserve.service	                        (rev 0)
+++ staging-x86_64/svnserve.service	2019-12-31 20:35:15 UTC (rev 372417)
@@ -0,0 +1,11 @@
+[Unit]
+Description=Subversion protocol daemon
+After=syslog.target network.target
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/conf.d/svnserve
+ExecStart=/usr/bin/svnserve --daemon $SVNSERVE_ARGS
+
+[Install]
+WantedBy=multi-user.target

Copied: subversion/repos/staging-x86_64/svnserve.tmpfiles (from rev 372416, subversion/trunk/svnserve.tmpfiles)
===================================================================
--- staging-x86_64/svnserve.tmpfiles	                        (rev 0)
+++ staging-x86_64/svnserve.tmpfiles	2019-12-31 20:35:15 UTC (rev 372417)
@@ -0,0 +1 @@
+D /run/svnserve 0700 root root -



More information about the arch-commits mailing list