From 334602d665b11ab882de2086d610b37295b318f6 Mon Sep 17 00:00:00 2001 From: Britney Fransen Date: Mon, 26 Mar 2018 21:10:40 +0000 Subject: subversion: update to 1.9.7 --- abs/extra/subversion/PKGBUILD | 117 +++++++++++++++--------- abs/extra/subversion/__changelog | 2 +- abs/extra/subversion/ruby-frozen-nil.patch | 42 +++++++++ abs/extra/subversion/subversion.rpath.fix.patch | 7 +- abs/extra/subversion/svnserve | 42 --------- abs/extra/subversion/svnserve.conf | 2 - abs/extra/subversion/svnserve.service | 11 +++ abs/extra/subversion/svnserve.tmpfiles | 1 + 8 files changed, 132 insertions(+), 92 deletions(-) create mode 100644 abs/extra/subversion/ruby-frozen-nil.patch delete mode 100755 abs/extra/subversion/svnserve create mode 100644 abs/extra/subversion/svnserve.service create mode 100644 abs/extra/subversion/svnserve.tmpfiles diff --git a/abs/extra/subversion/PKGBUILD b/abs/extra/subversion/PKGBUILD index 0086102..c5bee1f 100644 --- a/abs/extra/subversion/PKGBUILD +++ b/abs/extra/subversion/PKGBUILD @@ -1,76 +1,104 @@ -# $Id: PKGBUILD 160577 2012-06-02 10:29:00Z bluewind $ -# Maintainer: Stéphane Gaudreault +# $Id$ +# Maintainer: Angel Velasquez +# Maintainer: Felix Yan +# Contributor: Stéphane Gaudreault # Contributor: Paul Mattal # Contributor: Jason Chu pkgname=subversion -pkgver=1.7.5 -pkgrel=2 +pkgver=1.9.7 +pkgrel=4 pkgdesc="A Modern Concurrent Version Control System" -arch=('i686' 'x86_64') +arch=('x86_64') +url="http://subversion.apache.org/" license=('APACHE') -depends=('neon' 'apr-util' 'sqlite' 'file') -#optdepends=('libgnome-keyring' 'kdeutils-kwallet' 'bash-completion: for svn bash completion' \ -optdepends=('bash-completion: for svn bash completion' \ - 'python2: for some hook scripts') - -makedepends=('krb5' 'apache' 'python2' 'perl' 'swig' 'autoconf' 'db' 'e2fsprogs') +depends=('sqlite' 'file' 'serf' 'systemd') +makedepends=('apache' 'python2' 'perl' 'swig' 'java-environment' + 'libgnome-keyring' 'ruby') +optdepends=('libgnome-keyring: for GNOME Keyring for auth credentials' + 'kdebase-runtime: 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') +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} + svn + svnserve.conf + svnserve.tmpfiles + svnserve.service + subversion.rpath.fix.patch + ruby-frozen-nil.patch) +sha512sums=('a55efd3edaddbc099450d849fcc6fe5a8d20b85ece966d8ac2fd73ee9cb4255a0349bbcfceb4e9fca6daf054ce7c648eff8d273c6873f5dade6e62dcea7eeb2b' + 'SKIP' + '3df59e92aa0314ff6adce26e2e1162bf2872ca03ff1f78891081a60e67b521b6046b4a2f85f718dcd27f9d5709594658817a09548cdb74e3976d371dbe47e7db' + 'f7f2ceac2446cc94ac2be3404083cc54a0f1f4d04d5301f600dfafca38819669bcffdfa45f1b90b9f3cdb042469385a764f11dc1a827f10c23ddf73b7ac6c9da' + '7775f4da5003970c9ebdc2f696ba090df194a77d9daed791875488c943f72ae496b5f9cc6f3ff9f3f4de9f352a3b518137babdea38947d1a2d5dd16aa1844036' + '8cc23ae71bd7ce7c337eaf12929f1af0a11b55250808e88f06397b874daf2efb9491c464be3d082d937a82c2b0b7c3ed06d6695cfd8a3fda1f803bbfd15837de' + '60d538160e738eb3b3e84a3881fe5a8d75c79053d3f31c4c29ef6ace6ccc5dd4367ed712766c911bae3436e9706e4dd144b270bb45161a6c1834a37e154d0440' + 'bb772e55acd9601121ad06b254c364e8d8cf772ca59b8df0cf4c5c5ecba110d4108d0363672f121f770550cdd052802474029e57643258f398aacd2b63ccb898') +validpgpkeys=('19BBCAEF7B19B280A0E2175E62D48FAD16A0DE01' + '8BC4DAE0C5A4D65F404401074F7DBAA99A59B973' + 'BA3C15B1337CF0FB222BD41A1BCA6586A347943F' + 'E7B2A7F4EC28BE9FF8B38BA4B64FFF1209F9FA74' + '3D1DC66D6D2E0B9039528138C4A6C625CCC8E1DF') +# Ben Reser / Stefan Sperling / Branko Čibej / Evgeny Kotkov / Bert Huijben -url="http://subversion.apache.org/" -provides=('svn') -options=('!makeflags' '!libtool' '!emptydirs') -source=(http://apache.mirror.rafal.ca/subversion/$pkgname-$pkgver.tar.bz2{,.asc} - svnserve svn svnserve.conf subversion.rpath.fix.patch) -sha1sums=('05c079762690d5ac1ccd2549742e7ef70fa45cf1' - 'b267cba19b4f56360657a5bf5b231950e027a45a' - '64ba3e6ebafc08ac62f59d788f7a825fdce69573' - '73b36c046c09cec2093354911c89e3ba8056af6c' - 'ad117bf3b2a838a9a678a93fd8db1a066ad46c41' - '3d1e28408a9abb42af2e531adc0d01ce21acfad6') +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 +} build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} export PYTHON=/usr/bin/python2 - - patch -p0 -i ../subversion.rpath.fix.patch - sed -i 's|/usr/bin/env python|/usr/bin/env python2|' tools/hook-scripts/{,mailer/{,tests/}}*.py - ./configure --prefix=/usr --with-apr=/usr --with-apr-util=/usr \ - --with-zlib=/usr --with-neon=/usr --with-apxs \ - --with-sqlite=/usr --with-berkeley-db=:/usr/include/:/usr/lib:db-5.3 -# --enable-javahl --with-gnome-keyring --with-kwallet + --with-zlib=/usr --with-serf=/usr --with-apxs \ + --with-sqlite=/usr \ + --enable-javahl --with-jdk=/usr/lib/jvm/default \ + --with-gnome-keyring --without-kwallet \ + --with-apache-libexecdir=/usr/lib/httpd/modules \ + --with-ruby-sitedir=/usr/lib/ruby/vendor_ruby \ + --disable-static - make external-all - make LT_LDFLAGS="-L$Fdestdir/usr/lib" local-all + 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-py swig-pl #javahl # swig-rb + swig_pydir_extra=/usr/lib/python2.7/site-packages/svn swig-py swig-pl javahl swig-rb } -#check() { -# cd "${srcdir}/${pkgname}-${pkgver}" -# export LANG=C LC_ALL=C -# make check check-swig-pl check-swig-py check-javahl CLEANUP=yes # check-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 "${srcdir}/${pkgname}-${pkgver}" + 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 install-swig-py install-swig-pl install-javahl install-swig-rb - install -d "${pkgdir}"/usr/share/subversion + install -dm755 "${pkgdir}"/usr/share/subversion cp -a tools/hook-scripts "${pkgdir}"/usr/share/subversion/ rm "${pkgdir}"/usr/share/subversion/hook-scripts/*.in - rm "${pkgdir}"/usr/lib/perl5/vendor_perl/auto/SVN/_Core/.packlist - rm -r "${pkgdir}"/usr/lib/perl5/core_perl + ## svnserve ... - install -D -m 755 "${srcdir}"/svnserve "${pkgdir}"/etc/rc.d/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 \ @@ -79,3 +107,4 @@ package() { ln -sf subversion "${pkgdir}"/usr/share/bash-completion/completions/${i} done } + diff --git a/abs/extra/subversion/__changelog b/abs/extra/subversion/__changelog index 24ce429..8b2015e 100644 --- a/abs/extra/subversion/__changelog +++ b/abs/extra/subversion/__changelog @@ -1 +1 @@ -remove java,kdelibs , libgnome +PKGBUILD: remove dep kdelibs and --without-kwallet diff --git a/abs/extra/subversion/ruby-frozen-nil.patch b/abs/extra/subversion/ruby-frozen-nil.patch new file mode 100644 index 0000000..ef29bc1 --- /dev/null +++ b/abs/extra/subversion/ruby-frozen-nil.patch @@ -0,0 +1,42 @@ +commit 6c69127693e9e395c026d982f871253548037a4d +Author: James McCoy +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); diff --git a/abs/extra/subversion/subversion.rpath.fix.patch b/abs/extra/subversion/subversion.rpath.fix.patch index ba6ee9e..aaec8fd 100644 --- a/abs/extra/subversion/subversion.rpath.fix.patch +++ b/abs/extra/subversion/subversion.rpath.fix.patch @@ -3,8 +3,9 @@ @@ -678,6 +678,7 @@ $(SWIG_PL_DIR)/native/Makefile: $(SWIG_PL_DIR)/native/Makefile.PL - cd $(SWIG_PL_DIR)/native; $(PERL) 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}} - swig-pl_DEPS = autogen-swig-pl libsvn_swig_perl \ - $(SWIG_PL_DIR)/native/Makefile + # 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. diff --git a/abs/extra/subversion/svnserve b/abs/extra/subversion/svnserve deleted file mode 100755 index 670fee7..0000000 --- a/abs/extra/subversion/svnserve +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions -. /etc/conf.d/svnserve - -PID=`pidof -o %PPID /usr/bin/svnserve` -case "$1" in - start) - stat_busy "Starting svnserve" - if [ -z "$PID" ]; then - if [ -n "$SVNSERVE_USER" ]; then - su -s '/bin/sh' $SVNSERVE_USER -c "/usr/bin/svnserve -d $SVNSERVE_ARGS" & - else - /usr/bin/svnserve -d $SVNSERVE_ARGS & - fi - fi - if [ ! -z "$PID" -o $? -gt 0 ]; then - stat_fail - else - add_daemon svnserve - stat_done - fi - ;; - stop) - stat_busy "Stopping svnserve" - [ ! -z "$PID" ] && kill $PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon svnserve - stat_done - fi - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" -esac diff --git a/abs/extra/subversion/svnserve.conf b/abs/extra/subversion/svnserve.conf index 37fb7ea..f4dc40f 100644 --- a/abs/extra/subversion/svnserve.conf +++ b/abs/extra/subversion/svnserve.conf @@ -3,5 +3,3 @@ # #SVNSERVE_ARGS="-r /path/to/some/repos" SVNSERVE_ARGS="" - -#SVNSERVE_USER="svn" diff --git a/abs/extra/subversion/svnserve.service b/abs/extra/subversion/svnserve.service new file mode 100644 index 0000000..713aba5 --- /dev/null +++ b/abs/extra/subversion/svnserve.service @@ -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 diff --git a/abs/extra/subversion/svnserve.tmpfiles b/abs/extra/subversion/svnserve.tmpfiles new file mode 100644 index 0000000..e8487d3 --- /dev/null +++ b/abs/extra/subversion/svnserve.tmpfiles @@ -0,0 +1 @@ +D /run/svnserve 0700 root root - -- cgit v0.12