capod icon indicating copy to clipboard operation
capod copied to clipboard

Do you mind if I write a request to be added to F-Droid?

Open Artem13327 opened this issue 2 years ago β€’ 17 comments

Artem13327 avatar Sep 25 '22 11:09 Artem13327

I don't mind if there is no extra work for me.

Is this the difference between a 3rd party repo and "the default" f-droid repo?

We already have this: https://apt.izzysoft.de/fdroid/index/apk/eu.darken.capod

/cc @IzzySoft

d4rken avatar Sep 25 '22 20:09 d4rken

Is crowdin-cli.jar needed to build?

What to specify in the field developer and developer mail?

Artem13327 avatar Sep 26 '22 07:09 Artem13327

Is crowdin-cli.jar needed to build?

No, it's for synchronizing translations.

What to specify in the field developer

darken or Matthias Urhahn

and developer mail?

if it's for admin stuff [email protected] if it's for users [email protected] but f-droid users who have issues should go on GitHub, not email me :sweat_smile:.

d4rken avatar Sep 26 '22 11:09 d4rken

It is also desirable to tell the site of the developer

Artem13327 avatar Sep 27 '22 07:09 Artem13327

AuthorName: Matthias Urhahn
AuthorEmail: [email protected]
AuthorWebSite: https://darken.eu
Donate: https://github.com/sponsors/d4rken

SourceCode: https://github.com/d4rken-org/capod
IssueTracker: https://github.com/d4rken-org/capod/issues
Changelog: https://github.com/d4rken-org/capod/releases

d4rken avatar Sep 27 '22 09:09 d4rken

@d4rken halp https://gitlab.com/fdroid/rfp/-/issues/2222#note_1116255404

licaon-kter avatar Sep 27 '22 14:09 licaon-kter

@d4rken halp https://gitlab.com/fdroid/rfp/-/issues/2222#note_1116255404

I replied there.

I don't mind if there is no extra work for me.

This already seems to have failed :frowning:

d4rken avatar Sep 27 '22 15:09 d4rken

This already seems to have failed 😦 πŸ˜…

Artem13327 avatar Sep 27 '22 19:09 Artem13327

Is this the difference between a 3rd party repo and "the default" f-droid repo?

The F-Droid.org repo is more trusted than mine, for good reasons (which doesn't mean my repo is not trustworthy – but more eyes looking on it plus reproducing the build, thus making sure the APK really corresponds to the source etc is something I cannot do alone :wink: So the F-Droid.org repo is the higher goal you are suggested/recommended to aim at – while of course your app is welcome to stay with my repo if you prefer. For some rough comparison, take a look here.

IzzySoft avatar Sep 30 '22 07:09 IzzySoft

There currently is no release to download in fdroid. I cannot download this app other than manually downloading github releases.

Donkey-Doug avatar Oct 03 '22 11:10 Donkey-Doug

@Donkey-Doug you've seen already that https://gitlab.com/fdroid/rfp/-/issues/2222#note_1116255404 is still open and not merged, right?

licaon-kter avatar Oct 03 '22 11:10 licaon-kter

For some reason IzzyOnDroid version doesn't install, it requires android.hardware.type.watch.

the4anoni avatar Oct 21 '22 10:10 the4anoni

@the4anoni think it's: https://gitlab.com/fdroid/fdroidclient/-/issues/2430 ;(

licaon-kter avatar Oct 21 '22 10:10 licaon-kter

@the4anoni think it's: https://gitlab.com/fdroid/fdroidclient/-/issues/2430 ;(

It actually doesn't install directly from APK.

the4anoni avatar Oct 21 '22 11:10 the4anoni

Uh-Oh… Fixed. My updater had grabbed the wrong APK. When I added the app to my repo, there was just a single APK available at each release. Since v2, there are 2 of them attached to releases/: one is WEAROS and the other not. The WEAROS one requires android.hardware.type.watch, the other does not. I've just told my updater to ignore the WEAROS one and replaced the latest release.

@the4anoni please try again after the next sync today at around 6 pm UTC.

@licaon-kter maybe our recipe needs an update then as well, so we (also) build the other one?

IzzySoft avatar Oct 21 '22 11:10 IzzySoft

@IzzySoft we're not there yet, still waiting for the devs about other issues, afaik

licaon-kter avatar Oct 21 '22 11:10 licaon-kter

Uh-Oh… Fixed. My updater had grabbed the wrong APK. When I added the app to my repo, there was just a single APK available at each release. Since v2, there are 2 of them attached to releases/: one is WEAROS and the other not. The WEAROS one requires android.hardware.type.watch, the other does not. I've just told my updater to ignore the WEAROS one and replaced the latest release.

@the4anoni please try again after the next sync today at around 6 pm UTC.

@licaon-kter maybe our recipe needs an update then as well, so we (also) build the other one?

Now it works as it should :)

the4anoni avatar Oct 22 '22 13:10 the4anoni

Alright, we now have a release script. Thanks to some nice scripting work by @jv-k, I had something to start from, my bash isn't great :face_exhaling:. It bumps the version, writes it to all necessary places, creates a VERSION file that F-Droid can hopefully be setup to parse, and then tags the commit and pushes it.

./release.sh -b -p origin  

Option set: Disable committing to new branch.

Option set: Pushing to <origin>, as the last action in this script.

Current version from <VERSION> file: 2.2.1-rc0

Enter a new version number [2.2.1-rc0]: 

Parsing 2.2.1-rc0

βœ…  Successfully parsed 2.2.1-rc0 to 2.2.1-rc0
V_MAJOR=2
V_MINOR=2
V_PATCH=1
V_BUILD_TYPE=rc
V_BUILD_COUNTER=0
Setting version to [2.2.1-rc1 (20201010)] ....

––––––

Parsing version.properties:

Found major, replacing: project.versioning.major=2 -> project.versioning.major=2
Found minor, replacing: project.versioning.minor=2 -> project.versioning.minor=2
Found patch, replacing: project.versioning.patch=1 -> project.versioning.patch=1
Found build, replacing: project.versioning.build=0 -> project.versioning.build=1

βœ… Updated [version.properties] file

βœ… Updated [VERSION] file

Committing...

βœ… [main 63f37e5] Release: 2.2.1-rc1
 2 files changed, 2 insertions(+), 2 deletions(-)

βœ… Added GIT tag

Pushing files + tags to <origin>...

βœ… To github.com:d4rken-org/capod.git
 * [new tag]         v2.2.1-rc1 -> v2.2.1-rc1
To github.com:d4rken-org/capod.git
   01ea08a..63f37e5  main -> main

––––––

βœ… Bumped 2.2.1-rc0 –> 2.2.1-rc1

Done πŸ‘‹πŸ»

d4rken avatar Oct 27 '22 15:10 d4rken

I recommend using ver-bump as a globally installed package, it's superior to that gist that I wrote πŸ™ŒπŸΌ

jv-k avatar Nov 14 '22 00:11 jv-k

I recommend using ver-bump as a globally installed package, it's superior to that gist that I wrote πŸ™ŒπŸΌ

I'd still have to modify it too, to fit this use-case. I don't have a package.json that I need to bump but a custom gradle properties file.

d4rken avatar Nov 14 '22 10:11 d4rken

...
> Task :app:packageFossRelease

> Task :app:bugsnagReleaseFoss-releaseTask FAILED
WARNING:API 'ApkVariantOutput.getVersionCodeOverride()' is obsolete and has been replaced with 'VariantOutput.versionCode()'.
It will be removed in version 7.0 of the Android Gradle plugin.
Gradle Properties must be used to change Variant information.
For more information, see https://d.android.com/r/tools/use-properties.
To determine what is calling ApkVariantOutput.getVersionCodeOverride(), use -Pandroid.debug.obsoleteApi=true on the command line to display more information.
WARNING:API 'ApkVariantOutput.getVersionNameOverride()' is obsolete and has been replaced with 'VariantOutput.versionName()'.
It will be removed in version 7.0 of the Android Gradle plugin.
Gradle Properties must be used to change Variant information.
For more information, see https://d.android.com/r/tools/use-properties.
To determine what is calling ApkVariantOutput.getVersionNameOverride(), use -Pandroid.debug.obsoleteApi=true on the command line to display more information.
Bugsnag: Uploading to Releases API
{"errors":["API key not recognised: deadbeef"],"status":"error"}

> Task :app:createFossReleaseApkListingFileRedirect

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:bugsnagReleaseFoss-releaseTask'.
> java.util.concurrent.ExecutionException: java.lang.IllegalStateException: Bugsnag request failed to complete

What's the plan with bugsnag?

Recipe:

  - versionName: 2.7.2-rc0                                                                                                                   
    versionCode: 20702000                                                                                                                    
    commit: 48fd3543e3ca947c06a9b5e805dfeed051538678                                                                                         
    subdir: app                                                                                                                              
    gradle:                                                                                                                                  
      - foss                                                                                                                                 
    rm:                                                                                                                                      
      - crowdin-cli.jar                                                                                                                      
    prebuild:                                                                                                                                
      - cp ../version.properties .                                                                                                           
      - sed -i -e 's/${bugsnagApiKey}/deadbeef/' ../app-wear/src/main/AndroidManifest.xml                                                    
        src/main/AndroidManifest.xml

licaon-kter avatar Jan 30 '23 14:01 licaon-kter

What's the plan with bugsnag?

Didn't I move that into an extra flavor? :thinking: I'll look into it, give me a few hours.

d4rken avatar Jan 31 '23 07:01 d4rken

@licaon-kter Thanks, can we recheck against this branch (#88): https://github.com/d4rken-org/capod/tree/foss_fdroid_tweaks

or should I create a release with this?

edit: nvm build fails :frowning_face: Gradle :angry: edi2: Okay pr checks pass :relaxed:

I don't mind if there is no extra work for me.

:smiling_face_with_tear: famous last words

d4rken avatar Jan 31 '23 15:01 d4rken

https://gitlab.com/fdroid/fdroiddata/-/merge_requests/12569

d4rken avatar Feb 10 '23 18:02 d4rken

@d4rken do you want me to keep it in my repo once it becomes available at F-Droid? I see you've mastered the "supreme discipline" and are going with reproducible builds, so there'd be no conflict: users can install from F-Droid (for added trust) and profit from faster updates via my repo if they wish.

IzzySoft avatar Feb 10 '23 22:02 IzzySoft

@d4rken do you want me to keep it in my repo once it becomes available at F-Droid? I see you've mastered the "supreme discipline" and are going with reproducible builds, so there'd be no conflict: users can install from F-Droid (for added trust) and profit from faster updates via my repo if they wish.

I'd be okay with keeping both if you think there is benefit. Your solution was very low maintenance so far for me ☺️.

Not sure what I did do for reproducible builds, but it did require quite some patience to get it all to work in the end πŸ˜….

Thanks to @licaon-kter who helped me along πŸ₯².

d4rken avatar Feb 11 '23 09:02 d4rken

I'd be okay with keeping both if you think there is benefit. Your solution was very low maintenance so far for me :relaxed:.

Glad to read it was easy going – and marked for keep. Once it shows up at F-Droid, on my repo's website it will have the hint of being available in both places.

And yes, sometimes RB works out-of-the-box, at other times it needs some tweaking. Luckily the cases we cannot get it working and have to give up are few.

IzzySoft avatar Feb 11 '23 12:02 IzzySoft

https://github.com/d4rken-org/capod#license

I wonder what's the license of those assets πŸ€” because F-Droid already use them. No license means F-Droid should add "Non-Free Assets" AntiFeature in my opinion.

shuvashish76 avatar Sep 04 '23 09:09 shuvashish76

@d4rken I'm afraid @shuvashish76 is right there and we'll have to add the NonFreeAssets then. Unless that section is meant as "not covered by GPL but …" – and the "but" is another libre license (e.g. CC-BY 4.0 or CC-BY-SA 4.0, see here for a list of options). Can you please clarify?

IzzySoft avatar Oct 23 '23 07:10 IzzySoft

Thanks for the ping @IzzySoft , sorry for missing your comment @shuvashish76.

The excluded assets are not available under another libre license at this time.

I'm not super well versed in the open-source license details, maybe you could educate me here. I've read conflicting opinions online about whether the GPL3 only covers source-code, not assets like icons, by default.

Looking at other projects on F-Droid without the NonFreeAssets tag, some projects specify and extra license for assets and some don't.

My intention is to disallow just copying the app 1:1 and e.g. just adding ads. To prevent bad actors from creating a look a-like to trick users.

I would be okay with adding the NonFreeAssets tag. I think the source-code is what is important for users to review, and to other developers to build upon. The icons are not that important to this cause.

Note that other projects of mine have similar license setups, so we will have to add the NonFreeAssets tag there too.

d4rken avatar Oct 23 '23 09:10 d4rken