X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/waydroid.git/blobdiff_plain/2cc269f5fc393b4dc8049bb72b0c939a5a12190c..ff4cf1c83f09e639504209dec68855cdf3c69bce:/tools/actions/upgrader.py diff --git a/tools/actions/upgrader.py b/tools/actions/upgrader.py index 71a64e7..2181971 100644 --- a/tools/actions/upgrader.py +++ b/tools/actions/upgrader.py @@ -4,7 +4,7 @@ import logging import os from tools import helpers import tools.config - +import dbus def get_config(args): cfg = tools.config.load(args) @@ -13,6 +13,7 @@ def get_config(args): args.vendor_type = cfg["waydroid"]["vendor_type"] args.system_ota = cfg["waydroid"]["system_ota"] args.vendor_ota = cfg["waydroid"]["vendor_ota"] + args.session = None def upgrade(args): get_config(args) @@ -22,15 +23,22 @@ def upgrade(args): if status != "STOPPED": logging.info("Stopping container") helpers.lxc.stop(args) + try: + args.session = tools.helpers.ipc.DBusContainerService().GetSession() + except dbus.DBusException: + pass helpers.images.umount_rootfs(args) helpers.drivers.loadBinderNodes(args) if not args.offline: - if args.images_path != tools.config.defaults["preinstalled_images_path"]: + if args.images_path not in tools.config.defaults["preinstalled_images_paths"]: helpers.images.get(args) + else: + logging.info("Upgrade refused because a pre-installed image is detected at {}.".format(args.images_path)) helpers.lxc.setup_host_perms(args) helpers.lxc.set_lxc_config(args) helpers.lxc.make_base_props(args) - if status != "STOPPED": + if status != "STOPPED" and args.session: logging.info("Starting container") - helpers.images.mount_rootfs(args, args.images_path) + helpers.images.mount_rootfs(args, args.images_path, args.session) + helpers.protocol.set_aidl_version(args) helpers.lxc.start(args)