Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=ryuotesting2.git;a=commitdiff;h=18c7d5694d8b9435459e1069d217bc9e229d3835

commit 18c7d5694d8b9435459e1069d217bc9e229d3835
Author: James Buren <[email protected]>
Date:   Sun Jun 10 18:32:16 2012 -0500

subversion-1.6.9-9-x86_64
* convert to systemd schema

diff --git a/source/devel-extra/subversion/FrugalBuild 
b/source/devel-extra/subversion/FrugalBuild
index af7538b..03a27eb 100644
--- a/source/devel-extra/subversion/FrugalBuild
+++ b/source/devel-extra/subversion/FrugalBuild
@@ -3,7 +3,7 @@

pkgname=subversion
pkgver=1.6.9
-pkgrel=8
+pkgrel=9
pkgdesc="A version control system that is a compelling replacement for CVS."
url="http://subversion.tigris.org/";
depends=('neon>=0.28.5-4' 'apr-util>=1.3.12-3' 'apr>=1.2.12' 'db>=4.7.25' 
'sqlite3' 'openssl>=1.0.0')
@@ -12,7 +12,7 @@ groups=('devel-extra')
archs=('i686' 'x86_64')
up2date="Flasttarbz2 $url"
source=(http://$pkgname.tigris.org/downloads/$pkgname-$pkgver.tar.bz2 
rc.svnserve \
-       mod_dav_svn.conf)
+       svnserve.service svnserve.sysconfig mod_dav_svn.conf)

subpkgs=('mod_svn' "$pkgname-svnserve" "$pkgname-bindings")
subdescs=('SVN module for apache 2.X webservers to use SVN server via apache' \
@@ -22,7 +22,8 @@ subdepends=("apache>=2.2.4-4" '' 'perl>=5.14.1-2 python 
ruby>=1.8.7-4')
subrodepends=("$pkgname=$pkgver" "$pkgname=$pkgver" "$pkgname=$pkgver")
subgroups=('devel-extra' 'devel-extra' 'devel-extra')
subarchs=('i686 x86_64' 'i686 x86_64' 'i686 x86_64')
-subbackup=('etc/httpd/conf/modules.d/mod_dav_svn.conf' '' '')
+subbackup=('etc/httpd/conf/modules.d/mod_dav_svn.conf' 
'etc/sysconfig/svnserve' '')
+subinstall=('' 'svnserve.install' '')

Finclude python

@@ -65,6 +66,9 @@ build() {
Frcd2 svnserve
Ffile /etc/httpd/conf/modules.d/mod_dav_svn.conf

+       Ffile /lib/systemd/system/svnserve.service
+       Ffile svnserve.sysconfig /etc/sysconfig/svnserve
+
# Install some example scripts and some tools
Fmkdir /usr/share/subversion
cp -r tools/hook-scripts $Fdestdir/usr/share/subversion || Fdie
@@ -84,6 +88,8 @@ build() {
Ffileschmod  usr/share/subversion/hook-scripts 0644
Ffileschmod  usr/share/subversion/dev 0644
# Split SVN svnserve daemon and releated files
+       Fsplit $pkgname-svnserve lib/systemd/system
+       Fsplit $pkgname-svnserve etc/sysconfig
Fsplit $pkgname-svnserve etc/rc.d
Fsplit $pkgname-svnserve usr/bin/svnserve
Fsplit $pkgname-svnserve usr/man/man8/svnserve*
@@ -102,5 +108,7 @@ build() {

sha1sums=('477aa89e60de7974ac0aa921cc369b4c2907693c' \
'fb9b8250c896f99c59b5b2f49fedec55a2e06c2a' \
+          '44dee68d91c602ff7ffab640845640272dabfaa8' \
+          '6ccc2c8d26a9ff195671f5575b6c099cc18601e3' \
'b4012364a9fbd9e8c490a4819780c31c67940428')
# optimization OK
diff --git a/source/devel-extra/subversion/svnserve.install 
b/source/devel-extra/subversion/svnserve.install
new file mode 100644
index 0000000..9ab5276
--- /dev/null
+++ b/source/devel-extra/subversion/svnserve.install
@@ -0,0 +1,56 @@
+sysvinit_units=(svnserve)
+systemd_units=(svnserve=)
+
+post_install()
+{
+       local unit
+       local op
+
+       for i in ${sysvinit_units[@]}; do
+               chkconfig --del rc.$i >/dev/null 2>&1
+       done
+
+       for i in ${systemd_units[@]}; do
+               unit=$(echo $i | cut -f 1 -d '=')
+               op=$(echo $i | cut -f 2 -d '=')
+               if echo $op | grep -q 'e'; then
+                       systemctl enable $unit.service >/dev/null 2>&1
+               fi
+               if echo $op | grep -q 's'; then
+                       systemctl start $unit.service >/dev/null 2>&1
+               fi
+       done
+}
+
+post_upgrade()
+{
+       for i in ${sysvinit_units[@]}; do
+               chkconfig --del rc.$i >/dev/null 2>&1
+       done
+
+       systemctl daemon-reload >/dev/null 2>&1
+}
+
+pre_remove()
+{
+       local unit
+
+       for i in ${sysvinit_units[@]}; do
+               chkconfig --del rc.$i >/dev/null 2>&1
+       done
+
+       for i in ${systemd_units[@]}; do
+               unit=$(echo $i | cut -f 1 -d '=')
+               systemctl --no-reload disable $unit.service >/dev/null 2>&1
+               systemctl stop $unit.service >/dev/null 2>&1
+       done
+}
+
+post_remove()
+{
+       systemctl daemon-reload >/dev/null 2>&1
+}
+
+op=$1
+shift
+$op $*
diff --git a/source/devel-extra/subversion/svnserve.service 
b/source/devel-extra/subversion/svnserve.service
new file mode 100644
index 0000000..8920ba3
--- /dev/null
+++ b/source/devel-extra/subversion/svnserve.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=svnserve
+After=network.target
+
+[Service]
+EnvironmentFile=/etc/sysconfig/svnserve
+ExecStart=/usr/bin/svnserve -d $SVNSERVE_OPTIONS
+Type=forking
+
+[Install]
+WantedBy=multi-user.target
diff --git a/source/devel-extra/subversion/svnserve.sysconfig 
b/source/devel-extra/subversion/svnserve.sysconfig
new file mode 100644
index 0000000..9dc41d9
--- /dev/null
+++ b/source/devel-extra/subversion/svnserve.sysconfig
@@ -0,0 +1,2 @@
+# Put options in here.
+SVNSERVE_OPTIONS=""
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to