Re: A workaround for multilib archs ? [Re: Re: state of apt-rpm development?]

Jaroslaw Polok <[email protected]> Sun, 28 Nov 2004 23:10:45 +0100
Newsgroups gmane.linux.conectiva.apt-rpm
Message-ID <[email protected]>
Hello

>>The patch consist in making apt reject packages for 
>>architectures with score > 2 
>>(athlon/i?86 in case of x86_64/ia64)
>>
>>in apt-pkg/rpm/rpmlistparser.cc, rpmListParser::Step()
>>
>>-if (Handler->IsDatabase() == true ||
>>-        RpmData->ArchScore(Architecture().c_str()) > 0)
>>-        return true;
>>
>>+// ONLY compatible AND native/noarch accepted
>>+if (RpmData->ArchScore(Architecture().c_str()) > 0 
>>+    && RpmData->ArchScore(Architecture().c_str()) < 3)  
>>+        return true;
> 
> 
> Does this patch ignore all compatible packages or only the ones that
> are doubled? E.g. if I have a x86_64/i386 mixed system, but no package
> is doubled (e.g. only i386 package is grub).

Nope. Just everything not being native/noarch is simply ignored
... as it wouldn't exist in the repository ..

Yes .. this is rather a hack than a patch .. but at least I can
use it on ours ia64/x86_64 systems for native packages ....

> what happens with the patch on non-multilib systems? Will the
> behaviour remain the same?

Have not really tried: but it believe it would break i686/athlon
(where situation is little bit more complicated with compatibility
chain going alike athlon->i686->i586->i486->i386)

In addition this does not solve the problem for ia32e (Xeon EM64T):
on these machines apt (with the patch) is completely confused it seems 
(I've been told .. haven't got my hands on one ... yet ...) :
the architecture is ia32e (supposedly ..) BUT almost all packages are
x86_64 ... except the kernel being ia32e ..

Grrrr. .....

I would really *LOVE* to hear if there can be any progress on the 
multilib archs expected in (near ..) future ...

Jarek (@Home)