seth vidal wrote :
On Mon, 2005-04-11 at 20:30 +0200, Matthias Saou wrote:
> Hi,
>
> I'm currently recompiling a bunch of packages for RHEL4 x86_64 and finally
> tried out the latest mach+yum snapshot. After quite a few problems with %
> pre scriplets failing, and packages being skipped, I finally got a build
> root working.
>
> I've rebuilt quite a few packages, no problems until I tried php...
>
> I get a few i386 packages installed, for a reason that is beyond me! It's
> 100% reproducible :
>
> - If I specify only the package names, the i386 versions get installed :-(
>
> I'm really confused as to why yum chooses to install those i386 files when
> the arch isn't specified... I'll try to get yum to be more verbose and try
> to find out.
it's intended behavior.
yum will install the highest version and best arch of all packages for
each multilib 'branch' available for the specified package name.
so if you just specify foo
and foo.i686, foo.x86_64 and foo.i386 are available then yum will
install:
foo.i686
foo.x86_64
yum resolves packages to install based on the multilib sets. so 64bit
resolved against 64bit and 32bit against 32bit. They aren't compared
against each other.
I don't think I follow. How come I only have these few packages installed
with both x86_64 and i386? I haven't told mach or yum anything special,
and don't have glibc-devel.i386 installed for instance :
$ mach yum list glibc-devel
Setting up Repos
mach-local 100% |=========================| 951 B 00:00
os 100% |=========================| 951 B 00:00
updates 100% |=========================| 951 B 00:00
groups 100% |=========================| 1.1 kB 00:00
egwn 100% |=========================| 951 B 00:00
Reading repository metadata in from local files
mach-local: ################################################## 43/43
os : ################################################## 1591/1591
updates : ################################################## 138/138
egwn : ################################################## 40/40
Installed Packages
glibc-devel.x86_64 2.3.4-2 installed
Available Packages
glibc-devel.i386 2.3.4-2 os
Indeed, if I then do a "mach yum install glibc-devel", the i386 version
gets installed in parallel, so I think I do understand what you mean, and
my test wasn't relevant, but when all of the packages I listed are already
installed in the build root in their x86_64 form, why did mach/yum install
the i386 when nothing seems to depend explicitly on them? And why only
those few ones?
Maybe I have a clue : I did "mach -k build foo.spec" with the x86_64
packages already installed... so I guess mach told yum to install
explicitly a bunch of packages, the explicit build dependencies, thus the
i386 versions got installed in parallel to the already installed x86_64.
Does that make sense? If that's it, then it's probably to be considered a
bug since "-k" (keep) shouldn't change the installed set of packages if
all the required ones were already installed.
Matthias
--
Clean custom Red Hat Linux rpm packages :
http://freshrpms.net/
Fedora Core release 3 (Heidelberg) - Linux kernel 2.6.11-1.14_FC3
Load : 0.01 0.14 0.22