On Sat, 22 Dec 2007 16:41:29 -0500
Jesse Keating <jkeating(a)redhat.com> wrote:
Today a number of builds were failing on xenbuilder2/4. They were
perl noarch builds. The failure output was like:
+ '%{_fixperms}' /var/tmp/perl-Module-ExtractUse-0.22-1.fc8-root-/usr
/var/tmp/rpm-tmp.90217: line 32: fg: no job control
I investigated a failed buildroot and discovered that _fixperms was
not being evaluated and translated in the rpm script as it should have
been. _fixperms is an arch specific macro, and that led me to do some
testing with how the mock rebuild is being called in noarch cases.
Turns out, this is something I already fixed in upstream koji. Koji
was unnecessarily calling mock with --arch noarch in the noarch build
cases. I hadn't realized this was going to cause builds to fail so I
hadn't done an upstream release with this fix yet. However since this
is failing builds, I'm going to patch the builders manually. Here is
the fix:
https://fedorahosted.org/koji/changeset/a023693e32d663ab7ad4f4fc85912c987...
diff --git a/builder/kojid b/builder/kojid
index ae4be90..5cf10a2 100755
--- a/builder/kojid
+++ b/builder/kojid
@@ -457,7 +457,7 @@ class BuildRoot(object):
# run build
session.host.setBuildRootState(self.id,'BUILDING')
args = ['--no-clean']
- if arch:
+ if arch and arch != 'noarch':
args.extend(['--arch', arch])
args.extend(['--rebuild', srpm])
rv = self.mock(args)
I'm providing this here should something happen and the builders get
reverted before I do the next koji upstream release.
This patch has been reverted. Turns out it broke kernel-doc builds due
to the funky way the kernel accomplishes a noarch subpackage :/
Instead we've re-ordered the arch listings for the builders so that the
native arch is listed first, and thus will get the noarch builds. The
problem with rpm macros not evaluating only seems to affect xen guests.
--
Jesse Keating
Fedora -- All my bits are free, are yours?