notesnook
notesnook copied to clipboard
F-Droid release
Have you guys thought about releasing the app on F-Droid for Android devices?
I don't think maintainer have anything that holds them back once they go open source.
This is only possible once we go open source this month. And we will be publishing there.
Will put on fdroid tomorrow 🚀 Notesnook is now opensource
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?
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.
@shuvashish76 the pick the build directly from github if I am not wrong.
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:).
Hey @IzzySoft all these will be removed in the next release 👍
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!
Hey @IzzySoft all these will be removed in the next release 👍
Hey @ammarahm-ed, any updates?
Hi, is there specific date when app will be avaliable at f-droid?
@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:
RFP: https://gitlab.com/fdroid/rfp/-/issues/2284
@shuvashish76 thanks for the RFP.
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.
Hey @IzzySoft I have added the metadata files to the main repo.
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 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
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.
I will post the above information under the RFP.
I just posted the info under RFP & my own .yml config that I have been trying to make work before sending a PR.
Live on F-Droid 🎉