From f4bfe2b9ccdfca0ca6a89b94bf4897f82035cbd5 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 22 Jul 2023 18:00:16 +0000 Subject: [PATCH 01/32] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- waydroid.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/waydroid.spec b/waydroid.spec index af784ae..729b289 100644 --- a/waydroid.spec +++ b/waydroid.spec @@ -6,7 +6,7 @@ Version: 1.4.1 %forgemeta Name: waydroid -Release: 1%{?dist} +Release: 2%{?dist} Summary: Container-based approach to boot a full Android system on GNU/Linux License: GPL-3.0-only URL: %{forgeurl} @@ -142,6 +142,9 @@ fi %{_datadir}/selinux/%{selinuxtype}/%{name}.pp %changelog +* Sat Jul 22 2023 Fedora Release Engineering - 1.4.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Tue Apr 25 2023 Alessandro Astone - 1.4.1-1 - Update to 1.4.1 From db51eca44a06eba39f1228588a5684eaf367f0b5 Mon Sep 17 00:00:00 2001 From: Alessandro Astone Date: Tue, 26 Sep 2023 14:15:21 +0200 Subject: [PATCH 02/32] Amend SELinux to coexist with snap --- waydroid.spec | 5 ++++- waydroid.te | 8 ++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/waydroid.spec b/waydroid.spec index 729b289..17edfd1 100644 --- a/waydroid.spec +++ b/waydroid.spec @@ -6,7 +6,7 @@ Version: 1.4.1 %forgemeta Name: waydroid -Release: 2%{?dist} +Release: 3%{?dist} Summary: Container-based approach to boot a full Android system on GNU/Linux License: GPL-3.0-only URL: %{forgeurl} @@ -142,6 +142,9 @@ fi %{_datadir}/selinux/%{selinuxtype}/%{name}.pp %changelog +* Tue Sep 26 2023 Alessandro Astone - 1.4.1-3 +- Amend SELinux to coexist with snap + * Sat Jul 22 2023 Fedora Release Engineering - 1.4.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild diff --git a/waydroid.te b/waydroid.te index 9d3a446..6de637d 100644 --- a/waydroid.te +++ b/waydroid.te @@ -151,3 +151,11 @@ policykit_dbus_chat(waydroid_t) unconfined_dbus_chat(waydroid_t) unconfined_signal(waydroid_t) allow waydroid_t self:capability kill; + +# Snap +optional_policy(` + require { + type snappy_var_lib_t; + } + dontaudit waydroid_t snappy_var_lib_t:dir search_dir_perms; +') From fd01c87c1ed5da2583249fdfc9ce8aa1a0ee8884 Mon Sep 17 00:00:00 2001 From: Alessandro Astone Date: Tue, 31 Oct 2023 17:15:59 +0100 Subject: [PATCH 03/32] Update to 1.4.2 --- .gitignore | 1 + sources | 2 +- waydroid.spec | 9 +++++++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 871b18a..fa57465 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /waydroid-1.3.4.tar.gz /waydroid-1.4.0.tar.gz /waydroid-1.4.1.tar.gz +/waydroid-1.4.2.tar.gz diff --git a/sources b/sources index c0abe7e..ff520d9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (waydroid-1.4.1.tar.gz) = c5050c03543623a14a0f1a7a0b320e2786d95c208945767cddff7c3b46486cc19406eba798fce2224a383b3fe587e2e1b1f91ebb75c1da08cb50d33e724b6fef +SHA512 (waydroid-1.4.2.tar.gz) = 0d3eba799895c853545b7087e3c07160d593d4a3166822039973669bc0ee93a8a6b9c394a7d982e57cfbbfbd8df1ba7991dd33b1b1517d79fcbe191d8a86890a diff --git a/waydroid.spec b/waydroid.spec index 17edfd1..45f0844 100644 --- a/waydroid.spec +++ b/waydroid.spec @@ -1,12 +1,12 @@ %global forgeurl https://github.com/waydroid/waydroid %global selinuxtype targeted -Version: 1.4.1 +Version: 1.4.2 %global tag %{version} %forgemeta Name: waydroid -Release: 3%{?dist} +Release: 1%{?dist} Summary: Container-based approach to boot a full Android system on GNU/Linux License: GPL-3.0-only URL: %{forgeurl} @@ -136,12 +136,17 @@ fi %{_datadir}/dbus-1/system-services/id.waydro.Container.service %{_datadir}/dbus-1/system.d/id.waydro.Container.conf %{_datadir}/polkit-1/actions/id.waydro.Container.policy +%{_datadir}/desktop-directories/waydroid.directory +%{_sysconfdir}/xdg/menus/applications-merged/waydroid.menu %files selinux %doc SELinux/%{name}.te %{_datadir}/selinux/%{selinuxtype}/%{name}.pp %changelog +* Tue Oct 31 2023 Alessandro Astone - 1.4.2-1 +- Update to 1.4.2 + * Tue Sep 26 2023 Alessandro Astone - 1.4.1-3 - Amend SELinux to coexist with snap From e41cac7a1bdedc7bf38b859fbf186cec7ef6063b Mon Sep 17 00:00:00 2001 From: huakim tylyktar Date: Fri, 19 Jan 2024 07:19:30 +0000 Subject: [PATCH 04/32] Update waydroid.spec --- waydroid.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/waydroid.spec b/waydroid.spec index 45f0844..52645c3 100644 --- a/waydroid.spec +++ b/waydroid.spec @@ -32,7 +32,8 @@ BuildRequires: systemd-rpm-macros BuildRequires: desktop-file-utils BuildRequires: libappstream-glib -Requires: python3-gbinder >= 1.1.0 +Requires: python3dist(gbinder-python) >= 1.1.0 +Requires: python3dist(dbus-python) Requires: python3-gobject Requires: lxc Requires: gtk3 From 796fd68b6cee05e8256bc24157243f6a29a38a5c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 27 Jan 2024 08:25:56 +0000 Subject: [PATCH 05/32] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- waydroid.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/waydroid.spec b/waydroid.spec index 52645c3..b5cddf2 100644 --- a/waydroid.spec +++ b/waydroid.spec @@ -6,7 +6,7 @@ Version: 1.4.2 %forgemeta Name: waydroid -Release: 1%{?dist} +Release: 2%{?dist} Summary: Container-based approach to boot a full Android system on GNU/Linux License: GPL-3.0-only URL: %{forgeurl} @@ -145,6 +145,9 @@ fi %{_datadir}/selinux/%{selinuxtype}/%{name}.pp %changelog +* Sat Jan 27 2024 Fedora Release Engineering - 1.4.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Tue Oct 31 2023 Alessandro Astone - 1.4.2-1 - Update to 1.4.2 From 37b02984281e4e47d86353b7577418b9b7a1e785 Mon Sep 17 00:00:00 2001 From: Alessandro Astone Date: Thu, 14 Mar 2024 15:59:21 +0100 Subject: [PATCH 06/32] Completely disable apparmor Fedora LXC is compiled without AppArmor support and fails to parse lxc.apparmor.profile config --- no-apparmor.patch | 37 +++++++++++++++++++++++++++++++++++++ waydroid.spec | 8 +++++++- 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 no-apparmor.patch diff --git a/no-apparmor.patch b/no-apparmor.patch new file mode 100644 index 0000000..130c910 --- /dev/null +++ b/no-apparmor.patch @@ -0,0 +1,37 @@ +diff --git a/data/configs/config_1 b/data/configs/config_1 +index 365cac30..45112766 100644 +--- a/data/configs/config_1 ++++ b/data/configs/config_1 +@@ -2,7 +2,6 @@ lxc.utsname = waydroid + + lxc.init_cmd = /init + +-lxc.aa_profile = unconfined + lxc.seccomp = /var/lib/waydroid/lxc/waydroid/waydroid.seccomp + + lxc.network.type = veth +diff --git a/data/configs/config_3 b/data/configs/config_3 +index 3c822264..7e5e44f8 100644 +--- a/data/configs/config_3 ++++ b/data/configs/config_3 +@@ -1,6 +1,5 @@ + lxc.uts.name = waydroid + +-lxc.apparmor.profile = unconfined + lxc.seccomp.profile = /var/lib/waydroid/lxc/waydroid/waydroid.seccomp + + lxc.no_new_privs = 1 +diff --git a/tools/helpers/lxc.py b/tools/helpers/lxc.py +index 6be7b7dd..9c8c9e55 100644 +--- a/tools/helpers/lxc.py ++++ b/tools/helpers/lxc.py +@@ -161,9 +161,6 @@ def set_lxc_config(args): + tools.helpers.run.user(args, command) + command = ["cp", "-fpr", seccomp_profile, lxc_path + "/waydroid.seccomp"] + tools.helpers.run.user(args, command) +- if get_apparmor_status(args): +- command = ["sed", "-i", "-E", "/lxc.aa_profile|lxc.apparmor.profile/ s/unconfined/{}/g".format(LXC_APPARMOR_PROFILE), lxc_path + "/config"] +- tools.helpers.run.user(args, command) + + nodes = generate_nodes_lxc_config(args) + config_nodes_tmp_path = args.work + "/config_nodes" diff --git a/waydroid.spec b/waydroid.spec index b5cddf2..36be098 100644 --- a/waydroid.spec +++ b/waydroid.spec @@ -6,7 +6,7 @@ Version: 1.4.2 %forgemeta Name: waydroid -Release: 2%{?dist} +Release: 3%{?dist} Summary: Container-based approach to boot a full Android system on GNU/Linux License: GPL-3.0-only URL: %{forgeurl} @@ -21,6 +21,9 @@ Patch0: setup-firewalld.patch # Mount the android rootfs with a default selinux context Patch1: mount-secontext.patch +# Fedora LXC is compiled without AppArmor support and fails to parse lxc.apparmor.profile config +Patch2: no-apparmor.patch + BuildArch: noarch BuildRequires: make @@ -145,6 +148,9 @@ fi %{_datadir}/selinux/%{selinuxtype}/%{name}.pp %changelog +* Thu Mar 14 2024 Alessandro Astone - 1.4.2-3 +- Completely disable apparmor + * Sat Jan 27 2024 Fedora Release Engineering - 1.4.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 345640179bf47972bad464595894e057c17697e0 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 20 Jul 2024 09:09:21 +0000 Subject: [PATCH 07/32] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- waydroid.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/waydroid.spec b/waydroid.spec index 36be098..a4d32ed 100644 --- a/waydroid.spec +++ b/waydroid.spec @@ -6,7 +6,7 @@ Version: 1.4.2 %forgemeta Name: waydroid -Release: 3%{?dist} +Release: 4%{?dist} Summary: Container-based approach to boot a full Android system on GNU/Linux License: GPL-3.0-only URL: %{forgeurl} @@ -148,6 +148,9 @@ fi %{_datadir}/selinux/%{selinuxtype}/%{name}.pp %changelog +* Sat Jul 20 2024 Fedora Release Engineering - 1.4.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Thu Mar 14 2024 Alessandro Astone - 1.4.2-3 - Completely disable apparmor From cc6fa1d54640e088413fb5d3d5bae00eb33b991b Mon Sep 17 00:00:00 2001 From: Alessandro Astone Date: Sat, 10 Aug 2024 16:34:40 +0200 Subject: [PATCH 08/32] 1.4.3 - new version (rhbz#2303618) - fix python 3.12 error (rhbz#2258411) - make it clearer that OTA channels must be provided to `waydroid init` --- .gitignore | 1 + sources | 2 +- waydroid.spec | 10 ++++++++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index fa57465..8573341 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /waydroid-1.4.0.tar.gz /waydroid-1.4.1.tar.gz /waydroid-1.4.2.tar.gz +/waydroid-1.4.3.tar.gz diff --git a/sources b/sources index ff520d9..2cb6266 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (waydroid-1.4.2.tar.gz) = 0d3eba799895c853545b7087e3c07160d593d4a3166822039973669bc0ee93a8a6b9c394a7d982e57cfbbfbd8df1ba7991dd33b1b1517d79fcbe191d8a86890a +SHA512 (waydroid-1.4.3.tar.gz) = e94edeca7097cb1572296d0b6e308483b1bd21e1bd50d9e6d2bd54d4ba75ffeb8bd4e1d1f8143fbcf49dddd30155da2e3c5a58240a85b159dae4e71985e547aa diff --git a/waydroid.spec b/waydroid.spec index a4d32ed..7336eba 100644 --- a/waydroid.spec +++ b/waydroid.spec @@ -1,12 +1,12 @@ %global forgeurl https://github.com/waydroid/waydroid %global selinuxtype targeted -Version: 1.4.2 +Version: 1.4.3 %global tag %{version} %forgemeta Name: waydroid -Release: 4%{?dist} +Release: 1%{?dist} Summary: Container-based approach to boot a full Android system on GNU/Linux License: GPL-3.0-only URL: %{forgeurl} @@ -72,6 +72,7 @@ cp %{S:6} SELinux/ # Remove link for ROM files sed -i -e '/"system_channel":/ s/: ".*"/: ""/' tools/config/__init__.py sed -i -e '/"vendor_channel":/ s/: ".*"/: ""/' tools/config/__init__.py +sed -i -e '/options: OTA channel URL/ s/default is Official OTA server/mandatory/' tools/helpers/arguments.py # Compile sepolicy cd SELinux %{__make} NAME=%{selinuxtype} -f /usr/share/selinux/devel/Makefile @@ -148,6 +149,11 @@ fi %{_datadir}/selinux/%{selinuxtype}/%{name}.pp %changelog +* Sat Aug 10 2024 Alessandro Astone - 1.4.3-1 +- new version (rhbz#2303618) +- fix python 3.12 error (rhbz#2258411) +- make it clearer that OTA channels must be provided to `waydroid init` + * Sat Jul 20 2024 Fedora Release Engineering - 1.4.2-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From d44010785947557b6504278c5d9ca551f2d5dd86 Mon Sep 17 00:00:00 2001 From: Alessandro Astone Date: Wed, 4 Sep 2024 23:44:03 +0200 Subject: [PATCH 09/32] Backport patch to fix initializing with preinstalled images --- ...c9703de873e4f477ebcdd3556ad163252115.patch | 105 ++++++++++++++++++ waydroid.spec | 9 +- 2 files changed, 113 insertions(+), 1 deletion(-) create mode 100644 5000c9703de873e4f477ebcdd3556ad163252115.patch diff --git a/5000c9703de873e4f477ebcdd3556ad163252115.patch b/5000c9703de873e4f477ebcdd3556ad163252115.patch new file mode 100644 index 0000000..ede20f5 --- /dev/null +++ b/5000c9703de873e4f477ebcdd3556ad163252115.patch @@ -0,0 +1,105 @@ +From 5000c9703de873e4f477ebcdd3556ad163252115 Mon Sep 17 00:00:00 2001 +From: Alessandro Astone +Date: Wed, 4 Sep 2024 23:27:58 +0200 +Subject: [PATCH] initializer: Refactor setup to better handle preinstalled + images + +Bail out early when using preinstalled images. +There's no reason to attempt fetching the OTA channels if we're +going to use preinstalled images. + +Fixes: #1550 +--- + tools/actions/initializer.py | 52 ++++++++++++++++++++---------------- + 1 file changed, 29 insertions(+), 23 deletions(-) + +diff --git a/tools/actions/initializer.py b/tools/actions/initializer.py +index 8f6c2c3..8725097 100644 +--- a/tools/actions/initializer.py ++++ b/tools/actions/initializer.py +@@ -35,20 +35,37 @@ def setup_config(args): + args.arch = helpers.arch.host() + cfg["waydroid"]["arch"] = args.arch + ++ args.vendor_type = get_vendor_type(args) ++ cfg["waydroid"]["vendor_type"] = args.vendor_type ++ ++ helpers.drivers.setupBinderNodes(args) ++ cfg["waydroid"]["binder"] = args.BINDER_DRIVER ++ cfg["waydroid"]["vndbinder"] = args.VNDBINDER_DRIVER ++ cfg["waydroid"]["hwbinder"] = args.HWBINDER_DRIVER ++ ++ has_preinstalled_images = False + preinstalled_images_paths = tools.config.defaults["preinstalled_images_paths"] +- if not args.images_path: +- for preinstalled_images in preinstalled_images_paths: +- if os.path.isdir(preinstalled_images): +- if os.path.isfile(preinstalled_images + "/system.img") and os.path.isfile(preinstalled_images + "/vendor.img"): +- args.images_path = preinstalled_images +- break +- else: +- logging.warning("Found directory {} but missing system or vendor image, ignoring...".format(preinstalled_images)) ++ for preinstalled_images in preinstalled_images_paths: ++ if os.path.isdir(preinstalled_images): ++ if os.path.isfile(preinstalled_images + "/system.img") and os.path.isfile(preinstalled_images + "/vendor.img"): ++ has_preinstalled_images = True ++ args.images_path = preinstalled_images ++ break ++ else: ++ logging.warning("Found directory {} but missing system or vendor image, ignoring...".format(preinstalled_images)) + + if not args.images_path: + args.images_path = tools.config.defaults["images_path"] + cfg["waydroid"]["images_path"] = args.images_path + ++ if has_preinstalled_images: ++ cfg["waydroid"]["system_ota"] = args.system_ota = "None" ++ cfg["waydroid"]["vendor_ota"] = args.vendor_ota = "None" ++ cfg["waydroid"]["system_datetime"] = tools.config.defaults["system_datetime"] ++ cfg["waydroid"]["vendor_datetime"] = tools.config.defaults["vendor_datetime"] ++ tools.config.save(args, cfg) ++ return True ++ + channels_cfg = tools.config.load_channels() + if not args.system_channel: + args.system_channel = channels_cfg["channels"]["system_channel"] +@@ -67,11 +84,8 @@ def setup_config(args): + "/waydroid_" + args.arch + "/" + args.system_type + ".json" + system_request = helpers.http.retrieve(args.system_ota) + if system_request[0] != 200: +- if args.images_path not in preinstalled_images_paths: +- raise ValueError( +- "Failed to get system OTA channel: {}, error: {}".format(args.system_ota, system_request[0])) +- else: +- args.system_ota = "None" ++ raise ValueError( ++ "Failed to get system OTA channel: {}, error: {}".format(args.system_ota, system_request[0])) + + device_codename = helpers.props.host_get(args, "ro.product.device") + args.vendor_type = None +@@ -85,12 +99,8 @@ def setup_config(args): + break + + if not args.vendor_type: +- if args.images_path not in preinstalled_images_paths: +- raise ValueError( +- "Failed to get vendor OTA channel: {}".format(vendor_ota)) +- else: +- args.vendor_ota = "None" +- args.vendor_type = get_vendor_type(args) ++ raise ValueError( ++ "Failed to get vendor OTA channel: {}".format(vendor_ota)) + + if args.system_ota != cfg["waydroid"].get("system_ota"): + cfg["waydroid"]["system_datetime"] = tools.config.defaults["system_datetime"] +@@ -100,10 +110,6 @@ def setup_config(args): + cfg["waydroid"]["vendor_type"] = args.vendor_type + cfg["waydroid"]["system_ota"] = args.system_ota + cfg["waydroid"]["vendor_ota"] = args.vendor_ota +- helpers.drivers.setupBinderNodes(args) +- cfg["waydroid"]["binder"] = args.BINDER_DRIVER +- cfg["waydroid"]["vndbinder"] = args.VNDBINDER_DRIVER +- cfg["waydroid"]["hwbinder"] = args.HWBINDER_DRIVER + tools.config.save(args, cfg) + return True + diff --git a/waydroid.spec b/waydroid.spec index 7336eba..0e61b79 100644 --- a/waydroid.spec +++ b/waydroid.spec @@ -6,7 +6,7 @@ Version: 1.4.3 %forgemeta Name: waydroid -Release: 1%{?dist} +Release: 2%{?dist} Summary: Container-based approach to boot a full Android system on GNU/Linux License: GPL-3.0-only URL: %{forgeurl} @@ -24,6 +24,10 @@ Patch1: mount-secontext.patch # Fedora LXC is compiled without AppArmor support and fails to parse lxc.apparmor.profile config Patch2: no-apparmor.patch +# https://github.com/waydroid/waydroid/issues/1550 +# initializer: Refactor setup to better handle preinstalled images +Patch3: https://github.com/waydroid/waydroid/commit/5000c9703de873e4f477ebcdd3556ad163252115.patch + BuildArch: noarch BuildRequires: make @@ -149,6 +153,9 @@ fi %{_datadir}/selinux/%{selinuxtype}/%{name}.pp %changelog +* Wed Sep 04 2024 Alessandro Astone - 1.4.3-2 +- Backport patch to fix initializing with preinstalled images + * Sat Aug 10 2024 Alessandro Astone - 1.4.3-1 - new version (rhbz#2303618) - fix python 3.12 error (rhbz#2258411) From c5ce48297e1f00d1e5caffa3e9128113dc808a46 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 19 Jan 2025 14:47:34 +0000 Subject: [PATCH 10/32] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- waydroid.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/waydroid.spec b/waydroid.spec index 0e61b79..51dcb73 100644 --- a/waydroid.spec +++ b/waydroid.spec @@ -6,7 +6,7 @@ Version: 1.4.3 %forgemeta Name: waydroid -Release: 2%{?dist} +Release: 3%{?dist} Summary: Container-based approach to boot a full Android system on GNU/Linux License: GPL-3.0-only URL: %{forgeurl} @@ -153,6 +153,9 @@ fi %{_datadir}/selinux/%{selinuxtype}/%{name}.pp %changelog +* Sun Jan 19 2025 Fedora Release Engineering - 1.4.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Wed Sep 04 2024 Alessandro Astone - 1.4.3-2 - Backport patch to fix initializing with preinstalled images From aa97e45eefff3dbf6dd574384676a6dbe0f3698c Mon Sep 17 00:00:00 2001 From: Alessandro Astone Date: Wed, 12 Mar 2025 19:29:21 +0100 Subject: [PATCH 11/32] 1.5.0 --- .gitignore | 1 + ...c9703de873e4f477ebcdd3556ad163252115.patch | 105 ------------------ sources | 2 +- waydroid.spec | 11 +- 4 files changed, 7 insertions(+), 112 deletions(-) delete mode 100644 5000c9703de873e4f477ebcdd3556ad163252115.patch diff --git a/.gitignore b/.gitignore index 8573341..8fefb66 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /waydroid-1.4.1.tar.gz /waydroid-1.4.2.tar.gz /waydroid-1.4.3.tar.gz +/waydroid-1.5.0.tar.gz diff --git a/5000c9703de873e4f477ebcdd3556ad163252115.patch b/5000c9703de873e4f477ebcdd3556ad163252115.patch deleted file mode 100644 index ede20f5..0000000 --- a/5000c9703de873e4f477ebcdd3556ad163252115.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 5000c9703de873e4f477ebcdd3556ad163252115 Mon Sep 17 00:00:00 2001 -From: Alessandro Astone -Date: Wed, 4 Sep 2024 23:27:58 +0200 -Subject: [PATCH] initializer: Refactor setup to better handle preinstalled - images - -Bail out early when using preinstalled images. -There's no reason to attempt fetching the OTA channels if we're -going to use preinstalled images. - -Fixes: #1550 ---- - tools/actions/initializer.py | 52 ++++++++++++++++++++---------------- - 1 file changed, 29 insertions(+), 23 deletions(-) - -diff --git a/tools/actions/initializer.py b/tools/actions/initializer.py -index 8f6c2c3..8725097 100644 ---- a/tools/actions/initializer.py -+++ b/tools/actions/initializer.py -@@ -35,20 +35,37 @@ def setup_config(args): - args.arch = helpers.arch.host() - cfg["waydroid"]["arch"] = args.arch - -+ args.vendor_type = get_vendor_type(args) -+ cfg["waydroid"]["vendor_type"] = args.vendor_type -+ -+ helpers.drivers.setupBinderNodes(args) -+ cfg["waydroid"]["binder"] = args.BINDER_DRIVER -+ cfg["waydroid"]["vndbinder"] = args.VNDBINDER_DRIVER -+ cfg["waydroid"]["hwbinder"] = args.HWBINDER_DRIVER -+ -+ has_preinstalled_images = False - preinstalled_images_paths = tools.config.defaults["preinstalled_images_paths"] -- if not args.images_path: -- for preinstalled_images in preinstalled_images_paths: -- if os.path.isdir(preinstalled_images): -- if os.path.isfile(preinstalled_images + "/system.img") and os.path.isfile(preinstalled_images + "/vendor.img"): -- args.images_path = preinstalled_images -- break -- else: -- logging.warning("Found directory {} but missing system or vendor image, ignoring...".format(preinstalled_images)) -+ for preinstalled_images in preinstalled_images_paths: -+ if os.path.isdir(preinstalled_images): -+ if os.path.isfile(preinstalled_images + "/system.img") and os.path.isfile(preinstalled_images + "/vendor.img"): -+ has_preinstalled_images = True -+ args.images_path = preinstalled_images -+ break -+ else: -+ logging.warning("Found directory {} but missing system or vendor image, ignoring...".format(preinstalled_images)) - - if not args.images_path: - args.images_path = tools.config.defaults["images_path"] - cfg["waydroid"]["images_path"] = args.images_path - -+ if has_preinstalled_images: -+ cfg["waydroid"]["system_ota"] = args.system_ota = "None" -+ cfg["waydroid"]["vendor_ota"] = args.vendor_ota = "None" -+ cfg["waydroid"]["system_datetime"] = tools.config.defaults["system_datetime"] -+ cfg["waydroid"]["vendor_datetime"] = tools.config.defaults["vendor_datetime"] -+ tools.config.save(args, cfg) -+ return True -+ - channels_cfg = tools.config.load_channels() - if not args.system_channel: - args.system_channel = channels_cfg["channels"]["system_channel"] -@@ -67,11 +84,8 @@ def setup_config(args): - "/waydroid_" + args.arch + "/" + args.system_type + ".json" - system_request = helpers.http.retrieve(args.system_ota) - if system_request[0] != 200: -- if args.images_path not in preinstalled_images_paths: -- raise ValueError( -- "Failed to get system OTA channel: {}, error: {}".format(args.system_ota, system_request[0])) -- else: -- args.system_ota = "None" -+ raise ValueError( -+ "Failed to get system OTA channel: {}, error: {}".format(args.system_ota, system_request[0])) - - device_codename = helpers.props.host_get(args, "ro.product.device") - args.vendor_type = None -@@ -85,12 +99,8 @@ def setup_config(args): - break - - if not args.vendor_type: -- if args.images_path not in preinstalled_images_paths: -- raise ValueError( -- "Failed to get vendor OTA channel: {}".format(vendor_ota)) -- else: -- args.vendor_ota = "None" -- args.vendor_type = get_vendor_type(args) -+ raise ValueError( -+ "Failed to get vendor OTA channel: {}".format(vendor_ota)) - - if args.system_ota != cfg["waydroid"].get("system_ota"): - cfg["waydroid"]["system_datetime"] = tools.config.defaults["system_datetime"] -@@ -100,10 +110,6 @@ def setup_config(args): - cfg["waydroid"]["vendor_type"] = args.vendor_type - cfg["waydroid"]["system_ota"] = args.system_ota - cfg["waydroid"]["vendor_ota"] = args.vendor_ota -- helpers.drivers.setupBinderNodes(args) -- cfg["waydroid"]["binder"] = args.BINDER_DRIVER -- cfg["waydroid"]["vndbinder"] = args.VNDBINDER_DRIVER -- cfg["waydroid"]["hwbinder"] = args.HWBINDER_DRIVER - tools.config.save(args, cfg) - return True - diff --git a/sources b/sources index 2cb6266..014bbf8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (waydroid-1.4.3.tar.gz) = e94edeca7097cb1572296d0b6e308483b1bd21e1bd50d9e6d2bd54d4ba75ffeb8bd4e1d1f8143fbcf49dddd30155da2e3c5a58240a85b159dae4e71985e547aa +SHA512 (waydroid-1.5.0.tar.gz) = f049180279c0377381159d4e7f169936dc74ab3b4ddb16c3d57ed8df75b5f592fed6edf39ae3b294fa42a54d3562180f6b569a575f32d3b29687837ac0ba6df5 diff --git a/waydroid.spec b/waydroid.spec index 51dcb73..51df60e 100644 --- a/waydroid.spec +++ b/waydroid.spec @@ -1,12 +1,12 @@ %global forgeurl https://github.com/waydroid/waydroid %global selinuxtype targeted -Version: 1.4.3 +Version: 1.5.0 %global tag %{version} %forgemeta Name: waydroid -Release: 3%{?dist} +Release: 1%{?dist} Summary: Container-based approach to boot a full Android system on GNU/Linux License: GPL-3.0-only URL: %{forgeurl} @@ -24,10 +24,6 @@ Patch1: mount-secontext.patch # Fedora LXC is compiled without AppArmor support and fails to parse lxc.apparmor.profile config Patch2: no-apparmor.patch -# https://github.com/waydroid/waydroid/issues/1550 -# initializer: Refactor setup to better handle preinstalled images -Patch3: https://github.com/waydroid/waydroid/commit/5000c9703de873e4f477ebcdd3556ad163252115.patch - BuildArch: noarch BuildRequires: make @@ -153,6 +149,9 @@ fi %{_datadir}/selinux/%{selinuxtype}/%{name}.pp %changelog +* Wed Mar 12 2025 Alessandro Astone - 1.5.0-1 +- new version + * Sun Jan 19 2025 Fedora Release Engineering - 1.4.3-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From e5997a9d50898e901f3b2109364ab2fc8c472a52 Mon Sep 17 00:00:00 2001 From: Alessandro Astone Date: Wed, 26 Mar 2025 19:56:50 +0100 Subject: [PATCH 12/32] 1.5.1 --- .gitignore | 1 + sources | 2 +- waydroid.spec | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 8fefb66..dea4157 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ /waydroid-1.4.2.tar.gz /waydroid-1.4.3.tar.gz /waydroid-1.5.0.tar.gz +/waydroid-1.5.1.tar.gz diff --git a/sources b/sources index 014bbf8..a315c19 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (waydroid-1.5.0.tar.gz) = f049180279c0377381159d4e7f169936dc74ab3b4ddb16c3d57ed8df75b5f592fed6edf39ae3b294fa42a54d3562180f6b569a575f32d3b29687837ac0ba6df5 +SHA512 (waydroid-1.5.1.tar.gz) = fde8c699fdd67d49ee355c96dbba5c94ce2061c280bb28533035982cd460335f93cd9350de90b525d286f72bd3e4bad73a341fca31909e9623553e9280fe7463 diff --git a/waydroid.spec b/waydroid.spec index 51df60e..c36a982 100644 --- a/waydroid.spec +++ b/waydroid.spec @@ -1,7 +1,7 @@ %global forgeurl https://github.com/waydroid/waydroid %global selinuxtype targeted -Version: 1.5.0 +Version: 1.5.1 %global tag %{version} %forgemeta @@ -149,6 +149,9 @@ fi %{_datadir}/selinux/%{selinuxtype}/%{name}.pp %changelog +* Wed Mar 26 2025 Alessandro Astone - 1.5.1-1 +- new version + * Wed Mar 12 2025 Alessandro Astone - 1.5.0-1 - new version From 3ee0ce212ce2407fd9ebbe678b346ce71041e642 Mon Sep 17 00:00:00 2001 From: Alessandro Astone Date: Tue, 1 Apr 2025 19:15:51 +0200 Subject: [PATCH 13/32] Add SELinux policy for /dev/dma_heap --- waydroid.spec | 5 ++++- waydroid.te | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/waydroid.spec b/waydroid.spec index c36a982..4cceba6 100644 --- a/waydroid.spec +++ b/waydroid.spec @@ -6,7 +6,7 @@ Version: 1.5.1 %forgemeta Name: waydroid -Release: 1%{?dist} +Release: 2%{?dist} Summary: Container-based approach to boot a full Android system on GNU/Linux License: GPL-3.0-only URL: %{forgeurl} @@ -149,6 +149,9 @@ fi %{_datadir}/selinux/%{selinuxtype}/%{name}.pp %changelog +* Tue Apr 01 2025 Alessandro Astone - 1.5.1-2 +- Add SELinux policy for /dev/dma_heap + * Wed Mar 26 2025 Alessandro Astone - 1.5.1-1 - new version diff --git a/waydroid.te b/waydroid.te index 6de637d..103c206 100644 --- a/waydroid.te +++ b/waydroid.te @@ -4,6 +4,7 @@ policy_module(waydroid, 1.0) require { type unconfined_t; type unconfined_service_t; + type dma_device_t; type binder_device_t; type binderfs_t; type abrt_t; @@ -117,6 +118,8 @@ dev_getattr_dri_dev(waydroid_t) dev_setattr_dri_dev(waydroid_t) dev_getattr_framebuffer_dev(waydroid_t) dev_setattr_framebuffer_dev(waydroid_t) +getattr_chr_files_pattern(waydroid_t, device_t, dma_device_t) +setattr_chr_files_pattern(waydroid_t, device_t, dma_device_t) allow waydroid_t self:capability fsetid; # Video From ee37db7ee1bcc7f015e2628d9464910beb59fdba Mon Sep 17 00:00:00 2001 From: Alessandro Astone Date: Sat, 5 Jul 2025 19:36:13 +0200 Subject: [PATCH 14/32] 1.5.4 --- .gitignore | 1 + sources | 2 +- waydroid.spec | 7 +++++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index dea4157..2ad54c7 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ /waydroid-1.4.3.tar.gz /waydroid-1.5.0.tar.gz /waydroid-1.5.1.tar.gz +/waydroid-1.5.4.tar.gz diff --git a/sources b/sources index a315c19..ce39beb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (waydroid-1.5.1.tar.gz) = fde8c699fdd67d49ee355c96dbba5c94ce2061c280bb28533035982cd460335f93cd9350de90b525d286f72bd3e4bad73a341fca31909e9623553e9280fe7463 +SHA512 (waydroid-1.5.4.tar.gz) = c6fc3860ed059676bf770b672be3df14b8e47b2a2b4a44e4d5672fedd3651959d7cb2b75fc34a7a037f3a770b3b82b78e12d0f3c9f3979ae821474eef4fad90c diff --git a/waydroid.spec b/waydroid.spec index 4cceba6..8cdbdc4 100644 --- a/waydroid.spec +++ b/waydroid.spec @@ -1,12 +1,12 @@ %global forgeurl https://github.com/waydroid/waydroid %global selinuxtype targeted -Version: 1.5.1 +Version: 1.5.4 %global tag %{version} %forgemeta Name: waydroid -Release: 2%{?dist} +Release: 1%{?dist} Summary: Container-based approach to boot a full Android system on GNU/Linux License: GPL-3.0-only URL: %{forgeurl} @@ -149,6 +149,9 @@ fi %{_datadir}/selinux/%{selinuxtype}/%{name}.pp %changelog +* Sat Jul 05 2025 Alessandro Astone - 1.5.4-1 +- new version + * Tue Apr 01 2025 Alessandro Astone - 1.5.1-2 - Add SELinux policy for /dev/dma_heap From 03ddd06cc58722a60fe485012f67bb5baa3e192f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 25 Jul 2025 20:18:27 +0000 Subject: [PATCH 15/32] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- waydroid.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/waydroid.spec b/waydroid.spec index 8cdbdc4..67c7dba 100644 --- a/waydroid.spec +++ b/waydroid.spec @@ -6,7 +6,7 @@ Version: 1.5.4 %forgemeta Name: waydroid -Release: 1%{?dist} +Release: 2%{?dist} Summary: Container-based approach to boot a full Android system on GNU/Linux License: GPL-3.0-only URL: %{forgeurl} @@ -149,6 +149,9 @@ fi %{_datadir}/selinux/%{selinuxtype}/%{name}.pp %changelog +* Fri Jul 25 2025 Fedora Release Engineering - 1.5.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Sat Jul 05 2025 Alessandro Astone - 1.5.4-1 - new version From 46893b79bf7a85344fe27be7eec5aca08ed2d362 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 15 Aug 2025 15:22:47 +0200 Subject: [PATCH 16/32] Rebuilt for Python 3.14.0rc2 bytecode --- waydroid.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/waydroid.spec b/waydroid.spec index 67c7dba..bab3a0f 100644 --- a/waydroid.spec +++ b/waydroid.spec @@ -6,7 +6,7 @@ Version: 1.5.4 %forgemeta Name: waydroid -Release: 2%{?dist} +Release: 3%{?dist} Summary: Container-based approach to boot a full Android system on GNU/Linux License: GPL-3.0-only URL: %{forgeurl} @@ -149,6 +149,9 @@ fi %{_datadir}/selinux/%{selinuxtype}/%{name}.pp %changelog +* Fri Aug 15 2025 Python Maint - 1.5.4-3 +- Rebuilt for Python 3.14.0rc2 bytecode + * Fri Jul 25 2025 Fedora Release Engineering - 1.5.4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From 975a692a071eb92412f6555ddd090b6022fbd7cf Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 19 Sep 2025 15:03:09 +0200 Subject: [PATCH 17/32] Rebuilt for Python 3.14.0rc3 bytecode --- waydroid.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/waydroid.spec b/waydroid.spec index bab3a0f..517bb40 100644 --- a/waydroid.spec +++ b/waydroid.spec @@ -6,7 +6,7 @@ Version: 1.5.4 %forgemeta Name: waydroid -Release: 3%{?dist} +Release: 4%{?dist} Summary: Container-based approach to boot a full Android system on GNU/Linux License: GPL-3.0-only URL: %{forgeurl} @@ -149,6 +149,9 @@ fi %{_datadir}/selinux/%{selinuxtype}/%{name}.pp %changelog +* Fri Sep 19 2025 Python Maint - 1.5.4-4 +- Rebuilt for Python 3.14.0rc3 bytecode + * Fri Aug 15 2025 Python Maint - 1.5.4-3 - Rebuilt for Python 3.14.0rc2 bytecode From ce65a56c6d7892553d2f51af76ed40803f157982 Mon Sep 17 00:00:00 2001 From: Alessandro Astone Date: Sat, 4 Oct 2025 19:21:55 +0200 Subject: [PATCH 18/32] Fix running the graphical initializer on Python3.14 https://bugzilla.redhat.com/show_bug.cgi?id=2394967 --- py3.14-multiprocessing-fork.patch | 37 +++++++++++++++++++++++++++++++ waydroid.spec | 8 ++++++- 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 py3.14-multiprocessing-fork.patch diff --git a/py3.14-multiprocessing-fork.patch b/py3.14-multiprocessing-fork.patch new file mode 100644 index 0000000..6a6be1f --- /dev/null +++ b/py3.14-multiprocessing-fork.patch @@ -0,0 +1,37 @@ +From a115d86aa3da6d4fc5e360e9d9fce8b8466be56f Mon Sep 17 00:00:00 2001 +From: Alessandro Astone +Date: Sat, 4 Oct 2025 19:16:54 +0200 +Subject: [PATCH] Explicitly use 'fork' method for multiprocessing + +We are passing unserializeable data so we cannot use the 'spawn' method, +which is the new default for Python 3.14 on Linux: + +https://docs.python.org/3/library/multiprocessing.html#multiprocessing-start-methods +--- + tools/__init__.py | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/tools/__init__.py b/tools/__init__.py +index 819d54a..e30373e 100644 +--- a/tools/__init__.py ++++ b/tools/__init__.py +@@ -8,6 +8,7 @@ import traceback + import dbus.mainloop.glib + import dbus + import dbus.exceptions ++import multiprocessing + + from . import actions + from . import config +@@ -21,6 +22,8 @@ def main(): + raise RuntimeError( + "Action \"{}\" needs root access".format(action)) + ++ multiprocessing.set_start_method('fork') ++ + # Wrap everything to display nice error messages + args = None + try: +-- +2.51.0 + diff --git a/waydroid.spec b/waydroid.spec index 517bb40..6fca49e 100644 --- a/waydroid.spec +++ b/waydroid.spec @@ -6,7 +6,7 @@ Version: 1.5.4 %forgemeta Name: waydroid -Release: 4%{?dist} +Release: 5%{?dist} Summary: Container-based approach to boot a full Android system on GNU/Linux License: GPL-3.0-only URL: %{forgeurl} @@ -24,6 +24,9 @@ Patch1: mount-secontext.patch # Fedora LXC is compiled without AppArmor support and fails to parse lxc.apparmor.profile config Patch2: no-apparmor.patch +# Hotfix for Python 3.14; can be dropped with upstream versions > 1.5.4 +Patch3: py3.14-multiprocessing-fork.patch + BuildArch: noarch BuildRequires: make @@ -149,6 +152,9 @@ fi %{_datadir}/selinux/%{selinuxtype}/%{name}.pp %changelog +* Sat Oct 04 2025 Alessandro Astone - 1.5.4-5 +- Fix running the graphical initializer on Python3.14 (rhbz#2394967) + * Fri Sep 19 2025 Python Maint - 1.5.4-4 - Rebuilt for Python 3.14.0rc3 bytecode From 637281197ce169d25f463ff107350be80f7d7dc9 Mon Sep 17 00:00:00 2001 From: Alessandro Astone Date: Thu, 13 Nov 2025 19:20:27 +0100 Subject: [PATCH 19/32] sepolicy: Further silence audit for /usr/bin/systemctl rhbz#2412288 --- waydroid.spec | 5 ++++- waydroid.te | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/waydroid.spec b/waydroid.spec index 6fca49e..ba5d9da 100644 --- a/waydroid.spec +++ b/waydroid.spec @@ -6,7 +6,7 @@ Version: 1.5.4 %forgemeta Name: waydroid -Release: 5%{?dist} +Release: 6%{?dist} Summary: Container-based approach to boot a full Android system on GNU/Linux License: GPL-3.0-only URL: %{forgeurl} @@ -152,6 +152,9 @@ fi %{_datadir}/selinux/%{selinuxtype}/%{name}.pp %changelog +* Thu Nov 13 2025 Alessandro Astone - 1.5.4-6 +- sepolicy: Further silence audit for /usr/bin/systemctl (rhbz#2412288) + * Sat Oct 04 2025 Alessandro Astone - 1.5.4-5 - Fix running the graphical initializer on Python3.14 (rhbz#2394967) diff --git a/waydroid.te b/waydroid.te index 103c206..b8850d4 100644 --- a/waydroid.te +++ b/waydroid.te @@ -74,7 +74,7 @@ sysnet_dns_name_resolve(waydroid_t) corenet_sendrecv_http_client_packets(waydroid_t) corenet_tcp_connect_http_port(waydroid_t) # No need to run systemctl. It is only used to determine apparmor status -dontaudit waydroid_t systemd_systemctl_exec_t:file getattr; +dontaudit waydroid_t systemd_systemctl_exec_t:file { getattr execute }; # waydroid-net.sh type waydroid_net_exec_t; From f59aa6dce0e6ecf790134f32724f7254b4dbaec9 Mon Sep 17 00:00:00 2001 From: Alessandro Astone Date: Thu, 4 Dec 2025 22:56:05 +0100 Subject: [PATCH 20/32] 1.6.0 --- .gitignore | 1 + sources | 2 +- waydroid.spec | 27 ++++++++++++++++++++++----- 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 2ad54c7..4119f80 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ /waydroid-1.5.0.tar.gz /waydroid-1.5.1.tar.gz /waydroid-1.5.4.tar.gz +/waydroid-1.6.0.tar.gz diff --git a/sources b/sources index ce39beb..42a6ca1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (waydroid-1.5.4.tar.gz) = c6fc3860ed059676bf770b672be3df14b8e47b2a2b4a44e4d5672fedd3651959d7cb2b75fc34a7a037f3a770b3b82b78e12d0f3c9f3979ae821474eef4fad90c +SHA512 (waydroid-1.6.0.tar.gz) = bea2522d3b751203449386337a7a1ba05e276b4c4b3a30b9b4cc0b087eeeef6790438857e2e2b17ad90eee087dec9cc0a38687bc01d1efe53f0b48f9518b45eb diff --git a/waydroid.spec b/waydroid.spec index ba5d9da..be9d7f8 100644 --- a/waydroid.spec +++ b/waydroid.spec @@ -1,12 +1,12 @@ %global forgeurl https://github.com/waydroid/waydroid %global selinuxtype targeted -Version: 1.5.4 +Version: 1.6.0 %global tag %{version} %forgemeta Name: waydroid -Release: 6%{?dist} +Release: 1%{?dist} Summary: Container-based approach to boot a full Android system on GNU/Linux License: GPL-3.0-only URL: %{forgeurl} @@ -24,9 +24,6 @@ Patch1: mount-secontext.patch # Fedora LXC is compiled without AppArmor support and fails to parse lxc.apparmor.profile config Patch2: no-apparmor.patch -# Hotfix for Python 3.14; can be dropped with upstream versions > 1.5.4 -Patch3: py3.14-multiprocessing-fork.patch - BuildArch: noarch BuildRequires: make @@ -152,6 +149,26 @@ fi %{_datadir}/selinux/%{selinuxtype}/%{name}.pp %changelog +* Thu Dec 04 2025 Alessandro Astone - 1.6.0-1 +- Toggle ADB secure mode by default + + ADB will no longer auto-connect on session start + + You may use the new waydroid adb connect command to connect ADB + + To connect ADB, you will need to provide authorization on the Android side +- Rotate and trim waydroid.log file at 5MB +- Hide system apps from the desktop applications menu + + To make a system app visible in your apps menu, switch NoDisplay=false in its desktop file +- Do not hide the main Waydroid launcher after enabling multi-windows mode +- Add desktop action to stop Waydroid session + + Right-click the Waydroid entry in your desktop application launcher, then Stop Waydroid +- Add desktop action to re-initialize Waydroid + + Right-click the Waydroid entry in your desktop application launcher, then Initialize Waydroid + + This allows switching between VANILLA and GAPPS +- Make sure to stop waydroid session on user log-out +- Add new waydroid command with no arguments, alias for waydroid show-full-ui +- Add new waydroid bugreport command to gather logs for a bug report +- Forward Android notifications to the desktop + + Requires updating the Android system image to a compatible version + * Thu Nov 13 2025 Alessandro Astone - 1.5.4-6 - sepolicy: Further silence audit for /usr/bin/systemctl (rhbz#2412288) From 55b146296d47a6925cbf120db0ac7767ab0ae5e0 Mon Sep 17 00:00:00 2001 From: Alessandro Astone Date: Mon, 8 Dec 2025 14:49:00 +0100 Subject: [PATCH 21/32] Requires gbinder-python 1.3.0 --- waydroid.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/waydroid.spec b/waydroid.spec index be9d7f8..25efb50 100644 --- a/waydroid.spec +++ b/waydroid.spec @@ -35,7 +35,7 @@ BuildRequires: systemd-rpm-macros BuildRequires: desktop-file-utils BuildRequires: libappstream-glib -Requires: python3dist(gbinder-python) >= 1.1.0 +Requires: python3dist(gbinder-python) >= 1.3.0 Requires: python3dist(dbus-python) Requires: python3-gobject Requires: lxc From 954f3c94943f0f17e43586ceba06da444cff0928 Mon Sep 17 00:00:00 2001 From: Alessandro Astone Date: Mon, 8 Dec 2025 14:49:50 +0100 Subject: [PATCH 22/32] Stop recommending pyclip --- waydroid.spec | 2 -- 1 file changed, 2 deletions(-) diff --git a/waydroid.spec b/waydroid.spec index 25efb50..36b6245 100644 --- a/waydroid.spec +++ b/waydroid.spec @@ -44,8 +44,6 @@ Requires: (%{name}-selinux = %{version}-%{release} if selinux-policy-%{sel Requires: nftables Requires: iproute Requires: dnsmasq -Recommends: python3-pyclip -Recommends: wl-clipboard %description Waydroid uses Linux namespaces to run a full Android system in a container From 10f2e7cb6643b5d747a361a3a4aa50e3723e268d Mon Sep 17 00:00:00 2001 From: Alessandro Astone Date: Mon, 8 Dec 2025 14:52:59 +0100 Subject: [PATCH 23/32] Update changelog --- waydroid.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/waydroid.spec b/waydroid.spec index 36b6245..02b4f4c 100644 --- a/waydroid.spec +++ b/waydroid.spec @@ -6,7 +6,7 @@ Version: 1.6.0 %forgemeta Name: waydroid -Release: 1%{?dist} +Release: 2%{?dist} Summary: Container-based approach to boot a full Android system on GNU/Linux License: GPL-3.0-only URL: %{forgeurl} @@ -147,6 +147,10 @@ fi %{_datadir}/selinux/%{selinuxtype}/%{name}.pp %changelog +* Mon Dec 08 2025 Alessandro Astone - 1.6.0-2 +- Requires gbinder-python >= 1.3.0 +- Stop recommending pyclip + * Thu Dec 04 2025 Alessandro Astone - 1.6.0-1 - Toggle ADB secure mode by default + ADB will no longer auto-connect on session start From 8338ef7bf4b56a8d4f610eb9091fa08e417499ec Mon Sep 17 00:00:00 2001 From: Alessandro Astone Date: Mon, 8 Dec 2025 20:06:11 +0100 Subject: [PATCH 24/32] Fix versioned dependency on gbinder-python rhbz#2420131 --- waydroid.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/waydroid.spec b/waydroid.spec index 02b4f4c..ec76c37 100644 --- a/waydroid.spec +++ b/waydroid.spec @@ -35,7 +35,7 @@ BuildRequires: systemd-rpm-macros BuildRequires: desktop-file-utils BuildRequires: libappstream-glib -Requires: python3dist(gbinder-python) >= 1.3.0 +Requires: python3dist(gbinder-python) >= 1.3 Requires: python3dist(dbus-python) Requires: python3-gobject Requires: lxc From 35b41cb0240b755cee0063306af613c1088ef776 Mon Sep 17 00:00:00 2001 From: Alessandro Astone Date: Mon, 8 Dec 2025 20:08:11 +0100 Subject: [PATCH 25/32] Update changelog --- waydroid.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/waydroid.spec b/waydroid.spec index ec76c37..422e303 100644 --- a/waydroid.spec +++ b/waydroid.spec @@ -6,7 +6,7 @@ Version: 1.6.0 %forgemeta Name: waydroid -Release: 2%{?dist} +Release: 3%{?dist} Summary: Container-based approach to boot a full Android system on GNU/Linux License: GPL-3.0-only URL: %{forgeurl} @@ -147,6 +147,9 @@ fi %{_datadir}/selinux/%{selinuxtype}/%{name}.pp %changelog +* Mon Dec 08 2025 Alessandro Astone - 1.6.0-3 +- Fix versioned dependency on gbinder-python (rhbz#2420131) + * Mon Dec 08 2025 Alessandro Astone - 1.6.0-2 - Requires gbinder-python >= 1.3.0 - Stop recommending pyclip From 6a40c0ab087d36270d6fde00afc3873400bc75d8 Mon Sep 17 00:00:00 2001 From: Alessandro Astone Date: Mon, 29 Dec 2025 16:03:26 +0100 Subject: [PATCH 26/32] Drop unused patch file --- py3.14-multiprocessing-fork.patch | 37 ------------------------------- 1 file changed, 37 deletions(-) delete mode 100644 py3.14-multiprocessing-fork.patch diff --git a/py3.14-multiprocessing-fork.patch b/py3.14-multiprocessing-fork.patch deleted file mode 100644 index 6a6be1f..0000000 --- a/py3.14-multiprocessing-fork.patch +++ /dev/null @@ -1,37 +0,0 @@ -From a115d86aa3da6d4fc5e360e9d9fce8b8466be56f Mon Sep 17 00:00:00 2001 -From: Alessandro Astone -Date: Sat, 4 Oct 2025 19:16:54 +0200 -Subject: [PATCH] Explicitly use 'fork' method for multiprocessing - -We are passing unserializeable data so we cannot use the 'spawn' method, -which is the new default for Python 3.14 on Linux: - -https://docs.python.org/3/library/multiprocessing.html#multiprocessing-start-methods ---- - tools/__init__.py | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/tools/__init__.py b/tools/__init__.py -index 819d54a..e30373e 100644 ---- a/tools/__init__.py -+++ b/tools/__init__.py -@@ -8,6 +8,7 @@ import traceback - import dbus.mainloop.glib - import dbus - import dbus.exceptions -+import multiprocessing - - from . import actions - from . import config -@@ -21,6 +22,8 @@ def main(): - raise RuntimeError( - "Action \"{}\" needs root access".format(action)) - -+ multiprocessing.set_start_method('fork') -+ - # Wrap everything to display nice error messages - args = None - try: --- -2.51.0 - From f28329a057f16524e0bf074c931074091bd6bd02 Mon Sep 17 00:00:00 2001 From: Alessandro Astone Date: Mon, 29 Dec 2025 16:43:11 +0100 Subject: [PATCH 27/32] sepolicy: Allow more tmp for python multiprocessing spawn method --- waydroid.te | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/waydroid.te b/waydroid.te index b8850d4..fe2308f 100644 --- a/waydroid.te +++ b/waydroid.te @@ -142,12 +142,26 @@ allow container_runtime_t self:process2 { nnp_transition }; exec_files_pattern(container_runtime_t, waydroid_rootfs_t, waydroid_rootfs_t) domain_entry_file(container_runtime_t, waydroid_rootfs_t) -# DBus +# tmp +type waydroid_tmp_t; +files_tmp_file(waydroid_tmp_t) +manage_dirs_pattern(waydroid_t, waydroid_tmp_t, waydroid_tmp_t) +manage_files_pattern(waydroid_t, waydroid_tmp_t, waydroid_tmp_t) +manage_sock_files_pattern(waydroid_t, waydroid_tmp_t, waydroid_tmp_t) +files_tmp_filetrans(waydroid_t, waydroid_tmp_t, { dir file sock_file }) +can_exec(waydroid_t, waydroid_tmp_t) + +# tmpfs type waydroid_tmpfs_t; -files_tmp_file(waydroid_tmpfs_t) +files_tmpfs_file(waydroid_tmpfs_t) +manage_dirs_pattern(waydroid_t, waydroid_tmpfs_t, waydroid_tmpfs_t) manage_files_pattern(waydroid_t, waydroid_tmpfs_t, waydroid_tmpfs_t) -can_exec(waydroid_t, waydroid_tmpfs_t) -fs_tmpfs_filetrans(waydroid_t, waydroid_tmpfs_t, file) +fs_tmpfs_filetrans(waydroid_t, waydroid_tmpfs_t, { dir file }) + +# Python multiprocessing spawn +allow waydroid_t waydroid_t:unix_stream_socket connectto; + +# DBus dbus_system_bus_client(waydroid_t) dbus_connect_system_bus(waydroid_t) policykit_dbus_chat(waydroid_t) From 3cc01e5abdd56a8d1ab9e0350461050c4f691175 Mon Sep 17 00:00:00 2001 From: Alessandro Astone Date: Mon, 29 Dec 2025 18:20:37 +0100 Subject: [PATCH 28/32] 1.6.1 --- .gitignore | 1 + sources | 2 +- waydroid.spec | 8 ++++++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 4119f80..246c67d 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ /waydroid-1.5.1.tar.gz /waydroid-1.5.4.tar.gz /waydroid-1.6.0.tar.gz +/waydroid-1.6.1.tar.gz diff --git a/sources b/sources index 42a6ca1..22e9ec1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (waydroid-1.6.0.tar.gz) = bea2522d3b751203449386337a7a1ba05e276b4c4b3a30b9b4cc0b087eeeef6790438857e2e2b17ad90eee087dec9cc0a38687bc01d1efe53f0b48f9518b45eb +SHA512 (waydroid-1.6.1.tar.gz) = 88607a68b81f6616c3f7286ce8e7eedf551e828718c1342ee2f86f40243c52c96fd23512d02a116c5880f0806af75919db5aabec3b92e7fb81510f0e8486a431 diff --git a/waydroid.spec b/waydroid.spec index 422e303..38c5ce7 100644 --- a/waydroid.spec +++ b/waydroid.spec @@ -1,12 +1,12 @@ %global forgeurl https://github.com/waydroid/waydroid %global selinuxtype targeted -Version: 1.6.0 +Version: 1.6.1 %global tag %{version} %forgemeta Name: waydroid -Release: 3%{?dist} +Release: 1%{?dist} Summary: Container-based approach to boot a full Android system on GNU/Linux License: GPL-3.0-only URL: %{forgeurl} @@ -147,6 +147,10 @@ fi %{_datadir}/selinux/%{selinuxtype}/%{name}.pp %changelog +* Mon Dec 29 2025 Alessandro Astone - 1.6.1-1 +- Fix graphical initialization with Python 3.14 and newer (rhbz#2425593) +- Allow using block device as pre-installed image files + * Mon Dec 08 2025 Alessandro Astone - 1.6.0-3 - Fix versioned dependency on gbinder-python (rhbz#2420131) From b4e66c9997c8cf1762c8b46bbe8aa0085ce37965 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 17 Jan 2026 20:08:14 +0000 Subject: [PATCH 29/32] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild --- waydroid.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/waydroid.spec b/waydroid.spec index 38c5ce7..c26c90d 100644 --- a/waydroid.spec +++ b/waydroid.spec @@ -6,7 +6,7 @@ Version: 1.6.1 %forgemeta Name: waydroid -Release: 1%{?dist} +Release: 2%{?dist} Summary: Container-based approach to boot a full Android system on GNU/Linux License: GPL-3.0-only URL: %{forgeurl} @@ -147,6 +147,9 @@ fi %{_datadir}/selinux/%{selinuxtype}/%{name}.pp %changelog +* Sat Jan 17 2026 Fedora Release Engineering - 1.6.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + * Mon Dec 29 2025 Alessandro Astone - 1.6.1-1 - Fix graphical initialization with Python 3.14 and newer (rhbz#2425593) - Allow using block device as pre-installed image files From 946a59448c951d325115e3db6a852a14dd7179e0 Mon Sep 17 00:00:00 2001 From: Alessandro Astone Date: Sun, 22 Feb 2026 11:58:53 +0100 Subject: [PATCH 30/32] 1.6.2 --- .gitignore | 1 + sources | 2 +- waydroid.spec | 10 ++++++++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 246c67d..801e650 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ /waydroid-1.5.4.tar.gz /waydroid-1.6.0.tar.gz /waydroid-1.6.1.tar.gz +/waydroid-1.6.2.tar.gz diff --git a/sources b/sources index 22e9ec1..5b40a0e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (waydroid-1.6.1.tar.gz) = 88607a68b81f6616c3f7286ce8e7eedf551e828718c1342ee2f86f40243c52c96fd23512d02a116c5880f0806af75919db5aabec3b92e7fb81510f0e8486a431 +SHA512 (waydroid-1.6.2.tar.gz) = ea6d6c0d8519a41c7c80335c30cb9afd3fd03d308400585779fbb5a52de881cfc4f3b9cbc71a089fd84bd362bd24c6f7ee4869420fcd2a1fe2104554b1b7b90b diff --git a/waydroid.spec b/waydroid.spec index c26c90d..4c412c5 100644 --- a/waydroid.spec +++ b/waydroid.spec @@ -1,12 +1,12 @@ %global forgeurl https://github.com/waydroid/waydroid %global selinuxtype targeted -Version: 1.6.1 +Version: 1.6.2 %global tag %{version} %forgemeta Name: waydroid -Release: 2%{?dist} +Release: 1%{?dist} Summary: Container-based approach to boot a full Android system on GNU/Linux License: GPL-3.0-only URL: %{forgeurl} @@ -147,6 +147,12 @@ fi %{_datadir}/selinux/%{selinuxtype}/%{name}.pp %changelog +* Sun Feb 22 2026 Alessandro Astone - 1.6.2-1 +- Attempt to further fix initialization with Python 3.14 +- Fix desktop file update logic for headless apps +- Add Vulkan support for xe kernel driver +- Allow passing arguments to "waydroid logcat" + * Sat Jan 17 2026 Fedora Release Engineering - 1.6.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild From 7918580ba9ea0a8b4d6312e8defaaf03ee2496f1 Mon Sep 17 00:00:00 2001 From: Alessandro Astone Date: Thu, 28 May 2026 22:35:56 +0200 Subject: [PATCH 31/32] 1.6.3 --- .gitignore | 1 + sources | 2 +- waydroid.spec | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 801e650..e4523b6 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ /waydroid-1.6.0.tar.gz /waydroid-1.6.1.tar.gz /waydroid-1.6.2.tar.gz +/waydroid-1.6.3.tar.gz diff --git a/sources b/sources index 5b40a0e..f45413b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (waydroid-1.6.2.tar.gz) = ea6d6c0d8519a41c7c80335c30cb9afd3fd03d308400585779fbb5a52de881cfc4f3b9cbc71a089fd84bd362bd24c6f7ee4869420fcd2a1fe2104554b1b7b90b +SHA512 (waydroid-1.6.3.tar.gz) = e395b0eed9bfda3cb7b0ab8de5e8d69c57188c86b810c76fccd6a9dea2179acf219b41338382a923d0f4cfbb276064d7336c0771ba54c6ef14e8496250a3acfa diff --git a/waydroid.spec b/waydroid.spec index 4c412c5..1aac44c 100644 --- a/waydroid.spec +++ b/waydroid.spec @@ -1,7 +1,7 @@ %global forgeurl https://github.com/waydroid/waydroid %global selinuxtype targeted -Version: 1.6.2 +Version: 1.6.3 %global tag %{version} %forgemeta @@ -147,6 +147,9 @@ fi %{_datadir}/selinux/%{selinuxtype}/%{name}.pp %changelog +* Thu May 28 2026 Alessandro Astone - 1.6.3-1 +- new version + * Sun Feb 22 2026 Alessandro Astone - 1.6.2-1 - Attempt to further fix initialization with Python 3.14 - Fix desktop file update logic for headless apps From 96738aadc1fed2dd9dc82af234fac167625b332c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 17 Jul 2026 08:42:30 +0000 Subject: [PATCH 32/32] Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild --- waydroid.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/waydroid.spec b/waydroid.spec index 1aac44c..e8973eb 100644 --- a/waydroid.spec +++ b/waydroid.spec @@ -6,7 +6,7 @@ Version: 1.6.3 %forgemeta Name: waydroid -Release: 1%{?dist} +Release: 2%{?dist} Summary: Container-based approach to boot a full Android system on GNU/Linux License: GPL-3.0-only URL: %{forgeurl} @@ -147,6 +147,9 @@ fi %{_datadir}/selinux/%{selinuxtype}/%{name}.pp %changelog +* Fri Jul 17 2026 Fedora Release Engineering - 1.6.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + * Thu May 28 2026 Alessandro Astone - 1.6.3-1 - new version