From: Ben Brown <ben.brown(a)codethink.co.uk>
---
morphlib/plugins/cross-bootstrap_plugin.py | 13 +++++++++++++
morphlib/plugins/deploy_plugin.py | 4 ++++
2 files changed, 17 insertions(+)
diff --git a/morphlib/plugins/cross-bootstrap_plugin.py
b/morphlib/plugins/cross-bootstrap_plugin.py
index 72c7924..ec0cfbc 100644
--- a/morphlib/plugins/cross-bootstrap_plugin.py
+++ b/morphlib/plugins/cross-bootstrap_plugin.py
@@ -267,6 +267,19 @@ class CrossBootstrapPlugin(cliapp.Plugin):
system_source = srcpool.lookup(root_repo, ref, morph_name)
system_source.morphology.builds_artifacts = builds_artifacts
+ # FIXME: this is a quick fix in order to get it working for
+ # Baserock 13 release, it is not a reasonable fix
+ def validate(self, root_artifact):
+ root_arch = root_artifact.source.morphology['arch']
+ target_arch = arch
+ if root_arch != target_arch:
+ raise morphlib.Error(
+ 'Target architecture is %s '
+ 'but the system architecture is %s'
+ % (target_arch, root_arch))
+
+ morphlib.buildcommand.BuildCommand._validate_architecture = validate
+
system_artifact = build_command.resolve_artifacts(srcpool)
# Calculate build order
diff --git a/morphlib/plugins/deploy_plugin.py b/morphlib/plugins/deploy_plugin.py
index 1e86d44..47cd00c 100644
--- a/morphlib/plugins/deploy_plugin.py
+++ b/morphlib/plugins/deploy_plugin.py
@@ -329,6 +329,10 @@ class DeployPlugin(cliapp.Plugin):
morph = system['morph']
srcpool = build_command.create_source_pool(build_repo, ref,
morph + '.morph')
+ def validate(self, root_artifact):
+ pass
+ morphlib.buildcommand.BuildCommand._validate_architecture = validate
+
artifact = build_command.resolve_artifacts(srcpool)
deploy_defaults = system['deploy-defaults']
--
1.7.10.4