2009-07-06 00:49:53 |
Evan Broder |
description |
I believe this is an issue with the python 2.5 to 2.6 change and may indicate other bugs. Also, pygrub works fine in Ubuntu 8.10 but not at all in Ubuntu 9.04 so this is clearly a severe regression and thus qualifies for a stable release update.
---
pygrub with python 2.6 (which is how it ships):
Traceback (most recent call last):
File "/usr/local/bin/pygrub", line 26, in <module>
import fsimage
ImportError: No module named fsimage
The python-xen-3.3 package provides /usr/lib/python2.5/site-packages/fsimage.so but not a module for python 2.6. So one way to potentially fix this bug is to provide a fsimage module for python 2.6.
---
pygrub with python 2.5 (since the fsimage module is present):
WARNING:root:Unknown image directive quiet
WARNING:root:Unknown image directive quiet
WARNING:root:Unknown image directive quiet
WARNING:root:Unknown image directive quiet
WARNING:root:Unknown image directive quiet
WARNING:root:Unknown image directive quiet
Traceback (most recent call last):
File "/usr/local/bin/pygrub", line 660, in <module>
chosencfg = run_grub(file, entry, fs)
File "/usr/local/bin/pygrub", line 513, in run_grub
curses.wrapper(run_main)
File "/usr/lib/python2.5/curses/wrapper.py", line 47, in wrapper
stdscr.keypad(0)
UnboundLocalError: local variable 'stdscr' referenced before assignment
This looks like a bug in the python curses library but I haven't investigated in depth. |
The patch debian/patches/curses-init.dpatch introduced in python2.5 2.5.4-1ubuntu4 is incomplete, as it doesn't include two imports that are necessary for the patch to work. This means that curses.initscr() errors out:
root@jaunty-test:~/src/python2.5-2.5.4# python2.5
Python 2.5.4 (r254:67916, Apr 4 2009, 17:56:17)
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import curses
>>> curses.initscr()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.5/curses/__init__.py", line 30, in initscr
setupterm(term=_os.environ.get("TERM", "unknown"),
NameError: global name '_os' is not defined
|
|