New version of radicale has been released.
Changes are:
* Custom handlers for auth, storage and rights (by Sergey Fursov)
* 1-file-per-event storage (by Jean-Marc Martins)
* Git support for filesystem storages (by Jean-Marc Martins)
* DB storage working with PostgreSQL, MariaDB and SQLite (by Jean-Marc Martins)
* Clean rights manager based on regular expressions (by Sweil)
* Support of contacts for Apple's clients
* Support colors (by Jochen Sprickerhof)
* Decode URLs in XML (by Jean-Marc Martins)
* Fix PAM authentication (by Stepan Henek)
* Use consistent etags (by 9m66p93w)
* Use consistent sorting order (by dnnr)
* Return 401 on unauthorized DELETE requests (by Eduard Braun)
* Move pid file creation in child process (by Mathieu Dupuy)
* Allow requests without base_prefix (by jheidemann)
Updated port was tested on amd64, -current.
P.S. Replaced Sunbird in port description to Mozilla Lightning Calendar,
because Mozilla Sunbird was obsoleted some time ago.
>From my POV we don't need to advertise it.
Sergey B.
Index: productivity/radicale/Makefile
===================================================================
RCS file: /cvs/ports/productivity/radicale/Makefile,v
retrieving revision 1.22
diff -u -p -r1.22 Makefile
--- productivity/radicale/Makefile 10 Aug 2014 09:58:06 -0000 1.22
+++ productivity/radicale/Makefile 16 Nov 2014 15:11:32 -0000
@@ -2,8 +2,7 @@
COMMENT = simple CalDAV calendar server
-MODPY_EGG_VERSION = 0.8
-REVISION = 0
+MODPY_EGG_VERSION = 0.9
DISTNAME = Radicale-${MODPY_EGG_VERSION}
PKGNAME = ${DISTNAME:L}
CATEGORIES = productivity net
Index: productivity/radicale/distinfo
===================================================================
RCS file: /cvs/ports/productivity/radicale/distinfo,v
retrieving revision 1.9
diff -u -p -r1.9 distinfo
--- productivity/radicale/distinfo 21 Oct 2013 09:47:19 -0000 1.9
+++ productivity/radicale/distinfo 16 Nov 2014 15:11:32 -0000
@@ -1,2 +1,2 @@
-SHA256 (Radicale-0.8.tar.gz) = 6MDfUjnCLyaHoJ7KfVPDGHBmSK/3K2IISe0/dUC8GUE=
-SIZE (Radicale-0.8.tar.gz) = 39813
+SHA256 (Radicale-0.9.tar.gz) = d7+BP9JvDTWcGnt7zOm4QrRQPFUWmJpKCk9kjimeQfc=
+SIZE (Radicale-0.9.tar.gz) = 42100
Index: productivity/radicale/patches/patch-config
===================================================================
RCS file: /cvs/ports/productivity/radicale/patches/patch-config,v
retrieving revision 1.7
diff -u -p -r1.7 patch-config
--- productivity/radicale/patches/patch-config 26 Mar 2014 10:17:02 -0000
1.7
+++ productivity/radicale/patches/patch-config 16 Nov 2014 15:11:32 -0000
@@ -1,7 +1,7 @@
$OpenBSD: patch-config,v 1.7 2014/03/26 10:17:02 sthen Exp $
---- config.orig Fri Jun 28 15:37:37 2013
-+++ config Tue Mar 25 15:04:31 2014
-@@ -22,9 +22,9 @@ pid =
+--- config.orig Wed Aug 6 13:29:21 2014
++++ config Sun Nov 16 18:55:14 2014
+@@ -23,9 +23,9 @@ pid =
# SSL flag, enable HTTPS protocol
ssl = False
# SSL certificate path
@@ -10,11 +10,11 @@ $OpenBSD: patch-config,v 1.7 2014/03/26
# SSL private key
-key = /etc/apache2/ssl/server.key
+key = ${SYSCONFDIR}/radicale/private/server.key
- # Reverse DNS to resolve client address in logs
- dns_lookup = True
- # Root URL of Radicale (starting and ending with a slash)
-@@ -51,10 +51,10 @@ public_users = public
- private_users = private
+ # SSL Protocol used. See python's ssl module for available values
+ protocol = PROTOCOL_SSLv23
+ # Ciphers available. See python's ssl module for available ciphers
+@@ -56,10 +56,10 @@ type = None
+ custom_handler =
# Htpasswd filename
-htpasswd_filename = /etc/radicale/users
@@ -27,8 +27,8 @@ $OpenBSD: patch-config,v 1.7 2014/03/26
# LDAP server URL, with protocol and port
ldap_url = ldap://localhost:389/
-@@ -100,7 +100,7 @@ http_password_parameter =
- type = None
+@@ -113,7 +113,7 @@ type = None
+ custom_handler =
# File for rights management from_file
-file = ~/.config/radicale/rights
@@ -36,8 +36,8 @@ $OpenBSD: patch-config,v 1.7 2014/03/26
[storage]
-@@ -109,7 +109,7 @@ file = ~/.config/radicale/rights
- type = filesystem
+@@ -125,7 +125,7 @@ type = filesystem
+ custom_handler =
# Folder for storing local collections, created if not present
-filesystem_folder = ~/.config/radicale/collections
@@ -45,7 +45,7 @@ $OpenBSD: patch-config,v 1.7 2014/03/26
# Database URL for SQLAlchemy
# dialect+driver://user:password@host/dbname[?key=value..]
-@@ -123,7 +123,7 @@ database_url =
+@@ -139,7 +139,7 @@ database_url =
# If no config is given, simple information is printed on the standard output
# For more information about the syntax of the configuration file, see:
# http://docs.python.org/library/logging.config.html
Index: productivity/radicale/patches/patch-radicale_auth_htpasswd_py
===================================================================
RCS file:
/cvs/ports/productivity/radicale/patches/patch-radicale_auth_htpasswd_py,v
retrieving revision 1.1
diff -u -p -r1.1 patch-radicale_auth_htpasswd_py
--- productivity/radicale/patches/patch-radicale_auth_htpasswd_py 26 Mar
2014 10:17:02 -0000 1.1
+++ productivity/radicale/patches/patch-radicale_auth_htpasswd_py 16 Nov
2014 15:11:32 -0000
@@ -3,17 +3,17 @@ $OpenBSD: patch-radicale_auth_htpasswd_p
bcrypt support, based on
http://evilshit.wordpress.com/2013/11/19/how-to-install-a-caldav-and-carddav-server-using-radicale/#bcrypt
---- radicale/auth/htpasswd.py.orig Fri May 17 00:27:26 2013
-+++ radicale/auth/htpasswd.py Tue Mar 25 14:44:21 2014
-@@ -29,6 +29,7 @@ supported, but md5 is not (see ``htpasswd`` man page t
-
+--- radicale/auth/htpasswd.py.orig Sun Aug 3 17:51:47 2014
++++ radicale/auth/htpasswd.py Sun Nov 16 19:01:49 2014
+@@ -30,6 +30,7 @@ supported, but md5 is not (see ``htpasswd`` man page t
import base64
import hashlib
+ import os
+import bcrypt
from .. import config
-@@ -58,11 +59,21 @@ def _sha1(hash_value, password):
+@@ -59,11 +60,21 @@ def _sha1(hash_value, password):
return sha1.digest() == base64.b64decode(hash_value)
Index: productivity/radicale/patches/patch-radicale_config_py
===================================================================
RCS file: /cvs/ports/productivity/radicale/patches/patch-radicale_config_py,v
retrieving revision 1.7
diff -u -p -r1.7 patch-radicale_config_py
--- productivity/radicale/patches/patch-radicale_config_py 21 Oct 2013
09:47:19 -0000 1.7
+++ productivity/radicale/patches/patch-radicale_config_py 16 Nov 2014
15:11:32 -0000
@@ -1,6 +1,6 @@
$OpenBSD: patch-radicale_config_py,v 1.7 2013/10/21 09:47:19 jung Exp $
---- radicale/config.py.orig Fri Jun 28 16:35:07 2013
-+++ radicale/config.py Sun Oct 20 14:46:24 2013
+--- radicale/config.py.orig Wed Aug 6 13:23:29 2014
++++ radicale/config.py Sun Nov 16 18:58:10 2014
@@ -43,8 +43,8 @@ INITIAL_CONFIG = {
"daemon": "False",
"pid": "",
@@ -9,22 +9,22 @@ $OpenBSD: patch-radicale_config_py,v 1.7
- "key": "/etc/apache2/ssl/server.key",
+ "certificate": "${SYSCONFDIR}/radicale/server.crt",
+ "key": "${SYSCONFDIR}/radicale/private/server.key",
+ "protocol": "PROTOCOL_SSLv23",
+ "ciphers": "",
"dns_lookup": "True",
- "base_prefix": "/",
- "realm": "Radicale - Password Required"},
-@@ -55,7 +55,7 @@ INITIAL_CONFIG = {
+@@ -57,7 +57,7 @@ INITIAL_CONFIG = {
+ "auth": {
"type": "None",
- "public_users": "public",
- "private_users": "private",
+ "custom_handler": "",
- "htpasswd_filename": "/etc/radicale/users",
+ "htpasswd_filename": "${SYSCONFDIR}/radicale/users",
"htpasswd_encryption": "crypt",
"imap_hostname": "localhost",
"imap_port": "143",
-@@ -77,11 +77,10 @@ INITIAL_CONFIG = {
- "file": ""},
+@@ -83,11 +83,10 @@ INITIAL_CONFIG = {
"storage": {
"type": "filesystem",
+ "custom_handler": "",
- "filesystem_folder": os.path.expanduser(
- "~/.config/radicale/collections"),
+ "filesystem_folder": "/var/db/radicale/calendars",
@@ -35,7 +35,7 @@ $OpenBSD: patch-radicale_config_py,v 1.7
"debug": "False",
"full_environment": "False"}}
-@@ -93,7 +92,7 @@ for section, values in INITIAL_CONFIG.items():
+@@ -99,7 +98,7 @@ for section, values in INITIAL_CONFIG.items():
for key, value in values.items():
_CONFIG_PARSER.set(section, key, value)
Index: productivity/radicale/pkg/DESCR
===================================================================
RCS file: /cvs/ports/productivity/radicale/pkg/DESCR,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 DESCR
--- productivity/radicale/pkg/DESCR 15 Apr 2011 15:47:17 -0000 1.1.1.1
+++ productivity/radicale/pkg/DESCR 16 Nov 2014 15:11:32 -0000
@@ -1,7 +1,8 @@
The Radicale Project is a complete CalDAV calendar server solution,
capable of making multiple calendars available to local and remote
users, with optional authentication policies. Calendars can be
-viewed and edited by a calendar client such as Sunbird or Evolution.
+viewed and edited by a calendar client such as
+Mozilla Lightning Calendar or Evolution.
The Radicale Project aims to be a light solution, easy to use, easy
to install, easy to configure. As a consequence, it requires few
Index: productivity/radicale/pkg/PLIST
===================================================================
RCS file: /cvs/ports/productivity/radicale/pkg/PLIST,v
retrieving revision 1.8
diff -u -p -r1.8 PLIST
--- productivity/radicale/pkg/PLIST 21 Oct 2013 09:47:19 -0000 1.8
+++ productivity/radicale/pkg/PLIST 16 Nov 2014 15:11:32 -0000
@@ -23,6 +23,8 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/radicale/auth/htpasswd.pyc
lib/python${MODPY_VERSION}/site-packages/radicale/auth/http.py
lib/python${MODPY_VERSION}/site-packages/radicale/auth/http.pyc
+lib/python${MODPY_VERSION}/site-packages/radicale/auth/remote_user.py
+lib/python${MODPY_VERSION}/site-packages/radicale/auth/remote_user.pyc
lib/python${MODPY_VERSION}/site-packages/radicale/config.py
lib/python${MODPY_VERSION}/site-packages/radicale/config.pyc
lib/python${MODPY_VERSION}/site-packages/radicale/ical.py
@@ -32,12 +34,8 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/radicale/rights/
lib/python${MODPY_VERSION}/site-packages/radicale/rights/__init__.py
lib/python${MODPY_VERSION}/site-packages/radicale/rights/__init__.pyc
-lib/python${MODPY_VERSION}/site-packages/radicale/rights/from_file.py
-lib/python${MODPY_VERSION}/site-packages/radicale/rights/from_file.pyc
-lib/python${MODPY_VERSION}/site-packages/radicale/rights/owner_only.py
-lib/python${MODPY_VERSION}/site-packages/radicale/rights/owner_only.pyc
-lib/python${MODPY_VERSION}/site-packages/radicale/rights/owner_write.py
-lib/python${MODPY_VERSION}/site-packages/radicale/rights/owner_write.pyc
+lib/python${MODPY_VERSION}/site-packages/radicale/rights/regex.py
+lib/python${MODPY_VERSION}/site-packages/radicale/rights/regex.pyc
lib/python${MODPY_VERSION}/site-packages/radicale/storage/
lib/python${MODPY_VERSION}/site-packages/radicale/storage/__init__.py
lib/python${MODPY_VERSION}/site-packages/radicale/storage/__init__.pyc
@@ -45,6 +43,8 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/radicale/storage/database.pyc
lib/python${MODPY_VERSION}/site-packages/radicale/storage/filesystem.py
lib/python${MODPY_VERSION}/site-packages/radicale/storage/filesystem.pyc
+lib/python${MODPY_VERSION}/site-packages/radicale/storage/multifilesystem.py
+lib/python${MODPY_VERSION}/site-packages/radicale/storage/multifilesystem.pyc
lib/python${MODPY_VERSION}/site-packages/radicale/xmlutils.py
lib/python${MODPY_VERSION}/site-packages/radicale/xmlutils.pyc
share/doc/pkg-readmes/${FULLPKGNAME}