From 5793fe6e26d1a6785e6a0a130cb3ba589da9ca23 Mon Sep 17 00:00:00 2001 From: René 'Necoro' Neumann Date: Tue, 9 Aug 2011 00:29:17 +0200 Subject: Radicale --- app-office/radicale/Manifest | 5 ++- app-office/radicale/files/logging | 60 +++++++++++++++++++++++++++++++++ app-office/radicale/files/radicale.fcgi | 36 ++++++++++++++++++++ app-office/radicale/files/radicale.wsgi | 26 ++++++++++++++ app-office/radicale/radicale-0.6.ebuild | 20 +++++++---- 5 files changed, 139 insertions(+), 8 deletions(-) create mode 100644 app-office/radicale/files/logging create mode 100755 app-office/radicale/files/radicale.fcgi create mode 100755 app-office/radicale/files/radicale.wsgi diff --git a/app-office/radicale/Manifest b/app-office/radicale/Manifest index 3a3df6c..aeea496 100644 --- a/app-office/radicale/Manifest +++ b/app-office/radicale/Manifest @@ -1,4 +1,7 @@ +AUX logging 1034 RMD160 a3edc69f3bd9b111e02903cc5f49169323933f68 SHA1 d9c2f56de2b0501741250da78ba1689ac1fbd3cc SHA256 095d292d26491c72e401c68586f6013ec822b04fa919439f401f715e6ba5fccf +AUX radicale.fcgi 1156 RMD160 01076450d014889d6dbcfa313a13c77c2701fdd1 SHA1 a124994eefc4e186cb8c22806f0718158c4c0cae SHA256 d11153602e9fef7ab72ec5526ded77e7ed027bb11837bd86dac19c01c11bce89 AUX radicale.init.d 550 RMD160 f1f6aa919952b744900c781b8d6cd9283bc44534 SHA1 3c2043b9f2680b14969bd7f3727e3df85c7f9c48 SHA256 1b28de6c1bc2c6119eb654622713fdd2c16d89105940c6b55d2bc081fbb2fd2c +AUX radicale.wsgi 888 RMD160 32965394ef97e3ee8ba958e6aaa62a8d62a69c9b SHA1 56cd1d79321735d5d2f5ec8ecc7404708d361d4c SHA256 cffe36a531d7f897e3822c059c4b0cb7fd8cd2cf0a659e4bddb39abed8101ca2 DIST Radicale-0.6.tar.gz 29903 RMD160 343637edab81ef7a4804020f16b28448081af084 SHA1 ffe51253cc6cf3bc9f28057b55e64dd95147fa30 SHA256 5798c80a842e023dcdf4829fa47f74d500dfa71264c193b24fd5397407efbf5c -EBUILD radicale-0.6.ebuild 988 RMD160 44d2760fb9a55adeb8dd4949dba0ecd1ac1a1afb SHA1 8ee9012f33abd4290be2198789a5c018c62c254c SHA256 c60c320254b68925936c12b52c578697d64a95ef45d8323adc05ff658516f079 +EBUILD radicale-0.6.ebuild 1218 RMD160 58275053382d822b5ac31275843de92a2075788c SHA1 8047b26b8bb051628f8850af702b44945a0ace7e SHA256 6111446123539ed4b7dfc253cf8160988b7c63c953e3f3c852456e31d4202f44 EBUILD radicale-9999.ebuild 792 RMD160 5239fd36cee932180729089609dcc94d1fed2653 SHA1 8988ea9bb90c439553e4fac74579c9cfd28a0fb3 SHA256 cad0db601c86dbe05299a558591cd23e885aa2b0faac700fee04fdae549f2d66 diff --git a/app-office/radicale/files/logging b/app-office/radicale/files/logging new file mode 100644 index 0000000..f4efb88 --- /dev/null +++ b/app-office/radicale/files/logging @@ -0,0 +1,60 @@ +# -*- mode: conf -*- +# vim:ft=cfg + +# Logging config file for Radicale - A simple calendar server +# +# The default path for this file is /etc/radicale/logging +# This can be changed in the configuration file +# +# Other handlers are available. For more information, see: +# http://docs.python.org/library/logging.config.html + + +# Loggers, handlers and formatters keys + +[loggers] +# Loggers names, main configuration slots +keys = root + +[handlers] +# Logging handlers, defining logging output methods +keys = console,file + +[formatters] +# Logging formatters +keys = simple,full + + +# Loggers + +[logger_root] +# Root logger +level = DEBUG +handlers = console,file + + +# Handlers + +[handler_console] +# Console handler +class = StreamHandler +level = INFO +args = (sys.stdout,) +formatter = simple + +[handler_file] +# File handler +class = FileHandler +args = ('/var/log/radicale',) +formatter = full + + +# Formatters + +[formatter_simple] +# Simple output format +format = %(message)s + +[formatter_full] +# Full output format +format = %(asctime)s - %(levelname)s: %(message)s diff --git a/app-office/radicale/files/radicale.fcgi b/app-office/radicale/files/radicale.fcgi new file mode 100755 index 0000000..42d8413 --- /dev/null +++ b/app-office/radicale/files/radicale.fcgi @@ -0,0 +1,36 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# This file is part of Radicale Server - Calendar Server +# Copyright © 2011 Guillaume Ayoub +# +# This library is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Radicale. If not, see . + +""" +Radicale FastCGI Example. + +Launch a Radicale FastCGI server according to configuration. + +""" + +from flup.server.fcgi import WSGIServer +import radicale + + +radicale.log.start(radicale.config.get("logging", "config")) +radicale.log.LOGGER.info("Starting Radicale FastCGI server") + +WSGIServer(radicale.Application()).run() + +radicale.log.LOGGER.info("Stopping Radicale FastCGI server") diff --git a/app-office/radicale/files/radicale.wsgi b/app-office/radicale/files/radicale.wsgi new file mode 100755 index 0000000..3f0d0dc --- /dev/null +++ b/app-office/radicale/files/radicale.wsgi @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# This file is part of Radicale Server - Calendar Server +# Copyright © 2011 Guillaume Ayoub +# +# This library is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Radicale. If not, see . + +""" +Radicale WSGI file (mod_wsgi and uWSGI compliant). + +""" + +import radicale +application = radicale.Application() diff --git a/app-office/radicale/radicale-0.6.ebuild b/app-office/radicale/radicale-0.6.ebuild index cb5ed97..5ad083c 100644 --- a/app-office/radicale/radicale-0.6.ebuild +++ b/app-office/radicale/radicale-0.6.ebuild @@ -3,7 +3,7 @@ # $Header: $ EAPI=2 -PYTHON_DEPEND="*:2.5" +PYTHON_DEPEND="*:2.6" SUPPORT_PYTHON_ABIS=1 inherit distutils @@ -17,11 +17,13 @@ SRC_URI="http://www.radicale.org/src/${PN}/${MY_P}.tar.gz" LICENSE="GPL-3" SLOT="0" KEYWORDS="~x86 ~amd64" -IUSE="ssl" +IUSE="ldap fastcgi ssl" # the '>=' goes ok, as radicale supports _all_ other python version # this includes all 3.* versions -DEPEND="ssl? ( >=dev-lang/python-2.6.6[ssl] )" +DEPEND="ssl? ( >=dev-lang/python-2.6.6[ssl] ) + ldap? ( dev-python/ldap ) + fastcgi? ( dev-python/flup )" RDEPEND="${DEPEND}" S=${WORKDIR}/${MY_P} @@ -34,15 +36,19 @@ src_install() { # config file insinto /etc/${PN} - doins config || die + doins config "${FILESDIR}"/logging || die - # fcgi file + # fcgi & wsgi file insinto /usr/share/${PN} - doins radicale.fcgi + doins "${FILESDIR}/radicale.wsgi" + use fastcgi && doins "${FILESDIR}/radicale.fcgi" } pkg_postinst() { einfo "Radicale now supports WSGI." - einfo "The fcgi-script to be used by the server has been put into + einfo "A sample wsgi-script has been put into ${ROOT}usr/share/${PN}." + if use fastcgi; then + einfo "There you will also find an example fcgi-script." + fi } -- cgit v1.2.3-54-g00ecf