]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
bitbake: bitbake-user-manual: Updated "Delete a Task" section for broken deps
authorScott Rifenbark <scott.m.rifenbark@intel.com>
Fri, 22 May 2015 15:42:34 +0000 (09:42 -0600)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 22 May 2015 15:52:33 +0000 (16:52 +0100)
Fixes [YOCTO #7803]

I added information for the scenario where deleting a task using the
deltask command could "break" implicit dependencies.

(Bitbake rev: 5ea3a206bb5beef4c12d56d9e42e29d324a08e16)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml

index d7d6c92ee836ac6ac0de85ac43e9861620298710..fbffade34846de3104688c0df64d31f2cd89cbe8 100644 (file)
             <title>Deleting a Task</title>
 
             <para>
-                As well as being able to add tasks, tasks can also be deleted.
-                This is done simply with <filename>deltask</filename> command.
+                As well as being able to add tasks, you can delete them.
+                Simply use the <filename>deltask</filename> command to
+                delete a task.
                 For example, to delete the example task used in the previous
                 sections, you would use:
                 <literallayout class='monospaced'>
      deltask printdate
                 </literallayout>
+                If you delete a task using the <filename>deltask</filename>
+                command and the task has dependencies, the dependencies are
+                not reconnected.
+                For example, suppose you have three tasks named
+                <filename>do_a</filename>, <filename>do_b</filename>, and
+                <filename>do_c</filename>.
+                Furthermore, <filename>do_c</filename> is dependent on
+                <filename>do_b</filename>, which in turn is dependent on
+                <filename>do_a</filename>.
+                Given this scenario, if you use <filename>deltask</filename>
+                to delete <filename>do_b</filename>, the implicit dependency
+                relationship between <filename>do_c</filename> and
+                <filename>do_a</filename> through <filename>do_b</filename>
+                no longer exists, and <filename>do_c</filename> dependencies
+                are not updated to include <filename>do_a</filename>.
+                Thus, <filename>do_c</filename> is free to run before
+                <filename>do_a</filename>.
+            </para>
+
+            <para>
+                If you want dependencies such as these to remain intact, use
+                the <filename>noexec</filename> varflag to disable the task
+                instead of using the <filename>deltask</filename> command to
+                delete it:
+                <literallayout class='monospaced'>
+     do_b[noexec] = "1"
+                </literallayout>
             </para>
         </section>