[cooker] Why cross-*-openmandriva-* packages are pulled it ?

Hi,

i've noticed that cross-*-openmandriva-* packages are pulled in when
running dnf upgrade or when building iso:

https://abf.openmandriva.org/platforms/rolling/products/74/product_build_lists/2898

So on x86_64 iso i got:

cross-aarch64-openmandriva-linux-gnu-gcc
cross-aarch64-openmandriva-linux-gnu-libc
cross-aarch64-openmandriva-linux-gnu-binutils

and

workarounds-for-buildroot-breakages

  is pulled in on iso also.

Hi,

Hi,

i've noticed that cross-*-openmandriva-* packages are pulled in when
running dnf upgrade or when building iso:

This is a bug, I know what's causing it, but not yet sure what the best way to fix it is.

The crosscompilers are now in a shape where they actually do what they should do - including support for shared libraries and all. But rpm's dependency generator is a little stupid, so it sees a libgcc_s.so.1 and generates a "Provides: libgcc_s.so.1()(64bit)" dependency -- ignoring the fact that this libgcc_s.so.1 is for a different 64bit architecture.

So when installing something else, rpm sees something needing libgcc_s.so.1()(64bit), and somehow ends up selecting the aarch64 cross libgcc_s.so.1 to fulfill the dependency.

The quick fix is to just make sure cross-* packages don't provide anything.

Better fix would be to eliminate "libwhatever.so.x()(64bit)" style dependencies and replace them with something more accurate, like "libwhatever.so.x()(aarch64)" or so.
Obviously that would require patching rpm and rebuilding all packages.

ttyl
bero