Add in base host setup.

Add in base host setup task that will install base packages (ssvnc, lzop) and
make it separate from the CF packages since those are only needed for local
instances and base packages could be use for any situation.

Bug: 134582660
Test: atest acloud_test --host
acloud create --local-image (with no /usr/bin/lzop)
acloud setup --host-base
acloud setup

Change-Id: Ic725b546604fa5165efddcddb82209dc3f7c11a6
diff --git a/setup/setup.py b/setup/setup.py
index ad498f4..36b6ffd 100644
--- a/setup/setup.py
+++ b/setup/setup.py
@@ -46,15 +46,20 @@
     _PrintWelcomeMessage()
 
     # 2.Init all subtasks in queue and traverse them.
-    host_runner = host_setup_runner.AvdPkgInstaller()
+    host_base_runner = host_setup_runner.HostBasePkgInstaller()
+    host_avd_runner = host_setup_runner.AvdPkgInstaller()
     host_env_runner = host_setup_runner.CuttlefishHostSetup()
     gcp_runner = gcp_setup_runner.GcpTaskRunner(args.config_file)
     task_queue = []
-    # User must explicitly specify --host to install the host packages.
+    # User must explicitly specify --host to install the avd host packages.
     if args.host:
-        task_queue.append(host_runner)
+        task_queue.append(host_base_runner)
+        task_queue.append(host_avd_runner)
         task_queue.append(host_env_runner)
-    if args.gcp_init or not args.host:
+    # We should do these setup tasks if specified or if no args were used.
+    if args.host_base or (not args.host and not args.gcp_init):
+        task_queue.append(host_base_runner)
+    if args.gcp_init or (not args.host and not args.host_base):
         task_queue.append(gcp_runner)
 
     for subtask in task_queue: