I assume that you have only one application and you keep it separate from 
web2py:
$HOME/workspace/my-project/src  <-- your application folder
$HOME/workspace/my-project/web2py  <-- web2py folder

To upgrade web2py to a desired version you can run then the following 
script. It pulls the changes from the repository
and applies them to web2py folder. The it copies the global configuration 
files (which has been overwritten during update) from
the application src folder (yaml files are only needed for GAE apps). 
Finally, it creates symbolic link to your application from
within the web2py folder.

#!/bin/bash

TAG="R-1.99.7"

cd $HOME/workspace/my-project

# update files from repo
cd web2py
hg pull
hg update -C $TAG
cd ..

# copy config files
cp -p src/private/*.yaml web2py/.
cp -p src/private/routes.py web2py/.

# link to my application
if [ ! -d "web2py/applications/init" ]
then
    cd web2py/applications/
    ln -s ../../src init
fi

Notice that your application will be linked as init. If you have more than 
one application per web2py instance, adjust the script
to link all applications. Also, you will need mercurial installed to run 
the script (sudo apt-get install mercurial).

And one more thing, this is perfectly normal that you need to mange the 
changes carefully. So there is no need to be bitter.
BTW, there was an attempt by Jose to package web2py for Debian. It's pretty 
good but stays a bit behind the upstream:
http://packages.debian.org/sid/python-web2py

Reply via email to