[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