Open chill117 opened 5 years ago
Instructions for a merge request F-Droid-merge-request
The procedure for getting an app included to the F-Droid repository is described here. It reduced to two methods:
As the second one seems to be much more complicated -- requires the fdroid server instance, addressing of the issue with poorly supported cordova, etc.
I have now created a request for submission, so let's see what happens.
The inclusion to FDroid is prepared upon merging the required files in PR https://github.com/samotari/crypto-terminal/pull/341
So after discussing this issue with @chill117, we have got to a conclusion, that submitting all the files to the master
branch is not the best strategy. Instead we would like to generate and submit those files to a separate branch, e.g. fdroid
, that would be recreated and overwritten each time the master branch updates. For that we need:
cordova prepare
and adds them to the fdroid
branch and pushes it to the origin/fdroidThe new pull request is PR344
After the inclusion and each update of the master branch please run bash fdroid-prepare.sh
that creates a new branch fdroid
that will be pushed to the origin repository.
I think we will want to only update the fdroid branch when a release is created - this will ensure that the version available to fdroid users is always the latest stable version.
I'd think that update of the master branch is normally important enough (maybe only made together with a new release), but if not, then sure, it might be sufficient to update the fdroid
only when a new release is created.
Is that all that is needed? I will notify the fdroid maintainers after/if the PR is accepted.
Done! :1st_place_medal:
There seem to be a problem when trying to build as reported.
A problem occurred evaluating project ':app'.
> Could not read script '/home/pierre/www/crypto-terminal/platforms/android/phonegap-plugin-barcodescanner/cryptoterminal-barcodescanner.gradle' as it does not exist.
Do you have any ideas what could be the issue?
So there are some files missing in the fdroid branch that should have been generated by cordova prepare android
I think those are the following
cordova-android-support-gradle-release/cryptoterminal-cordova-android-support-gradle-release.gradle
phonegap-plugin-barcodescanner/cryptoterminal-barcodescanner.gradle
I have now updated ./scripts/fdroid-release.sh
PR, so hopefully they are added correctly (if not, then my guess would be that you have them installed somewhere else in the system -- so remove the system-wide installation and try again).
To verify that everything goes correctly for the inclusion to fdroid you can:
download gradle 4.2
unzip
cd in the directory where you unziped and run
GRADLE42=`pwd`/bin/gradle
then you can check that the following commands go through:
mkdir compile-ct
cd compile-ct
git clone https://github.com/samotari/crypto-terminal.git --branch fdroid
cd crypto-terminal/platforms/android/
$GRADLE42 build
the updated apk files are found from crypto-terminal/platforms/android/
as
$ find -iname \*.apk
./app/build/outputs/apk/debug/app-debug.apk
./app/build/outputs/apk/release/app-release-unsigned.apk
Re-opening this issue until the fdroid maintainers are able to run a successful build.
I added an npm task for testing the fdroid build in this project:
npm run test:fdroid
Notes:
platforms/android
directory for fdroid branch and tagsWill close this issue once I am able to create (successfully) another build for fdroid from a latest version and test the fdroid build myself.
The version in f-droid is old 1.5.0: https://f-droid.org/packages/com.github.samotari.cryptoterminal/
while the version in google-play is newer 1.6.0: https://play.google.com/store/apps/details?id=com.github.samotari.cryptoterminal
Hi!
I think that the reason why f-droid has the older version is that the fdroid
branch has not been updated. The commit in this branch has to be based on the latest tag but include the auxiliary files that are required by f-droid. I believe that @chill117 has made a npm task that makes it automatically.
For the future releases it could be made automatically using CI pipeline (github action) when a new version tag is published.