samotari / crypto-terminal

CryptoTerminal is an open-source terminal application with which merchants can accept in-person cryptocurrency payments.
https://samotari.github.io/cryptoterminal.eu/
GNU Affero General Public License v3.0
93 stars 57 forks source link

Add app to FDroid repository #334

Open chill117 opened 5 years ago

chill117 commented 5 years ago
karliatto commented 5 years ago

Instructions for a merge request F-Droid-merge-request

tomichec commented 5 years ago

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.

tomichec commented 5 years ago

The inclusion to FDroid is prepared upon merging the required files in PR https://github.com/samotari/crypto-terminal/pull/341

tomichec commented 5 years ago

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:

tomichec commented 5 years ago

The 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.

chill117 commented 5 years ago

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.

tomichec commented 5 years ago

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.

chill117 commented 5 years ago

Done! :1st_place_medal:

tomichec commented 5 years ago

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?

tomichec commented 5 years ago

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:

chill117 commented 5 years ago

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:

chill117 commented 4 years ago

Will close this issue once I am able to create (successfully) another build for fdroid from a latest version and test the fdroid build myself.

emanuelb commented 2 years ago

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

tomichec commented 1 year ago

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.