I'm stuck trying to add an app to F-Droid


#1

Hi all, a long time ago I some how managed to get my BMI Calculator into the F-Droid store with some assistance. Now I’ve made a new app that I’ve been asked to add to F-Droid (I was fine with keeping things simple and just posting releases on Github honestly). I’ve read this FAQ post and tried to follow the instructions but got stuck… twice. I followed the Quickstart under ‘setting up fdroiddate for merge requests’ to the letter and ran into a python error, then I googled and saw someone saying they did sudo apt install fdroidserver so I did that and got down to sudo fdroid readmeta and got shown a lot of warnings about sudo.

Basically, can someone guide me throught getting my project onto F-Droid? I’m using Linux Mint 18.3.

If you’re reading this asking yourself how I made the app, I’ve put it down to blind luck :stuck_out_tongue:


#4

Here’s a possible (aka I tested it and it builds fine at least on my machine) metadata text:

Categories:Reading
License:CC0-1.0
Author Name:Paul Hill
Web Site:https://github.com/zikalify/StoicReading
Source Code:https://github.com/zikalify/StoicReading
Issue Tracker:https://github.com/zikalify/StoicReading/issues

Auto Name:Stoic Reading
Summary:Consolidation of many Stoic texts
Description:
Texts from Aurelius, Epictetus, Hierocles, and Rufus are available with plans to
add Seneca's letters and may add Juvenal's and Persius' Satires.
.

Repo Type:git
Repo:https://github.com/zikalify/StoicReading

Build:0.5,1
    commit=6d035f5d999e49a9a4c82530cd0d2ea5bb4be267
    gradle=yes
    output=app/build/outputs/apk/release/app-release-unsigned.apk

Auto Update Mode:Version %v
Update Check Mode:Tags ^[0-9.]+$
Current Version:0.5
Current Version Code:1

Some notes:

  • you modified version to 0.5 AFTER pushing the Tag as 0.5 hence you need to reference it by commit id
  • when you push a 0.6 Tag with updated versionName to 0.6 and versionCode to 2, you can say commit=0.6 (it’s on autoupdate mode so the metadata should increment without your intervention)
  • categories? As you see fit
  • license, so you say Public Domain, FSF says change it to CC0, and luckily SPDX (the license info used on F-Droid) has this as CC0-1.0, BUT it’s your work and I’m not a lawyer, do as you see fit ( ping @Bubu )
  • summary&description? As you see fit

I could open a Request For Packaging but maybe you want to test it too. If you want me to open it anyway do reply.

Cheers


#5

Thanks but I’m not that far through yet. I was literally having problems following the guide here https://gitlab.com/fdroid/fdroiddata/blob/master/CONTRIBUTING.md#merge-requests is it absolutely necessary for me to follow that guide? I never had to the last time I added an app to F-Droid?


#6

You’ll need to be more specifc in what problems you are facing. The guide seems to be roughly accurate.

One thing I’d recommend is installing fdroidserver tools from git (and using master) when working with the main fdroiddata repository.


#7

@Bubu Was pinging out more about the license :smiley:


#8

Hi your metadata thing was very helpful. I just did Make sure that fdroid lint app.id doesn’t report any warnings. If it does, fix them, and it’s coming back saying app.reading.stoic.stoicreading: Duplicate link in ‘Web Site’: https://github.com/zikalify/stoicreading, can I ignore this?

Here’s my metadata file atm, btw just decided to stick with GPL3+


#9

Here’s the output in the terminal Screenshot%20from%202018-06-08%2017-00-06


#10

How do I do the build too? It says “Test your build recipe with fdroid build -v -l app.id”

Screenshot%20from%202018-06-08%2017-02-52


#11

Only one metadata file allowed, you have 2 .txt files


#12

Made a bit of progress after deleting ‘.fdroid.keypass.txt’ (which automatically re-appears after I run the command), however now it’s having trouble running gradle clean. I googled the error code which led me to the installing server and repo docs page, it said I already had fdroidserver installed and then I followed instructions for getting Android SDK installed but still run into the gradle clean error.


#13

Maybe invalidate caches:
try File/Invalidates caches/Restart and Click on Invalidates caches & Restart button.


#14

Opened fdroiddata>build>app stoic reading in Android Studio and did what you said but it didn’t solve it.


#15

@zikalify, you’re using a very old version of fdroidserver. Get it from https://gitlab.com/fdroid/fdroidserver instead.


#16

Uninstall the package from Mint, and deleted fdroiddserver that I pulled from Gitlab before.
Then I ran the following as part of the quickstart guide:
git clone https://gitlab.com/fdroid/fdroidserver.git
export PATH="$PATH:$PWD/fdroidserver
Here’s the result:


#17

OK sorted that issue, also had to install YAML (maybe all this should be installed automatically with a script?)

After all that, I’m still getting the same error as before, and as you can see, gradle is there despite the error.


#18

fdroidserver does not use Gradle wrapper that apps provide. It expects Gradle to be in $PATH.

P.S. Please post error messages as text, screenshots are very difficult to read on phone-sized screens.


#19

Wahoo! I had to install gradle manually from their website, then move the Android SDK (which I think was setup funky on my system for some reason) to android-sdk-linux, then I had to install pip3, then get ruamel.yaml (did an upgrade of pip and it decided to break but luckily the following fixed it:
hash -r pip
hash -d pip
Next it says “Congratulations! You can now open a merge request to add your app.” How do I do this?

Lastly, do I have to go through this process every time I want to update my app or will F-Droid just keep a look out for new releases on my Github project page?

Thanks for the help. :slight_smile:


#20

Next it says “Congratulations! You can now open a merge request to add your app.” How do I do this?

https://docs.gitlab.com/ee/gitlab-basics/add-merge-request.html

F-Droid apps metadata is here: https://gitlab.com/fdroid/fdroiddata

Lastly, do I have to go through this process every time I want to update my app or will F-Droid just keep a look out for new releases on my Github project page?

F-Droid can grab new versions if you properly tag releases, bump version code and avoid dynamic calculations to generate versionCode or versionName. Otherwise someone will have to update metadata of your app manually.


#21

Thanks for the help guys, have opened merge request.