[CalendarServer-users] Status on FreeBSD

jaco engelbrecht bje at serendipity.org.za
Fri Apr 13 11:50:36 PDT 2007


Hi,

On 13 Apr 2007, at 20:18, Eric D. Kjeldergaard wrote:

> Hello list.
>
> 	I'm trying to get CalendarServer working on freebsd as the sf.net  
> page says
> that it builds and runs here.  The sf.net page points towards the  
> bug tracker
> and I don't see any bugs listed there, but it needs coaxing to build
> pykerberos and pysqlite.  After getting it built, it fails to start  
> up.  I'm
> mostly wondering if anyone has it running on FreeBSD and could give  
> some tips
> before I sink a lot of time into trying to get it up and running.   
> No need to
> reinvent the wheel, I figure, but if the wheel isn't invented  
> yet...Anyhow,
> thanks for any help you can provide,

I've got it working on two FreeBSD 6.2-R boxes not so long ago.

Install the following ports:

/usr/ports/textproc/py-xml
/usr/ports/security/py-openssl
/usr/ports/devel/py-dateutil
/usr/ports/security/krb5
/usr/ports/databases/py-sqlite3/
/usr/ports/lang/python24/
/usr/ports/databases/py-pysqlite20/

The build will look for gssapi.h in /usr/include/gssapi.  Kerberos  
installs this to /usr/local/include/gssapi, so I just did a symlink.

# cd /usr/include
# ln -s /usr/local/include/gssapi .

Check out the trunk with SVN:

# cd /usr/ports/devel/subversion/
# make -DWITH_MOD_DAV_SVN install

(or ensure that svn --version tells you that you got the ra_dav  
module enabled).

# svn checkout http://svn.macosforge.org/repository/calendarserver/ 
CalendarServer/trunk CalendarServer
# cd CalendarServer
# ./run

Aha. This will probably fail. Change the path (first line) for bash  
from /bin/bash to /usr/local/bin/bash

Now try it again:

# ./run

This will download and build the other dependencies like pyOpenSSL,  
PyKerberos, vobject, xattr, etc.

# ./run

Will complain about a missing configuration file:

# cp  conf/caldavd-test.plist conf/caldavd-dev.plist

# ./run

Fails again, this time with something like: "bin/caldavd: 47: Syntax  
error: Bad substitution"

# vim ./bin/caldavd

Modify the try_python () function to look like:

==

try_python ()
{
   local python="$1"; shift

   if [ -z "${python}" ]; then return 1; fi;

   if ! type "${python}" > /dev/null 2>&1; then return 1; fi;
   local py_version="24";
   #local py_version="$(py_version "${python}")";
   if [ "24" -lt "24" ]; then return 1; fi;
   #if [ "${py_version/./}" -lt "24" ]; then return 1; fi;

   return 0;
}

==

Not neat at all, but it did the trick.  I hope you use Python 2.4  
(but as I mentioned it earlier, install it).

# ./run

It should start up now.

(Oh, by default it will start the server to listen on 127.0.0.1, to  
change it edit conf/caldavd-dev.plist and look for the BindAddress  
section and change it).

If you run into any problems, let me know and I'll try take a look.

Cheers,
Jaco

--
bje at serendipity.org.za
the faculty of making fortunate discoveries


More information about the calendarserver-users mailing list