Make AppstreamQt optional
ClosedPublic

Authored by davidedmundson on Jan 2 2017, 7:28 PM.

Details

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.

BUG: 374310

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.

Diff Detail

Repository
R119 Plasma Desktop
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
davidedmundson retitled this revision from to Make AppstreamQt optional.
davidedmundson updated this object.
davidedmundson edited the test plan for this revision. (Show Details)
davidedmundson added a reviewer: Plasma.
Restricted Application added a project: Plasma. · View Herald TranscriptJan 2 2017, 7:28 PM
Restricted Application added a subscriber: plasma-devel. · View Herald Transcript
romangg added a reviewer: apol.Jan 2 2017, 8:26 PM
apol accepted this revision.EditedJan 3 2017, 1:28 AM
apol edited edge metadata.

I disagree that it's a big dependency chain, it's just appstream
I agree that the feature is quite small.

+1

applets/kicker/plugin/appentry.cpp
146

I would prefer to ifdef out the whole function and not call it...

This revision is now accepted and ready to land.Jan 3 2017, 1:28 AM
mak added a subscriber: mak.Jan 3 2017, 1:36 AM

@davidedmundson What do you mean with big dependency chain? libappstream and libappstreamQt depend in total on only libxml2, libyaml, GLib and Qt5Core which pretty much any distro, especially with Plasma on it, should already have anyway.
Didn't you use Neon? Or was it Manjaro/Arch? In any case, knowing the distro might be useful to check whether their packaging makes sense ;-)

hein added a subscriber: hein.EditedJan 3 2017, 6:40 AM

I'm in principle OK with this patch, but also don't mind the change apol requested if it makes him happier since it's his code.

In this context I'd like to mention that I was slightly surprised/miffed that the original change went into Kicker during my vacation without waiting a couple of days for an extra review from the maintainer of the codebase. I know, common ownership, bus numbers, all that good stuff, but personally when I file a review or prepare a non-trivial change I try to get input from the people I know feel responsible for the long-term health of a particular piece of code, and maybe that would have helped avoid three follow-up reviews to clean things up.

huber added a subscriber: huber.Jan 3 2017, 9:59 AM
In D3923#73375, @mak wrote:

In any case, knowing the distro might be useful to check whether their packaging makes sense ;-)

KaOS don't have appstream nor appstreamQt nor Discover (it's a fairly normal when first two are missing)

This revision was automatically updated to reflect the committed changes.
mak added a comment.EditedJan 6 2017, 6:50 PM
In D3923#73375, @mak wrote:

In any case, knowing the distro might be useful to check whether their packaging makes sense ;-)

KaOS don't have appstream nor appstreamQt nor Discover (it's a fairly normal when first two are missing)

Well, then they should package it? It really has no unusual dependencies, and the only one which isn't available everywhere I checked (libstemmer) can be disabled via a compile-time switch.
I am more after the "too many dependencies" claim than after distros not having packaged the library, because the latter is relatively easy to achieve (KaOS could just pull the Arch Linux package).
Speaking of Arch Linux: Their package has an unnecessary (build)dependency on protobuf, python2 and intltool.