[CentOS] bug in repo affecting perl

Wed Feb 15 10:39:16 UTC 2012
Johnny Hughes <johnny at centos.org>

On 02/14/2012 12:59 PM, Blake Hudson wrote:
>
> Nicolas Thierry-Mieg wrote the following on 2/13/2012 9:11 PM:
>> why do you think there's a problem? if you have an x86_64 system, you 
>> are expected to use x86_64 perl, and that's what you have in the os 
>> and updates dir for that arch, with the newer version in updates. Same 
>> if you have an i386 system. Apparently centos extras provides the i386 
>> package for people who want that on an x86_64 system, although the 
>> version provided is the older one. ...
>> The only possible "bug" is that extras could carry the latest i386 
>> package. 
> I have dozens of x86_64 systems. On none of them did I manually install 
> the i386 perl package. However, they all seem to have it installed.
>
> It seems that in many cases CentOS installs both an i386 and an x86_64 
> package when only the base package is requested, so I have thought 
> nothing of it. install.log shows that the x86_64bit package was the only 
> one initially installed, yum indicates that the i386 package was 
> installed later (looks like during a yum update, possibly a dependency).
>
> Is this a past mistake in the repo that is only rearing its head when 
> there is a mismatch between the x86_64 version in the update repo and 
> the i386 version in the extra repo? Should there even exist a version in 
> the extra repo? If so, it seems it should certainly be updated.
>
> --Blake
>
>

This may come as a shock to many people on the list ... but by default
on CentOS-5.x (and also CentOS-4.x or 3.x), when you do an x86_64
install it also installs many i[3,6]86 packages.  This is not the
default behavior in CentOS-6.x (it installs only x86_64 by default).

This is the default behavior in RHEL and so it is also the default
behavior in CentOS.

Anaconda and yum both install these i[3,6]86 packages and update them by
default for c5 and earlier.

If you wanted to have only 64-bit packages installed, then you would
just add this line to your .rpmmacros file to be able to see which
packages are i[3,6]86 and which are x86_64:

 %_query_all_fmt %%{name}-%%{version}-%%{release}.%%{arch}

Before you add that, you will get this:
==================
rpm -q glibc

glibc-2.5-65.el5_7.1
glibc-2.5-65.el5_7.1

=================
Afterwards:

rpm -q glibc

glibc-2.5-65.el5_7.1.i686
glibc-2.5-65.el5_7.1.x86_64

=================

Now you can remove all the i[3,6]86 packages if you want ...

=================

Specifically for perl ... at one time, RHEL had perl.i386 in their
x86_64 tree and it was removed ... we did the same thing in CentOS (if
you look at the 5.7 tree, there is no i386 perl).

If you installed at an earlier time and upgraded, it is possible that
you have an i386 perl (CentOS-5.1 had it there, it was taken out in
5.2).  Is it possible that these machines were 5.1 installs and updated?

So, you have 2 choices ... you can try to remove the perl with this command:

rpm -e perl.i386

If you have nothing that specifically requires that arch of perl, that
will remove it.

OR

We did add the i386 version of perl to the x86_64 c5 extras before for
this same reason before ... and I see no negative to doing it again with
the latest version of perl.i386 ... but unless you really need it, I
would recommend removing it.

I am adding the i386 version of perl to x86_64 extras for c5 now ... it
will go out to the mirrors soon.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 262 bytes
Desc: OpenPGP digital signature
URL: <http://lists.centos.org/pipermail/centos/attachments/20120215/3e044b6a/attachment-0005.sig>