diff options
author | Michael Opdenacker <michael.opdenacker@bootlin.com> | 2022-11-24 17:50:52 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-12-01 19:20:29 +0000 |
commit | 945c669138a76be18c6b4da4f8f907d2a5cfd83f (patch) | |
tree | cebff3cae5021d4fcceb5aa51fce1c2aead97ed2 /documentation/dev-manual/python-development-shell.rst | |
parent | 6fe3143800925463279d0664fc7f3372b53c6c52 (diff) | |
download | poky-945c669138a76be18c6b4da4f8f907d2a5cfd83f.tar.gz |
manuals: split dev-manual/common-tasks.rst
A 500 KB source file is always harder to manage,
and can have section title conflicts.
So, the "Common Tasks" document is gone and all
its constituents are moved up one level.
You now have 40 chapters in the Development Tasks Manual.
(From yocto-docs rev: 8a45bc469411410020b8e688c137395fcaf3761b)
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/dev-manual/python-development-shell.rst')
-rw-r--r-- | documentation/dev-manual/python-development-shell.rst | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/documentation/dev-manual/python-development-shell.rst b/documentation/dev-manual/python-development-shell.rst new file mode 100644 index 0000000000..1b213318a5 --- /dev/null +++ b/documentation/dev-manual/python-development-shell.rst | |||
@@ -0,0 +1,50 @@ | |||
1 | .. SPDX-License-Identifier: CC-BY-SA-2.0-UK | ||
2 | |||
3 | Using a Python Development Shell | ||
4 | ******************************** | ||
5 | |||
6 | Similar to working within a development shell as described in the | ||
7 | previous section, you can also spawn and work within an interactive | ||
8 | Python development shell. When debugging certain commands or even when | ||
9 | just editing packages, ``pydevshell`` can be a useful tool. When you | ||
10 | invoke the ``pydevshell`` task, all tasks up to and including | ||
11 | :ref:`ref-tasks-patch` are run for the | ||
12 | specified target. Then a new terminal is opened. Additionally, key | ||
13 | Python objects and code are available in the same way they are to | ||
14 | BitBake tasks, in particular, the data store 'd'. So, commands such as | ||
15 | the following are useful when exploring the data store and running | ||
16 | functions:: | ||
17 | |||
18 | pydevshell> d.getVar("STAGING_DIR") | ||
19 | '/media/build1/poky/build/tmp/sysroots' | ||
20 | pydevshell> d.getVar("STAGING_DIR", False) | ||
21 | '${TMPDIR}/sysroots' | ||
22 | pydevshell> d.setVar("FOO", "bar") | ||
23 | pydevshell> d.getVar("FOO") | ||
24 | 'bar' | ||
25 | pydevshell> d.delVar("FOO") | ||
26 | pydevshell> d.getVar("FOO") | ||
27 | pydevshell> bb.build.exec_func("do_unpack", d) | ||
28 | pydevshell> | ||
29 | |||
30 | See the ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:functions you can call from within python`" | ||
31 | section in the BitBake User Manual for details about available functions. | ||
32 | |||
33 | The commands execute just as if the OpenEmbedded build | ||
34 | system were executing them. Consequently, working this way can be | ||
35 | helpful when debugging a build or preparing software to be used with the | ||
36 | OpenEmbedded build system. | ||
37 | |||
38 | Following is an example that uses ``pydevshell`` on a target named | ||
39 | ``matchbox-desktop``:: | ||
40 | |||
41 | $ bitbake matchbox-desktop -c pydevshell | ||
42 | |||
43 | This command spawns a terminal and places you in an interactive Python | ||
44 | interpreter within the OpenEmbedded build environment. The | ||
45 | :term:`OE_TERMINAL` variable | ||
46 | controls what type of shell is opened. | ||
47 | |||
48 | When you are finished using ``pydevshell``, you can exit the shell | ||
49 | either by using Ctrl+d or closing the terminal window. | ||
50 | |||