Problem with gstreamer

Michael Schwendt mschwendt at gmail.com
Tue Dec 29 11:25:11 UTC 2009


On Mon, 28 Dec 2009 20:05:00 -0500, Marcel wrote:

> > With regard to your crash of "package-cleanup", it should be fairly easy
> > to debug it as long as you can reproduce it. It's Python -- source code! --
> > you could print out the offending value that causes a type error and
> > track down where it comes from.
> 
> ???

You posted:

> Also:
> 
> package-cleanup --problems
> Loaded plugins: refresh-packagekit
> Traceback (most recent call last):
>   File "/usr/bin/package-cleanup", line 382, in <module>
>     util = PackageCleanup()
>   File "/usr/bin/package-cleanup", line 58, in __init__
>     self.main()
>   File "/usr/bin/package-cleanup", line 309, in main
>     issues = self._find_missing_deps(self.rpmdb.returnPackages())
>   File "/usr/bin/package-cleanup", line 137, in _find_missing_deps
>     missing = miscutils.formatRequire(req,ver,flags)
>   File "/usr/lib/python2.6/site-packages/rpmUtils/miscutils.py", line
> 350, in formatRequire
>     rpm.RPMSENSE_EQUAL):
> TypeError: unsupported operand type(s) for &: 'str' and 'int'

Which only crashes because of a completely unexpected value in an
unsatisfied RPM dependency found in your RPM database. It's unusual enough
to require somebody who could tell whether there has been a related bug in
RPM (there's an update for 4.7.2-1 in updates-testing repo!) or to find out
what value is the culprit. A simple check to apply would be to edit
/usr/bin/package-cleanup at line 137 and insert a   print req, ver, flags
line to make the block look like

                if len(resolve_sack) < 1:
                    print req, ver, flags    # insert this line
                    missing = miscutils.formatRequire(req,ver,flags)
                    problems.append((po, "requires %s" % missing))

without messing up the indentation.
Then run "package-cleanup --problems" again and collect the output.

Further, the same unsatisfied dependency would also be found by running
"rpm -Va". Perhaps the output of that command would give a hint already,
too.




More information about the fedora-list mailing list