]> glassweightruler.freedombox.rocks Git - waydroid.git/blobdiff - tools/__init__.py
lxc: Fixup LXC config versioning
[waydroid.git] / tools / __init__.py
index 2443e6ebb5d6a7a5c2f580bdbca6288094fe5896..65f0efc68be70abf7ecbbecd5b272c07c565ae54 100644 (file)
@@ -31,28 +31,21 @@ def main():
         args.sudo_timer = True
         args.timeout = 1800
 
-        if not actions.initializer.is_initialized(args):
-            if args.action and (args.action != "init" and args.action != "log"):
-                if not args.wait_for_init:
-                    print('ERROR: WayDroid is not initialized, run "waydroid init"')
-                    return 0
+        if os.geteuid() == 0:
+            if not os.path.exists(args.work):
+                os.mkdir(args.work)
+        elif not os.path.exists(args.log):
+            args.log = "/tmp/tools.log"
 
-                print('WayDroid waiting for initialization...')
-                while helpers.ipc.listen(channel="init") != "done":
-                    pass
+        tools_logging.init(args)
 
-            elif os.geteuid() == 0 and args.action == "init":
-                if not os.path.exists(args.work):
-                    os.mkdir(args.work)
+        if not actions.initializer.is_initialized(args) and \
+                args.action and args.action not in ("init", "first-launch", "log"):
+            if args.wait_for_init:
+                actions.wait_for_init(args)
             else:
-                # This branch is taken if:
-                # - waydroid is not yet initialized
-                # - waydroid is invoked with no command or with log
-                if not os.path.exists(args.log):
-                    # The log could have been already created if init was used and failed, if its not the case we use a temporary one
-                    args.log = "/tmp/tools.log"
-
-        tools_logging.init(args)
+                print('ERROR: WayDroid is not initialized, run "waydroid init"')
+                return 0
 
         # Initialize or require config
         if args.action == "init":
@@ -116,6 +109,10 @@ def main():
             helpers.lxc.logcat(args)
         elif args.action == "show-full-ui":
             actions.app_manager.showFullUI(args)
+        elif args.action == "first-launch":
+            actions.remote_init_client(args)
+            if actions.initializer.is_initialized(args):
+                actions.app_manager.showFullUI(args)
         elif args.action == "status":
             actions.status.print_status(args)
         elif args.action == "log":