On Fri, Dec 12, 2003 at 11:45:59AM -0500, Gene C. wrote:
Granted, some packages with be either/or but not both. However, at
least some
of the packages will require both to support both architectures -- glibc for
example. Maybe I do not understand something. Can the x86_64 version of
glibc support its libraries being used by a 32 bit application? The same
question can be stated in the opposite direction -- can a 32 bit library
support being called by a 64 bit application?
The files in rpms are colored by rpm. Data files or binaries have one
color 0, 32-bit shared and .a libraries color 1 and 64-bit shared and .a
libraries color 2.
When you are installing a rpm which is already installed with the same NEVR,
but different architecture, rpm will I believe ATM overwrite color 0 files
and install the opposite color from the other already used, so that you can
have both color 1 and color 2 of the same shared library, but only one
color 0 file. Which means why installing the preferred arch last matters.
At least the original intent was that the order doesn't matter and through
rpm configuration files or perhaps some package tag as well you can
tell rpm which arch it should prefer (32-bit vs. 64-bit) for all packages or
even on a package by package basis.
This would change in rpm behaviour in that when installing the non-preferred
arch second, it would only install color != 0 files instead of all files.
Jakub