Dear Ubuntu-phone mailing list,
I have spent a few weeks developing an offline routing / navigation
application (LGPL) based on openstreetmaps / libosmscout.
I want to publish the app in the Ubuntu App Store, but I am facing a
problem: I need read access on a location on the SD card. I will explain
why.
1.) The maps take quite some space on the device (Netherlands is 1.3GB,
Germany is 4+ GB). At least on the BQ Aquaris this space is not
available in the home directory, at least not if you also want to remain
with some space available.
2.) The maps have to be converted to a binary format with a tool on the
PC. Until I got some server space and time to host some readily
converted maps, the user will have to transfer maps manually to the
phone. If this would be the app data space, that location is not by
default readable if you browse the phone on the PC.
3.) Converting the maps on the phone is not really an option, as the
process uses several GB as temp space, and on an i7 pc it can take over
1 hour for a map of a small country.
For now there are no good apparmor rules that matches the need of this
application, Picture read could be possible, however it needs the maps
to be placed in <SD_CARD>/Pictures/osmscout. That is an ugly solution,
but it works.
Another solution is to set the app as unconfined, and use the location
<SD_CARD>/Maps/osmscout. However this is not the solution to allow for
any app, I think this app really adds value to the Ubuntu phone.
Would it be possible to create an app-specific rule that allows (Read,
and maybe later Write) access to <SD_CARD>/Maps/? Or otherwise to allow
this app to be published as unconfined?
The source code for the app can be found here:
https://github.com/fransschreuder/libosmscout
The tool to convert maps can be obtained on a desktop:
sudo apt-add-repository ppa:fransschreuder1/osmscout-import
sudo apt-get update
sudo apt-get install osmscoutimportgui0
Thanks for your comments,
Regards,
Frans Schreuder