diff options
author | Michael Opdenacker <michael.opdenacker@bootlin.com> | 2021-06-10 11:26:21 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-06-14 22:45:33 +0100 |
commit | 5f978a6ccacf9f7f9475207c5a2a1af1dc4c3d00 (patch) | |
tree | fa7ba7ced9e17426b72e07c50288163a5d8ba901 /documentation/ref-manual/migration-3.3.rst | |
parent | dae1e986a0608d899f67f1ae62389d350824235f (diff) | |
download | poky-5f978a6ccacf9f7f9475207c5a2a1af1dc4c3d00.tar.gz |
ref-manual: move migration guides to separate document
This makes the reference manual much lighter by moving
the migration guides to a separate document.
The migration guides are also reordered from last to first,
and they appear directly in the left bar, making them easier
to find in the documentation.
(From yocto-docs rev: 5121b86ee97eb62a0c69c9ad1fc0e3fabbe3e934)
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/ref-manual/migration-3.3.rst')
-rw-r--r-- | documentation/ref-manual/migration-3.3.rst | 168 |
1 files changed, 0 insertions, 168 deletions
diff --git a/documentation/ref-manual/migration-3.3.rst b/documentation/ref-manual/migration-3.3.rst deleted file mode 100644 index 4fb51a39dc..0000000000 --- a/documentation/ref-manual/migration-3.3.rst +++ /dev/null | |||
@@ -1,168 +0,0 @@ | |||
1 | Moving to the Yocto Project 3.3 Release (hardknott) | ||
2 | =================================================== | ||
3 | |||
4 | This section provides migration information for moving to the Yocto | ||
5 | Project 3.3 Release (codename "hardknott") from the prior release. | ||
6 | |||
7 | |||
8 | .. _migration-3.3-minimum-system-requirements: | ||
9 | |||
10 | Minimum system requirements | ||
11 | --------------------------- | ||
12 | |||
13 | You will now need at least Python 3.6 installed on your build host. Most recent | ||
14 | distributions provide this, but should you be building on a distribution that | ||
15 | does not have it, you can use the ``buildtools-tarball`` (easily installable | ||
16 | using ``scripts/install-buildtools``) - see | ||
17 | :ref:`ref-manual/system-requirements:required git, tar, python and gcc versions` | ||
18 | for details. | ||
19 | |||
20 | |||
21 | .. _migration-3.3-removed-recipes: | ||
22 | |||
23 | Removed recipes | ||
24 | --------------- | ||
25 | |||
26 | The following recipes have been removed: | ||
27 | |||
28 | - ``go-dep``: obsolete with the advent of go modules | ||
29 | - ``gst-validate``: replaced by ``gst-devtools`` | ||
30 | - ``linux-yocto``: removed 5.8 version recipes (5.4 / 5.10 still provided) | ||
31 | - ``vulkan-demos``: replaced by ``vulkan-samples`` | ||
32 | |||
33 | |||
34 | .. _migration-3.3-common-license-only-versions: | ||
35 | |||
36 | Single version common license file naming | ||
37 | ----------------------------------------- | ||
38 | |||
39 | Some license files in ``meta/files/common-licenses`` have been renamed to match | ||
40 | current SPDX naming conventions: | ||
41 | |||
42 | - AGPL-3.0 -> AGPL-3.0-only | ||
43 | - GPL-1.0 -> GPL-1.0-only | ||
44 | - GPL-2.0 -> GPL-2.0-only | ||
45 | - GPL-3.0 -> GPL-3.0-only | ||
46 | - LGPL-2.0 -> LGPL-2.0-only | ||
47 | - LGPL-2.1 -> LGPL-2.1-only | ||
48 | - LGPL-3.0 -> LGPL-3.0-only | ||
49 | |||
50 | Additionally, corresponding "-or-later" suffixed files have been added e.g. | ||
51 | ``GPL-2.0-or-later``. | ||
52 | |||
53 | It is not required that you change :term:`LICENSE` values as there are mappings | ||
54 | from the original names in place; however, in rare cases where you have a recipe | ||
55 | which sets :term:`LIC_FILES_CHKSUM` to point to file(s) in | ||
56 | ``meta/files/common-licenses`` (which in any case is not recommended) you will | ||
57 | need to update those. | ||
58 | |||
59 | |||
60 | .. _migration-3.3-python3targetconfig: | ||
61 | |||
62 | New ``python3targetconfig`` class | ||
63 | --------------------------------- | ||
64 | |||
65 | A new :ref:`python3targetconfig <ref-classes-python3targetconfig>` class has been | ||
66 | created for situations where you would previously have inherited the | ||
67 | ``python3native`` class but need access to target configuration data (such as | ||
68 | correct installation directories). Recipes where this situation applies should | ||
69 | be changed to inherit ``python3targetconfig`` instead of ``python3native``. This | ||
70 | also adds a dependency on target ``python3``, so it should only be used where | ||
71 | appropriate in order to avoid unnecessarily lengthening builds. | ||
72 | |||
73 | Some example recipes where this change has been made: ``gpgme``, ``libcap-ng``, | ||
74 | ``python3-pycairo``. | ||
75 | |||
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 | |||
106 | .. _migration-3.3-bitbake: | ||
107 | |||
108 | BitBake changes | ||
109 | --------------- | ||
110 | |||
111 | - BitBake is now configured to use a default ``umask`` of ``022`` for all tasks | ||
112 | (specified via a new :term:`BB_DEFAULT_UMASK` variable). If needed, ``umask`` can | ||
113 | still be set on a per-task basis via the ``umask`` varflag on the task | ||
114 | function, but that is unlikely to be necessary in most cases. | ||
115 | |||
116 | - If a version specified in :term:`PREFERRED_VERSION` is not available this | ||
117 | will now trigger a warning instead of just a note, making such issues more | ||
118 | visible. | ||
119 | |||
120 | |||
121 | .. _migration-3.3-packaging: | ||
122 | |||
123 | Packaging changes | ||
124 | ----------------- | ||
125 | |||
126 | The following packaging changes have been made; in all cases the main package | ||
127 | still depends upon the split out packages so you should not need to do anything | ||
128 | unless you want to take advantage of the improved granularity: | ||
129 | |||
130 | - ``dbus``: ``-common`` and ``-tools`` split out | ||
131 | - ``iproute2``: split ``ip`` binary to its own package | ||
132 | - ``net-tools``: split ``mii-tool`` into its own package | ||
133 | - ``procps``: split ``ps`` and ``sysctl`` into their own packages | ||
134 | - ``rpm``: split build and extra functionality into separate packages | ||
135 | - ``sudo``: split ``sudo`` binary into ``sudo-sudo`` and libs into ``sudo-lib`` | ||
136 | - ``systemtap``: examples, python scripts and runtime material split out | ||
137 | - ``util-linux``: ``libuuid`` has been split out to its own | ||
138 | ``util-linux-libuuid`` recipe (and corresponding packages) to avoid circular | ||
139 | dependencies if ``libgcrypt`` support is enabled in ``util-linux``. | ||
140 | (``util-linux`` depends upon ``util-linux-libuuid``.) | ||
141 | |||
142 | |||
143 | .. _migration-3.3-misc: | ||
144 | |||
145 | Miscellaneous changes | ||
146 | --------------------- | ||
147 | |||
148 | - The default poky :term:`DISTRO_VERSION` value now uses the core metadata's | ||
149 | git hash (i.e. :term:`METADATA_REVISION`) rather than the date (i.e. | ||
150 | :term:`DATE`) to reduce one small source of non-reproducibility. You can | ||
151 | of course specify your own :term:`DISTRO_VERSION` value as desired | ||
152 | (particularly if you create your own custom distro configuration). | ||
153 | - ``adwaita-icon-theme`` version 3.34.3 has been added back, and is selected | ||
154 | as the default via :term:`PREFERRED_VERSION` in | ||
155 | ``meta/conf/distro/include/default-versions.inc`` due to newer versions | ||
156 | not working well with ``librsvg`` 2.40. ``librsvg`` is not practically | ||
157 | upgradeable at the moment as it has been ported to Rust, and Rust is not | ||
158 | (yet) in OE-Core, but this will change in a future release. | ||
159 | - ``ffmpeg`` is now configured to disable GPL-licensed portions by default | ||
160 | to make it harder to accidentally violate the GPL. To explicitly enable GPL | ||
161 | licensed portions, add ``gpl`` to :term:`PACKAGECONFIG` for ``ffmpeg`` | ||
162 | using a bbappend (or use ``PACKAGECONFIG_append_pn-ffmpeg = " gpl"`` in | ||
163 | your configuration.) | ||
164 | - ``connman`` is now set to conflict with ``systemd-networkd`` as they | ||
165 | overlap functionally and may interfere with each other at runtime. | ||
166 | - Canonical SPDX license names are now used in image license manifests in | ||
167 | order to avoid aliases of the same license from showing up together (e.g. | ||
168 | ``GPLv2`` and ``GPL-2.0``) | ||