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

Please add it to F-Droid #8

Closed
ale5000-git opened this issue Nov 14, 2018 · 26 comments
Closed

Please add it to F-Droid #8

ale5000-git opened this issue Nov 14, 2018 · 26 comments
Labels

Comments

@ale5000-git
Copy link

ale5000-git commented Nov 14, 2018

Could you please add it to F-Droid?

F-Droid require that everything is compiled from sources and no pre-compiled binary is used.

@ale5000-git ale5000-git changed the title Add to F-Droid Please add it to F-Droid Nov 14, 2018
@stevesoltys
Copy link
Member

The main reason I haven't considered this is because I'm not aware of any way that the user can install F-Droid applications as system apps.

Do you know of any way to bundle system apps with whitelisted permissions / services in F-Droid?

@ale5000-git
Copy link
Author

ale5000-git commented Nov 14, 2018

See one example: F-Droid Privileged Extension

It has 2 separate packages:

In the OTA zip you can probably place the whitelist files.

@stevesoltys
Copy link
Member

Ah, I see. Alright, I will look into doing this when I get some time.

@stevesoltys
Copy link
Member

I think the first goal would be to have Travis build and sign OTA zips like Yalp Store does during releases.

I've opened #9 to track that task.

@ale5000-git
Copy link
Author

Look at my script to compress and sign an OTA zip: https://github.com/micro5k/microg-unofficial-installer/blob/master/build.sh
It use zipsigner (in java for all OS) to sign the zip that you can found here: https://github.com/micro5k/microg-unofficial-installer/tree/master/tools

You can run a shell script in Travis to automatize.

@beerisgood
Copy link

Any updates?

@stevesoltys
Copy link
Member

@beerisgood lots of features are being planned since the CalyxOS team is contributing significantly: https://gitlab.com/calyxos/calyxos/issues/21

I'll be holding off on this until we're ready for the next release.

@grote
Copy link
Collaborator

grote commented Jul 29, 2019

Unfortunately, it looks like a backup app not only needs the system-only backup permission, but also needs to access hidden APIs. Google has been cracking down on their usage and the only way I have found to still use them is to sign the backup application with the platform private key.

This means that simply flashing a backup app on the system partition won't work unless you have access to the private platform key used by your ROM. So making this available in F-Droid (at least for Android Pie and later) would be pointless.

@ildar
Copy link

ildar commented Jul 29, 2019 via email

@grote
Copy link
Collaborator

grote commented Jul 29, 2019

The app needs at least API version 26 and accessing the hidden APIs might still work up to API 27, but I am personally only targeting API 28 during development.

@ildar
Copy link

ildar commented Jul 29, 2019 via email

@stevesoltys
Copy link
Member

This app focuses on building against the latest API version and since this would only be possible for 26 and 27, I don't see a good enough reason to pursue it. The next breaking change upstream would also mean no updates for these users.

Closing for the above reasons.

@ale5000-git
Copy link
Author

@stevesoltys: You could have different builds with different min sdk versions, F-Droid allow it.

@thestinger
Copy link

That means continuing to develop, maintain and test it for old API versions and part of the idea behind the project is focusing on providing a robust and secure alternative to traditional backup mechanisms which largely implies running an up-to-date OS.

@ildar
Copy link

ildar commented Jul 29, 2019 via email

@thestinger
Copy link

Each major OS version receives 3 years of security updates, so 2 years after the next major release of the OS it isn't supported anymore and it's required to have moved over already.

In each major version, there are substantial privacy and security improvements. It has been drastically improving in these areas and that will continue. If you're using an older version, you have far less privacy and security at the OS level.

Similarly, in practice, devices are only supported with full security updates for a couple years. Once that stops, there is no way to feasibly provide them. It doesn't matter if people keep backporting the latest AOSP security patches or even major OS versions. Those aren't full security updates without updates to the firmware and device-specific code (kernel drivers, userspace drivers / services / libraries and so on) and migrating to newer supported LTS branches of the kernel.

In general, since this project is aiming to do things right with a focus on privacy/security, it doesn't fit with using an old version of the OS.

@thestinger
Copy link

Also, as I mentioned and @stevesoltys implied, continuing to support older API versions requires dedicating development, testing and debugging time to it. It will complicate the code and hold it back on newer versions by taking away resources from them along with the ability to modernize the code and approach. You can see this kind of damage impacting many other apps. The further back they try to support, the worse they are on an up-to-date version of the OS due to the resources spent on this and the baggage that comes with it holding back development.

People being stuck on older versions of the OS is a major problem. It's not a problem that this app is in a position to address and I don't think it makes much sense to go out of the way to support something so inherently problematic when the whole point of providing a robust, secure, modern and minimalist approach to this. It has a major incentive to quickly move over to new APIs offering better approaches even when it isn't immediately forced to do it. Achieving the goals this app has aren't easy. It's still not at a v1 release suitable for production release and trying to support old OS versions would just hold it back from getting there and moving on from there.

@ildar
Copy link

ildar commented Jul 29, 2019 via email

@IzzySoft
Copy link

IzzySoft commented Sep 4, 2020

the only way I have found to still use them is to sign the backup application with the platform private key.

Wouldn't that make it a candidate for inclusion/integration with the microG builds of LOS? Anything planned along that road? Updates then could ship via the microG F-Droid repo as well maybe.

@grote
Copy link
Collaborator

grote commented Sep 4, 2020

AFAIK LineageOS is currently looking into adding it, so microG builds of LOS would get it automatically.

@grote
Copy link
Collaborator

grote commented Sep 4, 2020

Also note that we re-opened #9 which could get added to F-Droid, if one wanted to.

@IzzySoft
Copy link

IzzySoft commented Sep 4, 2020

AFAIK LineageOS is currently looking into adding it, so microG builds of LOS would get it automatically.

Oh, that's excellent news, thanks! And yes, having updates even if LOS stops support for a device (I have one that started out with official support and now that's gone) would not really hurt…

@grote grote reopened this Sep 5, 2020
@grote
Copy link
Collaborator

grote commented Sep 5, 2020

having updates even if LOS stops support for a device (I have one that started out with official support and now that's gone) would not really hurt…

Somebody would just have to step up to package those OTA zip packages. I can do #58, but #9 and this ticket would have to be done by someone else.

@grote grote added help wanted and removed wontfix labels Sep 7, 2020
@chirayudesai
Copy link
Member

F-Droid isn't really the place to host OTA zips, and while it is used for the privext ota zip it isn't ideal and doesn't work on newer versions anyways due to data being encrypted.

Since this still needs to be a system app platform key or not, it may be signed by different keys depending on who bundles it, and we shouldn't put this into the main F-Droid repo as that wouldn't really be useful for anyone. What key would that app even be signed with?

@seniorm0ment
Copy link

seniorm0ment commented Mar 5, 2021

What about selfhosting a fdroid repo?

@breversa
Copy link

AFAIK LineageOS is currently looking into adding it, so microG builds of LOS would get it automatically.

Confirmed : https://lineageos.org/Changelog-25/ :-)

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

No branches or pull requests

10 participants