On Wed, 23 Jul 2008, Enrico Scholz wrote:
David Woodhouse <dwmw2@xxxxxxxxxxxxx> writes:
But it would be nice if we could have a 'clean' dependency chain along
the lines of:
cross-gcc --> cross-glibc --> cross-libgcc.so
Not easy with current rpm:
* assuming 'rpm' can extract PROVIDES/NEEDED out of cross built binaries,
you will run into the problem that there are cross and native packages
which are both providing the same 'libc.so.6'. When another native
package requires 'libc.so.6', the cross package might get installed.
RPM would have to annotate these provides/requires.
There has been some discussion about adding the ISA name to all
automatically extracted dependencies for disambiguation. For example where
i386 and ppc currently produce 'libc.so.6' dependency names, it would
become something like 'libc.so.6(x86-32)' vs 'libc.so.6(ppc-32)'
The problem is, this would be a massive compatibility breakdown which
would have to be dealt with somehow.
I hacked around it by disabling automatic dependencies (--> no
--file-requires anymore :( ) and using custom find-provides/requires
scripts. It's very hacky but surprisingly it works since FC-5 till
F-9...
* you have to package cross-glibc as 'noarch' or as the native arch; it
won't be possible to install a package of target arch (at least not
without --ignore-arch).
One possibility that's also been (briefly) discussed at various points is
turning the arch compatibility concept into dependencies, at which point
an emulator package (such as qemu) could provide the things needed by
cross-packages. But this too would have pretty big compatibility issues...
- Panu -
--
fedora-devel-list mailing list
fedora-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-devel-list