>From 3461af8475575d81e32973a2d46d483bf44fc5cb Mon Sep 17 00:00:00 2001
From: Mike McLean <[email protected]>
Date: Wed, 24 Sep 2014 10:10:17 -0400
Subject: [PATCH] sanity check requested arches for image builds
---
builder/kojid | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/builder/kojid b/builder/kojid
index bdc3b9b..c71637d 100755
--- a/builder/kojid
+++ b/builder/kojid
@@ -2048,6 +2048,14 @@ class BuildBaseImageTask(BuildImageTask):
target_info = self.session.getBuildTarget(target, strict=True)
build_tag = target_info['build_tag']
repo_info = self.getRepo(build_tag)
+ #check requested arches against build tag
+ buildconfig = self.session.getBuildConfig(build_tag)
+ if not buildconfig['arches']:
+ raise koji.BuildError, "No arches for tag %(name)s [%(id)s]" % buildconfig
+ tag_archlist = [koji.canonArch(a) for a in buildconfig['arches'].split()]
+ for arch in arches:
+ if koji.canonArch(arch) not in tag_archlist:
+ raise koji.BuildError, "Invalid arch for build tag: %s" % arch
if not opts:
opts = {}
@@ -2153,6 +2161,14 @@ class BuildApplianceTask(BuildImageTask):
target_info = self.session.getBuildTarget(target, strict=True)
build_tag = target_info['build_tag']
repo_info = self.getRepo(build_tag)
+ #check requested arch against build tag
+ buildconfig = self.session.getBuildConfig(build_tag)
+ if not buildconfig['arches']:
+ raise koji.BuildError, "No arches for tag %(name)s [%(id)s]" % buildconfig
+ tag_archlist = [koji.canonArch(a) for a in buildconfig['arches'].split()]
+ if koji.canonArch(arch) not in tag_archlist:
+ raise koji.BuildError, "Invalid arch for build tag: %s" % arch
+
if not opts:
opts = {}
@@ -2231,6 +2247,13 @@ class BuildLiveCDTask(BuildImageTask):
target_info = self.session.getBuildTarget(target, strict=True)
build_tag = target_info['build_tag']
repo_info = self.getRepo(build_tag)
+ #check requested arch against build tag
+ buildconfig = self.session.getBuildConfig(build_tag)
+ if not buildconfig['arches']:
+ raise koji.BuildError, "No arches for tag %(name)s [%(id)s]" % buildconfig
+ tag_archlist = [koji.canonArch(a) for a in buildconfig['arches'].split()]
+ if koji.canonArch(arch) not in tag_archlist:
+ raise koji.BuildError, "Invalid arch for build tag: %s" % arch
if not opts:
opts = {}
--
1.9.3
--
buildsys mailing list
[email protected]
https://admin.fedoraproject.org/mailman/listinfo/buildsys