iCalendar release instructions: =============================== Reqirements: ------------ * EasyInstall Egg support for setuptools: http://peak.telecommunity.com/DevCenter/EasyInstall#installing-easy-install * docutils 0.4: easy_install docutils How to make a release: ---------------------- 0. Update version.txt. 1. First update the CHANGES.txt, so that the top line states the version you intend to release and todays date. Like so: iCalendar 1.2 (2007-04-01) Test that the CHANGES.txt is fine by generating and HTML file and checking it out in a browser: rst2html.py --stylesheet=http://codespeak.net/icalendar/style.css --link-stylesheet CHANGES.txt > /tmp/changes.html firefox /tmp/changes.html 2. Update the README.txt by adding new lines for the new versions when it comes to change-files and tar files. Test that the README.txt is fine by generating and HTML file and checking it out in a browser: rst2html.py --stylesheet=http://codespeak.net/icalendar/style.css --link-stylesheet README.txt > /tmp/index.html firefox /tmp/index.html Also check that contributors.txt and install.txt are all OK, but usually you shouldn't need to change them. 3. Commit everything. 4. Copy trunk to the new version: svn cp http://codespeak.net/svn/iCalendar/trunk http://codespeak.net/svn/iCalendar/tag/iCalendar-1.2 5. Update the website (see below). 6. Generate the egg and upload it to CheezeShop (if you can. Maybe you have to be me (regebro) to upload the files. I don't know. python setup.py register python setup.py bdist_egg + manual upload of egg and tgz (see below of how to make the tgz) 7. Copy the contents of the changes file to the history file, and commit that. How to update the iCalendar website after a release: ---------------------------------------------------- 1. Export the new version of iCalendar somewhere: cd /tmp svn export http://codespeak.net/svn/iCalendar/tag/iCalendar-1.2 2. Make a tar: tar cvfz iCalendar-1.2.tgz iCalendar-1.2 3. Generate the website with the publish.py script. Ex: python publish.py /tmp/icalendarweb /tmp/iCalendar-1.2 1.2 4. Copy the tar into the newly generated directory: cp /tmp/iCalendar-1.2.tgz /tmp/icalendarweb 5. Sync it over to the codespeak server: rsync -e ssh -Prvz /tmp/icalendarweb/* yourusername@codespeak.net:/www/codespeak.net/htdocs/icalendar How to regenerate the iCalendar website from scratch: ----------------------------------------------------- 1. Export ALL the versions of icalendar (or at least the ones you plan to have a tgz of on the site): cd /tmp svn export http://codespeak.net/svn/iCalendar/tag/ 2. Make a tar for each release: cd /tmp/tag tgz cvfz iCalendar-0.10.tgz iCalendar-0.10 tgz cvfz iCalendar-0.11.tgz iCalendar-0.11 ...and so on. 3. Generate the website with the publish.py script, once for every version, starting with the lowest one: python publish.py /tmp/icalendarweb /tmp/iCalendar-0.10 0.10 python publish.py /tmp/icalendarweb /tmp/iCalendar-0.11 0.11 ...and do up until the last release. 4. Copy the tar files into the newly generated directory: cp /tmp/tag/*.tgz /tmp/icalendarweb 5. Sync it over to the codespeak server: rsync -e ssh -Prvz /tmp/icalendarweb/* yourusername@codespeak.net:/www/codespeak.net/htdocs/icalendar