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)