comps hosed?

Michael Schwendt bugs.michael at gmx.net
Thu Jan 25 14:20:10 UTC 2007


On Thu, 25 Jan 2007 14:57:42 +0100, Christoph Wickert wrote:

> For two days I'm getting a pup error now:
> 
> > Component: Software Updater
> > Summary: TB8a9160cb comps.py:143:parse_package_list:CompsException
> > 
> > Traceback (most recent call last):
> >   File "/usr/sbin/pup", line 659, in ?
> >     main()
> >   File "/usr/sbin/pup", line 655, in main
> >     pup.run()
> >   File "/usr/sbin/pup", line 494, in run
> >     self.doRefresh()
> >   File "/usr/sbin/pup", line 269, in doRefresh
> >     self.reposSetup(pbar)
> >   File "/usr/lib/python2.4/site-packages/pirut/__init__.py", line 153, in reposSetup
> >     self.doGroupSetup()
> >   File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 408, in doGroupSetup
> >     self.comps.add(groupfile)
> >   File "/usr/lib/python2.4/site-packages/yum/comps.py", line 339, in add
> >     group = Group(elem)
> >   File "/usr/lib/python2.4/site-packages/yum/comps.py", line 57, in __init__
> >     self.parse(elem)
> >   File "/usr/lib/python2.4/site-packages/yum/comps.py", line 133, in parse
> >     self.parse_package_list(child)
> >   File "/usr/lib/python2.4/site-packages/yum/comps.py", line 143, in parse_package_list
> >     raise CompsException
> > CompsException
> > 
> > Local variables in innermost frame:
> > genre: optinoal
> > self: Graphics
> > package: digikam
> > packagelist_elem: <Element 'packagelist' at 0x8d202a8>
> > child: <Element 'packagereq' at 0x8d201b8>

This is https://bugzilla.redhat.com/224292

> The typo "genre: optinoal" seems to be where the error comes from.
> Thanks to Peter Gordon this is already fixed in CVS. How and how often 
> is comps being pushed?

Everytime new builds are pushed.
 
> Also I see that Micheal Schwendt fixed some errors in comps yesterday. 
> Maybe we should think about a way avoid situations like these in the 
> future? We should at least take care that _if_ something is wrong with 
> comps, it shouldn't get pushed.

The package updater must not crash so badly in this situation. It is an
uncaught exception afterall. Rather it could default to "genre=optional".

The push scripts only publishes well-formed comps files. The issues
I've fixed had caused the pushscript to report warnings and reject
the comps updates. "packagereq" was misspelled multiple times. But
"genre=optinoal" is a typo that needs a dtd/schema based check,
which is more than just checking that the xml is well-formed. The
comps file that broke pirut was well-formed.




More information about the fedora-extras-list mailing list