[yocto] The dependency packages

Paul Eggleton paul.eggleton at linux.intel.com
Thu Sep 6 03:08:47 PDT 2012


On Thursday 23 August 2012 18:55:56 Liu wrote:
>        I'm watching the dependency graphs generated by "bitbake -g -u depexp
> busybox", and I found the most dependncy packages where there are invoked.
> But still several ones left I can not find where or which file to invoke 
> them.
>        1) The first package is quilt and I know it is used to patch
> something.Meanwhile I find that in the building process the quilt package
> is always first built than other packages. Then how can I see  that it is
> indeed necessary to build the package "quilt".That is to say which file
> defines to build quilt.

The variable PATCHTOOL is set to "quilt" in meta/conf/bitbake.conf, and in 
meta/classes/patch.bbclass, we have this:

PATCHDEPENDENCY = "${PATCHTOOL}-native:do_populate_sysroot"
do_patch[depends] = "${PATCHDEPENDENCY}"

This says that before any do_patch task executes, we must wait until the 
PATCHTOOL (by default, quilt) has been installed into the sysroot. This is 
because this tool is needed during do_patch.

> 2) I used bitbake -e busybox | grep DEPENDS to
> show the required packages for my build.  I did not find the pseudo in the
> DEPENDS,but I see something related in poky-denzil-7.0.1/scripts/bitbake .
> Is there any other place defines to use some certain packages like this ?

This is a case where a dependency relationship is set up at the task level as 
shown above, rather than between build-time or runtime targets. Unfortunately 
the depexp UI does not deal with task dependencies - perhaps it should, but 
I'm not sure how much slower that would make it.

FYI you can see all of these dependency relationships including the task-based 
ones by looking at the dot files output by "bitbake -g busybox". They are 
usually too large to visualise using graphviz but they are plain text so you 
can just view/search them directly.

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre



More information about the yocto mailing list