From 0fc1870f2eadde8cb06004be1cbe8d1a4333aa69 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 16 Aug 2012 00:02:36 +0000 Subject: Thu Aug 16 00:02:36 UTC 2012 --- extra/subversion/PKGBUILD | 28 +++++++++-- .../subversion-1.7.5-kwallet-gcc47.patch | 56 ++++++++++++++++++++++ extra/subversion/svnserve.service | 11 +++++ extra/subversion/svnserve.tmpfiles | 1 + 4 files changed, 92 insertions(+), 4 deletions(-) create mode 100644 extra/subversion/subversion-1.7.5-kwallet-gcc47.patch create mode 100644 extra/subversion/svnserve.service create mode 100644 extra/subversion/svnserve.tmpfiles (limited to 'extra/subversion') 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 # Contributor: Paul Mattal # Contributor: Jason Chu 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 - -- cgit v1.2.3-54-g00ecf