On Mon, 14 Dec 2009, John Dennis wrote:
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?
python -c "import rpmUtils.arch; print rpmUtils.arch.getBaseArch(myarch='athlon')"
replace 'athlon' with whatever you want.
* 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.
$bestarch doesn't exist. Never has.
* 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?
It figures it out by sorting the arch for the system it is running on and
returning the arch which has the shortest distance from its own.
* 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?
exactarch existed when we had problems with pkgs being released at the
same time. then it existed so no one would arbitrarily move from
glibc.i686->glibc.i586 and for kernels. The default set of pkgs it acts on
was made an empty list in the f12 build of yum.
* 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 i386)
no.
Is there any documentation on:
* how to populate a repo tree
http://yum.baseurl.org/wiki/RepoCreate
* how arch's are interpreted and resolved
The source, mostly.
* what are the available variables for use in a repo configuration file and
what their usage semantics are? (e.g. $releasever, $basearch, etc.)
man yum.conf
search for the variables section.
-sv
_______________________________________________
Yum mailing list
Yum@xxxxxxxxxxxxxxxxx
http://lists.baseurl.org/mailman/listinfo/yum