[oe] RFC: thinking about DEPENDS properties

Robert Schuster theBohemian at gmx.net
Tue Jan 27 11:07:18 UTC 2009


Hi,
today I was thinking about some missing semantics in OE's DEPENDS
variable and had the idea of reusing the way we write SRC_URI entries
for them.

The issues:

1) Strong dependencies

Some recipes have a strong dependency on another recipe. Take llvm as an
example. llvm puts a bunch of static libraries (.a) and object code
files into staging which another program links to. So, if llvm is
recompiled (e.g. changed CFLAGS or applied a patch) those having a
dependency on llvm should be recompiled as well.

In order to express this, I would write:

DEPENDS += "llvm;strong=true"

2) Minimum & Maximum supported versions
Some recipes cannot be built with certain versions of other recipes.

DEPENDS += "automake-native;minver=1.10"

If the distro uses a lower automake version OE should error out when
someone tries to build that recipe:

ERROR: Recipe 'foo' needs at least 'automake-native 1.10' but
'PREFERRED_VERSION_automake-native' is set to '1.9.6'.

--

I know this brings in a lot of complicated things to think about, e.g.
what is the result of:

foo.inc: DEPENDS = "bar;minver=0.8;maxver=0.9"

foo_1.0: require foo.inc
         DEPENDS += "bar;minver=1.0"

Perhaps to many components in OE already expect DEPENDS to be a
whitespace separated list of words and we should be add another variable
whose only purpose is to set properties for existing DEPENDS entries:


foo_1.0:
 require foo.inc
 # Replaces value from foo.inc
 DEPENDSPROPS = "bar;minver=1.0"

--

My main concern is that the knowledge about which recipe can live in
harmony with another is currently implicit. There is no way to express
this except by writing a comment (which is almost never done).

Regards
Robert

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 260 bytes
Desc: OpenPGP digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20090127/4b3cd7ff/attachment-0002.sig>


More information about the Openembedded-devel mailing list