summaryrefslogtreecommitdiff
path: root/social/trytond
diff options
context:
space:
mode:
Diffstat (limited to 'social/trytond')
-rw-r--r--social/trytond/PKGBUILD30
-rw-r--r--social/trytond/trytond.install20
-rw-r--r--social/trytond/trytond.rc52
3 files changed, 102 insertions, 0 deletions
diff --git a/social/trytond/PKGBUILD b/social/trytond/PKGBUILD
new file mode 100644
index 000000000..9f8348f06
--- /dev/null
+++ b/social/trytond/PKGBUILD
@@ -0,0 +1,30 @@
+# Maintainer: Robin Baumgartner <robin@baumgartners.ch>
+pkgname=trytond
+pkgver=2.4.0
+_pkgdir=2.4
+pkgrel=1
+pkgdesc="A three-tiers high-level general purpose application platform (server application)"
+arch=('any')
+url="http://www.tryton.org/"
+license=('GPL3')
+depends=('python2>=2.4' 'python-lxml' 'python-egenix-mx-base' 'python-relatorio>=0.2.0' 'python-genshi>=0.5' 'python2-polib')
+optdepends=('python-psycopg2: support for PostgreSQL database'
+ 'python-pywebdav: support for WebDAV feature'
+ 'pydot: support for displaying workflow graphs'
+ 'python-pytz: timezone support'
+ 'pyopenssl: support for SSL connection')
+makedepends=('python2-distribute')
+install="trytond.install"
+source=("http://downloads.tryton.org/$_pkgdir/$pkgname-$pkgver.tar.gz"
+ 'trytond.install'
+ 'trytond.rc')
+md5sums=('ce0bbb8fcd0ef6a02c575823712e29e4'
+ '768e68c01cb5913e36ea89c67fc98038'
+ '3ca6aff9b30a52bcf159be7ca630fb6e')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ python2 setup.py install --root=$pkgdir
+ install -D -m644 etc/trytond.conf $pkgdir/etc/trytond.conf
+ install -D -m755 $startdir/trytond.rc $pkgdir/etc/rc.d/trytond
+}
diff --git a/social/trytond/trytond.install b/social/trytond/trytond.install
new file mode 100644
index 000000000..46d6daaba
--- /dev/null
+++ b/social/trytond/trytond.install
@@ -0,0 +1,20 @@
+post_install() {
+ echo
+ echo "Adding tryton group... "
+ groupadd tryton
+ echo
+ echo "Adding tryton user... "
+ useradd -c "Tryton Server Daemon" -g tryton -s /bin/false tryton
+
+ echo "Note:"
+ echo "==> Please don't forget to configure your PostgreSQL database for the program."
+}
+
+post_remove() {
+ echo "Removing tryton system user... "
+ userdel tryton && echo "trytond [done]"
+}
+
+op=$1
+shift
+[ "$(type -t "$op")" = "function" ] && $op "$@"
diff --git a/social/trytond/trytond.rc b/social/trytond/trytond.rc
new file mode 100644
index 000000000..a93172a58
--- /dev/null
+++ b/social/trytond/trytond.rc
@@ -0,0 +1,52 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/bin/python /usr/bin/trytond`
+case "$1" in
+ start)
+ stat_busy "Starting Tryton server"
+ # handling log file
+ if [ ! -e /var/log/trytond/trytond.log ]; then
+ mkdir -p /var/log/trytond
+ touch /var/log/trytond/trytond.log
+ chown -R trytond:trytond /var/log/trytond
+ fi
+ # starting the daemon
+ if [ -z "$PID" ]; then
+ su - trytond -s /bin/bash -c "/usr/bin/python2 /usr/bin/trytond \
+ --logfile=/var/log/trytond/trytond.log &> /dev/null &"
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon trytond
+ stat_done
+ fi
+ else
+ stat_fail
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Tryton server"
+ if [ ! -z "$PID" ]; then
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ kill $PID &> /dev/null &
+ rm_daemon trytond
+ stat_done
+ fi
+ else
+ stat_fail
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 3
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0