Andy Green wrote:
Hans de Goede wrote:
Linus Walleij wrote:
2. As I understand it you employ the Fedora/x86 style of not using a
cross-compiler to build these packages, but rather build them with ARM
on ARM. I am aware of some RPM derivatives like those used by
MontaVista, that employ a cross-compiler instead. What are your
thought
on these issues? Have you tested both solutions and come to the
conclusion that the all-ARM-enclosed build system is the way to go?
In my somewhat limited experience cross-compiling of software which is
not designed for that from day one is a big pain, let alone
cross-compiling an entire distro! There are indeed some hacks around rpm
to make the packahes think they are being build nativly, but what I've
seen these are very gross hacks and still break often.
Native compiling definitively is the way to go, an alternative might be
emulating the native system and building in the emulated system.
The way to go IMO is to improve the common packages to work well with
crosscompile... ones with recent autoblah on them generally work nice
and easily. Fedora itself could do with say being able to build all the
arch binaries simply on a single build host too.
I agree; IMHO, this is the way to go in the long-term. As I see it, the
first step is to make sure that rpmbuild and the Fedora spec file do not
come in the way. That is, if an upstream package will cross-compile,
then it should be possible to cross-build the corresponding Fedora RPM.
One might even look at it as a bug (albeit, at this point in time, a low
priority one) if a package cannot cross-compile. Over time, it is not
unreasonable to believe that this could be addressed through a set of
diligent package maintainers and good packaging guidelines.
I have rpm-packaged a bunch of apps for crosscompile (arm9 and avr32) here
http://octotux.org
See
http://rpm.octotux.org
for the packages. I don't claim the spec files meet any criteria of
beauty or utility for Fedora, since I was learning packaging from
scratch while I did them, but they do crosscompile.
Did you have to modify rpm/rpmbuild tools? Virtually, every Embedded
Linux vendor has modified rpm to make it behave properly for
cross-building etc. It would be a good idea if we can get this done
right in upstream rpm.
I dont know where you can find MontaVista's rpm, but you can certainly
take a look at Denx's rpm (as part of their ELDK) and tsrpm by Chris
Faylor (TimeSys) for two approaches to this.
Perl and Python are the holdouts I did not bother to spend more than a
day on, since they currently try to use their own target-compiled
binaries as part of their build process.
They can (and have been) tamed too :-)
Manas
--
fedora-devel-list mailing list
fedora-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-devel-list