Dazed and confused....

Mike McLean mikem at redhat.com
Wed Feb 6 23:53:52 UTC 2008


Bryce wrote:
> Issue 1. The kernel, because my build host is defined as arch i386,
> x86_64 when I pass a kernel build in, it passes "--target i386" which
> leads to the usual train wreck of no i386 config
> how do I pass in i686 specifically for the kernel?

The arches of your host are not directly passed to mock as you suggest.

The build task will trigger builds for the arches in the archlist for 
the tag that the buildroot is based on (the build tag of the target). 
This list is modified in various ways.

First any extra arches for package are added.  You can control extra 
arches on a per-tag basis with the 'koji set-pkg-arches' command. This 
is probably the solution you are looking for.

Secondly, the buildarchs, exclusivearch, and excludearch macros of the 
srpm are factored in. Note that the buildarchs macro is allowed to 
override the archlist, including expanding it.

Thirdly, for scratch builds, the --arch-override option to the build 
command can override the arch list.

For each arch in the resulting list, a buildArch subtask is created. 
This is where the arch list of a host comes into play. Note that the 
arch of the task is the canonicalized, so an i686 build is an i386 task. 
Hence your host with an archlist of 'i386 x86_64' will accept an i686 
buildArch task.

> Issue 2. One of the fun items in xen is that when you're building the
> 64bit version there is an odd dependency on pulling in a 32bit
> glibc-devel by adding /usr/include/gnu/stubs-32.h to the dependency
> list, when building in x86_64 that dependancy cannot get satisfied. How
> can I beat the tag into realizing it can pull from the i386 repo to
> fulfill that requirement?

Koji does not support multilib buildroots. Doing so /sanely/ is not 
nearly as simple as some would suggest.

The way this is currently handled is to include a 64bit rpm that 
contains this needed 32bit content. This package may need to be added to 
the base install so that packages do not need to explicity require it.

$ koji latest-pkg --quiet dist-f9-build glibc32
glibc32-2.4.90-13                         dist-fc6-build        jkeating





More information about the Fedora-buildsys-list mailing list