Hi guys, I have been requested to comment on our choice of build tools, specifically OpenEmbedded. Unfortunately most of the statements people have approached us with are not based on technical problems, but rather a vague sense of uncertainty and doubt, which it is hard to argument against. Anyway, let us take this opportunity to clean up some things and reply based on facts and technical arguments.
Now the first bunch of questions: >---1 "The openwrt build system is much easier to use than OpenEmbedded" >Can Openmoko switch to the openwrt build system? Of course, we could. However, what problem are we trying to solve here? Where is the exact problem description? Is it the lack of a UI? I'd rather fix this problem than go back to where OpenEmbedded started 5 years ago. The ease of use of OpenWRT mainly comes from its simplicity: If you only target few and very similar devices combined with a limited set of packages, you can cut a lot of corners at the cost of flexibility and synergy. There's a ton of features OpenEmbedded provides us that are missing in OpenWRT. >---2 "building with a cross-compiler is wrong, builds should be done >natively in an emulated (qemu) arm environment" >Can Openmoko switch to compiling arm binaries 'natively' in a qemu >environment, like Ubuntu Mobile? Again, what's the exact problem description here? Cross-compilation is not "wrong" at all, it works very well. By compiling in environments like Scratchbox or Qemu we give away a lot of flexibility and scalability. It will kill performance and the end result (as in the flashable image) does not differ at all. So, where would be the potential benefit? >---3 "Openmoko should use normal .deb or .rpm packages, instead of >ipkg/opkg" >This usually includes people saying we should use src rpms / debian >src files to build packages. That's actually two different questions and I can only comment on one: 3.1. What's the actual problem here rather than a desperate attempt to unify the desktop and the embedded world more than what's good for the embedded world? Is it that .ipk are less known than .deb? Is it the feature of the command line tools or the packaging system per se? Yes, we can use .debs -- the guys working on Mamona (an alternative OpenEmbedded-built distribution for the Nokia Internet Tablets) are doing that with OE. However, before even considering such a switch it's very important to know what problem we want to solve. We should also consider that ipkg is more than dpkg, rather something like apt, which performance-wise is a completely different story on a phone. RPM? I have yet to see a version of RPM that is working at all (not considering performance) on an embedded system like the Neo. Until then we should not even talk about that as a viable option. 3.2. I have no experience with building from source packages other than tarballs. Maybe someone else can comment on that. >---4 "Merge the Openmoko distribution into Moblin" >Intel wants us to do this, and offers all kinds of support if we did. >No cross-compilation either. At first, Moblin per se is not a build utility, it's rather an umbrella project for a dedicated set of patches and applications for the so-called Intel Mobile Internet Devices. It happens to come with a build utility that is actually pretty limited (no cross-compilation to start with, heaps of other features from OE missing). Moblin as in patches and applications is a different story, we should talk about that on openmoko-devel, however my first impression is we would give up a lot of flexibility by locking people in to one environment. The openness of Openmoko depends on a large part on the availability of OpenEmbedded. Without OpenEmbedded it will be much harder for people to come up with own experiments based on the Neo hardware. I hope that clarifies some things and gets the discussion started, if necessary. :M:

