Hi Jacques, On Monday 20 January 2014 15:57:39 Jacques Guillou wrote: > By default (at least with Yocto), it seems like forcing the rebuild of a > specific package (via "bitbake -c cleanall MyPackage") does not mark > dependees as "to be rebuilt", which is a problem for me. Is there a way to > change that behavior ? Maybe there is a specific command or parameters to > be passed to bitbake so that performing a "cleanall" on a given package > also performs a "cleanall" on all dependees ?
OpenEmbedded uses signatures for each task (derived from the task's dependencies, both in terms of variable values and other tasks) to determine whether tasks need re-executing; so, for example if you changed SRC_URI in a recipe then the system knows that do_fetch depends upon the value of SRC_URI, so the signature of do_fetch changes and it will re-execute followed by items it depends upon such as do_unpack, do_patch etc. for the same recipe. Just forcing a recipe to rebuild by cleaning it with -c cleanall and then building it again doesn't change any of its task signatures, so BitBake will assume no dependees need rebuilding. The correct way to force a task and all of its dependencies to re-execute is to use bitbake -c <command> -f or bitbake -C <command>, where <command> is the task name without the do_ prefix. However, under most circumstances the build system is already capable of determining itself when tasks need re-executing, e.g. if you change a variable value or edit a local file mentioned in SRC_URI. The question is why do you want to do this forcing, i.e. what change(s) have you made that the build system otherwise would not be picking up? Cheers, Paul -- Paul Eggleton Intel Open Source Technology Centre _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-devel
