eugeneia / recall

Recoll frontend for ElementaryOS
GNU General Public License v2.0
3 stars 1 forks source link

AppCenter Review: Installs another application #9

Open danirabbit opened 5 years ago

danirabbit commented 5 years ago

Hi, thanks for your submission to AppCenter! I've marked the latest release of Recall as "Needs Fixing" because at the moment it installs another full application as a runtime dependency.

Please address this issue and resubmit your app!

eugeneia commented 5 years ago

@danrabbit How do I solve this? There is no recoll package without an included GUI in Ubuntu. Do I need to vendor recoll and package it with the app? Is there a best practice for this?

$ apt search recoll
Sorting... Done
Full Text Search... Done
elpa-counsel/bionic,bionic 0.10.0+dfsg-1 all
  collection of Ivy-enhanced versions of common Emacs commands

python-recoll/bionic 1.23.7-1 amd64
  Python extension for recoll

python3-recoll/bionic 1.23.7-1 amd64
  Python extension for recoll (Python3)

recoll/bionic,now 1.23.7-1 amd64 [installed]
  Personal full text search package with a Qt GUI

FWIW I feel like the the AppCenter Review process could be better if they were "depth first". I.e., I submitted the app, waited a week, and got #8. After fixing this I expected this to be the last remaining issue, but after waiting almost two more weeks I get the next seemingly checkbox issue.

I feel like the developer experience would be improved if the review didn’t stop at the first issue found, and instead tested for all requirements in bulk.

danirabbit commented 5 years ago

Unfortunately, I'm not able to provide much assistance here. My recommendation would be to build your app in a way that uses available libraries like Tracker instead of relying on another full GUI app.

I understand your frustration with the review process. I'll bring your comments up to the team and we can talk about changing it

eugeneia commented 5 years ago

Would you accept a package with recoll (without the GUI) bundled/vendored? The package would conflict with/replace the Ubuntu recoll package.

My recommendation would be to build your app in a way that uses available libraries like Tracker instead of relying on another full GUI app.

As it stands, Recall is based on recoll, a full featured document search engine that I know to work well and reliably. Recoll happens to have a qt GUI but can be built without (i.e., including only the indexer and the CLI query tool.)

Rewriting the app to use GNOME Tracker is not viable for me at this point.

danirabbit commented 5 years ago

I don't think conflicting with another app would be accepted. You might try looking into Torrential (https://github.com/davidmhewitt/torrential) which uses Transmission as a submodule

eugeneia commented 5 years ago

Seems Torrential can get away with statically linking with Transmission. However, to interface with recoll I actually need the recollq executable. Right now, the only other way to not to conflict with the Ubuntu recoll package I can think of is to install the vendored recoll in a non-standard location which would entail other problems... and IIUC this would be to work around a limitation of AppCenter not having a UI concept for conflicts?

This situation is somewhat disappointing to me since I have spent quite some time to build an Elementary app that is super useful to myself and friends, but now am unable to share it with the wider community. I guess replacing stock recoll conflicts with

Your app must not attempt to modify other apps or system programs.

from Before You Publish? However, that I wasn’t allow to depend on other apps was not clear to me from the requirements documentation.

Is it possible to reconsider this from a practical standpoint? My goal here is to provide a desktop search engine to Elementary users. As far as I know, no comparable component currently exists, so I tend to assume having Recall in AppCenter would generally benefit the community.

Now what is the actual impact of this issue?

To me neither of these outweigh the value added by Recall. I feel like a good way forward would be to make Recall available on AppCenter, getting user feedback, maybe turning some into contributors, and incrementally improving the app based on user demand.

eugeneia commented 5 years ago

@danrabbit Just wanted to loop back on this.

I really want to continue work on bringing document search to elementary, and think it would be good to have a dialogue about this feature with eOS upstream since it is such a core feature of the desktop (I can imagine you would eventually want integration with the file manager etc).

As it stands, I do not have the time to port the app to use Tracker as of this moment. Having the app blocked by this is a bit of a bummer to me, but oh well... :-)

Until I find the time to take a closer look at Tracker, I’d appreciate any pointers to issues in case there are ongoing efforts to provide full text document search in elementary, might be that my efforts are better spent contributing there?

Cheers!