Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Publish on F-Droid #294

Open
linsui opened this issue Jan 28, 2022 · 16 comments
Open

Publish on F-Droid #294

linsui opened this issue Jan 28, 2022 · 16 comments
Assignees

Comments

@linsui
Copy link

linsui commented Jan 28, 2022

Could you please publish this app on F-Droid? Thanks!

@shuvashish76
Copy link

@williamchong
Copy link
Member

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

Any updates? @nwingt @williamchong

@linsui @shuvashish76 We certainly do not object to publishing on fdroid, but is there anything extra we need to do code-wise?
We are not familiar with how to publish on fdroid, and what kind of dev resources do we need

@linsui
Copy link
Author

linsui commented May 31, 2022

Thanks! How to build the Android app? Is gradle assembleRelease enough? Firebase and GMS are not FOSS, could you please add a flavor without them? It seems not difficult to patch them out on our side though.

@williamchong
Copy link
Member

We are using react-native so you might have to yarn build first, then gradle assembleRelease should do
However we are using firebase remote-config to fill in some critical config, we need to fill in some production default values first before it would work without firebase

@linsui
Copy link
Author

linsui commented May 31, 2022

However we are using firebase remote-config to fill in some critical config, we need to fill in some production default values first before it would work without firebase

Will you provide a flavor? Should I fill those values manully?

@williamchong
Copy link
Member

However we are using firebase remote-config to fill in some critical config, we need to fill in some production default values first before it would work without firebase

Will you provide a flavor? Should I fill those values manully?

We will fill in the default values in a new commit

@nwingt Do you have an idea if firebase-less flavor is do-able in some simple way? If not we will let fdroid patch it

@nwingt
Copy link
Member

nwingt commented Jun 10, 2022

However we are using firebase remote-config to fill in some critical config, we need to fill in some production default values first before it would work without firebase

Will you provide a flavor? Should I fill those values manully?

Please check out the feature/config branch and the README for configuration guide, I have provided necessary config in the .env file

@linsui
Copy link
Author

linsui commented Jun 10, 2022

It's more difficult than I expected to patch nonfree bits out. Could you please help? Thanks!

  1. Since 8.0.0, play service is optional in react-native-device-info, could you please update it?
  2. react-native-camera depends on GMS/Firebase, I need to remove it so there is no barcode scanning function.
  3. react-native-rate depends on play service so I need to remove it.
  4. Trackers are removed because firebase and fbsdk are nonfree. Sentry is FOSS but I don't know how to keep it.
  5. Though I can disable remote config, I still need to remove all related lines because I need to remove firebase. Is that possible to make the whole dep optional?

The current metadata is here.

@nwingt
Copy link
Member

nwingt commented Jun 13, 2022

For 1., I have tried to update it, but there is a syntax error when importing the module
image

For 2, it seems react-native-camera is not maintained anymore, we should find a replacement without GMS/Firebase

For 3-5, we can deploy a stub for all related services

@linsui
Copy link
Author

linsui commented Jun 13, 2022

For 1., I have tried to update it, but there is a syntax error when importing the module image

Looks like this is a known issue. react-native-device-info/react-native-device-info#1212

For 2, it seems react-native-camera is not maintained anymore, we should find a replacement without GMS/Firebase

Thanks! Before it's replaced (if there is a proper alternative), I can remove the scanning function.

For 3-5, we can deploy a stub for all related services

Thanks!

@linsui
Copy link
Author

linsui commented Jul 28, 2022

Finally I make more patches: https://gitlab.com/fdroid/fdroiddata/-/merge_requests/11460/diffs I update react-native-device-info/react-native-device-info#1212 and apply the patch suggested here. I thought a proper fix should be updating react native and babel but as a workaround could you please add the patch to patch-package?

I removed react-native-camera. I also removed react-native-iap due to it depends on billing client which is not FOSS.

The apk starts fine but I don't have an account to test it more. If my patches are OK to you I'll do more tests. Then I'll open a PR adding fastlane structure and merge the MR in fdroiddata.

@linsui
Copy link
Author

linsui commented Aug 7, 2022

@williamchong @nwingt Are above patches good to you?

@williamchong
Copy link
Member

@williamchong @nwingt Are above patches good to you?

Sorry for taking so long, we are occupied on a chain upgrade and related releases
for the patch-package, do you mean we would need to upgrade the device info here and do the patch in this repo too?

@linsui
Copy link
Author

linsui commented Aug 11, 2022

You can take those patches or we can just keep them downstream. I want to know if you are OK with such patches.

@williamchong
Copy link
Member

You can take those patches or we can just keep them downstream. I want to know if you are OK with such patches.

Yes the patches look good to me.
The only important feature removed is qrcode scanning, we will find a replacement for react-native-camera in later version

@linsui
Copy link
Author

linsui commented Aug 12, 2022

Will you merge the feature/config branch in the develop?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants