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/a023693e32d663ab7ad4f4fc85912c987e2a...
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.
On Sat, 22 Dec 2007 16:41:29 -0500 Jesse Keating jkeating@redhat.com wrote:
I'm going to patch the builders manually.
This has been completed.
On Sat, 22 Dec 2007 16:41:29 -0500 Jesse Keating jkeating@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/a023693e32d663ab7ad4f4fc85912c987e2a...
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.
infrastructure@lists.fedoraproject.org