I've ported Apple Calendar and Contacts Server to MacPorts. See 
https://github.com/macports/macports-ports/pull/4978

This port is completely independent of Server.app, and uses an nginx reverse 
proxy for modern crypto and to isolate the backend server. I have it deployed 
and it’s working well.

If anyone has specific comments or suggestions about how ccs-calendarserver is 
implemented in MacPorts (https://github.com/macports/macports-ports/pull/4978), 
your feedback would be most welcome.

Specifically, these are known issues that could use some help:

1. ccs-calendarserver doesn’t have standard GNU-like DESTDIR or PREFIX 
capabilities for staged installs. See 
https://github.com/apple/ccs-calendarserver/issues/540, 
https://www.gnu.org/prep/standards/html_node/DESTDIR.html

In my own tests, running `./bin/package -F ${DESTDIR}` hard codes the build 
directory within all the virtualenv compiled Python code and object libraries, 
and therefore does not work. Even hacky workarounds like creating symbolic 
links to `DESTDIR` and building within the symlinks don't work.

This prevents the current MacPorts Portfile from being able to 
manage/delete/update all the files created with the ccs-calendarserver 
./bin/package install command.

2. All local accounts have access to calendarserver's password using

security find-generic-password -a calendarserver@${fullhost} -g

This is a hack to provide twistedcaldav authentication access. See: 
https://github.com/apple/ccs-calendarserver/blob/master/twistedcaldav/util.py. 
An alternate approach must be used if non-trusted local accounts exist on the 
Calendar and Contacts Server.

3. The exisiting Portfile implementation uses native macOS Python, not MacPorts 
Python. I haven’t been able to get ccs-calendarserver running with non-native 
Python, which is desirable/best-practice for a package-managed install.

4. The package ccs-calendarserver is written in Python 2.7, which will reach 
the end of its life on January 1st, 2020. A future version of pip will drop 
support for Python 2.7. It's not clear yet how macOS will handle Python 2.7 
after its EOL. See https://github.com/apple/ccs-calendarserver/issues/537

_______________________________________________
calendarserver-users mailing list
calendarserver-users@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/calendarserver-users

Reply via email to