cros_unibuild_convert: drop virtual package generation

New way is with use flags :)

BUG=b:197038156
TEST=dry run for hana

Change-Id: I9645d7f7086f18d1cb9fc1484c54420e0553fc83
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/dev-util/+/3116133
Tested-by: Jack Rosenthal <jrosenth@chromium.org>
Reviewed-by: Raul E Rangel <rrangel@chromium.org>
Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
diff --git a/contrib/cros_unibuild_convert.py b/contrib/cros_unibuild_convert.py
index c23ce98..5e85004 100755
--- a/contrib/cros_unibuild_convert.py
+++ b/contrib/cros_unibuild_convert.py
@@ -87,26 +87,6 @@
   return out
 
 
-def generate_vpackage(depends):
-  return gen_cros_copyright() + """
-EAPI=7
-
-DESCRIPTION="ChromeOS Unibuild Config virtual package"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/chromeos-config/README.md"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-DEPEND="%(depends)s"
-RDEPEND="${DEPEND}"
-""" % {
-    'depends':
-    (''.join('\n\t{}'.format(d) for d in depends) + '\n')
-    if len(depends) > 1 else
-    ''.join(depends)}
-
-
 def generate_bsp_ebuild(private=False):
   return gen_cros_copyright() + """
 EAPI=7
@@ -199,27 +179,22 @@
   return res.stdout.strip() or None
 
 
-def write_file(fullpath, file_contents, make_ebuild_symlink=False):
+def write_file(fullpath, file_contents):
   os.makedirs(fullpath.parent, exist_ok=True)
   log('Writing {}...'.format(fullpath))
   with open(fullpath, 'w') as f:
     f.write(file_contents)
-  if make_ebuild_symlink:
-    if not fullpath.name.endswith('.ebuild'):
-      raise ValueError(
-          'make_ebuild_symlink specified, but path does not look like an ebuild')
-    prefix, _, _ = fullpath.name.rpartition('.')
-    linkname = fullpath.parent / '{}-r1.ebuild'.format(prefix)
-    log('Creating symlink {} -> {}...'.format(linkname, fullpath))
-    os.symlink(fullpath.name, linkname)
 
 
-def generate_make_defaults(contents):
+def generate_make_defaults(contents, private=False):
   contents = make_defaults_search_and_destroy_re.sub('', contents)
+  bsp_use_flag = 'has_chromeos_config_bsp'
+  if private:
+    bsp_use_flag += '_private'
   contents += """
 # Enable chromeos-config.
-USE="${USE} unibuild"
-"""
+USE="${USE} unibuild %(bsp_use_flag)s"
+""" % dict(bsp_use_flag=bsp_use_flag)
   return contents
 
 
@@ -327,16 +302,14 @@
     self.ec_extras_build_target = sorted(list(self.ec_firmware_extras
                                               | self.pd_firmwares)) or None
 
-  def write_file(self, overlay_flags, path, file_contents,
-                 make_ebuild_symlink=False):
+  def write_file(self, overlay_flags, path, file_contents):
     dirs = []
     if overlay_flags & M_PUBLIC:
       dirs += [self.public_overlay]
     if overlay_flags & M_PRIVATE:
       dirs += [self.private_overlay]
     for d in dirs:
-      write_file(d / path, file_contents,
-                 make_ebuild_symlink=make_ebuild_symlink)
+      write_file(d / path, file_contents)
 
 
 class Dut:
@@ -801,13 +774,6 @@
 
   log('Generating ebuilds...')
 
-  public_vpackage = generate_vpackage(('chromeos-base/chromeos-config-bsp', ))
-  private_vpackage = generate_vpackage(
-      ('chromeos-base/chromeos-config-bsp',
-       'chromeos-base/chromeos-config-bsp-private'))
-  log('Got public vpackage: \n{}'.format(public_vpackage))
-  log('Got private vpackage: \n{}'.format(private_vpackage))
-
   public_bsp_ebuild = generate_bsp_ebuild()
   private_bsp_ebuild = generate_bsp_ebuild(private=True)
   log('Got public bsp_ebuild: \n{}'.format(public_bsp_ebuild))
@@ -818,7 +784,10 @@
 
   public_make_defaults = generate_make_defaults(overlays.public_make_defaults)
   log('Got public make defaults: \n{}'.format(public_make_defaults))
-  private_make_defaults = generate_make_defaults(overlays.private_make_defaults)
+  private_make_defaults = generate_make_defaults(
+      overlays.private_make_defaults,
+      private=True,
+  )
   log('Got private make defaults: \n{}'.format(private_make_defaults))
 
   cros_config = CrosConfig(public_config_yaml, private_config_yaml)
@@ -842,12 +811,6 @@
       M_PRIVATE, 'chromeos-base/chromeos-config-bsp-private/files/model.yaml',
       private_config_yaml)
   overlays.write_file(
-      M_PUBLIC, 'virtual/chromeos-config-bsp/chromeos-config-bsp-2.ebuild',
-      public_vpackage, make_ebuild_symlink=True)
-  overlays.write_file(
-      M_PRIVATE, 'virtual/chromeos-config-bsp/chromeos-config-bsp-3.ebuild',
-      private_vpackage, make_ebuild_symlink=True)
-  overlays.write_file(
       M_PUBLIC,
       'chromeos-base/chromeos-config-bsp/chromeos-config-bsp-9999.ebuild',
       public_bsp_ebuild)