From 2d19611ace78aec071607fafd0e2798412cc4286 Mon Sep 17 00:00:00 2001 From: Adam Coldrick Date: Tue, 5 May 2015 12:14:46 +0000 Subject: Move duplicate fix_chunk_build_mode function to a common location Change-Id: I11b4dbeb50d67068701f269ef6ac7cfbd89f6aed --- morphlib/plugins/deploy_plugin.py | 28 ++-------------------------- morphlib/plugins/system_manifests_plugin.py | 29 +++-------------------------- 2 files changed, 5 insertions(+), 52 deletions(-) (limited to 'morphlib/plugins') diff --git a/morphlib/plugins/deploy_plugin.py b/morphlib/plugins/deploy_plugin.py index 0e4f32f9..c8e8959f 100644 --- a/morphlib/plugins/deploy_plugin.py +++ b/morphlib/plugins/deploy_plugin.py @@ -648,31 +648,6 @@ class DeployPlugin(cliapp.Plugin): msg='System unpacked at %(system_tree)s', system_tree=path) - def fix_chunk_build_mode(self, artifact): - """Give each chunk's in-memory morpholgy the correct build-mode. - - Currently, our definitions define build-mode in the entries in the - chunk list in a given stratum. However, morph expects it to be in - the chunk morphology when loading, and sets the in-memory - build-mode to 'staging' by default. - - """ - # This should probably be fixed in morphloader, but I held off on - # doing that following a discussion on #baserock. - # - # https://irclogs.baserock.org/%23baserock.2015-04-21.log.html - # (at 9:02) - strata = set(a for a in artifact.walk() - if a.source.morphology['kind'] == 'stratum') - chunks = set(a for a in artifact.walk() - if a.source.morphology['kind'] == 'chunk') - for chunk in chunks: - for stratum in strata: - for spec in stratum.source.morphology['chunks']: - if chunk.source.morphology['name'] == spec['name']: - chunk.source.morphology['build-mode'] = \ - spec['build-mode'] - def unpack_components(self, bc, components, path): if not components: raise cliapp.AppException('Deployment failed as no components ' @@ -716,7 +691,8 @@ class DeployPlugin(cliapp.Plugin): system_tree = tempfile.mkdtemp(dir=deploy_tempdir) try: - self.fix_chunk_build_mode(artifact) + # FIXME: This should be fixed in morphloader. + morphlib.util.fix_chunk_build_mode(artifact) if self.app.settings['partial']: self.unpack_components(build_command, components, system_tree) else: diff --git a/morphlib/plugins/system_manifests_plugin.py b/morphlib/plugins/system_manifests_plugin.py index 9d22488a..f5aa25b8 100644 --- a/morphlib/plugins/system_manifests_plugin.py +++ b/morphlib/plugins/system_manifests_plugin.py @@ -90,31 +90,6 @@ class SystemManifestsPlugin(cliapp.Plugin): for system_filename in system_filenames: self.system_manifest(repo, ref, system_filename) - def fix_chunk_build_mode(self, system_artifact): - """Give each chunk's in-memory morpholgy the correct build-mode. - - Currently, our definitions define build-mode in the entries in the - chunk list in a given stratum. However, morph expects it to be in - the chunk morphology when loading, and sets the in-memory - build-mode to 'staging' by default. - - """ - # This should probably be fixed in morphloader, but I held off on - # doing that following a discussion on #baserock. - # - # https://irclogs.baserock.org/%23baserock.2015-04-21.log.html - # (at 9:02) - strata = set(a for a in system_artifact.walk() - if a.source.morphology['kind'] == 'stratum') - chunks = set(a for a in system_artifact.walk() - if a.source.morphology['kind'] == 'chunk') - for chunk in chunks: - for stratum in strata: - for spec in stratum.source.morphology['chunks']: - if chunk.source.morphology['name'] == spec['name']: - chunk.source.morphology['build-mode'] = \ - spec['build-mode'] - @staticmethod def find_artifact_by_name(artifacts_list, filename): for a in artifacts_list: @@ -148,7 +123,9 @@ class SystemManifestsPlugin(cliapp.Plugin): build_env = morphlib.buildenvironment.BuildEnvironment( self.app.settings, system_artifact.source.morphology['arch']) ckc = morphlib.cachekeycomputer.CacheKeyComputer(build_env) - self.fix_chunk_build_mode(system_artifact) + + # FIXME: This should be fixed in morphloader. + morphlib.util.fix_chunk_build_mode(system_artifact) aliases = self.app.settings['repo-alias'] resolver = morphlib.repoaliasresolver.RepoAliasResolver(aliases) -- cgit v1.2.1