diff options
-rw-r--r-- | documentation/ref-manual/migration-3.3.rst | 29 | ||||
-rw-r--r-- | documentation/ref-manual/variables.rst | 13 |
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 | |||
82 | In a Python module, sometimes ``setup.py`` can be buried deep in the | ||
83 | source tree. Previously this was handled in recipes by setting :term:`S` to | ||
84 | point to the subdirectory within the source where ``setup.py`` is located. | ||
85 | However with the recent :ref:`pseudo <overview-manual/concepts:fakeroot and pseudo>` | ||
86 | changes, some Python modules make changes to files beneath ``${S}``, for | ||
87 | example:: | ||
88 | |||
89 | S = "${WORKDIR}/git/python/pythonmodule" | ||
90 | |||
91 | then in ``setup.py`` it works with source code in a relative fashion, such | ||
92 | as ``../../src``. This causes pseudo to abort as it isn't able to track | ||
93 | the paths properly. This release introduces a new :term:`DISTUTILS_SETUP_PATH` | ||
94 | variable so that recipes can specify it explicitly, for example:: | ||
95 | |||
96 | S = "${WORKDIR}/git" | ||
97 | DISTUTILS_SETUP_PATH = "${S}/python/pythonmodule" | ||
98 | |||
99 | Recipes 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 | ||
102 | point to a Python module within a subdirectory in the aforementioned | ||
103 | manner should be changed to set :term:`DISTUTILS_SETUP_PATH` instead. | ||
104 | |||
105 | |||
77 | .. _migration-3.3-bitbake: | 106 | .. _migration-3.3-bitbake: |
78 | 107 | ||
79 | BitBake changes | 108 | BitBake 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 |