According to https://www.freedesktop.org/software/appstream/docs/api/AsPool.html#as-pool-load --- as_pool_load Builds an index of all found components in the watched locations. The function will try to get as much data into the pool as possible, so even if the update completes with FALSE, it might still have added components to the pool. --- The journal is filled with "no appstream for you" messages after as_pool_load returned false, and nothing is returned. Just ignoring the return value and calling as_poll_search (via the AppStreamQt wrapper) returns correct results.
Wanna submit a patch? ;)
(In reply to Nate Graham from comment #1) > Wanna submit a patch? ;) https://phabricator.kde.org/D14807
(In reply to Stefan Brüns from comment #2) > (In reply to Nate Graham from comment #1) > > Wanna submit a patch? ;) > > https://phabricator.kde.org/D14807 Wanna review? ;) Btw, the validation error is caused by bad metadata created by appstream-builder, see https://github.com/hughsie/appstream-glib/issues/260
I wish I could, but I'm not really qualified to, I'm afraid.
Git commit 0ec3f76810b712b99f18ef5f1afa70fe4a3884fd by Stefan Brüns. Committed on 31/08/2018 at 14:21. Pushed by bruns into branch 'master'. [AppStream Runner] Also search when there were errors during Pool::load Summary: The return code of the Pool::load() method is somewhat misleading, as it returns true only if there were no errors at all. The error flag is set on the first validation error, but the pool will contain meaningful data nevertheless. Test Plan: Searching for "blend" Unfixed version: No results are returned under "Software Center" Fixed version: Software Center: "Get Blender", "Get Hugin", ... Reviewers: #plasma, #frameworks, apol Reviewed By: apol Subscribers: ngraham, plasma-devel Tags: #plasma Differential Revision: https://phabricator.kde.org/D14807 M +0 -1 runners/appstream/appstreamrunner.cpp https://commits.kde.org/plasma-workspace/0ec3f76810b712b99f18ef5f1afa70fe4a3884fd