ports/110464: games/fretsonfire: becomes broken if py-xml is installed
Dmitry Marakasov
amdmi3 at amdmi3.ru
Sun Mar 18 06:10:05 UTC 2007
>Number: 110464
>Category: ports
>Synopsis: games/fretsonfire: becomes broken if py-xml is installed
>Confidential: no
>Severity: serious
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sun Mar 18 06:10:04 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator: Dmitry Marakasov
>Release: FreeBSD 6.1-RELEASE-p12 i386
>Organization:
>Environment:
System: FreeBSD hades.panopticon 6.1-RELEASE-p12 FreeBSD 6.1-RELEASE-p12 #0: Tue Jan 16 23:12:21 MSK 2007 amdmi3 at hades.panopticon:/usr/obj/usr/src/sys/HADES i386
>Description:
fretsonfire-1.1.324 becomes broken after installing textproc/py-xml. Here's what it says:
---
Traceback (most recent call last):
File "/usr/local/bin/FretsOnFire", line 16, in ?
execfile(os.path.join(package_dir, "FretsOnFire.py"))
File "/usr/local/lib/fretsonfire/FretsOnFire/FretsOnFire.py", line 64, in ?
engine = GameEngine(config)
File "/usr/local/lib/fretsonfire/FretsOnFire/GameEngine.py", line 181, in __init__
self.data = Data(self.resource, self.svg)
File "/usr/local/lib/fretsonfire/FretsOnFire/Data.py", line 48, in __init__
self.loadSvgDrawing(self, "star1", "star1.svg", textureSize = (128, 128))
File "/usr/local/lib/fretsonfire/FretsOnFire/Data.py", line 93, in loadSvgDrawing
getattr(target, name).convertToTexture(textureSize[0], textureSize[1])
File "/usr/local/lib/fretsonfire/FretsOnFire/Svg.py", line 564, in convertToTexture
self._render(transform)
File "/usr/local/lib/fretsonfire/FretsOnFire/Svg.py", line 585, in _render
self._cacheDrawing(self.context.drawBoard)
File "/usr/local/lib/fretsonfire/FretsOnFire/Svg.py", line 543, in _cacheDrawing
sax.parseString(self.svgData, SvgHandler(drawBoard, self.cache))
File "/usr/local/lib/python2.4/site-packages/_xmlplus/sax/__init__.py", line 47, in parseString
parser.parse(inpsrc)
File "/usr/local/lib/python2.4/site-packages/_xmlplus/sax/expatreader.py", line 109, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/usr/local/lib/python2.4/site-packages/_xmlplus/sax/xmlreader.py", line 123, in parse
self.feed(buffer)
File "/usr/local/lib/python2.4/site-packages/_xmlplus/sax/expatreader.py", line 216, in feed
self._parser.Parse(data, isFinal)
File "/usr/local/lib/python2.4/site-packages/_xmlplus/sax/expatreader.py", line 312, in start_element
self._cont_handler.startElement(name, AttributesImpl(attrs))
File "/usr/local/lib/fretsonfire/FretsOnFire/Svg.py", line 325, in startElement
f(attrs)
File "/usr/local/lib/fretsonfire/FretsOnFire/Svg.py", line 400, in startLineargradient
if "xlink:href" in attrs:
File "/usr/local/lib/python2.4/site-packages/_xmlplus/sax/xmlreader.py", line 316, in __getitem__
return self._attrs[name]
KeyError: 0
---
After deinstalling py-xml, FOF works again.
>How-To-Repeat:
% cd /usr/ports/textproc/py-xml && make install
% FretsOnFire
>Fix:
Seems like FretsOnFire/Svg.py should be patched, so `from xml import sax` line would use python's builtin sax module (/usr/local/lib/python2.4/xml/sax) instead of one installed by py-xml (/usr/local/lib/python2.4/site-packages/_xmlplus/sax). I'm not a pro in python, so I don't know how to actually do it.
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list