notesnook icon indicating copy to clipboard operation
notesnook copied to clipboard

F-Droid release

Open Mattrazol opened this issue 1 year ago • 2 comments

Have you guys thought about releasing the app on F-Droid for Android devices?

Mattrazol avatar Aug 09 '22 16:08 Mattrazol

I don't think maintainer have anything that holds them back once they go open source.

radiorambo avatar Aug 10 '22 03:08 radiorambo

This is only possible once we go open source this month. And we will be publishing there.

ammarahm-ed avatar Aug 10 '22 07:08 ammarahm-ed

Will put on fdroid tomorrow 🚀 Notesnook is now opensource

ammarahm-ed avatar Sep 01 '22 19:09 ammarahm-ed

Now live on IzzyOnDroid: https://apt.izzysoft.de/fdroid/index/apk/com.streetwriters.notesnook

Offending libs:
---------------
* BillingClient (/com/android/billingclient): NonFreeDep,NonFreeNet
* Firebase Data Transport (/com/google/android/datatransport): NonFreeNet
* Google Mobile Services (/com/google/android/gms): NonFreeDep
* Firebase (/com/google/firebase): NonFreeNet,NonFreeDep
* Firebase Installations (/com/google/firebase/installations): NonFreeNet
* Samsung Accessory SDK (/com/samsung/android/sdk): NonFreeDep

6 offenders.

Izzyrepo requirements:

it preferably has no proprietary components. While some of them might be acceptable, trackers (e.g. ads, analytics) are tolerated at best but only if there are no more than two such modules.

In this case it's 6, so thanks @IzzySoft for accepting it.

@ammarahm-ed Any possibility of keeping FOSS flavour without these libraries for F-Droid?

shuvashish76 avatar Sep 05 '22 20:09 shuvashish76

They will be removed in official fdroid release in a few days. Also i will add those patches to the github build which should remove all these deps. We don't use anything except google billing so it should be simple to remove it with a patch.

ammarahm-ed avatar Sep 05 '22 21:09 ammarahm-ed

@shuvashish76 the pick the build directly from github if I am not wrong.

ammarahm-ed avatar Sep 05 '22 21:09 ammarahm-ed

I just pick the APK provided, F-Droid builds from the source provided (and usually the latest tag). For selective things (like removing Google Billing for the F-Droid build but keep it for Play), build flavors can be used (and I'd be happy to pick a "free build" if available).

As for the number of offenders: several of them are connected. If you include billing, that will e.g. drag in GMS as it depends on it. If you include Firebase Installations, it will drag in Firebase itself. Which is why I closed both eyes and counted 4 instead of 6 (Samsung SDK, Firebase, GMS, Billing – lucky not including an explicit tracking lib) – but of course will appreciate if the numbers go down (ideally to 0 so I can remove both anti-features :wink:).

IzzySoft avatar Sep 06 '22 06:09 IzzySoft

Hey @IzzySoft all these will be removed in the next release 👍

ammarahm-ed avatar Sep 06 '22 07:09 ammarahm-ed

Then you'll be prepared for applying with F-Droid.org itself, and we probably meet there again (disclosure: I'm one of the maintainers). Looking forward to that and wish you best progress!

IzzySoft avatar Sep 06 '22 11:09 IzzySoft

Hey @IzzySoft all these will be removed in the next release 👍

Hey @ammarahm-ed, any updates?

subnut avatar Oct 07 '22 16:10 subnut

Hi, is there specific date when app will be avaliable at f-droid?

ghost avatar Oct 30 '22 13:10 ghost

@toshi2d probably on a day that ends with a "y" I guess :speak_no_evil: :dash:

Honestly: As pointed out above, it's currently available via my repo (which you can add to your F-Droid client). For its appearance on F-Droid.org, there first must be a request made there for inclusion, and I'm not aware that any such was made yet :wink:

IzzySoft avatar Oct 30 '22 17:10 IzzySoft

RFP: https://gitlab.com/fdroid/rfp/-/issues/2284

shuvashish76 avatar Dec 07 '22 01:12 shuvashish76

@shuvashish76 thanks for the RFP.

thecodrr avatar Dec 07 '22 05:12 thecodrr

Bot pointed out at the RFP that Fastlane structures are missing. If you want a starter package with what's set up in my repo, I can send it via PR, just let me know.

IzzySoft avatar Dec 07 '22 08:12 IzzySoft

Hey @IzzySoft I have added the metadata files to the main repo.

ammarahm-ed avatar Jan 11 '23 07:01 ammarahm-ed

Thanks, that looks very good! Only the default.txt in the changelogs won't have any effect AFAIK (must be <versionCode>.txt). One more thing is the app requesting com.android.vending.BILLING. Are you using Google's billing library? That would be a stopper, as it's proprietary.

IzzySoft avatar Jan 11 '23 08:01 IzzySoft

@IzzySoft i will add a <versionCode.txt> file although I am confused whether the version code there should match the one in build.gradle because the final version code is different for each arch build. For example the current versionCode in app/build.gradle is 2022 which then becomes the following on build:

https://github.com/streetwriters/notesnook/blob/c75f750215fda2c0570f4fa08aff436603c4daab/apps/mobile/native/android/app/build.gradle#L284

The com.android.vending.BILLING dependency comes from react-native-iap library which is ignored when building the app for github/fdroid release.

https://github.com/streetwriters/notesnook/blob/c75f750215fda2c0570f4fa08aff436603c4daab/apps/mobile/native/react-native.config.js#L12

Here's the build command I have been using for github release to remove all proprietary libraries:

https://github.com/streetwriters/notesnook/blob/c75f750215fda2c0570f4fa08aff436603c4daab/apps/mobile/package.json#L22

ammarahm-ed avatar Jan 11 '23 09:01 ammarahm-ed

I'm no Android dev and especially not really familiar with per-ABI builds, so I'm not 100% sure – but isn't there a versionCode/versionName you define somewhere and the per-ABI builds calculate from? I'd suggest you transfer those details to the RFP, so our packagers may be able to answer the question (and also have ideas to exclude the unused dependency in the build recipe). Fastlane was picked up fine according to the bot's report btw.

IzzySoft avatar Jan 11 '23 18:01 IzzySoft

I will post the above information under the RFP.

ammarahm-ed avatar Jan 11 '23 18:01 ammarahm-ed

I just posted the info under RFP & my own .yml config that I have been trying to make work before sending a PR.

ammarahm-ed avatar Jan 16 '23 13:01 ammarahm-ed

Live on F-Droid 🎉

shuvashish76 avatar May 27 '23 12:05 shuvashish76