summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@microsoft.com>2021-04-15 21:46:06 +1200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-04-15 20:18:58 +0100
commit1203d1f24d51316ff693556a2d36e1fd71789865 (patch)
tree7bfba3c845c9c8ff2ee271e9e1c96d3a22e03bfe
parent34a72cf61389eb0bed05953ecf72fab8c75d580c (diff)
downloadpoky-1203d1f24d51316ff693556a2d36e1fd71789865.tar.gz
ref-manual: add mention of DISTUTILS_SETUP_PATH
Add a variable glossary entry and corresponding 3.3 migration section entry for DISTUTILS_SETUP_PATH. (From yocto-docs rev: 0823237e6f4b9dbdf48500b3c1e8cc61696fa2d2) Signed-off-by: Paul Eggleton <paul.eggleton@microsoft.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--documentation/ref-manual/migration-3.3.rst29
-rw-r--r--documentation/ref-manual/variables.rst13
2 files changed, 42 insertions, 0 deletions
diff --git a/documentation/ref-manual/migration-3.3.rst b/documentation/ref-manual/migration-3.3.rst
index db1619e627..4fb51a39dc 100644
--- a/documentation/ref-manual/migration-3.3.rst
+++ b/documentation/ref-manual/migration-3.3.rst
@@ -74,6 +74,35 @@ Some example recipes where this change has been made: ``gpgme``, ``libcap-ng``,
74``python3-pycairo``. 74``python3-pycairo``.
75 75
76 76
77.. _migration-3.3-distutils-path:
78
79``setup.py`` path for python modules
80------------------------------------
81
82In a Python module, sometimes ``setup.py`` can be buried deep in the
83source tree. Previously this was handled in recipes by setting :term:`S` to
84point to the subdirectory within the source where ``setup.py`` is located.
85However with the recent :ref:`pseudo <overview-manual/concepts:fakeroot and pseudo>`
86changes, some Python modules make changes to files beneath ``${S}``, for
87example::
88
89 S = "${WORKDIR}/git/python/pythonmodule"
90
91then in ``setup.py`` it works with source code in a relative fashion, such
92as ``../../src``. This causes pseudo to abort as it isn't able to track
93the paths properly. This release introduces a new :term:`DISTUTILS_SETUP_PATH`
94variable so that recipes can specify it explicitly, for example::
95
96 S = "${WORKDIR}/git"
97 DISTUTILS_SETUP_PATH = "${S}/python/pythonmodule"
98
99Recipes that inherit from :ref:`distutils3 <ref-classes-distutils3>` (or
100:ref:`setuptools3 <ref-classes-setuptools3>` which itself inherits
101:ref:`distutils3 <ref-classes-distutils3>`) that also set :term:`S` to
102point to a Python module within a subdirectory in the aforementioned
103manner should be changed to set :term:`DISTUTILS_SETUP_PATH` instead.
104
105
77.. _migration-3.3-bitbake: 106.. _migration-3.3-bitbake:
78 107
79BitBake changes 108BitBake changes
diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst
index 8f059650d3..74ac12bf98 100644
--- a/documentation/ref-manual/variables.rst
+++ b/documentation/ref-manual/variables.rst
@@ -1978,6 +1978,19 @@ system and gives an overview of their function and contents.
1978 is included in the default value of 1978 is included in the default value of
1979 :term:`OVERRIDES`. 1979 :term:`OVERRIDES`.
1980 1980
1981 :term:`DISTUTILS_SETUP_PATH`
1982 When used by recipes that inherit the
1983 :ref:`distutils3 <ref-classes-distutils3>` or
1984 :ref:`setuptools3 <ref-classes-setuptools3>` class, this variable should
1985 be used to specify the directory in which the ``setup.py`` file is
1986 located if it is not at the root of the source tree (as specified by
1987 :term:`S`). For example, in a recipe where the sources are fetched from
1988 a Git repository and ``setup.py`` is in a ``python/pythonmodule``
1989 subdirectory, you would have this::
1990
1991 S = "${WORKDIR}/git"
1992 DISTUTILS_SETUP_PATH = "${S}/python/pythonmodule"
1993
1981 :term:`DL_DIR` 1994 :term:`DL_DIR`
1982 The central download directory used by the build process to store 1995 The central download directory used by the build process to store
1983 downloads. By default, ``DL_DIR`` gets files suitable for mirroring 1996 downloads. By default, ``DL_DIR`` gets files suitable for mirroring