openSUSE 11.2 DAViCal Upgrade

In my earlier tutorial, http://www.badzilla.co.uk/openSUSE-11-2-DAViCal-Installation, I demonstrated how to get a DAViCal server working on my openSUSE laptop. I used the most up-to-date version at the time, version 0.9.8.4, which regrettably had a broken public.php resulting in the diagnostic

Fatal error: Call to undefined function qpg() in /home/f27badz/public_html/caldav/inc/CalDAVRequest.php on line 272

Since I wanted to make some sports fixtures publicly accessible, I had to wait for a fix which came along with version 0.9.9. This tutorial details the upgrade path from 0.9.8.4 to 0.9.9.

Firstly, download the tarball from http://debian.mcmillan.net.nz/packages/davical/ - as I previously mentioned, I downloaded davical-0.9.9.tar.gz. Uncompress the tarball into the /tmp directory.

badzilla@laptop4:/tmp> ls davical*                           
davical-0.9.8.4.tar.gz  davical-0.9.9.tar.gz  davical.out  davical.out~  davical.out.saved

davical:
awl  ChangeLog  config  COPYING  CREDITS  dba  debian  docs  htdocs  inc  INSTALL  Makefile  po  README  scripts  testing  TODO  VERSION

davical-0.9.8.4:
ChangeLog  config  COPYING  CREDITS  dba  debian  docs  htdocs  inc  INSTALL  Makefile  po  README  scripts  testing  TODO  VERSION
badzilla@laptop4:/tmp> tar xvfz davical-0.9.9.tar.gz
davical-0.9.9/                                  
davical-0.9.9/COPYING                           
davical-0.9.9/CREDITS                           
--snip--
badzilla@laptop4:/tmp>

Before we copy the files to the live area on the filesystem, we need to save our configuration. Looking back to my original installation, I used the default example-config.php file as my configuration, so I don't have to do anything with that. I will simply use the new example-config.php copied over to config.php. So, copy the installation files to the live area and create the configuration file.
badzilla@laptop4:/tmp/davical-0.9.9> cp -R * /srv/www/htdocs/davical
badzilla@laptop4:/tmp/davical-0.9.9> cd /srv/www/htdocs/davical/config
badzilla@laptop4:/srv/www/htdocs/davical/config> cp example-config.php config.php
badzilla@laptop4:/srv/www/htdocs/davical/config>

The upgrade requires the running of the update-davical-database script to apply various changes from the different versions.
badzilla@laptop4:/srv/www/htdocs/davical/config> cd ../dba
badzilla@laptop4:/srv/www/htdocs/davical/dba> ./update-davical-database
The database is version 8.4 currently at revision 1.2.7.
Applying patch 1.2.8.sql ... succeeded.
Successfully applied 1 patches.
Supported locales updated.
Updated view: dav_principal.sql applied.
CalDAV functions updated.
RRULE functions updated.
Database permissions updated.
badzilla@laptop4:/srv/www/htdocs/davical/dba>

Next we have to upgrade the accompanying awl package as well. This should be downloaded from http://debian.mcmillan.net.nz/packages/awl/. The latest version for me was awl-0.43.tar.gz which I downloaded into my /tmp directory. This needs to be expanded with:
badzilla@laptop4:/tmp> tar xvzf awl-0.43.tar.gz
awl-0.43/                                  
awl-0.43/COPYING                           
awl-0.43/ChangeLog                         
awl-0.43/Makefile                          
--snip--
badzilla@laptop4:/tmp>

Next copy the files to the live area on your filesystem.
badzilla@laptop4:/tmp> cd awl-0.43
badzilla@laptop4:/tmp/awl-0.43> cp -R * /srv/www/htdocs/davical/awl/.
badzilla@laptop4:/tmp/awl-0.43>

and that completes the upgrade! Painless! You can check your own configuration by pointing a web browser to http://localhost/davical/htdocs/index.php and you should see the admin screen displayed in my earlier tutorial.