pfl checks that the ebuild was installed from the "gentoo" repository. Okay, that part makes sense. However, it uses Portage's own API to do this, which is where things break: it stores the repo name in the file /var/db/pkg/*/*/repository. Paludis uses the original, correct uppercase name for that file; Portage doesn't read that at all and returns an empty string for the package's repo name. As a result pfl gets an empty list of files each time. Please consider adding a workaround to pfl for this, at least until it's fixed in portage.
Hi, thanks for your report. This is the failing piece of code, isn't it? def get_contents(self, c, p, v): dbl = dblink(c, '%s-%s' % (p, v), self._settings['ROOT'], self._settings) return dbl.getcontents() And the problem is that the file "repository" is uppercase on paludis and lowercase on portage machines? If it's like that I don't see a fast workaround here. Because it is a portage internal and I don't see how to change the "outer world" so portage behaves as expected. Do you have an idea? Do you want to attach a "get_contents" method that works on paludis (and may be portage) machines? ;) regards Daniel
Created attachment 395630 [details, diff] Fix pfl for non-portage I'm no Python coder but I tried fixing it anyway; here's a patch, works for me, hopefully I didn't break the Portage side of things.
Created attachment 395632 [details, diff] Fix for paludis (correct patch) Whoops sorry, I screwed that up. Here's the correct file.
Created attachment 395916 [details, diff] Paludis Patch - just retry with uppercase
(In reply to Daniel from comment #4) > Created attachment 395916 [details, diff] [details, diff] > Paludis Patch - just retry with uppercase Would you please try this "patch". It just retries with uppercase if the result is empty. This is not very elegant but should work for now. Your patch does not work for me.
(In reply to Daniel from comment #5) > (In reply to Daniel from comment #4) > > Created attachment 395916 [details, diff] [details, diff] [details, diff] > > Paludis Patch - just retry with uppercase > > Would you please try this "patch". It just retries with uppercase if the > result is empty. This is not very elegant but should work for now. Your > patch does not work for me. Yep, works fine here.
+*pfl-2.4-r4 (04 Apr 2015) + + 04 Apr 2015; Daniel Pielmeier <billie@gentoo.org> +pfl-2.4-r4.ebuild, + +files/pfl-2.4-reponame.patch: + Fix issue with different repository naming between portage/paludis. Thanks to + Anthony Parsons in bug #537584. I have committed a new revision which includes the latest patch. Please thest and reopen if the issue persists.