We have moved to a new Sailfish OS Forum. Please start new discussions there.

libQt5Sparql on Harbour [answered]

asked 2014-08-18 18:31:00 +0300

r0kk3rz gravatar image

What is the current status of allowing apps to use shared library libQt5Sparql on Harbour?

If it is not allowed, is there an allowed way to interact with Tracker? Don't both the Jolla Media app and Gallery app use this library for querying tracker?

I am currently writing a Music Player app and Tracker is an easy way to collect media files from the device.

edit retag flag offensive reopen delete

The question has been closed for the following reason "the question is answered, an answer was accepted" by r0kk3rz
close date 2014-11-04 17:28:17.223242

2 Answers

Sort by » oldest newest most voted

answered 2014-08-19 10:28:55 +0300

Kontio gravatar image

As you can see from allowed_libraries.conf libQt5Sparql is currently not allowed in Harbour and unfortunately there is also no easy alternative available.

Maybe you can ship libQt5Sparql together with your app, not sure how feasible it is for that lib. See also: https://harbour.jolla.com/faq#6.3.0

edit flag offensive delete publish link more


Yeah I saw that its not in the allowed_libraries.conf, perhaps I wasn't clear enough but it would be nice to know if it is likely to be added to that list or not?

I am mostly developing this for my own use, but I thought that if it wasn't too much trouble then I might as well release it on Harbour

r0kk3rz ( 2014-08-19 12:01:41 +0300 )edit

Unfortunately it's difficult to make a prediction when and if it will be allowed, sorry. But you can assume it wont be allowed in the short term.

Kontio ( 2014-08-19 12:35:34 +0300 )edit

I would advise to do the thing most current application developers do and that is to publish the application on OpenRepos - it will be available to users and if it is popular (which is easy to see thanks to OpenRepos showing download stats) it will be a good argument for Jolla to allow the needed dependencies to Harbour.

MartinK ( 2014-08-19 13:00:09 +0300 )edit

That was going to be my plan, I was going to release incomplete/alpha versions to OpenRepos, but also try to do things in the Harbour way so when the app is more complete it can be added without much additional effort.

r0kk3rz ( 2014-08-19 13:12:25 +0300 )edit

Yeah, I plan to also do it like this once I am finally able to submit modRana for Harbour:

  • Harbour - stable
  • OpenRepos - more often updated/cutting edge
  • OBS repo - bleeding edge
MartinK ( 2014-08-19 14:00:25 +0300 )edit

answered 2014-08-19 11:17:13 +0300

Nieldk gravatar image

This is weird, so, it could be allowed to ship libQt5Sparql, but not use it ? Can we include any already packaged libraries this way, to overcome Harbour restrictions ? Thats sabortaging I would say the infrastructure of the device and will end up in a mess with possibly many distributions of the same library. I dont get it.

edit flag offensive delete publish link more


The only reason I can think of for this restriction is so they can patch/upgrade system libraries without worrying about third party app compatibility..

But you're right, it will end up with many copies of the same libraries on the phone, likely to be the same versions since I installed libQt5Sparql through the Sailfish SDK menu.

r0kk3rz ( 2014-08-19 11:53:52 +0300 )edit

Yes you are allowed to ship it your self (if the dependencies are allowed, otherwise you also have to ship them... which can end up in a dependency-nightmare...). And yes this allows us to break APIs/ABIs at will for libraries which we don't support in Harbour.

Kontio ( 2014-08-19 12:38:34 +0300 )edit

Also note that once (not if) there is a vulnerability found in on of the bundled libraries - good luck! (you can ask Debian & Android people about how much fun it is to hunt for bundled vulnerable libraries)

MartinK ( 2014-08-19 12:57:47 +0300 )edit

I can understand why you would like to not have to deal with third-party app dependencies, but sooner or later I think you are going to have to trust app developers to maintain their own apps and keep up with system changes.

But for now if statically linking to a library within the app directory is the Harbour Approved method then I will try and work with that

EDIT: For this app I don't think that really solves anything as I am interfacing with Tracker, and if Jolla makes changes to Tracker that are incompatible then the app will break, regardless of whether I use the system library or have a statically linked copy in the app. It's probably more likely to break this way rather than only on libQt5Sparql API changes.

r0kk3rz ( 2014-08-19 14:34:15 +0300 )edit

Question tools



Asked: 2014-08-18 18:31:00 +0300

Seen: 281 times

Last updated: Aug 19 '14