Monday, January 30, 2012

Populating sysroot from non-standard paths

Your recipe is finally installing all of the correct files into their correct places during do_install, they are being packaged up properly, but something is still wrong. None of these files are ending up in the sysroot so other packages can make use of them. What's going on?!?

OE-Core only knows about a handful of paths that it should transfer over to the sysroot. In order to teach it about others, you need to define a function that does the populating and then add it to SYSROOT_PREPROCESS_FUNCS. Here's an example for recipe foo:

foo_populate_sysroot() {
sysroot_stage_dir ${D}/my/custom/path ${SYSROOT_DESTDIR}/my/custom/path
}
SYSROOT_PREPROCESS_FUNCS += "foo_populate_sysroot"

This will cause /my/custom/path to be exported to the sysroot and be available for other recipes to use. That's it, you're done! Note that the name of the function can be anything, the above name was used just for clarity.

No comments:

Post a Comment