Description of problem:
pirut can't find installed packages
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. search for a package via pirut which is already installed (for example 'codeina')
pirut says that no packages by that name exist
pirut should find the installed package
This is jantill's fault ;-)
The change with real_crit and real_crit_lower is the cause. We can fix by also
doing the rpmdb search against real_crit, but he may have something a little bit
I'm happy to take the blame :), but I don't understand ... we do value.lower()
on all the rpmdb pkg fields, as we did before and the real_crit_lower should
just be moving the .lower() from each call to once.
And I can search for unixODBC fine from the terminal.
Ok, I _think_ the bug here is that the end result does:
for (po, matched) in sorted(sorted_lists[val],
if (po.name, po.arch) not in yielded:
yield (po, matched)
yielded[(po.name, po.arch)] = 1
...which sorts the packages and then _only_ yields the po, if the po.name,
po.arch hasn't been seen before.
This is "good" for the cmd line, as then we don't get lots of duplication, as
we only output the name.arch ... but pirut does:
if pos.repoid != "installed" and self.simpleDBInstalled(po.name, po.arch):
...on the results, _and_ outputs the versions.
On the upside, I'm pretty sure this is Seth's fault :) ... although I might
have asked for the reduction in output for the cmd line :(.
The obvious two solutions are:
1. Drop the filtering from searchGen() and do the same thing in cli.py
2. Add an arg. to optionally enable/disable the filtering
went with option #2, defaulting to make pirut work again :).