Description of problem: pirut can't find installed packages Version-Release number of selected component (if applicable): pirut-1.3.29-1.fc9 How reproducible: Always Steps to Reproduce: 1. search for a package via pirut which is already installed (for example 'codeina') Actual results: pirut says that no packages by that name exist Expected results: 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 more elegant
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], key=operator.itemgetter(0)): 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): continue ...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 ...any preferences?
went with option #2, defaulting to make pirut work again :).