On Fri, 20 Aug 2021 22:04:29 +0200
Denis 'GNUtoo' Carikli via Replicant <replicant@osuosl.org> wrote:
> If we assume that:
> [...]
> - There is a free Android SDK that can build the application. We still
>   need to look at the SDKs from the android-rebuilds project to see if
>   it works and if it is fully free. Otherwise Replicant 4.2 had an SDK
>   that can probably still be used to build some of the applications.

Looks like you forgot to mention the android-sdk from Debian/Trisquel:

> - All that runs on a self-hosted FSDG distribution (like Trisquel or
>   Parabola).
> 
> If we manage to manually build the application, would it be ok to
> point to the apk of the application if it was not built in the same
> way?
> 
> If we use fdroidserver[6] from Guix, along with a free software
> Android SDK to build the application, would it be ok to point to the
> f-droid apk?
> 
> These APKs need to be signed to be valid. If you build one you'd
> typically be the one who sign them. Anyone can sign apks and
> have them accepted by the device. The signature along with the
> application internal name (like fil.libre.repwifiapp) gives access to
> the application internal data. So if you update the application, if
> the updated version is still using the same name and is signed by the
> same key, then it gets access to its data.
> 
> This is a consequence of the Android security model which is
> meant to enable nonfree software even has from time to time malicious
> software in its repositories (like Google play).
> 
> The consequence is that people tend to want to use APKs that are
> maintained by some upstream (like f-droid) to make sure that the
> update still has access to the application data.
> 
> Otherwise you will need to uninstall the application and install one
> which is signed with another key and the data will be lost in the
> process, or find a way to transfer the data somehow. It might be
> possible with some Android backup permissions or with adb backup, and
> it's possible if you have root but it's still very complex to do.
> 
> The next issue would be to understand what to do if an application
> uses Maven Central.
> 
> As I understand most packages distributed through maven central are
> binaries and as far as I understand no one managed yet to find a way
> to automatically retrieve corresponding source code from a maven
> central package[7].
> 
> So as I understand, using an apk built with maven central would be a
> no go here if the maven central package is binary-only because we
> wound't have a way to know if it corresponds to the official package
> source code if we find it.
> 
> And I guess that because of that we'd have to either build these
> applications without maven central and only the apks built in this way
> would be ok.
> 
> To do that we could either:
> - Build them ourselves locally and distribute that. The issue is that
>   the official APKs cound't be reused in this case.
> - Contribute to the various upstream projects, like the applications
>   projects or fdroiddata that have the packages definitions of
>   f-droid packages, and there, fix their build system not to use
>   maven central. This way we'd be able to reuse the APKs I guess.
> - Or teach Guix to build Android applications for Android (and
>   GNU/Linux too if possible) and package Android applications in Guix
>   and somehow build a repository of signed APKs from that or enable
>   users to more easily install such APKs somehow.
> 
> PS: The name of the gnu-linux-libre mailing list is misleading here as
>     someone confirmed to me that it was for (present or future) FSDG
>     distributions and that it was not in any way limited to GNU/Linux
>     or linux-libre. Here Replicant is an Android distribution, so it's
>     not GNU/Linux (its images probably contains 0 GNU software), and
> it doesn't even use linux-libre (we remove the nonfree firmwares but
>     we don't use linux-libre).
> 
> References:
> -----------
> [1]https://directory.fsf.org/wiki/Collection:Replicant
> [2]https://www.gnu.org/distros/free-system-distribution-guidelines.html
> [3]https://www.gnu.org/distros/free-non-gnu-distros.html
> [4]https://redmine.replicant.us/projects/replicant/wiki/F-DroidAndApplications
> [5]https://android-rebuilds.beuc.net/
> [6]https://guix.gnu.org/en/packages/fdroidserver-1.1.9/
> [7]https://lists.osuosl.org/pipermail/replicant/2021-July/003500.html
> 
> Denis.



-- 
website: https://koszko.org/koszko.html
PGP: https://koszko.org/key.gpg
fingerprint: E972 7060 E3C5 637C 8A4F  4B42 4BC5 221C 5A79 FD1A

Attachment: pgpx7E8RxfhB2.pgp
Description: OpenPGP digital signature

_______________________________________________
Replicant mailing list
Replicant@osuosl.org
https://lists.osuosl.org/mailman/listinfo/replicant

Reply via email to