[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [sprint] openembedded / dpkg-cross-buildpackage hybrid

On Mon, 22 Nov 2010 20:04:32 +0000
Luke Kenneth Casson Leighton <lkcl@lkcl.net> wrote:

> * debian maintainers "upload" completed packages, from across the
> world.  openembedded you put the rules/recipes into a git repository,
> and absolutely anyone can build an entire image, from scratch (with
> patience...).  this key difference is a major cause of confusion and
> belief that the two systems are too wildly disparate.

Debian distributes the completed packages as an end in and of itself,
OE does not.

Debian is, essentially, a collection of .deb files, not a collection of
source packages with patches.

The work done by Debian is to get these binary blobs to work together
more effectively. The mandate Policy for how the rules are written
across all 20,000+ blobs and to separate those blobs into distinct
groupings called suites, migrating the blobs between suites without
rebuilding, as and when the collection of blobs is deemed stable.

OE has no such processes - every time it builds, it's different (if it
builds at all).
> * debian produces .deb "dev" packages.  so does openembedded.

OE doesn't distribute those, Debian does.
> * debian has a bootstrap process.  openembedded doesn't exactly, but
> you could create a basic image that would be the equivalent.

No. My image will not be the same as yours because the building blocks
of that image are not the same. Build an image from Debian .deb files
and you get the same image.
> * debian has a _package_ called debootstrap.  nobody in their right
> mind actually bootstraps openembedded to build openembedded inside
> openembedded in order to _get_ that far! (ok, nobody's ever tried it:
> all the distros so far created are, duh, embedded ones)

Exactly. People DO want to do this but the OE system is so insane that
it absolutely prevents people using it in the way they want to use it.
> * (someone please correct me if i'm wrong on this) - debian does NOT
> have an automated "compile-from-scratch" system to create bootstrap
> images (but it does have buildd).  openembedded does.

Finally, you're seeing the difference. That is a GOOD thing - Debian
doesn't do this because it isn't what Debian should be doing.

Debian is binary based and the fact that we don't use a
build-everything-in-one-step process is the big clue that it is
fundamentally a different objective to OE, which does have this system
(and which often fails) and is therefore source based.

> * debian does NOT have an automated "cross-compile-from-scratch"
> system to create bootstrap images.  openembedded does.

And that's a good thing. Debian doesn't want that process because
Debian wants to have the intermediary binary blobs because that is how
Debian works. People want that method because you get the intermediary
stage where you can simply bootstrap a collection of blobs into an
image and always get the same contents every time without failures and
with the whole process taking seconds, not days.

> the penultimate item is not so much of a serious problem

It is the entire point.

> the latter item _is_ a serious problem, for multi-arch and weird
> hardware capability combinations not yet imagined. 

It isn't a problem, it's not something to "solve". The blobs are a GOOD
thing and if that's an issue, use OE.

> as mentioned
> previously the sheer number of combinations means that whatever you
> specify as the defaults (-no-neon, -thumb, -no-thumb, -mmx, -no-mmx)
> it's GOING to be wrong.

That's the Gentoo approach (and OE approach).
> so, basically, openembedded "has it all"

... including a build system that constantly breaks and a lack of
intermediary blobs which would mean that some users who don't need to
build everything can actually get things done in minutes, not weeks.

> * once bitbake has been modified to understand versioned dependencies,
> a build would, instead of reading .bitbake files, check,
> update/download an apt-cache repository and INTERNALLY create bitbake
> recipe objects based not on .bb files but on the debian package
> information.

Please give this up, Luke. It's pointless. You haven't fully understood

> * openembedded is full of tricks such as replacement libtools and
> replacement pkgconfig scripts which understand cross-compiling: the
> replacement pkgconfig script can even create simultaneous equivalents
> of dpkg-cross {libraryname}.pc files as well as a {libraryname}.pc
> file which will end up in the corresponding "-dev" package

... tricks which often break the entire build at some random point
hours after you got bored of watching the output...

> i'm racking my brains to think of any other down-sides... nnope.  i
> think "bitbake is quirky" covers it :)
> ok - enough!  thoughts anyone?

Yes. Please, just stop now. Thanks.


Neil Williams

Attachment: pgpRzR9y8NOh3.pgp
Description: PGP signature

Reply to: