[Python-modules-team] Bug#574640: Freshly bootstrapped applications do not work (nor do my older ones)

Enrico Zini enrico at debian.org
Fri Mar 19 16:44:54 UTC 2010


Package: python-turbogears2
Version: 2.0.3-1
Severity: serious

Hello,

thank you for maintaining TurboGears2.

For some reason, it now refuses to work. I quickstart a project, run it,
and I always get 404s:

 $ curl localhost:8080
 <html>
  <head>
   <title>404 Not Found</title>
  </head>
  <body>
   <h1>404 Not Found</h1>
   The resource could not be found.<br /><br />
 
 
 
  </body>
 
Here is the full quickstart, setup-app and serve log:

$ paster quickstart crap
Enter package name [crap]: 
Do you need authentication and authorization in this project? [yes] 
Selected and implied templates:
  tg.devtools#turbogears2  TurboGears 2.0 Standard Quickstart Template

Variables:
  auth:        sqlalchemy
  egg:         crap
  geo:         None
  package:     crap
  project:     crap
  sqlalchemy:  True
  sqlobject:   False
  tgversion:   2.0.3
Creating template turbogears2
Creating directory ./crap
  Recursing into +package+
    Creating ./crap/crap/
    Copying __init__.py to ./crap/crap/__init__.py
Replace 0 bytes with 47 bytes (0/0 lines changed; 2 lines added)
    Copying __init__.py_tmpl to ./crap/crap/__init__.py
    Recursing into config
      Creating ./crap/crap/config/
      Copying __init__.py_tmpl to ./crap/crap/config/__init__.py
      Copying app_cfg.py_tmpl to ./crap/crap/config/app_cfg.py
      Copying deployment.ini_tmpl_tmpl to ./crap/crap/config/deployment.ini_tmpl
      Copying environment.py_tmpl to ./crap/crap/config/environment.py
      Copying middleware.py_tmpl to ./crap/crap/config/middleware.py
    Recursing into controllers
      Creating ./crap/crap/controllers/
      Copying __init__.py_tmpl to ./crap/crap/controllers/__init__.py
      Copying controller.template_tmpl to ./crap/crap/controllers/controller.template
      Copying error.py_tmpl to ./crap/crap/controllers/error.py
      Copying root.py_tmpl to ./crap/crap/controllers/root.py
      Copying secure.py_tmpl to ./crap/crap/controllers/secure.py
      Copying template.py_tmpl to ./crap/crap/controllers/template.py
    Recursing into i18n
      Creating ./crap/crap/i18n/
      Recursing into ru
        Creating ./crap/crap/i18n/ru/
        Recursing into LC_MESSAGES
          Creating ./crap/crap/i18n/ru/LC_MESSAGES/
          Copying +package+.po_tmpl to ./crap/crap/i18n/ru/LC_MESSAGES/crap.po
    Recursing into lib
      Creating ./crap/crap/lib/
      Copying __init__.py_tmpl to ./crap/crap/lib/__init__.py
      Copying app_globals.py_tmpl to ./crap/crap/lib/app_globals.py
      Copying base.py_tmpl to ./crap/crap/lib/base.py
      Copying helpers.py_tmpl to ./crap/crap/lib/helpers.py
    Recursing into model
      Creating ./crap/crap/model/
      Copying __init__.py_tmpl to ./crap/crap/model/__init__.py
      Copying auth.py_tmpl to ./crap/crap/model/auth.py
      Copying model.template_tmpl to ./crap/crap/model/model.template
    Recursing into public
      Creating ./crap/crap/public/
      Recursing into css
        Creating ./crap/crap/public/css/
        Copying style.css to ./crap/crap/public/css/style.css
      Copying favicon.ico to ./crap/crap/public/favicon.ico
      Recursing into images
        Creating ./crap/crap/public/images/
        Copying contentbg.png to ./crap/crap/public/images/contentbg.png
        Copying error.png to ./crap/crap/public/images/error.png
        Copying header_inner2.png to ./crap/crap/public/images/header_inner2.png
        Copying headerbg.png to ./crap/crap/public/images/headerbg.png
        Copying info.png to ./crap/crap/public/images/info.png
        Copying inputbg.png to ./crap/crap/public/images/inputbg.png
        Copying loginbg.png to ./crap/crap/public/images/loginbg.png
        Copying loginbottombg.png to ./crap/crap/public/images/loginbottombg.png
        Copying loginheader-left.png to ./crap/crap/public/images/loginheader-left.png
        Copying loginheader-right.png to ./crap/crap/public/images/loginheader-right.png
        Copying menu-item-actibg-first.png to ./crap/crap/public/images/menu-item-actibg-first.png
        Copying menu-item-actibg.png to ./crap/crap/public/images/menu-item-actibg.png
        Copying menu-item-border.png to ./crap/crap/public/images/menu-item-border.png
        Copying menubg.png to ./crap/crap/public/images/menubg.png
        Copying ok.png to ./crap/crap/public/images/ok.png
        Copying pagebg.png to ./crap/crap/public/images/pagebg.png
        Copying star.png to ./crap/crap/public/images/star.png
        Copying strype2.png to ./crap/crap/public/images/strype2.png
        Copying under_the_hood_blue.png to ./crap/crap/public/images/under_the_hood_blue.png
        Copying warning.png to ./crap/crap/public/images/warning.png
    Recursing into templates
      Creating ./crap/crap/templates/
      Copying __init__.py to ./crap/crap/templates/__init__.py
      Copying about.html to ./crap/crap/templates/about.html
      Copying authentication.html to ./crap/crap/templates/authentication.html
      Copying debug.html to ./crap/crap/templates/debug.html
      Copying error.html to ./crap/crap/templates/error.html
      Copying footer.html to ./crap/crap/templates/footer.html
      Copying header.html to ./crap/crap/templates/header.html
      Copying index.html to ./crap/crap/templates/index.html
      Copying login.html to ./crap/crap/templates/login.html
      Copying master.html to ./crap/crap/templates/master.html
      Copying sidebars.html to ./crap/crap/templates/sidebars.html
    Recursing into tests
      Creating ./crap/crap/tests/
      Copying __init__.py_tmpl to ./crap/crap/tests/__init__.py
      Recursing into functional
        Creating ./crap/crap/tests/functional/
        Copying __init__.py_tmpl to ./crap/crap/tests/functional/__init__.py
        Copying test_authentication.py_tmpl to ./crap/crap/tests/functional/test_authentication.py
        Copying test_root.py_tmpl to ./crap/crap/tests/functional/test_root.py
      Recursing into models
        Creating ./crap/crap/tests/models/
        Copying __init__.py_tmpl to ./crap/crap/tests/models/__init__.py
        Copying test_auth.py_tmpl to ./crap/crap/tests/models/test_auth.py
    Copying websetup.py_tmpl to ./crap/crap/websetup.py
  Copying MANIFEST.in_tmpl to ./crap/MANIFEST.in
  Copying README.txt_tmpl to ./crap/README.txt
  Copying __init__.py to ./crap/__init__.py
  Copying development.ini_tmpl to ./crap/development.ini
  Recursing into ez_setup
    Creating ./crap/ez_setup/
    Copying README.txt to ./crap/ez_setup/README.txt
    Copying __init__.py to ./crap/ez_setup/__init__.py
  Copying setup.cfg_tmpl to ./crap/setup.cfg
  Copying setup.py_tmpl to ./crap/setup.py
  Copying test.ini_tmpl to ./crap/test.ini
Running /usr/bin/python setup.py egg_info

running egg_info
writing requirements to crap.egg-info/requires.txt
writing crap.egg-info/PKG-INFO
writing top-level names to crap.egg-info/top_level.txt
writing dependency_links to crap.egg-info/dependency_links.txt
writing entry points to crap.egg-info/entry_points.txt
writing paster_plugins to crap.egg-info/paster_plugins.txt
reading manifest file 'crap.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'crap.egg-info/SOURCES.txt'
$ 
$ cd crap/
crap$ paster setup-app development.ini
Running setup_config() from crap.websetup
Creating tables
16:41:13,006 INFO  [sqlalchemy.engine.base.Engine.0x...1850] PRAGMA table_info("tg_permission")
16:41:13,007 INFO  [sqlalchemy.engine.base.Engine.0x...1850] ()
16:41:13,007 INFO  [sqlalchemy.engine.base.Engine.0x...1850] PRAGMA table_info("tg_group")
16:41:13,007 INFO  [sqlalchemy.engine.base.Engine.0x...1850] ()
16:41:13,008 INFO  [sqlalchemy.engine.base.Engine.0x...1850] PRAGMA table_info("tg_group_permission")
16:41:13,008 INFO  [sqlalchemy.engine.base.Engine.0x...1850] ()
16:41:13,008 INFO  [sqlalchemy.engine.base.Engine.0x...1850] PRAGMA table_info("tg_user")
16:41:13,008 INFO  [sqlalchemy.engine.base.Engine.0x...1850] ()
16:41:13,008 INFO  [sqlalchemy.engine.base.Engine.0x...1850] PRAGMA table_info("tg_user_group")
16:41:13,008 INFO  [sqlalchemy.engine.base.Engine.0x...1850] ()
16:41:13,009 INFO  [sqlalchemy.engine.base.Engine.0x...1850] 
CREATE TABLE tg_permission (
	permission_id INTEGER NOT NULL, 
	permission_name VARCHAR(16) NOT NULL, 
	description VARCHAR(255), 
	PRIMARY KEY (permission_id), 
	 UNIQUE (permission_name)
)


16:41:13,009 INFO  [sqlalchemy.engine.base.Engine.0x...1850] ()
16:41:13,032 INFO  [sqlalchemy.engine.base.Engine.0x...1850] COMMIT
16:41:13,034 INFO  [sqlalchemy.engine.base.Engine.0x...1850] 
CREATE TABLE tg_group (
	group_id INTEGER NOT NULL, 
	group_name VARCHAR(16) NOT NULL, 
	display_name VARCHAR(255), 
	created TIMESTAMP, 
	PRIMARY KEY (group_id), 
	 UNIQUE (group_name)
)


16:41:13,034 INFO  [sqlalchemy.engine.base.Engine.0x...1850] ()
16:41:13,054 INFO  [sqlalchemy.engine.base.Engine.0x...1850] COMMIT
16:41:13,055 INFO  [sqlalchemy.engine.base.Engine.0x...1850] 
CREATE TABLE tg_group_permission (
	group_id INTEGER, 
	permission_id INTEGER, 
	 FOREIGN KEY(group_id) REFERENCES tg_group (group_id) ON DELETE CASCADE ON UPDATE CASCADE, 
	 FOREIGN KEY(permission_id) REFERENCES tg_permission (permission_id) ON DELETE CASCADE ON UPDATE CASCADE
)


16:41:13,055 INFO  [sqlalchemy.engine.base.Engine.0x...1850] ()
16:41:13,059 INFO  [sqlalchemy.engine.base.Engine.0x...1850] COMMIT
16:41:13,060 INFO  [sqlalchemy.engine.base.Engine.0x...1850] 
CREATE TABLE tg_user (
	user_id INTEGER NOT NULL, 
	user_name VARCHAR(16) NOT NULL, 
	email_address VARCHAR(255) NOT NULL, 
	display_name VARCHAR(255), 
	password VARCHAR(80), 
	created TIMESTAMP, 
	PRIMARY KEY (user_id), 
	 UNIQUE (user_name), 
	 UNIQUE (email_address)
)


16:41:13,060 INFO  [sqlalchemy.engine.base.Engine.0x...1850] ()
16:41:13,067 INFO  [sqlalchemy.engine.base.Engine.0x...1850] COMMIT
16:41:13,068 INFO  [sqlalchemy.engine.base.Engine.0x...1850] 
CREATE TABLE tg_user_group (
	user_id INTEGER, 
	group_id INTEGER, 
	 FOREIGN KEY(user_id) REFERENCES tg_user (user_id) ON DELETE CASCADE ON UPDATE CASCADE, 
	 FOREIGN KEY(group_id) REFERENCES tg_group (group_id) ON DELETE CASCADE ON UPDATE CASCADE
)


16:41:13,068 INFO  [sqlalchemy.engine.base.Engine.0x...1850] ()
16:41:13,091 INFO  [sqlalchemy.engine.base.Engine.0x...1850] COMMIT
16:41:13,112 INFO  [sqlalchemy.engine.base.Engine.0x...1850] BEGIN
16:41:13,113 INFO  [sqlalchemy.engine.base.Engine.0x...1850] INSERT INTO tg_permission (permission_name, description) VALUES (?, ?)
16:41:13,113 INFO  [sqlalchemy.engine.base.Engine.0x...1850] [u'manage', u'This permission give an administrative right to the bearer']
16:41:13,114 INFO  [sqlalchemy.engine.base.Engine.0x...1850] INSERT INTO tg_user (user_name, email_address, display_name, password, created) VALUES (?, ?, ?, ?, ?)
16:41:13,115 INFO  [sqlalchemy.engine.base.Engine.0x...1850] [u'manager', u'manager at somedomain.com', u'Example manager', u'0275f4906a8e92946518a6a7a806f6768cd617cad8e5d6380beb7ca93f6ca630f33961ee9e7a074a', '2010-03-19 16:41:13.114791']
16:41:13,116 INFO  [sqlalchemy.engine.base.Engine.0x...1850] INSERT INTO tg_user (user_name, email_address, display_name, password, created) VALUES (?, ?, ?, ?, ?)
16:41:13,116 INFO  [sqlalchemy.engine.base.Engine.0x...1850] [u'editor', u'editor at somedomain.com', u'Example editor', u'1f096f0daf97c7ad703ba871c67c55415fd84f3226076ac05af0f845dea3b2be20a132d277cf6717', '2010-03-19 16:41:13.116129']
16:41:13,117 INFO  [sqlalchemy.engine.base.Engine.0x...1850] INSERT INTO tg_group (group_name, display_name, created) VALUES (?, ?, ?)
16:41:13,117 INFO  [sqlalchemy.engine.base.Engine.0x...1850] [u'managers', u'Managers Group', '2010-03-19 16:41:13.117342']
16:41:13,118 INFO  [sqlalchemy.engine.base.Engine.0x...1850] INSERT INTO tg_user_group (user_id, group_id) VALUES (?, ?)
16:41:13,118 INFO  [sqlalchemy.engine.base.Engine.0x...1850] [1, 1]
16:41:13,120 INFO  [sqlalchemy.engine.base.Engine.0x...1850] INSERT INTO tg_group_permission (group_id, permission_id) VALUES (?, ?)
16:41:13,120 INFO  [sqlalchemy.engine.base.Engine.0x...1850] [1, 1]
16:41:13,121 INFO  [sqlalchemy.engine.base.Engine.0x...1850] COMMIT
Successfully setup
crap$ paster serve development.ini
Starting server in PID 20466.
serving on http://127.0.0.1:8080
16:41:21,800 INFO  [tg.i18n] Set request language to []
16:41:21,800 INFO  [tg.i18n] Language []: not supported by FormEncode
16:41:21,802 INFO  [tg.i18n] Set request language to []
16:41:21,803 INFO  [tg.i18n] Language []: not supported by FormEncode


Ciao,

Enrico


-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-trunk-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages python-turbogears2 depends on:
ii  python-genshi                 0.5.1-2+b1 Python XML-based template engine
ii  python-pylons                 0.10~b1-1  Python web framework emphasizing f
ii  python-repoze.tm2             1.0a4-2    Zope-like transaction manager via 
ii  python-repoze.what-plugins    20090531-2 authorization framework for Python
ii  python-support                1.0.6.1    automated rebuilding support for P
ii  python-toscawidgets           0.9.7.2-1  Python framework for building reus
ii  python-turbojson              1.2.1-4    Plugin to use JSON templates in Py
ii  python-weberror               0.10.2-1   Python web error handling and exce
ii  python-webflash               0.1a9-3    Portable flash messages for Python

Versions of packages python-turbogears2 recommends:
ii  python-pysqlite2              2.5.5-3+b1 Python interface to SQLite 3
ii  python-tg.devtools            2.0.2-1    developer tools for the TurboGears

Versions of packages python-turbogears2 suggests:
pn  python-elixir                 <none>     (no description available)

-- no debconf information





More information about the Python-modules-team mailing list