-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Ack looks good
On Wed, 24 Sep 2014 12:12:27 -0400
Mike McLean <mikem(a)redhat.com> wrote:
From 3461af8475575d81e32973a2d46d483bf44fc5cb Mon Sep 17 00:00:00
2001
From: Mike McLean <mikem(a)redhat.com>
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 = {}
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAEBAgAGBQJUIvAqAAoJEH7ltONmPFDR5LMP/03mkmJ5mcMjVDgTJDSsKcnC
SbXzbZ0qX+y1CiLeON1jLEADOS4Fcwt0rhsWdw+fPAKdKi4OIcOS9bNCv6+0phi3
MD3jNEZwfCxk3JWXQH4hmo6T+q3cP1R2CCh9T8fLeFMItevLhR7ZPpy4x+39UL7E
ZRiUMoDZ0oUEf/3QgvZPTUeAOQfqqWbWX9YaWErgJLmEaeI9Hsv/mK01AJM2RF9M
R/nd4DqvqGhYznKTg4lMWrpHnvUGQkCU1DhAqeMQfYtN1ruxmJbS6pBFWIQJ4qrp
vqrRHgbjLwhR631THRPWPp6oPxDYnJPze2nIziH4BzsvpqHKGW4Pi/6u1TG/ozCN
0sHx3Cm00WPzqfpEUAWSbh0CUUIEE6BFix0w0BLBYVMIyqCnqLNF4afSINtu23jO
OBBvEfCiwRx17jVH0/9Lo59VinFeTy00VvIN1ogL1HYCxdRQVsDo7paIMy9UpljE
TNfWlOlsgXivfJB0IhHmnatoKX0ISAOESsR+jcaT/4UDf1ftCzQvlHLud95rwAky
i9VzgUuEEHSwxOd6UdC7qk/vnyYtgdMOgCOdBF3I0D14nyS9MxSOqaJ2BDrBKrF8
AStgWUBHj3xaGatyxc986qtoKiKHhE5o7TK+eP1YnqMHVKLBCmsPYbdGynPIyM8s
1V/E21PpyrZ1BOif8ozd
=IHD0
-----END PGP SIGNATURE-----