[Calypso] The patches from chrysn, rebased to latest master

Petter Reinholdtsen pere at hungry.com
Wed Jan 27 03:01:10 PST 2016

Hi.  To make it easier to see what should be merged back from the
chrysn/integration branch, I created a github repo with the rebased
patches.  I split them in two, one branch for the changes done to
calypso-init (chrysn/integration-sysvinit), and one branch with all the
other changes (chrysn/integration-rebased).  You find the both on 
<URL: https://github.com/petterreinholdtsen/calypso > initially forked
from agx/calypso on github, which seem to match the alioth repo.

chrysn/integration-sysvinit contain these commits:
  fbc8109 Listen on localhost only by default
  e454585 Run calypso as user calypso
  5f9bd69 Use daemon mode

These changes were included in my proposed patch for calypso-init, so I
moved away from the set of patches to focus on next.
chrysn/integration-rebased contain these commits:

  633762a handle addressbook-multiget like calendar-multiget
  9495213 implement rfc6764 /.well-known/{card,cal}dav addresses
  4784ad8 if-none-match is required for creating events with caldavzap
  a7519c3 Accept keyword arguments in crypto.acl.fake.
  0445f8f fix formatting of commit messages
  e876f25 disable permission checks for OPTIONS
  06c4a74 log additional user-agent information
  f3435da add custom headers via config file
  8a21b16 rescan metadata before serving collections
  96575aa delegate the permission decision to the resource
  f9d4ff7 allow resources to decide for themselves if they want to be personal
  35edc43 check rights not on owners but on entities
  d57eec1 add per-collection configuration
  b2209d8 drop parentcollectionhack
  bb84174 more explicit displayname
  6432478 enumeration of resources for discovery in home sets
  b7c2f36 pull the "current (principal) resource" out to the same level as "current collection"
  7a90d3d distinguish between calendars and address books
  47bb22f implement principal resources
  0e39b95 support the address-data report entry
  2cc8eb9 fix description in absence of .git/description, Collection.urlpath
  da5e843 Allow to override calypso's config dir

The diff between the master on alioth and this brach is 790 lines and
have this diffstat:

 README                      |   12 ++++-
 calypso/__init__.py         |   78 ++++++++++++++++++++++++++++++------
 calypso/acl/__init__.py     |   16 +++++++
 calypso/acl/fake.py         |    2 
 calypso/acl/htpasswd.py     |    7 +--
 calypso/acl/pam.py          |    7 +--
 calypso/config.py           |    9 +++-
 calypso/paths.py            |   18 ++++++++
 calypso/principal.py        |   86 ++++++++++++++++++++++++++++++++++++++++
 calypso/webdav.py           |   93 ++++++++++++++++++++++++++++++++++++--------
 calypso/xmlutils.py         |   55 +++++++++++++-------------
 calypso/xmlutils_generic.py |   11 +++++
 collection-config           |   28 +++++++++++++
 config                      |   11 +++++

What is the best way to merge these changes?  I suspect some of the
patches should be grouped and pushed together.  And it would be great to
have tests demonstrating what is fixed, but I have no idea how to do

Personally, I suspect it is best to merge the entire set, as it is used
by several people already and seem to be a good set of features to have
in calypso, and then move on from there with adding tests and improving
calypso further.

Happy hacking
Petter Reinholdtsen

More information about the Calypso mailing list