Hi, I'm working (much slower than what I'd like because of Real World issues) in the packaging of web2py. Most of the work is done, excepting for a recurrent problem: permissions
Trying to fullfil the FHS ( http://wiki.debian.org/FilesystemHierarchyStandard ) , I've moved the gluon libraries to its python place (no problem at all, it works perfectly), prepared a web2py launcher in /usr/bin [1] , and move some things to /usr/share/web2py/ : applications deposit logs site-packages VERSION web2py.py welcome.w2p making a directory applications at any place at the computer directory, an user can execute "web2py" to launch it all. The application directory will be created by the web2py launcher, adding the folder option to the gluon.widget.start option. The application contains a symbolic link to /usr/share/web2py/applications/admin and another to /usr/share/web2py/application/welcome. But I'm fighting against permissions in the admin folder all the time. First for cron (I don't see why starting with cron=True needs to open the file with wb permissions, if not new cron is created), but this issue is solved using cron=False when launching the process. Next step is with permissions in the welcome application (appart of creating the databases, errors, sessions, private, uploads and cache directories). It's clear that this application database directory must be in the user homeland to be able to administrate the applications he adds or creates . So, I'm thinking of doing a complete copy (better rsync for future updates) of the welcome application directory to the directory where web2py is launched. Anyway, I don't like this approach as it's not very clean from my point of view, so I wonder if it would be possible to use a database directory for an application (I only need the welcome application, but maybe it makes sense for other cases) in a place different from application_name/databases. Also, maybe I should explain the rationale behind this directories movements: keeping the FHS design in linux, but giving to the user the possibility of creating where he wants (and has permissions) the structure of the applications. Also, when the debian package is updated (updating the /usr/share/web2py, gluon libraries and web2py launcher) , the user must be using the latest web2py version installed, not a previous one. If anyone has better ideas they're welcome, as well as any help in the modification of the web2py routes. I'd prefer not to patch any code in the original web2py sources, to follow totally the web2py development, but if I have to patch the welcome application I'll do it. Anyway I know I'll have to patch the admin application in order to remove the remote upgrade of web2py as this option is not allowed in Debian packages (it's removed from firefox or openoffice too). Regards José L. [1] /usr/bin/web2py script: #!/usr/bin/env python # -*- coding: utf-8 -*- import os import sys try: path = '/usr/share/web2py' os.chdir(path) except NameError: path = os.getcwd() # Seems necessary for py2exe try: sys.path.remove(path) except ValueError: pass sys.path.insert(0, path) # import gluon.import_all ##### This should be uncommented for py2exe.py import gluon.widget # Start Web2py and Web2py cron service! gluon.widget.start(cron=False)