Subject: [bug#51737] [PATCH v3 1/8] gnu: Add linux-libre-waydroid.

From: Denis 'GNUtoo' Carikli <[email-masked]>
Date: Fri, 4 Nov 2022 13:26:52 +0100

On Fri, 4 Nov 2022 04:03:08 +0100
Denis 'GNUtoo' Carikli <[email-masked]> wrote:
> (1) Use GNU/Linux and Guix to make that FSDG compliant image.

I found projects that have test code for binder under GNU/Linux[1][2],
however it seems to require selinux.

For getting a shell, it uses lxc directly[3]:
> def shell(args):
>     if status(args) != "RUNNING":
>         logging.error("WayDroid container is {}".format(status(args)))
>         return
>     command = ["lxc-attach", "-P", tools.config.defaults["lxc"],
>                "-n", "waydroid", "--"]
>     if args.COMMAND:
>         command.append(args.COMMAND)
>     else:
>         command.append("/system/bin/sh")
>     subprocess.run(command, env={"PATH": os.environ['PATH'] +
> ":/system/bin:/vendor/bin"})

Though it uses Android specific paths. If we add a symlink from /bin/sh
to /system/bin/sh, it might work.

So it's probably not that hard to somehow generate an image where the
non-android specific functions could at least work for testing.

It might also be possible to use that as a starting point to later on
switch to Android images built with Guix.

As for building applications, beside the technical part that Julien is
working on as far as I understand, there is also the practical issue of
finding applications that are easy to review (without tons of
dependencies and so on) and that could work in Waydroid (Silence
requires a telephony stack to be useful, and Waydroid doesn't seem to
have one).

We started doing code review long time ago in Replicant[4] but I didn't
manage to complete a single review yet due to the lack of time.

References:
-----------
[1]https://github.com/hiking90/binder-linux
[2]https://github.com/hungys/binder-for-linux
[3]https://github.com/waydroid/waydroid/blob/main/tools/helpers/lxc.py
[4]https://redmine.replicant.us/projects/replicant/wiki/F-DroidAndApplications

Denis.