summaryrefslogtreecommitdiff
path: root/testing/subversion
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-08-17 00:02:31 +0000
committerroot <root@rshg054.dnsready.net>2012-08-17 00:02:31 +0000
commit4a701d607c90ab5fdadbbe59b468df93e4293244 (patch)
tree57a9c0d8bbf45a06212aa95c3a4aef3a3e2bc346 /testing/subversion
parent0fc1870f2eadde8cb06004be1cbe8d1a4333aa69 (diff)
Fri Aug 17 00:02:30 UTC 2012
Diffstat (limited to 'testing/subversion')
-rw-r--r--testing/subversion/PKGBUILD99
-rw-r--r--testing/subversion/subversion-1.7.6-kwallet-gcc47.patch56
-rw-r--r--testing/subversion/subversion.rpath.fix.patch10
-rw-r--r--testing/subversion/svn11
-rwxr-xr-xtesting/subversion/svnserve42
-rw-r--r--testing/subversion/svnserve.conf7
-rw-r--r--testing/subversion/svnserve.service11
-rw-r--r--testing/subversion/svnserve.tmpfiles1
8 files changed, 237 insertions, 0 deletions
diff --git a/testing/subversion/PKGBUILD b/testing/subversion/PKGBUILD
new file mode 100644
index 000000000..6c5931c19
--- /dev/null
+++ b/testing/subversion/PKGBUILD
@@ -0,0 +1,99 @@
+# $Id: PKGBUILD 165314 2012-08-15 13:09:50Z stephane $
+# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
+# Contributor: Paul Mattal <paul@archlinux.org>
+# Contributor: Jason Chu <jason@archlinux.org>
+
+pkgname=subversion
+pkgver=1.7.6
+pkgrel=1
+pkgdesc="A Modern Concurrent Version Control System"
+arch=('i686' 'x86_64')
+license=('APACHE')
+depends=('neon' 'apr-util' 'sqlite' 'file')
+optdepends=('libgnome-keyring' 'kdeutils-kwallet' 'bash-completion: for svn bash completion' \
+ 'python2: for some hook scripts' 'java-environment') #'ruby: for some hook scripts')
+makedepends=('krb5' 'apache' 'python2' 'perl' 'swig' 'java-runtime' 'java-environment'
+ 'autoconf' 'db' 'e2fsprogs' 'libgnome-keyring' 'kdelibs')
+backup=('etc/xinetd.d/svn' 'etc/conf.d/svnserve')
+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
+ svnserve.tmpfiles
+ svnserve.service
+ subversion-1.7.6-kwallet-gcc47.patch
+ subversion.rpath.fix.patch)
+sha1sums=('5b76a9f49e2c4bf064041a7d6b1bfcc3aa4ed068'
+ 'd8d99c01c49b189047389816b720923f1d9dbf2a'
+ '64ba3e6ebafc08ac62f59d788f7a825fdce69573'
+ '73b36c046c09cec2093354911c89e3ba8056af6c'
+ 'ad117bf3b2a838a9a678a93fd8db1a066ad46c41'
+ '00cc36e69077a8c45674ead6dd62a7647b3a3b6d'
+ '9f6790d842cf3e0228b007483a43e39a42724068'
+ 'aa0d01e606de2ebc5eed9c533d218d37a217c50c'
+ '3d1e28408a9abb42af2e531adc0d01ce21acfad6')
+
+build() {
+ cd "${srcdir}/${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
+
+ patch -Np1 -i ../subversion-1.7.6-kwallet-gcc47.patch
+
+ ./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
+
+ make external-all
+ make LT_LDFLAGS="-L$Fdestdir/usr/lib" local-all
+ 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
+}
+
+#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
+#}
+
+package() {
+ cd "${srcdir}/${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
+
+ rm "${pkgdir}"/usr/lib/perl5/vendor_perl/auto/SVN/_Core/.packlist
+ rm -r "${pkgdir}"/usr/lib/perl5/core_perl
+
+ ## svnserve ...
+
+ # ... iniscript/xinetd
+ install -D -m 755 "${srcdir}"/svnserve "${pkgdir}"/etc/rc.d/svnserve
+ 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
+}
diff --git a/testing/subversion/subversion-1.7.6-kwallet-gcc47.patch b/testing/subversion/subversion-1.7.6-kwallet-gcc47.patch
new file mode 100644
index 000000000..a571c3c3c
--- /dev/null
+++ b/testing/subversion/subversion-1.7.6-kwallet-gcc47.patch
@@ -0,0 +1,56 @@
+diff -Naur subversion-1.7.5.ori/subversion/libsvn_auth_kwallet/kwallet.cpp subversion-1.7.5/subversion/libsvn_auth_kwallet/kwallet.cpp
+--- subversion-1.7.5.ori/subversion/libsvn_auth_kwallet/kwallet.cpp 2010-12-30 15:46:50.000000000 -0500
++++ subversion-1.7.5/subversion/libsvn_auth_kwallet/kwallet.cpp 2012-08-14 19:43:16.694275908 -0400
+@@ -60,6 +60,9 @@
+ /* KWallet simple provider, puts passwords in KWallet */
+ /*-----------------------------------------------------------------------*/
+
++static int q_argc = 1;
++static char q_argv0[] = "svn"; // Build non-const char * from string constant
++static char *q_argv[] = { q_argv0 };
+
+ static const char *
+ get_application_name(apr_hash_t *parameters,
+@@ -175,6 +178,10 @@
+ "kwallet-initialized",
+ APR_HASH_KEY_STRING,
+ NULL);
++ apr_hash_set(parameters,
++ "kwallet-wallet",
++ APR_HASH_KEY_STRING,
++ NULL);
+ }
+ return APR_SUCCESS;
+ }
+@@ -203,12 +210,11 @@
+ QCoreApplication *app;
+ if (! qApp)
+ {
+- int argc = 1;
+- app = new QCoreApplication(argc, (char *[1]) {(char *) "svn"});
++ int argc = q_argc;
++ app = new QCoreApplication(argc, q_argv);
+ }
+
+- KCmdLineArgs::init(1,
+- (char *[1]) {(char *) "svn"},
++ KCmdLineArgs::init(q_argc, q_argv,
+ get_application_name(parameters, pool),
+ "subversion",
+ ki18n(get_application_name(parameters, pool)),
+@@ -273,12 +279,11 @@
+ QCoreApplication *app;
+ if (! qApp)
+ {
+- int argc = 1;
+- app = new QCoreApplication(argc, (char *[1]) {(char *) "svn"});
++ int argc = q_argc;
++ app = new QCoreApplication(argc, q_argv);
+ }
+
+- KCmdLineArgs::init(1,
+- (char *[1]) {(char *) "svn"},
++ KCmdLineArgs::init(q_argc, q_argv,
+ get_application_name(parameters, pool),
+ "subversion",
+ ki18n(get_application_name(parameters, pool)),
diff --git a/testing/subversion/subversion.rpath.fix.patch b/testing/subversion/subversion.rpath.fix.patch
new file mode 100644
index 000000000..ba6ee9e4e
--- /dev/null
+++ b/testing/subversion/subversion.rpath.fix.patch
@@ -0,0 +1,10 @@
+--- 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
++ 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
diff --git a/testing/subversion/svn b/testing/subversion/svn
new file mode 100644
index 000000000..8988aaf63
--- /dev/null
+++ b/testing/subversion/svn
@@ -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
+}
diff --git a/testing/subversion/svnserve b/testing/subversion/svnserve
new file mode 100755
index 000000000..670fee742
--- /dev/null
+++ b/testing/subversion/svnserve
@@ -0,0 +1,42 @@
+#!/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/testing/subversion/svnserve.conf b/testing/subversion/svnserve.conf
new file mode 100644
index 000000000..37fb7ea10
--- /dev/null
+++ b/testing/subversion/svnserve.conf
@@ -0,0 +1,7 @@
+#
+# Parameters to be passed to svnserve
+#
+#SVNSERVE_ARGS="-r /path/to/some/repos"
+SVNSERVE_ARGS=""
+
+#SVNSERVE_USER="svn"
diff --git a/testing/subversion/svnserve.service b/testing/subversion/svnserve.service
new file mode 100644
index 000000000..d8a8e10c1
--- /dev/null
+++ b/testing/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 --pid-file=/run/svnserve/svnserve.pid $SVNSERVE_ARGS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/testing/subversion/svnserve.tmpfiles b/testing/subversion/svnserve.tmpfiles
new file mode 100644
index 000000000..e8487d373
--- /dev/null
+++ b/testing/subversion/svnserve.tmpfiles
@@ -0,0 +1 @@
+D /run/svnserve 0700 root root -