]>
glassweightruler.freedombox.rocks Git - waydroid.git/log
Азалия Смарагдова [Mon, 30 Jan 2023 13:16:42 +0000 (18:16 +0500)]
All AppArmor profiles have been switched to the "enforce" mode.
Rudra Saraswat [Sun, 19 Mar 2023 14:31:48 +0000 (20:01 +0530)]
Add X-WayDroid-App category to WayDroid desktop files (#810)
snoutie [Fri, 17 Mar 2023 19:08:51 +0000 (20:08 +0100)]
Add App Settings to .desktop file
This adds an option to open the App's Settings page to easily manage the app's permissions or to uninstall the app
Alessandro Astone [Fri, 10 Feb 2023 22:09:53 +0000 (23:09 +0100)]
CI: Add ubuntu lunar
Alessandro Astone [Wed, 8 Feb 2023 16:31:23 +0000 (17:31 +0100)]
debian: Upver to 1.4.0
Alessandro Astone [Wed, 8 Feb 2023 16:18:32 +0000 (17:18 +0100)]
Upver to 1.4.0
Alessandro Astone [Tue, 7 Feb 2023 13:33:27 +0000 (14:33 +0100)]
Add developer_name to appstream metadata
Jami Kettunen [Tue, 7 Feb 2023 02:57:49 +0000 (04:57 +0200)]
waydroid.app.install.desktop: Don't hardcode waydroid binary path
None of the other .desktop files do either, let's try to keep a unified
style.
Jami Kettunen [Tue, 7 Feb 2023 02:41:11 +0000 (04:41 +0200)]
Fix last hardcoded direct usages of AppIcon.png
Since
574405d it's additionally installed under a 512x512 XDG icon dir
just looking it up by "waydroid" should work.
Alessandro Astone [Mon, 6 Feb 2023 11:37:48 +0000 (12:37 +0100)]
Update github issue template
doomsdayrs [Thu, 2 Feb 2023 22:51:22 +0000 (17:51 -0500)]
Update appstream
The app stream file was not validated via appstream-glib.
This commit ensures that the appstream passes validation.
Jami Kettunen [Mon, 30 Jan 2023 00:19:28 +0000 (02:19 +0200)]
arch: Fallback to arm on weird arm64 kernels with 32-bit userspace
Typically armv8l should catch these, but it seems some Android
downstream kernels at least cheat and don't report the correct thing.
Alessandro Astone [Sun, 29 Jan 2023 21:41:36 +0000 (22:41 +0100)]
initializer: Restart container through DBus
Alessandro Astone [Sun, 29 Jan 2023 21:38:23 +0000 (22:38 +0100)]
lxc: Handle lxc-info failure
So that init/upgrade can go on and regenerate the lxc configs if
that's what's broken
Alessandro Astone [Sat, 28 Jan 2023 16:27:16 +0000 (17:27 +0100)]
Disable overlays if mounting fails once
This is not a critical feature.
Mo 森 [Mon, 28 Mar 2022 14:08:33 +0000 (21:08 +0700)]
packaging: install icons to xdg icons resource path, and get the .desktop file to use relative icon name
Alessandro Astone [Fri, 27 Jan 2023 16:20:38 +0000 (17:20 +0100)]
interfaces: Remove presence handler after use
Jami Kettunen [Fri, 27 Jan 2023 12:34:27 +0000 (14:34 +0200)]
images: Cleanup Waydroid Updater zips after extracting
These will take up quite a bit of space over time in
~/.local/share/waydroid/data/lineageos_updates/ and should be cleaned up
during the update process.
Alessandro Astone [Fri, 27 Jan 2023 11:36:51 +0000 (12:36 +0100)]
session: Provide waydroid.host_data_path prop
It is used by WaydroidUpdater app for IHardware::upgrade
It defaults to /var/lib/waydroid/data but we are not bind mounting
xdg data over /var/lib/waydroid/data anymore
Alessandro Astone [Thu, 26 Jan 2023 17:00:01 +0000 (18:00 +0100)]
user_manager: Fix app removal
Alessandro Astone [Thu, 26 Jan 2023 13:08:32 +0000 (14:08 +0100)]
Add apk mimetype handler
Alessandro Astone [Wed, 25 Jan 2023 16:08:00 +0000 (17:08 +0100)]
session: Provide waydroid.background_start bool
Can be used by hwcomposer for example to decide whether or not to
show the android bootanimation
Alessandro Astone [Tue, 24 Jan 2023 22:12:53 +0000 (23:12 +0100)]
interfaces: Fix ServiceManager race condition in clients
Alessandro Astone [Tue, 24 Jan 2023 21:24:07 +0000 (22:24 +0100)]
app_manager: Fix IPlatform error logging
Jami Kettunen [Mon, 23 Jan 2023 15:54:43 +0000 (17:54 +0200)]
container: Extend nfcd stop/start hacks to systemd
Toggling NFC on Ubuntu Touch 20.04 System Settings while Waydroid is
running breaks NFC for apps currently until another session is started.
Alessandro Astone [Sun, 22 Jan 2023 18:29:41 +0000 (19:29 +0100)]
lxc: Improve session config error message
Alessandro Astone [Sun, 22 Jan 2023 18:26:08 +0000 (19:26 +0100)]
container_manager: Mount rootfs last
If something else fails we won't have to unmount it
Alessandro Astone [Sun, 22 Jan 2023 15:42:06 +0000 (16:42 +0100)]
security: Verify session pid against DBus connection
Alessandro Astone [Sun, 22 Jan 2023 15:19:18 +0000 (16:19 +0100)]
upgrade: Remove session.cfg during 1.4.0 migration
Alessandro Astone [Sun, 22 Jan 2023 15:13:57 +0000 (16:13 +0100)]
upgrade: Fallback to stopping container manually
Alessandro Astone [Sun, 22 Jan 2023 14:30:49 +0000 (15:30 +0100)]
upgrade: Drop more privileges during 1.4.0 migration
Now that the container is properly stopped we can touch rootfs and
data too
Alessandro Astone [Sun, 22 Jan 2023 14:24:09 +0000 (15:24 +0100)]
upgrade: Restart container through DBus
Alessandro Astone [Sat, 21 Jan 2023 23:13:08 +0000 (00:13 +0100)]
lxc: Create session-specific mount entries
Closes: #704
Alessandro Astone [Sat, 21 Jan 2023 23:20:56 +0000 (00:20 +0100)]
fixup! security: Verify session user_id against DBus connection
Alessandro Astone [Sat, 21 Jan 2023 23:11:01 +0000 (00:11 +0100)]
session: Also log dbus connection exceptions
Alessandro Astone [Sat, 21 Jan 2023 23:08:45 +0000 (00:08 +0100)]
security: Verify session user_id against DBus connection
Alessandro Astone [Sat, 21 Jan 2023 15:40:35 +0000 (16:40 +0100)]
lxc: Attach with proper environment
Jami Kettunen [Fri, 20 Jan 2023 09:13:13 +0000 (11:13 +0200)]
version: Fix "NameError: name 're' is not defined"
Looks like the import was just forgotten.
Alessandro Astone [Fri, 20 Jan 2023 00:23:31 +0000 (01:23 +0100)]
session: Dump the full exception to log file when failed to start
Alessandro Astone [Fri, 20 Jan 2023 00:16:41 +0000 (01:16 +0100)]
version: Don't fail when uname contains only two numbers
Alessandro Astone [Thu, 19 Jan 2023 18:11:00 +0000 (19:11 +0100)]
mount: Only disable overlayfs xino on kernels that support it
GalaxySnail [Wed, 18 Jan 2023 10:38:17 +0000 (18:38 +0800)]
Use `command -v` instead of `which`
See: <https://hynek.me/til/which-not-posix/>
Alessandro Astone [Tue, 17 Jan 2023 22:11:05 +0000 (23:11 +0100)]
container: Allow stopping without killing the session deamon
Useful for restarting the container, e.g. with the following sequence:
session = DBusContainerService().GetSession()
DBusContainerService().Stop(False)
DBusContainerService().Start(session)
Jami Kettunen [Mon, 16 Jan 2023 13:08:45 +0000 (15:08 +0200)]
net: Don't fail start when already running
After
85843da (container: Make "waydroid-net.sh start" failure fatal)
this could result always failing to start unless you ran
"waydroid-net.sh stop" manually first; perhaps this should always be
stopped upon encountering errors?
Jami Kettunen [Sun, 15 Jan 2023 19:05:09 +0000 (21:05 +0200)]
container: Make "waydroid-net.sh start" failure fatal
Failing the network setup will in 99% of all cases cause the lxc-start
to fail due to the waydroid0 bridge not existing, so we might as well
fail fast instead of polluting the "waydroid log" and doing a futile
attempt at booting the LXC container.
Jami Kettunen [Tue, 3 Jan 2023 23:54:29 +0000 (01:54 +0200)]
lxc: Only add /dev/ashmem to config_nodes when it exists
This hasn't existed in mainline Linux kernels since v5.18 and trying to
always mount it regardless just adds to the noise in "waydroid log" in
most cases, so simply don't add it to config_nodes unless it actually
exists.
Silences the following:
lxc-start: waydroid: ../src/lxc/utils.c: safe_mount: 1221 No such file or directory - Failed to mount "/dev/ashmem" onto "/usr/lib/lxc/rootfs/dev/ashmem"
Jami Kettunen [Sun, 15 Jan 2023 04:26:10 +0000 (06:26 +0200)]
props: Drop unneeded ';' from end of return line
Jami Kettunen [Sun, 15 Jan 2023 04:24:44 +0000 (06:24 +0200)]
debian: Unify waydroid.postinst indentation
This tiny detail has bugged me for too long, let's just use tabs since
that's what the rest of the file was indented with anyway.
Jami Kettunen [Sun, 15 Jan 2023 04:17:23 +0000 (06:17 +0200)]
session: Add strict WAYLAND_DISPLAY validity checks
Enough with not checking we actually have a Wayland compositor around at
all: start requiring the WAYLAND_DISPLAY socket actually exists as an
absolute path or relatively under XDG_RUNTIME_DIR.
Additionally if WAYLAND_DISPLAY isn't an absolute path to the socket
(most setups) ensure XDG_RUNTIME_DIR is set and error with a typically
appropriate message.
Alessandro Astone [Sun, 15 Jan 2023 15:34:02 +0000 (16:34 +0100)]
Make session more resilient to start failures
Alessandro Astone [Mon, 9 Jan 2023 21:32:33 +0000 (22:32 +0100)]
Make overlays opt-out
Sebastian Krzyszkowiak [Thu, 10 Nov 2022 21:15:27 +0000 (22:15 +0100)]
Remove RW image overlay when upgrading images
Sebastian Krzyszkowiak [Thu, 10 Nov 2022 21:00:34 +0000 (22:00 +0100)]
Mount overlays on top of image mount points
This allows the user to make modifications to the images that may persist
between image upgrades.
For both the system and vendor image there's a set of two overlays.
One, specified in config as "overlay", is a read-only persistent overlay
meant for stuff like installing privileged apps that should persist.
Second one, specified as "overlay-rw", is a read-write overlay that
stores the changes made by the user in case they remount the mount point
in read-write mode. This one is meant to be removed when performing
image upgrade to not carry on potentially incompatible changes between
images.
Sebastian Krzyszkowiak [Thu, 10 Nov 2022 20:55:44 +0000 (21:55 +0100)]
helpers/mount: Add an option to mount even if mount point already exists
This is needed for mounting overlays on top of existing mount points.
Sebastian Krzyszkowiak [Thu, 10 Nov 2022 20:39:21 +0000 (21:39 +0100)]
helpers/mount: Allow to specify explicit mount type and options
Also, set mount option to ro right away instead of relying on remount.
Sebastian Krzyszkowiak [Wed, 2 Nov 2022 18:08:07 +0000 (19:08 +0100)]
helpers/mount: Check for failed umounts only umounting the whole list
Otherwise we raise bogus RuntimeErrors on paths with multiple mount points,
which may be desired - for example when using overlayfs.
Alessandro Astone [Thu, 10 Nov 2022 18:17:08 +0000 (19:17 +0100)]
gpu: Also mount card node
Necessary for minigbm_gbm_mesa
Zhao Zuohong [Fri, 6 Jan 2023 10:34:50 +0000 (18:34 +0800)]
Fix prop set command
Alessandro Astone [Thu, 5 Jan 2023 19:00:05 +0000 (20:00 +0100)]
tools: Allow prop commands while frozen
Alessandro Astone [Wed, 4 Jan 2023 14:03:09 +0000 (15:03 +0100)]
lxc: Workaround against lxc changing logfile permissions
Running lxc-start changes the permissions of stdout/stderr to 700.
The previous workaround of changing the permissions back after lxc-status
only worked because of the lxc-status loop in container_manager.start
Make it more generic by applying it to every caller of helpers.lxc.start
See: https://github.com/lxc/lxc/blob/
6564e6ccb22e6e3c6cf36e6ae3cb5d5f73122486 /src/lxc/utils.c#L1859
Alessandro Astone [Mon, 2 Jan 2023 18:16:27 +0000 (19:16 +0100)]
initializer: Require admin authentication for remote initialization with custom channels
Alessandro Astone [Thu, 29 Dec 2022 01:18:55 +0000 (02:18 +0100)]
tools: Remove umask 0
Try to remove old permissions on upgrade
Alessandro Astone [Wed, 28 Dec 2022 22:03:47 +0000 (23:03 +0100)]
app_manager: Allow install/remove/list while frozen
Alessandro Astone [Wed, 28 Dec 2022 22:19:58 +0000 (23:19 +0100)]
Makefile: Install dbus service
Optionally activate the systemd service
Alessandro Astone [Wed, 28 Dec 2022 15:52:25 +0000 (16:52 +0100)]
Move session IPC to dbus
Alessandro Astone [Mon, 26 Dec 2022 15:23:52 +0000 (16:23 +0100)]
initializer: Move triggers to dbus
Alessandro Astone [Mon, 2 Jan 2023 21:11:11 +0000 (22:11 +0100)]
lxc: Allow shell and logcat from frozen
Alessandro Astone [Sat, 31 Dec 2022 11:57:42 +0000 (12:57 +0100)]
lxc: Fixup apparmor detection
`aa-status --quiet` is not a valid flag, but it still returned 0
Alessandro Astone [Wed, 14 Dec 2022 13:56:05 +0000 (14:56 +0100)]
debian: Upver to 1.3.4
Alessandro Astone [Wed, 14 Dec 2022 13:55:53 +0000 (14:55 +0100)]
tools: Upver to 1.3.4
Alessandro Astone [Wed, 14 Dec 2022 13:25:17 +0000 (14:25 +0100)]
Revert "Mount proc with the hidepid=2 option"
We were implicitly using proc:mixed to mount /proc/sys as read-only.
Without the automount the whole /proc was mounted as read-write which
we want to avoid.
I'm unable to replicate the proc:mixed logic with lxc.mount.entry
so revert this change until a solution is found.
This reverts commit
f5543df68651277042b156f19f5b3804c297f2a7 .
Fixes: #642
Jami Kettunen [Tue, 13 Dec 2022 19:29:40 +0000 (21:29 +0200)]
session: warn about unset WAYLAND_DISPLAY instead of XDG_SESSION_TYPE
XDG_SESSION_TYPE isn't a reliable check for Wayland being present (e.g.
on Ubuntu Touch currently XDG_SESSION_TYPE is "mir" with WAYLAND_DISPLAY
set to "wayland-0" as it also provides Wayland windowing.
Also mention the behavior of defaulting WAYLAND_DISPLAY to "wayland-0"
in case it's not set.
Maxime Brunet [Sat, 10 Dec 2022 19:46:46 +0000 (11:46 -0800)]
fix(shell): allow command to have arguments
Alessandro Astone [Thu, 8 Dec 2022 18:30:43 +0000 (19:30 +0100)]
lxc: Mount /dev/shm which might host XDG_RUNTIME_DIR
Jami Kettunen [Wed, 7 Dec 2022 20:40:42 +0000 (22:40 +0200)]
net: Fix vnic name selection for LXC <=2
The "default to waydroid0" was broken as awk never returned a non-zero
exit code if the file exists but no match was found. Also account for
the key being named lxc.network.link on older LXC versions so one still
has the ability to have a flexible Waydroid network configuration.
Alessandro Astone [Wed, 7 Dec 2022 19:00:24 +0000 (20:00 +0100)]
lxc: Fixup LXC config versioning
What used to be called 'config_2' was actually meant to be used with
LXC 3.0 and later, so call it config_3 and fix the logic.
Also lxc.pty.max is an LXC 3.0 feature
Alessandro Astone [Mon, 28 Nov 2022 23:03:42 +0000 (00:03 +0100)]
clipboard: Return empty string if error
Instead of returning None, which becomes NULL in cython and gets
sent through binder to become null in java
Alessandro Astone [Mon, 21 Nov 2022 21:51:16 +0000 (22:51 +0100)]
apparmor: Remove unnecessary includes
chenxiex [Sat, 19 Nov 2022 07:43:10 +0000 (15:43 +0800)]
Update README.md
The image has been based on Android 11 since 2022.10.31 according to https://github.com/waydroid/waydroid/issues/390#issuecomment-
1296321188
Alessandro Astone [Fri, 18 Nov 2022 16:32:14 +0000 (17:32 +0100)]
lxc: Only enable apparmor if the profile is currently loaded
Alessandro Astone [Mon, 14 Nov 2022 22:10:08 +0000 (23:10 +0100)]
Change apparmor profile at runtime
Alessandro Astone [Mon, 14 Nov 2022 21:35:42 +0000 (22:35 +0100)]
Also support SUSE apparmor
Alessandro Astone [Sat, 12 Nov 2022 23:16:34 +0000 (00:16 +0100)]
debian: Install apparmor profiles
Alessandro Astone [Sat, 12 Nov 2022 22:07:06 +0000 (23:07 +0100)]
Makefile: Don't enable the apparmor profiles if packaging
Alessandro Astone [Sat, 12 Nov 2022 21:28:29 +0000 (22:28 +0100)]
Makefile: Install apparmor dir
Азалия Смарагдова [Sat, 12 Nov 2022 21:08:54 +0000 (02:08 +0500)]
* Makefile adjustments
* AppArmor profile texts have been moved into a dedicated directory
Азалия Смарагдова [Sat, 12 Nov 2022 19:07:46 +0000 (00:07 +0500)]
AppArmor policy setup has been moved to the Makefile
Азалия Смарагдова [Fri, 4 Nov 2022 11:33:28 +0000 (16:33 +0500)]
Policies have been adjusted for Android 11.
Азалия Смарагдова [Tue, 11 Oct 2022 14:33:25 +0000 (19:33 +0500)]
Temporarily switching all profiles to "complain" mode in order to work out policy mistakes.
Азалия Смарагдова [Tue, 11 Oct 2022 14:30:08 +0000 (19:30 +0500)]
Adding AppArmor profiles for the container.
Sebastian Krzyszkowiak [Wed, 2 Nov 2022 18:08:32 +0000 (19:08 +0100)]
desktop: Mark as compatible with mobile form factor
This allows environments like Phosh to consider Waydroid launchers as
mobile-compatible, so they get displayed in default app list when undocked.
Sebastian Krzyszkowiak [Fri, 30 Sep 2022 14:41:38 +0000 (16:41 +0200)]
hardware-manager: Optionally stop the session on suspend
This allows to use persist.waydroid.suspend as a way to automatically
stop the session after an inactivity timeout, as opposed to merely
freezing the container. Freeze still remains the default action.
To use it this way, add to waydroid.cfg:
suspend_action = stop
Alessandro Astone [Tue, 1 Nov 2022 00:03:51 +0000 (01:03 +0100)]
Enable OpenGL ES 3.1
Азалия Смарагдова [Tue, 11 Oct 2022 14:35:25 +0000 (19:35 +0500)]
Mount proc with the hidepid=2 option
Азалия Смарагдова [Tue, 11 Oct 2022 14:39:44 +0000 (19:39 +0500)]
Remove CAP_SYS_MODULE from the capability bounding set.
Alessandro Astone [Sat, 24 Sep 2022 10:43:44 +0000 (12:43 +0200)]
debian: Upver to 1.3.3
Alessandro Astone [Sat, 24 Sep 2022 10:37:35 +0000 (12:37 +0200)]
tools: Upver to 1.3.3
Alessandro Astone [Sun, 18 Sep 2022 22:10:20 +0000 (00:10 +0200)]
Configure multiple preinstalled images paths
Precedence:
/etc/waydroid-extra/images
/usr/share/waydroid-extra/images
Alessandro Astone [Thu, 22 Sep 2022 09:49:35 +0000 (11:49 +0200)]
lxc: Finer-grained config control
Split config files into snippets isolating new LXC features by version.
Move `seccomp.allow_nesting` to version 4 or higher.
NOTE: this currently assumes that new LXC versions will keep compatibility
with old config options. The only exception to this was LXC 1.x -> 2.x
Jami Kettunen [Sun, 18 Sep 2022 21:03:13 +0000 (00:03 +0300)]
Makefile: Install waydroid binary without relative symlink
This drops a build-time dependency on coreutils on Alpine Linux for
example without changing anything functionally.
Before: /usr/bin/waydroid: symbolic link to ../lib/waydroid/waydroid.py
After: /usr/bin/waydroid: symbolic link to /usr/lib/waydroid/waydroid.py