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
Put app in F-Droid. #5
Comments
As much as I like F-Droid, I completely failed to understand how I could easily create, test and submit an app to it (especially how to test a metadata file seems not to be explained anywhere at all). |
I'm willing to give this a go, but i'm having trouble compiling at the moment. My main error is that i don't have the com.hughes.util package. Where should i get this from? (If i set fdroid to use QuickDicUtils, i get stuck with a username/password request for code.google.com) Perhaps the gitlab page on contributing has some more helpful instructions on testing metadata files. |
On 2 November 2015 21:05:42 WET, yourealwaysbe notifications@github.com wrote:
You should just need to get the rdoeffinger/Util repository in addition. |
Apologies, i think i'm going to need a lot more help. How should i go about building this? I can get rdeoffinger/Util, but i don't know what to do with it as there is no obvious build file. Should i be copying it somewhere into the Dictionary project? Moreover, the build tends to fail for the simple reason that the build/ directory does not exist. I can manually create this and things get a bit further, but unfortunately the fdroid assembly step automatically deletes it and i can't find a good way of creating it again. |
Ok, i think i've managed to get it to a state where it could get into fdroid, but there are a couple of issues it would probably be better to fix first:
For the fdroid build i'm currently working around the issues with prebuild commands. The first by using sed to insert the needed line, the second by copying Util/src into Dictionary/src. Neither of which are ideal. |
The mkdir solution is questionable (at least needs to use -p), as is my use of hard-coded "build/", as the build path could be at a completely different location. As for submodules, I read up on them and they are still as broken as they used to be, e.g. not handling git checkout correctly. |
More specifically, would it help to change that to "Util/src" and have Util checked out into Dictionary/Util? |
Cool -- i'll try it with fdroid in the next couple of days.
Having external libraries is fine with fdroid, but i'm just not sure exactly where it puts them :) -- certainly ../Util/src does not point to the right place. You can reference the library directory in the metadata via a variable, so if the gradle build could take the location as an argument via the commandline (or some other configuration e.g. file) that would work. (To copy the Util directory i was doing something like "cp I don't know enough about gradle to know how you could do that though. |
Gradle knows variables as well so it might "just work" if you replace ".." with "$utildir"? |
It's not quite an environment variable, but i think it's easy to make it one. I will have a play next time i'm free and let you know what works. |
I had a play. mksmallicu.sh no longer fails, thanks. For the util directory, i couldn't figure out how to get environment variables to make their way through. An alternative is to use gradle.properties. I changed build.gradle to contain
Then it will use ../Util/src by default, but if you create a file gradle.properties
it will use the new path. I can then set up fdroid to create the properties file before the build. Let me know if this sounds reasonable. (It's weird, fdroid has a "srclib" feature for libraries containing only source code, but beyond giving you the directory where they're stored, i can't find a canonical way of dealing with them in the build.) (Ah, these slides seem to go for echoing the directories into a properties file also.) |
If that seems like a reasonable solution to you I am fine with it. |
I was being a bit lazy thinking you could just copy-paste the code in, but on reflection it would be better if i put in a pull request for a tested version. I will do that in the next few days. Are you ok with me tying the f-droid version to the tags you've been using? That way, each time you add a new tag, f-droid will automatically add a new version. It can also be done via version information in the AndroidManifest.xml if you'd prefer. |
If you asked me to, I'd just copy-paste it in. I'd also accept copy-pasted diffs. A pull request is just the most reliable way :). |
I attempted a pull request for the change, hopefully it came through ok. For the tags, i can specify a regex in the metadata so that fdroid only checks tags of a certain format. I've gone for
for now. If this is ok, and the util location patch can be put with some tag, hopefully we can get it into fdroid :) |
Is that regexp full-match? |
Possibly it was a bad idea, but as your patch was a build-system-only change I moved the v5.1.3 tag to include it. |
A good point! -- i'll make it a full match. I'm not sure how the tagging works with Util, so we can leave it as latest for now. If it changes just let me know and i'll change the fdroid entry. Hopefully i can test and submit tomorrow evening! |
Submitted -- will hopefully appear soon! |
awesome! :-) |
Would you be happy with the following regex for releases
I.e. an arbitrary number of levels (v5.1.1.1, v5, v5.1 &c). |
Seems fine to me, too. |
It is arrived :) |
Should we close this then? |
Cool -- i'll look out for the new release. I'm not sure about signing. I can't see anything in the manual that appears to support it. I can make an issue on their gitlab page if it's important. |
About checking tag signature: As we'd still use the latest version of Util without any checking it's kind of pointless for us for the moment. |
was it not possible to put the new version in the same entry on f-droid? now there are two when you search... and someone with the old version will not be notified that a new version exists. |
On the technical side, i think this would require changing the app ID back to the ID of the original. I figured, as there's no official handover and a different ID, i'd treat it as a fork. Though i agree it would be good to link it to the old, i'm not sure how. |
I think that one here can be closed. The old version got a link/note to the new forked version and the old version probably will be archived on f-droid: https://gitlab.com/fdroid/fdroiddata/merge_requests/1081#note_2879087 |
I'll close it then, feel free it reopen if there's a need. |
The 5.2.1 version failed to build. |
Ah -- that's annoying. I don't recall adding the commit ID to the srclib. I Best, Matt On Fri, Dec 18, 2015 at 09:38:04am -0800, Reimar Döffinger wrote:
|
No hurry, and thanks. |
It would be great to see this happening :) |
@pizzamaker The app is available at f-droid since a few months: https://f-droid.org/repository/browse/?fdid=de.reimardoeffinger.quickdic |
Oh nice! Thanks |
The old QuickDic was in F-Droid... it would be nice to put this new app in F-Droid too!
The text was updated successfully, but these errors were encountered: