summaryrefslogtreecommitdiff
path: root/extra/subversion
diff options
context:
space:
mode:
Diffstat (limited to 'extra/subversion')
-rw-r--r--extra/subversion/PKGBUILD28
-rw-r--r--extra/subversion/subversion-1.7.5-kwallet-gcc47.patch56
-rw-r--r--extra/subversion/svnserve.service11
-rw-r--r--extra/subversion/svnserve.tmpfiles1
4 files changed, 92 insertions, 4 deletions
diff --git a/extra/subversion/PKGBUILD b/extra/subversion/PKGBUILD
index 8ff469795..c38ea4a3a 100644
--- a/extra/subversion/PKGBUILD
+++ b/extra/subversion/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 160577 2012-06-02 10:29:00Z bluewind $
+# $Id: PKGBUILD 165293 2012-08-15 00:13:54Z 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.5
-pkgrel=2
+pkgrel=3
pkgdesc="A Modern Concurrent Version Control System"
arch=('i686' 'x86_64')
license=('APACHE')
@@ -19,12 +19,21 @@ 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)
+ svnserve
+ svn
+ svnserve.conf
+ svnserve.tmpfiles
+ svnserve.service
+ subversion-1.7.5-kwallet-gcc47.patch
+ subversion.rpath.fix.patch)
sha1sums=('05c079762690d5ac1ccd2549742e7ef70fa45cf1'
'b267cba19b4f56360657a5bf5b231950e027a45a'
'64ba3e6ebafc08ac62f59d788f7a825fdce69573'
'73b36c046c09cec2093354911c89e3ba8056af6c'
'ad117bf3b2a838a9a678a93fd8db1a066ad46c41'
+ '00cc36e69077a8c45674ead6dd62a7647b3a3b6d'
+ '9f6790d842cf3e0228b007483a43e39a42724068'
+ 'aa0d01e606de2ebc5eed9c533d218d37a217c50c'
'3d1e28408a9abb42af2e531adc0d01ce21acfad6')
build() {
@@ -34,6 +43,8 @@ build() {
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.5-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 \
@@ -60,15 +71,24 @@ package() {
swig_pydir_extra=/usr/lib/python2.7/site-packages/svn \
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 ...
+
+ # ... 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 \
diff --git a/extra/subversion/subversion-1.7.5-kwallet-gcc47.patch b/extra/subversion/subversion-1.7.5-kwallet-gcc47.patch
new file mode 100644
index 000000000..a571c3c3c
--- /dev/null
+++ b/extra/subversion/subversion-1.7.5-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/extra/subversion/svnserve.service b/extra/subversion/svnserve.service
new file mode 100644
index 000000000..d8a8e10c1
--- /dev/null
+++ b/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 --pid-file=/run/svnserve/svnserve.pid $SVNSERVE_ARGS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/extra/subversion/svnserve.tmpfiles b/extra/subversion/svnserve.tmpfiles
new file mode 100644
index 000000000..e8487d373
--- /dev/null
+++ b/extra/subversion/svnserve.tmpfiles
@@ -0,0 +1 @@
+D /run/svnserve 0700 root root -