Edgewall Software
Modify

Opened 13 years ago

Closed 13 years ago

#10355 closed defect (worksforme)

deploy_trac.wsgi contains syntax errors

Reported by: bldewolf@… Owned by:
Priority: normal Milestone:
Component: general Version: 0.12.2
Severity: normal Keywords:
Cc: Branch:
Release Notes:
API Changes:
Internal Changes:

Description

After upgrading Trac to 0.12.2, the new deploy_trac.wsgi file has syntax errors and cannot be executed by the web server. Applying these changes allows it to work:

--- /tmp/deploy_trac.wsgi       2011-09-15 15:44:55.000000000 -0700
+++ /usr/lib64/python2.6/site-packages/trac/admin/templates/deploy_trac.wsgi    2011-07-19 19:23:21.000000000 -0700
@@ -18,14 +18,14 @@

 def application(environ, start_request):
     if not 'trac.env_parent_dir' in environ:
-        environ.setdefault('trac.env_path', ${repr(env.path)})
+        environ.setdefault('trac.env_path', '${repr(env.path)}')
     if 'PYTHON_EGG_CACHE' in environ:
         os.environ['PYTHON_EGG_CACHE'] = environ['PYTHON_EGG_CACHE']
     elif 'trac.env_path' in environ:
-        os.environ['PYTHON_EGG_CACHE'] = \\
+        os.environ['PYTHON_EGG_CACHE'] = \
             os.path.join(environ['trac.env_path'], '.egg-cache')
     elif 'trac.env_parent_dir' in environ:
-        os.environ['PYTHON_EGG_CACHE'] = \\
+        os.environ['PYTHON_EGG_CACHE'] = \
             os.path.join(environ['trac.env_parent_dir'], '.egg-cache')
     from trac.web.main import dispatch_request
     return dispatch_request(environ, start_request)

However, given the changes here, it makes me suspect the script expects to be interpolated when it is not (the shebang line is "#!${executable}", which is where this suspicion came from). With this in mind, this is probably not the proper fix but a symptom of some other issue and it just happens to work in its current state.

For completeness, this was built in gentoo, package www-apps/trac-0.12.2. However, building it from the package without any gentoo special sauce yields the same broken deploy_trac.wsgi.

Attachments (0)

Change History (1)

comment:1 by Remy Blank, 13 years ago

Resolution: worksforme
Status: newclosed

The deploy_trac.* scripts are indeed intended to be passed through Genshi, which is done when you execute trac-admin $ENV deploy (see TracAdmin). I have just checked that the interpolation works correctly on 0.12-stable.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The ticket will remain with no owner.
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from (none) to the specified user.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.