]> glassweightruler.freedombox.rocks Git - waydroid.git/blobdiff - tools/helpers/arguments.py
debian/control: add Depends on pipewire-pulse | pulseaudio
[waydroid.git] / tools / helpers / arguments.py
index ec4ef7c0efb1c76a99e24494d6ce3cea52bf3cbc..b3182b936b3f666801279ad458c9b30779cd686e 100644 (file)
@@ -22,7 +22,7 @@ def arguments_init(subparser):
                                " configs and install images")
     ret.add_argument("-i", "--images_path",
                         help="custom path to waydroid images (default in"
-                             " /home/.waydroid/images)")
+                             " /var/lib/waydroid/images)")
     ret.add_argument("-f", "--force", action="store_true",
                      help="re-initialize configs and images")
     ret.add_argument("-c", "--system_channel",
@@ -58,14 +58,14 @@ def arguments_session(subparser):
     ret = subparser.add_parser("session", help="session controller")
     sub = ret.add_subparsers(title="subaction", dest="subaction")
     sub.add_parser("start", help="start session")
-    sub.add_parser("stop", help="start session")
+    sub.add_parser("stop", help="stop session")
     return ret
 
 def arguments_container(subparser):
     ret = subparser.add_parser("container", help="container controller")
     sub = ret.add_subparsers(title="subaction", dest="subaction")
     sub.add_parser("start", help="start container")
-    sub.add_parser("stop", help="start container")
+    sub.add_parser("stop", help="stop container")
     sub.add_parser("restart", help="restart container")
     sub.add_parser("freeze", help="freeze container")
     sub.add_parser("unfreeze", help="unfreeze container")
@@ -82,6 +82,9 @@ def arguments_app(subparser):
     remove.add_argument('PACKAGE', help="package name of app to remove")
     launch = sub.add_parser("launch", help="start single application")
     launch.add_argument('PACKAGE', help="package name of app to launch")
+    intent = sub.add_parser("intent", help="start single application")
+    intent.add_argument('ACTION', help="action name")
+    intent.add_argument('URI', help="data uri")
     sub.add_parser("list", help="list installed applications")
     return ret
 
@@ -101,15 +104,32 @@ def arguments_fullUI(subparser):
     ret = subparser.add_parser("show-full-ui", help="show android full screen in window")
     return ret
 
+def arguments_firstLaunch(subparser):
+    ret = subparser.add_parser("first-launch", help="initialize waydroid and start it")
+    return ret
+
 def arguments_shell(subparser):
     ret = subparser.add_parser("shell", help="run remote shell command")
-    ret.add_argument('COMMAND', nargs='?', help="command to run")
+    ret.add_argument("-u", "--uid", help="the UID to run as (also sets GID to the same value if -g is not set)")
+    ret.add_argument("-g", "--gid", help="the GID to run as")
+    ret.add_argument("-s", "--context", help="transition to the specified SELinux or AppArmor security context. No-op if -L is supplied.")
+    ret.add_argument("-L", "--nolsm", action="store_true", help="tell LXC not to perform security domain transition related to mandatory access control (e.g. SELinux, AppArmor). If this option is supplied, LXC won't apply a container-wide seccomp filter to the executed program. This is a dangerous option that can result in leaking privileges to the container!!!")
+    ret.add_argument("-C", "--allcaps", action="store_true", help="tell LXC not to drop capabilities. This is a dangerous option that can result in leaking privileges to the container!!!")
+    ret.add_argument("-G", "--nocgroup", action="store_true", help="tell LXC not to switch to the container cgroup. This is a dangerous option that can result in leaking privileges to the container!!!")
+    ret.add_argument('COMMAND', nargs='*', help="command to run")
     return ret
 
 def arguments_logcat(subparser):
     ret = subparser.add_parser("logcat", help="show android logcat")
     return ret
 
+def arguments_adb(subparser):
+    ret = subparser.add_parser("adb", help="manage adb connection")
+    sub = ret.add_subparsers(title="subaction", dest="subaction")
+    sub.add_parser("connect", help="connect adb to the Android container")
+    sub.add_parser("disconnect", help="disconnect adb from the Android container")
+    return ret
+
 def arguments():
     parser = argparse.ArgumentParser(prog="waydroid")
 
@@ -129,6 +149,8 @@ def arguments():
                         " logfiles (this may reduce performance)")
     parser.add_argument("-q", "--quiet", dest="quiet", action="store_true",
                         help="do not output any log messages")
+    parser.add_argument("-w", "--wait", dest="wait_for_init", action="store_true",
+                        help="wait for init before running")
 
     # Actions
     sub = parser.add_subparsers(title="action", dest="action")
@@ -142,8 +164,10 @@ def arguments():
     arguments_app(sub)
     arguments_prop(sub)
     arguments_fullUI(sub)
+    arguments_firstLaunch(sub)
     arguments_shell(sub)
     arguments_logcat(sub)
+    arguments_adb(sub)
 
     if argcomplete:
         argcomplete.autocomplete(parser, always_complete_options="long")