Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Aug 2016 11:04:36 +0000 (UTC)
From:      Alexander Nedotsukov <bland@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r420457 - in head/www/calendarserver: . files
Message-ID:  <201608191104.u7JB4a7V074104@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bland
Date: Fri Aug 19 11:04:36 2016
New Revision: 420457
URL: https://svnweb.freebsd.org/changeset/ports/420457

Log:
  Add some tweaks and fixes
  
  - Use plist facility to create run and db directories.
  - Prevent caldavd.plist installation outide of hier tree.
  - Change run directory to /var/run/caldavd (to address permission issues to directory proxy socket etc).
  - Make caldavd_pidfile variable to work.
  
  With a great assistance form Axel Rau (maintainer)
  
  Approved by: maintainer

Added:
  head/www/calendarserver/files/patch-setup.py   (contents, props changed)
Modified:
  head/www/calendarserver/Makefile
  head/www/calendarserver/files/caldavd.in
  head/www/calendarserver/pkg-plist

Modified: head/www/calendarserver/Makefile
==============================================================================
--- head/www/calendarserver/Makefile	Fri Aug 19 10:47:04 2016	(r420456)
+++ head/www/calendarserver/Makefile	Fri Aug 19 11:04:36 2016	(r420457)
@@ -2,6 +2,7 @@
 
 PORTNAME=	calendarserver
 PORTVERSION=	8.0
+PORTREVISION=	1
 CATEGORIES=	www python
 MASTER_SITES=	http://www.lechner-rau.de/downloads/
 PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
@@ -45,10 +46,16 @@ SVN_REPOSITORY_URL=	http://svn.calendars
 SVN_TAG1=	CalendarServer/tags/release/${DISTNAME}
 SVN_CMD1=	svn export
 
-LOGDIR=		/var/log/caldavd
-SHAREDIR=	${PREFIX}/share/caldavd
-
 ETCDIR=		${PREFIX}/etc/caldavd
+SHAREDIR=	${PREFIX}/share/caldavd
+DBDIR=		/var/db/caldavd
+LOGDIR=		/var/log/caldavd
+RUNDIR=		/var/run/caldavd
+PLIST_SUB=	USER=${USERS} GROUP=${GROUPS} \
+		ETCDIR=${ETCDIR} \
+		DBDIR=${DBDIR} \
+		LOGDIR=${LOGDIR} \
+		RUNDIR=${RUNDIR}
 
 CALDAVD_USER=	caldavd
 USERS=		${CALDAVD_USER}
@@ -69,9 +76,13 @@ maint-gen-distfile:
 post-patch:
 	@${REINPLACE_CMD} -e 's|"{}.a1+unknown".format(base_version)|"8.0"|' ${WRKSRC}/setup.py
 	@${REINPLACE_CMD} -e 's|"/etc/caldavd/caldavd.plist"|"${ETCDIR}/caldavd.plist"|g' ${WRKSRC}/twistedcaldav/stdconfig.py
+	@${REINPLACE_CMD} -e 's|/etc/caldavd|${ETCDIR}|g' ${WRKSRC}/conf/caldavd.plist
+	@${REINPLACE_CMD} -e 's|/var/run|/var/run/caldavd|g' ${WRKSRC}/conf/caldavd.plist
 
 post-install:
-	@${MKDIR} ${STAGEDIR}${ETCDIR}/auth
+	${MKDIR} ${STAGEDIR}${DBDIR}/Data/Documents
+	${MKDIR} ${STAGEDIR}${DBDIR}/Documents
+	${MKDIR} ${STAGEDIR}${ETCDIR}/auth
 	${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
 	(cd ${WRKSRC}/conf && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR})
 	(cd ${WRKSRC}/doc && \
@@ -83,5 +94,7 @@ post-install:
 	${CP} -p ${WRKSRC}/txdav/common/datastore/sql_schema/current.sql \
 		${STAGEDIR}${DOCSDIR}
 	${INSTALL_MAN} ${WRKSRC}/doc/*.8 ${STAGEDIR}${PREFIX}/man/man8
+	${MKDIR} ${STAGEDIR}${LOGDIR}
+	${MKDIR} ${STAGEDIR}${RUNDIR}
 
 .include <bsd.port.mk>

Modified: head/www/calendarserver/files/caldavd.in
==============================================================================
--- head/www/calendarserver/files/caldavd.in	Fri Aug 19 10:47:04 2016	(r420456)
+++ head/www/calendarserver/files/caldavd.in	Fri Aug 19 11:04:36 2016	(r420457)
@@ -14,7 +14,7 @@
 # caldavd_flags (string):          Flags to pass to caldavd.
 #                                Default is empty.
 # caldavd_pidfile (string):        Set path to the pid file.
-#                                Default is /var/db/caldavd/caldavd.pid
+#                                Default is /var/run/caldavd/caldavd.pid
 #
 
 . /etc/rc.subr
@@ -25,9 +25,9 @@ rcvar=caldavd_enable
 load_rc_config $name
 : ${caldavd_enable:=no}
 : ${caldavd_conf="%%PREFIX%%/etc/caldavd/caldavd.plist"}
-: ${caldavd_pidfile="/var/run/${name}.pid"}
+: ${caldavd_pidfile="/var/run/caldavd/${name}.pid"}
 
-pidfile="/var/db/${name}/${name}.pid"
+pidfile="${caldavd_pidfile}"
 required_files="${caldavd_conf}"
 
 procname="%%PYTHON_CMD%%"
@@ -36,6 +36,4 @@ PATH=${PATH}:%%PREFIX%%/bin
 command="%%PREFIX%%/bin/caldavd"
 command_args=" -f ${caldavd_conf} -R kqueue"
 
-start_precmd="install -d -o caldavd /var/db/caldavd/Data/Documents /var/db/caldavd/Documents && install -d /var/log/caldavd"
-
 run_rc_command "$1"

Added: head/www/calendarserver/files/patch-setup.py
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/calendarserver/files/patch-setup.py	Fri Aug 19 11:04:36 2016	(r420457)
@@ -0,0 +1,12 @@
+--- setup.py.orig	2016-01-07 15:18:44 UTC
++++ setup.py
+@@ -429,9 +429,6 @@ def doSetup():
+         scripts=[
+             "bin/caldavd",
+         ],
+-        data_files=[
+-            ("caldavd", ["conf/caldavd.plist"]),
+-        ],
+         ext_modules=extensions,
+         py_modules=[],
+         setup_requires=setup_requirements,

Modified: head/www/calendarserver/pkg-plist
==============================================================================
--- head/www/calendarserver/pkg-plist	Fri Aug 19 10:47:04 2016	(r420456)
+++ head/www/calendarserver/pkg-plist	Fri Aug 19 11:04:36 2016	(r420457)
@@ -130,4 +130,10 @@ man/man8/calendarserver_shell.8.gz
 %%PORTEXAMPLES%%%%EXAMPLESDIR%%/resources/users-groups.xml
 %%PORTEXAMPLES%%%%EXAMPLESDIR%%/test/accounts.xml
 %%PORTEXAMPLES%%%%EXAMPLESDIR%%/test-db.zones
-@dir etc/caldavd/auth
+@dir %%ETCDIR%%/auth
+@dir(%%USER%%,%%GROUP%%,755) %%RUNDIR%%
+@dir %%LOGDIR%%
+@dir(%%USER%%,%%GROUP%%,755) %%DBDIR%%
+@dir(%%USER%%,%%GROUP%%,755) %%DBDIR%%/Documents
+@dir(%%USER%%,%%GROUP%%,755) %%DBDIR%%/Data
+@dir(%%USER%%,%%GROUP%%,755) %%DBDIR%%/Data/Documents



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201608191104.u7JB4a7V074104>