[Yum] basearch, bestarch, exactarch, repo setup questions

John Dennis jdennis at redhat.com
Mon Dec 14 19:23:32 UTC 2009

I'm trying to set up a development repo for a development team. I'll be 
receiving a variety of rpm's built by others which I'll then populate 
the team's repo with. But I've found myself quite confused over arch 
handling. Initially the repo will only support Fedora, but eventually 
I'll want to also support RHEL.

Using the fedora repos as a guide I've constructed a tree with each arch 
under a distribution along with a directory for SRPM's. Each arch has an 
"os" and a "debug" directory. I run createrepo in $arch/os, $arch/debug, 
and source/SRPM.

The canonical repo config files under /etc/yum.repos.d select a tree 
based on $releasever and $basearch.

This leaves the following questions:

* what are the canonical basearch's? For x86 apparently it's i386, how 
about other arch's?

* it seems a little odd to populate a directory labeled i386 with i686 
rpm's, but apparently that's what's required because the directory is 
selected with $basearch and not $bestarch.

* what happens if you've got i386, i586, and i686 rpms's for a given 
NVR? do you place each under the i386 basearch directory? Do you pick 
the highest arch? What does yum do when it sees more that one arch for a 
given NVR?

* my /etc/yum.conf has exactarch=1, my CPU is i686 and basearch is i386, 
the current fedora yum repo for F-12 has only i386 (e.g. basearch) which 
is populated only with i686 (bestarch) and noarch rpms. So what's the 
meaning of exactarch and how does it interact?

* is there any defined behavior between yum and Fedora's default arch's 
(e.g. F-12 is supposed to build for i686, F-11 for i586, and earlier for 

Is there any documentation on:

* how to populate a repo tree

* how arch's are interpreted and resolved

* what are the available variables for use in a repo configuration file 
and what their usage semantics are? (e.g. $releasever, $basearch, etc.)

(I couldn't find any documentation on these topics, if I missed it 
sorry, pointers please).

John Dennis <jdennis at redhat.com>

Looking to carve out IT costs?

More information about the Yum mailing list