Building from source with kdesrc-build: Build fails with: "Could not find a package configuration file provided by "AppStreamQt"". I in fact do not have AppStreamQt (or AppStream itself) installed, nor do I wish to have them installed, since my current package management tools more than suffice for my particular needs. Observation: The CMakeLists.txt of plasma-desktop states the purpose of AppStreamQt as: "Provides package management integration to the application launcher." Suggestion: Would it not be more fitting to implement this functionality as part of the Discover framework?
>Suggestion: Would it not be more fitting to implement this functionality as part of the Discover framework? In the context of the patch, it would not.
(In reply to David Edmundson from comment #1) > >Suggestion: Would it not be more fitting to implement this functionality as part of the Discover framework? > > In the context of the patch, it would not. Is it official then, that the AppStream dependency will be non-optional?
Here's the reviewboard discussion and patches that made appstream required. https://git.reviewboard.kde.org/r/129697/ Third bullet-point in that list: "Drops PackageKit-Qt optional dependency, adds a required AppstreamQt dependency instead." You can read the discussion, but the decision was deliberate in that patch, and none of the core devs reviewing it objected. FWIW the Gentoo bug I opened on it, to either get appstreamqt in the gentoo/kde overlay (where the kde-live ebuilds are) and ultimately the main tree, and added as a (possibly patched to USE-flag optional) plasma-desktop dep, now for the live build, later for releases, or get the dependency patched back out or at least made optional. https://bugs.gentoo.org/show_bug.cgi?id=604356 But Gentoo's general policy, and certainly the gentoo/kde general policy, is to follow upstream where possible, tho the packagekit-qt dependency remained optional (via packagekit USE flag) as it was upstream, and masked via base-profile packagekit use-mask (as unready...) so unavailable unless users deliberately unmasked it as well, so the option was deliberately difficult to turn on. But gentoo/kde wouldn't make the baloo dependency optional until upstream did, so I was having to patch it out here on my own, as all that thing did here was cause trouble.[1] Which unfortunately looks like what I might be trying to do with this appstream thing, too, at least temporarily, to get plasma-desktop building again. The individual commit is of course easy enough to (effectively) revert, but how many commits going forward will be based on that one, potentially ultimately making patching it out unmaintainable in practice, is unknown. But it may be the easiest short-term solution to get plasma-desktop-live building again, until gentoo gets the appstream-qt package in-tree and initial deps worked out, at least. Beyond that, and actually even that since I've not actually tried the revert yet, to see what newer commits already depend on it, remains to be seen. Yea for freedomware, where we at least have the /option/ to do our own builds, including out-of-upstream patches if found necessary. =:^) --- [1] Baloo trouble: Build trouble due to weird symlink-related cmake issues that I never resolved since it was easier just to run an earlier cmake version and ultimately to patch out the baloo dep since I had no intention of using baloo anyway, and as with various kde4 tech indexes, space trouble if baloo was actually allowed to run because my /home's space budget doesn't include gigabytes extra for otherwise unnecessary and of little use indexing files. At least I'm 64-bit so baloo's known 32-bit index-file-size crashing issues didn't affect me. Hopefully this doesn't read too much like a rant. Baloo is officially optional on the plasma desktop again now, after all, thanks to plasma's devs making it so. But I was glad I was running freedomware and the option to patch it out was there (and relatively easy thanks to both plasma and gentoo making it so), when it wasn't officially optional. =:^) Credit where it's due! =:^) Hopefully appstream will ultimately be officially optional again, as well. =:^) Duncan
Update: The devs are discussing a patch that makes appstream optional in d3923 on phabricator: https://phabricator.kde.org/D3923 Gentoo/kde did get an appstream-git ebuild in their overlay, and I hadn't tried patching the appstream dep out yet so I thought I'd try it, but appstream failed to build for me at head and at the 0.10.5 and 0.10.4 tags. Something about no *.gmo files in the po dir. So after updating the gentoo bug (which you can look at for the details, link's above) and now this one, I'm going to try the d3923 patch to make appstream optional, next. The good news is that the appstream dep /does/ appear to be reasonably lite, as these things go. No huge deps chain. While having it required is certainly irritating, assuming the broken building can be fixed, it looks like the dep is relatively lite, so a decision to keep it required isn't as severe as it might be.
(In reply to Duncan from comment #4) > I'm going to try the d3923 patch to make appstream optional, next. FWIW, works fine here. I was able to update plasma-desktop for the first time in several days, and am now running my fresh builds. =:^)
Git commit ed73ecd6a3de4be92a0630bbeb5815a038706a7d by David Edmundson. Committed on 04/01/2017 at 14:09. Pushed by davidedmundson into branch 'master'. Make AppstreamQt optional Summary: Normally I would just close any bug report saying a 3rd party lib should be optional, but it's quite a big dependency chain for a fairly minor feature that is easy to ifdef out. Also we're depending on something that was only released a few weeks ago, in experience that generally will cause some distro to patch it out anyway. Test Plan: My AppstreamQt (from distro packages) is broken, so needed to do a temporary workaround anyway. Built this and it works, haven't been able to test a with appstream version. Reviewers: #plasma, apol Reviewed By: apol Subscribers: anthonyfieroni, huber, hein, mak, plasma-devel Tags: #plasma Differential Revision: https://phabricator.kde.org/D3923 M +10 -1 CMakeLists.txt M +4 -1 applets/kicker/CMakeLists.txt M +8 -0 applets/kicker/plugin/appentry.cpp A +1 -0 config-appstream.h.cmake https://commits.kde.org/plasma-desktop/ed73ecd6a3de4be92a0630bbeb5815a038706a7d
It will be optional in 5.9 Note that mostly because of the release date of the required version than anything else, it's not because of it being a big dependency, because it really isn't.
Works for me as well. My sincerest thanks to everyone who contributed to fixing this.