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

Availability on F-Droid #1

Open
5 tasks done
sitiom opened this issue Jan 16, 2024 · 13 comments
Open
5 tasks done

Availability on F-Droid #1

sitiom opened this issue Jan 16, 2024 · 13 comments

Comments

@sitiom
Copy link

sitiom commented Jan 16, 2024

Describe your suggested feature

Would be nice to add this on F-droid like Tachiyomi or self-hosting an F-droid repo like Aniyomi

Other details

No response

Acknowledgements

  • I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
  • I have written a short but informative title.
  • If this is an issue with an official extension, I should be opening an issue in the extensions repository.
  • I have updated the app to version 0.15.3.
  • I will fill out all of the requested information in this form.
@halshar
Copy link

halshar commented Jan 16, 2024

i don't mind the updates being available late on fdroid but please add it and thank you :)

@JFronny
Copy link

JFronny commented Jan 16, 2024

FYI: F-Droid now encourages reproducible builds, which mean that the developer's official binary is hosted by them, with them providing additional assurance that something didn't sneak in on the dev's side (by comparing the binary to a build they do).
IIRC, not hosting official binaries was the reason F-Droid was not supported by Tachiyomi, but with this that is now essentially fixed.

@papjul
Copy link

papjul commented Jan 16, 2024

F-Droid does some patching (remove analytics and proprietary bits such as JUnrar or Google) which make binaries hosted on F-Droid differ from official ones. I'm pretty sure this would mean adding this patching to the push workflow. Basically, making 10 APK, 5 for the standard release and 5 other for a F-Droid flavor. Am I right? Would the project accept a pull request doing that?

@JFronny
Copy link

JFronny commented Jan 16, 2024

F-Droid does not, and can not, patch apps using reproducible builds, that's the whole point of them.
It is, however, correct, that F-Droid only allows FOSS software, and that using proprietary dependencies would prevent adding it to the repository in the first place. I was not aware of Mihon using play services, but those would have to be removed from the binary here or replaced with FOSS alternatives to make it available on F-Droid.
At least that is what I gather from other cases of apps getting on F-Droid.

@papjul
Copy link

papjul commented Jan 16, 2024

I was not aware of Mihon using play services, but those would have to be removed from the binary here or replaced with FOSS alternatives to make it available on F-Droid

The patching is more large than just Play Services.

F-Droid does not, and can not, patch apps using reproducible builds

You're saying that apps cannot be patched on both sides, only on GitHub side, is that correct? What's the technical limit that prevent F-Droid from patching when they sign APK themselves, but not when they generate a reproducible APK to compare with? Is it just not implemented yet?

Unless you're saying that if Mihon maintainers offer a F-Droid flavor, they wouldn't be valid for F-Droid inclusion, because maintainers also make a standard flavor available for the same app with the same key?

@JFronny
Copy link

JFronny commented Jan 16, 2024

With reproducible builds, the application author's build is pushed to the repo, not the one F-Droid built. The F-Droid build is only used to verify that the official build matches the sources. This means F-Droid cannot modify the binary because they don't hold the key, which is the whole point of reproducible builds, since that means two sources verify it is actually built from the source code and not just one.

@AntsyLich
Copy link
Member

I'll rather maintain one source of truth (GitHub). The Tachiyomi build wasn't officially maintained either.

@AntsyLich AntsyLich closed this as not planned Won't fix, can't repro, duplicate, stale Jan 16, 2024
@papjul
Copy link

papjul commented Jan 16, 2024

So if the "The F-Droid build that is only used to verify that the official build matches the sources" is patched at build time, and official build is also patched at build time, that makes both of them reproducible, that's what I'm not understanding

@BrutuZ BrutuZ mentioned this issue Feb 4, 2024
4 tasks
@Efreak
Copy link

Efreak commented Feb 7, 2024

Self-hosting an fdroid repo can be done by a github action. I used to run such an action myself, however I archived it because it stopped working due to (iirc) a package no longer being installed/installable via apt for the action. This is probably fixable somehow, I never actually investigated it.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 25, 2024
@mihonapp mihonapp unlocked this conversation Aug 20, 2024
@AntsyLich AntsyLich reopened this Aug 20, 2024
@AntsyLich
Copy link
Member

AntsyLich commented Aug 20, 2024

Was giving this a consideration again and 2 thing still keeps my answer a no

  1. For split abis f-droid requires version codes to be different which in turn will mess up the in app migrations.
  2. I see nothing about letting the apps keep their own in app updater which leads me to believe that it is not allowed. Given I want users to be up to date this is also a negative for me.

@AntsyLich AntsyLich closed this as not planned Won't fix, can't repro, duplicate, stale Aug 20, 2024
@papjul
Copy link

papjul commented Aug 20, 2024

  1. Tachiyomi had the same migration logic, so I believe F-Droid default repo delivered only the universal build, which is fine
  2. Self-update is possible as long as your build is reproducible (which will ensure both F-Droid default repo and you uses the same signature)

@AntsyLich
Copy link
Member

  1. The universal apk is a whooping 50mb file. While small to many it's still a huge file,

@papjul
Copy link

papjul commented Aug 20, 2024

For most phones, it will be fine (as it was with Tachiyomi?), especially now that the min SDK is 26 which should limit to phones with bigger storage.

If you believe it is an important matter, you can still add to the Fastlane description something like "For phones with limited storage, smaller individual split APKs are only available from the GitHub page".

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 23, 2024
@AntsyLich AntsyLich reopened this Aug 23, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants