New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide a F-Droid repo for the apk #4933

Closed
jspricke opened this Issue May 12, 2015 · 47 comments

Comments

Projects
None yet
8 participants
@jspricke

jspricke commented May 12, 2015

Hi,

would it be possible to provide a simple F-Droid repository for the cgeo apk? There is a Howto here: https://f-droid.org/wiki/page/Setup_an_FDroid_App_Repo. This would allow all F-Droid users to get updates automatically, even if cgeo is sadly not part of F-Droid.

Thanks!

@kumy

This comment has been minimized.

Member

kumy commented May 12, 2015

+1

@Bananeweizen

This comment has been minimized.

Member

Bananeweizen commented May 13, 2015

The c:geo APK includes lots of stuff (e.g. Google Maps, Google Play Services) which are not accepted by the F-Droid guys. That's why in the past they rebuilt c:geo with modifications to exclude those. And that in turn led to the F-Droid APK to be always out of date. Therefore we explicitly requested to remove our app.

I still see these issues valid, therefore I tend to reject this request.

@jspricke

This comment has been minimized.

jspricke commented May 13, 2015

It's not about adding it to F-Droid but rather providing your own repository on your webserver which could be added to the F-Droid client (like you provide the apk already from there).

@SammysHP

This comment has been minimized.

Member

SammysHP commented May 13, 2015

@jspricke is correct, as well as @Bananeweizen. The official f-droid repository is a no-go. They do not want us and we had long discussions.

But an own repository which can be included in the f-droid store app might be possible.

@rsudev

This comment has been minimized.

Contributor

rsudev commented May 13, 2015

I took a short look into the supplied howto. technically it seems not much work and possible to integrate with our processes (e.g. automatically posting our release through a Jenkins job).
But this would direct some load at our server, for checking versions and downloading updates by users. Not sure how much this would be and what the possible limits are on our hosting.

@SammysHP

This comment has been minimized.

Member

SammysHP commented May 13, 2015

Maybe there is a repository that is willing to include us.

@jspricke

This comment has been minimized.

jspricke commented May 13, 2015

I'm not aware of any bigger third party repo (apart from the guardian project), but there some projects providing their own repo already. You can find a list here: https://f-droid.org/forums/topic/app-repositories-list/.

@kumy

This comment has been minimized.

Member

kumy commented May 13, 2015

Maybe we could provide two distinct repos, one for the mainline, and the other for nightly builds.

If you are ok, I'll play a bit with the fdroid tools to see how all that works. (As a starting point, I'll host it on the GKM server.)

@mucek4

This comment has been minimized.

Member

mucek4 commented May 13, 2015

For servers it's not a problem. We have some of them that can be used for this.

@kumy

This comment has been minimized.

Member

kumy commented May 13, 2015

@mucek4 great :)

@kumy

This comment has been minimized.

Member

kumy commented May 13, 2015

For the testing purpose here are NON OFFICIAL repos:

mainline: https://cgeo.geokretymap.org
nightly builds: https://cgeo.geokretymap.org/nightly

fingerprint: 370BB4D550C391D5DCCB6C81FD82FDA4892964764E085A09B7E075E9BAD5ED98

Descriptions are simple copy/paste.
Didn't see any multilingual support.

Deploying a new version is as simple as put the new apk in the directory and launch the index update.
I suppose we don't need the "build" functionalities, so not tested.
But this imply no archive functionality (to be verified)

@jspricke

This comment has been minimized.

jspricke commented May 14, 2015

Just tested both of them, working great. For the official version, https would be great, btw. I guess you can rename the apk according to the version code to get archive functionality.

@kumy

This comment has been minimized.

Member

kumy commented May 20, 2015

I've wrote a script to auto-update repositories via cron.

Mainline/Nightly builds are up to date.

Repositories contains :

  • c:geo
  • c:geo Calendar
  • c:geo Contacts (but didn't find any NB for this one)

How can I help more on this issue?

@jspricke

This comment has been minimized.

jspricke commented May 21, 2015

@mucek4 can we get an official version of this?
@kumy thanks for the work!

@kumy

This comment has been minimized.

Member

kumy commented Jun 15, 2015

The nightly build are updated every nights in the repo.
I've just manually launched update for the mainline. :)

@rsudev

This comment has been minimized.

Contributor

rsudev commented Jun 15, 2015

Thanks :)

@jspricke

This comment has been minimized.

jspricke commented Jun 17, 2015

Are these now considered official? Could we get https for them?

@kumy

This comment has been minimized.

Member

kumy commented Jun 17, 2015

@jspricke ssl is now enabled ;)

@kumy kumy referenced this issue Jun 17, 2015

Closed

Need to support SSL #3

@kumy

This comment has been minimized.

Member

kumy commented Jun 17, 2015

@jspricke

This comment has been minimized.

jspricke commented Jun 17, 2015

Awesome thanks! I've posted it here as well: https://f-droid.org/forums/topic/app-repositories-list/#post-16307

@mucek4

This comment has been minimized.

Member

mucek4 commented Jun 18, 2015

@kumy if you would like to maintain the repo I can create cname or redirect to domain?

@kumy

This comment has been minimized.

Member

kumy commented Jun 18, 2015

@mucek4 I would be happy to. :)
I could also give you a CSR to be signed by your CA (StartSSL?)

@kumy

This comment has been minimized.

Member

kumy commented Jun 18, 2015

A CNAME to cgeo.geokretymap.org. would be perfect.

@kumy

This comment has been minimized.

Member

kumy commented Jun 19, 2015

New release included.

That would be good, if CI can ping me so updates are automatic.
Cron (for NB) is scheduled at around 1h am. For example, if multiple NB are build in a day I'll miss some.

@rsudev

This comment has been minimized.

Contributor

rsudev commented Jun 19, 2015

Just specify how this ping should look like (http put or post or similar, like status) then it would be easy to put into the jobs as an additional step.

@kumy

This comment has been minimized.

Member

kumy commented Jun 19, 2015

@rsudev ok thanks. Not here this WE, I'll work on that next week.

@kumy

This comment has been minimized.

Member

kumy commented Jun 23, 2015

@mucek4 did you had time to create the DNS entry?

@kumy

This comment has been minimized.

Member

kumy commented Jul 15, 2015

Thanks to @mucek4 we've set up a new url on cgeo.org domain.
Note, this doesn't support SSL yet.

mainline: http://fdroid.cgeo.org
nightly builds: http://fdroid.cgeo.org/nightly

fingerprint: 370BB4D550C391D5DCCB6C81FD82FDA4892964764E085A09B7E075E9BAD5ED98
@kumy

This comment has been minimized.

Member

kumy commented Jul 15, 2015

@rsudev I've wrote a very simple Api to trigger the update.
See https://github.com/GeoKretyMap/api-fdroid

I've allowed ci.cgeo.org IP to access the script.
Let me know how to transfer the secret code securely :)

@mucek4

This comment has been minimized.

Member

mucek4 commented Jul 16, 2015

OK @kumy I have send you SSL certificate you just need a key. Meet me on IRC.

@kumy

This comment has been minimized.

Member

kumy commented Jul 16, 2015

@mucek4 thanks

New SSL certificate is installed.

mainline: https://fdroid.cgeo.org
nightly builds: https://fdroid.cgeo.org/nightly

fingerprint: 370BB4D550C391D5DCCB6C81FD82FDA4892964764E085A09B7E075E9BAD5ED98

@jspricke may you test the new urls please?

@jspricke

This comment has been minimized.

jspricke commented Jul 16, 2015

Working fine, thanks a lot guys!

@jspricke jspricke closed this Jul 16, 2015

@kumy

This comment has been minimized.

Member

kumy commented Jul 16, 2015

Still need to implement:

  • trigger update from CI side
  • maybe put the repo information on the website?
  • fill the FAQ

@kumy kumy reopened this Jul 16, 2015

@Lineflyer

This comment has been minimized.

Member

Lineflyer commented Aug 4, 2015

@kumy

fill the FAQ

What would need to be added to our FAQ for that, I don't understand?

@kumy

This comment has been minimized.

Member

kumy commented Aug 5, 2015

@Lineflyer Could be some lines explaining how to add the repository ; ex: http://geokretymap.org/configure-f-droid-for-cgeo-repo/

@kumy

This comment has been minimized.

Member

kumy commented Aug 6, 2015

Trigger automatic updates is on the way.
I've added a new shell command to the Nightly CI job.

Need @mucek4 to create a new file on the CI server. (Informations passed by PM to @mucek4)

@mucek4

This comment has been minimized.

Member

mucek4 commented Aug 6, 2015

File created. Just tell me what have you done on CI to keep in loop.

@kumy

This comment has been minimized.

Member

kumy commented Aug 6, 2015

@mucek4 thanks

I've added a new "Execute shell" at the end of the job c-geo-nightly:

# Force update of the f-droid repository
curl https://fdroid.cgeo.org/update-fdroid.php --data @/srv/statusSecretFdroid -d "REPO=nightly"

I'm testing with the newly created file, then add the same script to c-geo-RELEASE

@kumy

This comment has been minimized.

Member

kumy commented Aug 6, 2015

seems ok for nightly job.

I'll add the same to release job once current update to CI job has been approved.

@kumy

This comment has been minimized.

Member

kumy commented Aug 6, 2015

hum, multiple NB cannot be indexed in the repo, as the build number doesn't change (NBx, not part of the build number?).

duplicate versions: 'cgeo-nightly-2015.08.06-NB-c204c6b.apk' - 'cgeo-nightly-2015.08.06-NB1-c204c6b.apk'
@SammysHP

This comment has been minimized.

Member

SammysHP commented Aug 6, 2015

Version is always an integer. We use the date + some 1\d+.

@kumy

This comment has been minimized.

Member

kumy commented Aug 6, 2015

Here are the aapt dump for today's builds.

I think that the matched field is versionCode. If another package comes with the same version (eg NBx), he isn't indexed. (and old builds are even rotated! (bug?))
Would it be possible to set versionCode the same as versionName ?

fdroid@cinco:~/www/nightly/repo$ /opt/android-sdk/build-tools/22.0.1/aapt dump badging cgeo-nightly-2015.08.06-NB-c204c6b.apk | head -n1
package: name='cgeo.geocaching' versionCode='30150806' versionName='2015.08.06-NB-c204c6b' platformBuildVersionName='5.1.1-1819727'
fdroid@cinco:~/www/nightly/repo$ /opt/android-sdk/build-tools/22.0.1/aapt dump badging cgeo-nightly-2015.08.06-NB1-c204c6b.apk | head -n1
package: name='cgeo.geocaching' versionCode='30150806' versionName='2015.08.06-NB1-c204c6b' platformBuildVersionName='5.1.1-1819727'
fdroid@cinco:~/www/nightly/repo$ /opt/android-sdk/build-tools/22.0.1/aapt dump badging cgeo-nightly-2015.08.06-NB2-c204c6b.apk | head -n1
package: name='cgeo.geocaching' versionCode='30150806' versionName='2015.08.06-NB2-c204c6b' platformBuildVersionName='5.1.1-1819727'
@SammysHP

This comment has been minimized.

Member

SammysHP commented Aug 6, 2015

versionCode is an integer as I said above.

@PanderMusubi

This comment has been minimized.

PanderMusubi commented Apr 23, 2018

What libraries is cgeo using at the moment (April 2018) that makes it a problem to be included directly into the official F-Droid repo?

@kumy

This comment has been minimized.

Member

kumy commented Apr 23, 2018

@PanderMusubi It's in the third comment of this thread

The c:geo APK includes lots of stuff (e.g. Google Maps, Google Play Services) which are not accepted by the F-Droid guys.

@PanderMusubi

This comment has been minimized.

PanderMusubi commented Apr 23, 2018

I was wondering if that is still the case. Thanks for the update. So the solution with an own F-Droid repo is indeed the best.

@kumy

This comment has been minimized.

Member

kumy commented Apr 23, 2018

I was wondering if that is still the case.

"Sorry" yes 😞. And I'm quite sure it will not change anytime soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment