> On Wed, 2002-02-27 at 11:14, David Walser wrote:
> > 
> > --- Charles A Edwards <[EMAIL PROTECTED]> wrote:
> > > rpmrebuilds on an Athlon (650mhz) using any kernel
> > > source are being done as i386 and Not as the proper
> > > i686.
> > 
> > Actually proper would be athlon, not i686.  As far as
> > I know, RPM doesn't know the difference between athlon
> > and i686, so it picks i686, and k6 and i586, so it
> > picks i586.  You can force it manually with the
> > buildarchtranslate line (I'll explain).

rpm (since 4.0.2? I fergit) should detect an athlon just fine
using inline asm voodoo.

What does "rpm --showrc" say for
        ...
        install arch          : i686
        ...

> > The problem does lie with the newest RPM upgrade,
> > which does implements a fix I suggested, but quite
> > incorrectly.
> > 
> > First, in macros, athlon was added to ix86, but k6 was
> > still left out.  It (line 836) should read:
> > 
> > %ix86   i386 i486 k6 i586 i686 athlon i786 i886 i986
> > 

FWIW the problem is far deeper than the %ix86 macro value.
rpm has no distinguished architecture for "k6" ATM, nor is
it clear (to me anyways) what the compatibility matrix
should look like.

> > 
> > Nice first try Frederic, let's give it another go :o)

<grin> Misery loves company.

> > 
> > If anyone can figure out why RPM won't detect athlon
> > or k6 automatically, that'd be great.
> > 

Again, what does "rpm --showrc" say? If not "athlon", then
is_athlon() in lib/rpmrc.c is broken somehow:

#       if defined(__linux__) && defined(__i386__)
        {
            char class = (char) (RPMClass() | '0');

            if (class == '6' && is_athlon())
                strcpy(un.machine, "athlon");
            else if (strchr("3456", un.machine[1]) && un.machine[1] != class)
                un.machine[1] = class;
        }
#       endif


73 de Jeff

-- 
Jeff Johnson    ARS N3NPQ
[EMAIL PROTECTED] ([EMAIL PROTECTED])
Chapel Hill, NC

Reply via email to