diff options
Diffstat (limited to 'documentation/ref-manual/ref-qa-checks.rst')
-rw-r--r-- | documentation/ref-manual/ref-qa-checks.rst | 132 |
1 files changed, 66 insertions, 66 deletions
diff --git a/documentation/ref-manual/ref-qa-checks.rst b/documentation/ref-manual/ref-qa-checks.rst index e83fad8e10..d60c0616f0 100644 --- a/documentation/ref-manual/ref-qa-checks.rst +++ b/documentation/ref-manual/ref-qa-checks.rst | |||
@@ -28,7 +28,7 @@ error form along with an explanation. | |||
28 | .. note:: | 28 | .. note:: |
29 | 29 | ||
30 | - At the end of each message, the name of the associated QA test (as | 30 | - At the end of each message, the name of the associated QA test (as |
31 | listed in the "```insane.bbclass`` <#ref-classes-insane>`__" | 31 | listed in the ":ref:`insane.bbclass <ref-classes-insane>`" |
32 | section) appears within square brackets. | 32 | section) appears within square brackets. |
33 | 33 | ||
34 | - As mentioned, this list of error and warning messages is for QA | 34 | - As mentioned, this list of error and warning messages is for QA |
@@ -56,10 +56,10 @@ Errors and Warnings | |||
56 | 56 | ||
57 | The specified binary produced by the recipe contains dynamic library | 57 | The specified binary produced by the recipe contains dynamic library |
58 | load paths (rpaths) that contain build system paths such as | 58 | load paths (rpaths) that contain build system paths such as |
59 | ```TMPDIR`` <#var-TMPDIR>`__, which are incorrect for the target and | 59 | :term:`TMPDIR`, which are incorrect for the target and |
60 | could potentially be a security issue. Check for bad ``-rpath`` | 60 | could potentially be a security issue. Check for bad ``-rpath`` |
61 | options being passed to the linker in your | 61 | options being passed to the linker in your |
62 | ```do_compile`` <#ref-tasks-compile>`__ log. Depending on the build | 62 | :ref:`ref-tasks-compile` log. Depending on the build |
63 | system used by the software being built, there might be a configure | 63 | system used by the software being built, there might be a configure |
64 | option to disable rpath usage completely within the build of the | 64 | option to disable rpath usage completely within the build of the |
65 | software. | 65 | software. |
@@ -82,7 +82,7 @@ Errors and Warnings | |||
82 | 82 | ||
83 | A file-level dependency has been identified from the specified | 83 | A file-level dependency has been identified from the specified |
84 | package on the specified files, but there is no explicit | 84 | package on the specified files, but there is no explicit |
85 | corresponding entry in ```RDEPENDS`` <#var-RDEPENDS>`__. If | 85 | corresponding entry in :term:`RDEPENDS`. If |
86 | particular files are required at runtime then ``RDEPENDS`` should be | 86 | particular files are required at runtime then ``RDEPENDS`` should be |
87 | declared in the recipe to ensure the packages providing them are | 87 | declared in the recipe to ensure the packages providing them are |
88 | built. | 88 | built. |
@@ -95,7 +95,7 @@ Errors and Warnings | |||
95 | there is nothing explicit within the recipe to enable the | 95 | there is nothing explicit within the recipe to enable the |
96 | OpenEmbedded build system to ensure that dependency is satisfied. | 96 | OpenEmbedded build system to ensure that dependency is satisfied. |
97 | This condition is usually triggered by an | 97 | This condition is usually triggered by an |
98 | ```RDEPENDS`` <#var-RDEPENDS>`__ value being added at the packaging | 98 | :term:`RDEPENDS` value being added at the packaging |
99 | stage rather than up front, which is usually automatic based on the | 99 | stage rather than up front, which is usually automatic based on the |
100 | contents of the package. In most cases, you should change the recipe | 100 | contents of the package. In most cases, you should change the recipe |
101 | to add an explicit ``RDEPENDS`` for the dependency. | 101 | to add an explicit ``RDEPENDS`` for the dependency. |
@@ -107,8 +107,8 @@ Errors and Warnings | |||
107 | Symlink ``.so`` files are for development only, and should therefore | 107 | Symlink ``.so`` files are for development only, and should therefore |
108 | go into the ``-dev`` package. This situation might occur if you add | 108 | go into the ``-dev`` package. This situation might occur if you add |
109 | ``*.so*`` rather than ``*.so.*`` to a non-dev package. Change | 109 | ``*.so*`` rather than ``*.so.*`` to a non-dev package. Change |
110 | ```FILES`` <#var-FILES>`__ (and possibly | 110 | :term:`FILES` (and possibly |
111 | ```PACKAGES`` <#var-PACKAGES>`__) such that the specified ``.so`` | 111 | :term:`PACKAGES`) such that the specified ``.so`` |
112 | file goes into an appropriate ``-dev`` package. | 112 | file goes into an appropriate ``-dev`` package. |
113 | 113 | ||
114 | 114 | ||
@@ -116,8 +116,8 @@ Errors and Warnings | |||
116 | - ``non -staticdev package contains static .a library: <packagename> path '<path>' [staticdev]`` | 116 | - ``non -staticdev package contains static .a library: <packagename> path '<path>' [staticdev]`` |
117 | 117 | ||
118 | Static ``.a`` library files should go into a ``-staticdev`` package. | 118 | Static ``.a`` library files should go into a ``-staticdev`` package. |
119 | Change ```FILES`` <#var-FILES>`__ (and possibly | 119 | Change :term:`FILES` (and possibly |
120 | ```PACKAGES`` <#var-PACKAGES>`__) such that the specified ``.a`` file | 120 | :term:`PACKAGES`) such that the specified ``.a`` file |
121 | goes into an appropriate ``-staticdev`` package. | 121 | goes into an appropriate ``-staticdev`` package. |
122 | 122 | ||
123 | 123 | ||
@@ -130,7 +130,7 @@ Errors and Warnings | |||
130 | "lib32". Another example is when recipes install | 130 | "lib32". Another example is when recipes install |
131 | ``/usr/lib64/foo.so`` when ``${libdir}`` is "/usr/lib". False | 131 | ``/usr/lib64/foo.so`` when ``${libdir}`` is "/usr/lib". False |
132 | positives occasionally exist. For these cases add "libdir" to | 132 | positives occasionally exist. For these cases add "libdir" to |
133 | ```INSANE_SKIP`` <#var-INSANE_SKIP>`__ for the package. | 133 | :term:`INSANE_SKIP` for the package. |
134 | 134 | ||
135 | 135 | ||
136 | 136 | ||
@@ -141,7 +141,7 @@ Errors and Warnings | |||
141 | occur if you add a path which contains a ``.debug`` directory and do | 141 | occur if you add a path which contains a ``.debug`` directory and do |
142 | not explicitly add the ``.debug`` directory to the ``-dbg`` package. | 142 | not explicitly add the ``.debug`` directory to the ``-dbg`` package. |
143 | If this is the case, add the ``.debug`` directory explicitly to | 143 | If this is the case, add the ``.debug`` directory explicitly to |
144 | ``FILES_${PN}-dbg``. See ```FILES`` <#var-FILES>`__ for additional | 144 | ``FILES_${PN}-dbg``. See :term:`FILES` for additional |
145 | information on ``FILES``. | 145 | information on ``FILES``. |
146 | 146 | ||
147 | 147 | ||
@@ -158,8 +158,8 @@ Errors and Warnings | |||
158 | the error for is firmware that is not intended to be executed within | 158 | the error for is firmware that is not intended to be executed within |
159 | the target operating system or is intended to run on a separate | 159 | the target operating system or is intended to run on a separate |
160 | processor within the device, you can add "arch" to | 160 | processor within the device, you can add "arch" to |
161 | ```INSANE_SKIP`` <#var-INSANE_SKIP>`__ for the package. Another | 161 | :term:`INSANE_SKIP` for the package. Another |
162 | option is to check the ```do_compile`` <#ref-tasks-compile>`__ log | 162 | option is to check the :ref:`ref-tasks-compile` log |
163 | and verify that the compiler options being used are correct. | 163 | and verify that the compiler options being used are correct. |
164 | 164 | ||
165 | 165 | ||
@@ -176,8 +176,8 @@ Errors and Warnings | |||
176 | the error for is firmware that is not intended to be executed within | 176 | the error for is firmware that is not intended to be executed within |
177 | the target operating system or is intended to run on a separate | 177 | the target operating system or is intended to run on a separate |
178 | processor within the device, you can add "arch" to | 178 | processor within the device, you can add "arch" to |
179 | ```INSANE_SKIP`` <#var-INSANE_SKIP>`__ for the package. Another | 179 | :term:`INSANE_SKIP` for the package. Another |
180 | option is to check the ```do_compile`` <#ref-tasks-compile>`__ log | 180 | option is to check the :ref:`ref-tasks-compile` log |
181 | and verify that the compiler options being used are correct. | 181 | and verify that the compiler options being used are correct. |
182 | 182 | ||
183 | 183 | ||
@@ -194,8 +194,8 @@ Errors and Warnings | |||
194 | the error for is firmware that is not intended to be executed within | 194 | the error for is firmware that is not intended to be executed within |
195 | the target operating system or is intended to run on a separate | 195 | the target operating system or is intended to run on a separate |
196 | processor within the device, you can add "arch" to | 196 | processor within the device, you can add "arch" to |
197 | ```INSANE_SKIP`` <#var-INSANE_SKIP>`__ for the package. Another | 197 | :term:`INSANE_SKIP` for the package. Another |
198 | option is to check the ```do_compile`` <#ref-tasks-compile>`__ log | 198 | option is to check the :ref:`ref-tasks-compile` log |
199 | and verify that the compiler options being used are correct. | 199 | and verify that the compiler options being used are correct. |
200 | 200 | ||
201 | 201 | ||
@@ -208,7 +208,7 @@ Errors and Warnings | |||
208 | 208 | ||
209 | Typically, the way to solve this performance issue is to add "-fPIC" | 209 | Typically, the way to solve this performance issue is to add "-fPIC" |
210 | or "-fpic" to the compiler command-line options. For example, given | 210 | or "-fpic" to the compiler command-line options. For example, given |
211 | software that reads ```CFLAGS`` <#var-CFLAGS>`__ when you build it, | 211 | software that reads :term:`CFLAGS` when you build it, |
212 | you could add the following to your recipe: CFLAGS_append = " -fPIC " | 212 | you could add the following to your recipe: CFLAGS_append = " -fPIC " |
213 | 213 | ||
214 | For more information on text relocations at runtime, see | 214 | For more information on text relocations at runtime, see |
@@ -219,11 +219,11 @@ Errors and Warnings | |||
219 | - ``No GNU_HASH in the elf binary: '<file>' [ldflags]`` | 219 | - ``No GNU_HASH in the elf binary: '<file>' [ldflags]`` |
220 | 220 | ||
221 | This indicates that binaries produced when building the recipe have | 221 | This indicates that binaries produced when building the recipe have |
222 | not been linked with the ```LDFLAGS`` <#var-LDFLAGS>`__ options | 222 | not been linked with the :term:`LDFLAGS` options |
223 | provided by the build system. Check to be sure that the ``LDFLAGS`` | 223 | provided by the build system. Check to be sure that the ``LDFLAGS`` |
224 | variable is being passed to the linker command. A common workaround | 224 | variable is being passed to the linker command. A common workaround |
225 | for this situation is to pass in ``LDFLAGS`` using | 225 | for this situation is to pass in ``LDFLAGS`` using |
226 | ```TARGET_CC_ARCH`` <#var-TARGET_CC_ARCH>`__ within the recipe as | 226 | :term:`TARGET_CC_ARCH` within the recipe as |
227 | follows: TARGET_CC_ARCH += "${LDFLAGS}" | 227 | follows: TARGET_CC_ARCH += "${LDFLAGS}" |
228 | 228 | ||
229 | 229 | ||
@@ -243,7 +243,7 @@ Errors and Warnings | |||
243 | - ``The /usr/share/info/dir file is not meant to be shipped in a particular package. [infodir]`` | 243 | - ``The /usr/share/info/dir file is not meant to be shipped in a particular package. [infodir]`` |
244 | 244 | ||
245 | The ``/usr/share/info/dir`` should not be packaged. Add the following | 245 | The ``/usr/share/info/dir`` should not be packaged. Add the following |
246 | line to your ```do_install`` <#ref-tasks-install>`__ task or to your | 246 | line to your :ref:`ref-tasks-install` task or to your |
247 | ``do_install_append`` within the recipe as follows: rm | 247 | ``do_install_append`` within the recipe as follows: rm |
248 | ${D}${infodir}/dir | 248 | ${D}${infodir}/dir |
249 | 249 | ||
@@ -251,7 +251,7 @@ Errors and Warnings | |||
251 | 251 | ||
252 | - ``Symlink <path> in <packagename> points to TMPDIR [symlink-to-sysroot]`` | 252 | - ``Symlink <path> in <packagename> points to TMPDIR [symlink-to-sysroot]`` |
253 | 253 | ||
254 | The specified symlink points into ```TMPDIR`` <#var-TMPDIR>`__ on the | 254 | The specified symlink points into :term:`TMPDIR` on the |
255 | host. Such symlinks will work on the host. However, they are clearly | 255 | host. Such symlinks will work on the host. However, they are clearly |
256 | invalid when running on the target. You should either correct the | 256 | invalid when running on the target. You should either correct the |
257 | symlink to use a relative path or remove the symlink. | 257 | symlink to use a relative path or remove the symlink. |
@@ -260,7 +260,7 @@ Errors and Warnings | |||
260 | 260 | ||
261 | - ``<file> failed sanity test (workdir) in path <path> [la]`` | 261 | - ``<file> failed sanity test (workdir) in path <path> [la]`` |
262 | 262 | ||
263 | The specified ``.la`` file contains ```TMPDIR`` <#var-TMPDIR>`__ | 263 | The specified ``.la`` file contains :term:`TMPDIR` |
264 | paths. Any ``.la`` file containing these paths is incorrect since | 264 | paths. Any ``.la`` file containing these paths is incorrect since |
265 | ``libtool`` adds the correct sysroot prefix when using the files | 265 | ``libtool`` adds the correct sysroot prefix when using the files |
266 | automatically itself. | 266 | automatically itself. |
@@ -270,7 +270,7 @@ Errors and Warnings | |||
270 | - ``<file> failed sanity test (tmpdir) in path <path> [pkgconfig]`` | 270 | - ``<file> failed sanity test (tmpdir) in path <path> [pkgconfig]`` |
271 | 271 | ||
272 | The specified ``.pc`` file contains | 272 | The specified ``.pc`` file contains |
273 | ```TMPDIR`` <#var-TMPDIR>`__\ ``/``\ ```WORKDIR`` <#var-WORKDIR>`__ | 273 | :term:`TMPDIR`\ ``/``\ :term:`WORKDIR` |
274 | paths. Any ``.pc`` file containing these paths is incorrect since | 274 | paths. Any ``.pc`` file containing these paths is incorrect since |
275 | ``pkg-config`` itself adds the correct sysroot prefix when the files | 275 | ``pkg-config`` itself adds the correct sysroot prefix when the files |
276 | are accessed. | 276 | are accessed. |
@@ -285,9 +285,9 @@ Errors and Warnings | |||
285 | brought in using several different methods: | 285 | brought in using several different methods: |
286 | 286 | ||
287 | - Using the ``dbg-pkgs`` | 287 | - Using the ``dbg-pkgs`` |
288 | ```IMAGE_FEATURES`` <#var-IMAGE_FEATURES>`__ value. | 288 | :term:`IMAGE_FEATURES` value. |
289 | 289 | ||
290 | - Using ```IMAGE_INSTALL`` <#var-IMAGE_INSTALL>`__. | 290 | - Using :term:`IMAGE_INSTALL`. |
291 | 291 | ||
292 | - As a dependency of another ``dbg`` package that was brought in | 292 | - As a dependency of another ``dbg`` package that was brought in |
293 | using one of the above methods. | 293 | using one of the above methods. |
@@ -295,7 +295,7 @@ Errors and Warnings | |||
295 | The dependency might have been automatically added because the | 295 | The dependency might have been automatically added because the |
296 | ``dbg`` package erroneously contains files that it should not contain | 296 | ``dbg`` package erroneously contains files that it should not contain |
297 | (e.g. a non-symlink ``.so`` file) or it might have been added | 297 | (e.g. a non-symlink ``.so`` file) or it might have been added |
298 | manually (e.g. by adding to ```RDEPENDS`` <#var-RDEPENDS>`__). | 298 | manually (e.g. by adding to :term:`RDEPENDS`). |
299 | 299 | ||
300 | 300 | ||
301 | 301 | ||
@@ -307,9 +307,9 @@ Errors and Warnings | |||
307 | usually brought in using several different methods: | 307 | usually brought in using several different methods: |
308 | 308 | ||
309 | - Using the ``dev-pkgs`` | 309 | - Using the ``dev-pkgs`` |
310 | ```IMAGE_FEATURES`` <#var-IMAGE_FEATURES>`__ value. | 310 | :term:`IMAGE_FEATURES` value. |
311 | 311 | ||
312 | - Using ```IMAGE_INSTALL`` <#var-IMAGE_INSTALL>`__. | 312 | - Using :term:`IMAGE_INSTALL`. |
313 | 313 | ||
314 | - As a dependency of another ``dev`` package that was brought in | 314 | - As a dependency of another ``dev`` package that was brought in |
315 | using one of the above methods. | 315 | using one of the above methods. |
@@ -317,19 +317,19 @@ Errors and Warnings | |||
317 | The dependency might have been automatically added (because the | 317 | The dependency might have been automatically added (because the |
318 | ``dev`` package erroneously contains files that it should not have | 318 | ``dev`` package erroneously contains files that it should not have |
319 | (e.g. a non-symlink ``.so`` file) or it might have been added | 319 | (e.g. a non-symlink ``.so`` file) or it might have been added |
320 | manually (e.g. by adding to ```RDEPENDS`` <#var-RDEPENDS>`__). | 320 | manually (e.g. by adding to :term:`RDEPENDS`). |
321 | 321 | ||
322 | 322 | ||
323 | 323 | ||
324 | - ``<var>_<packagename> is invalid: <comparison> (<value>) only comparisons <, =, >, <=, and >= are allowed [dep-cmp]`` | 324 | - ``<var>_<packagename> is invalid: <comparison> (<value>) only comparisons <, =, >, <=, and >= are allowed [dep-cmp]`` |
325 | 325 | ||
326 | If you are adding a versioned dependency relationship to one of the | 326 | If you are adding a versioned dependency relationship to one of the |
327 | dependency variables (```RDEPENDS`` <#var-RDEPENDS>`__, | 327 | dependency variables (:term:`RDEPENDS`, |
328 | ```RRECOMMENDS`` <#var-RRECOMMENDS>`__, | 328 | :term:`RRECOMMENDS`, |
329 | ```RSUGGESTS`` <#var-RSUGGESTS>`__, | 329 | :term:`RSUGGESTS`, |
330 | ```RPROVIDES`` <#var-RPROVIDES>`__, | 330 | :term:`RPROVIDES`, |
331 | ```RREPLACES`` <#var-RREPLACES>`__, or | 331 | :term:`RREPLACES`, or |
332 | ```RCONFLICTS`` <#var-RCONFLICTS>`__), you must only use the named | 332 | :term:`RCONFLICTS`), you must only use the named |
333 | comparison operators. Change the versioned dependency values you are | 333 | comparison operators. Change the versioned dependency values you are |
334 | adding to match those listed in the message. | 334 | adding to match those listed in the message. |
335 | 335 | ||
@@ -337,7 +337,7 @@ Errors and Warnings | |||
337 | 337 | ||
338 | - ``<recipename>: The compile log indicates that host include and/or library paths were used. Please check the log '<logfile>' for more information. [compile-host-path]`` | 338 | - ``<recipename>: The compile log indicates that host include and/or library paths were used. Please check the log '<logfile>' for more information. [compile-host-path]`` |
339 | 339 | ||
340 | The log for the ```do_compile`` <#ref-tasks-compile>`__ task | 340 | The log for the :ref:`ref-tasks-compile` task |
341 | indicates that paths on the host were searched for files, which is | 341 | indicates that paths on the host were searched for files, which is |
342 | not appropriate when cross-compiling. Look for "is unsafe for | 342 | not appropriate when cross-compiling. Look for "is unsafe for |
343 | cross-compilation" or "CROSS COMPILE Badness" in the specified log | 343 | cross-compilation" or "CROSS COMPILE Badness" in the specified log |
@@ -347,7 +347,7 @@ Errors and Warnings | |||
347 | 347 | ||
348 | - ``<recipename>: The install log indicates that host include and/or library paths were used. Please check the log '<logfile>' for more information. [install-host-path]`` | 348 | - ``<recipename>: The install log indicates that host include and/or library paths were used. Please check the log '<logfile>' for more information. [install-host-path]`` |
349 | 349 | ||
350 | The log for the ```do_install`` <#ref-tasks-install>`__ task | 350 | The log for the :ref:`ref-tasks-install` task |
351 | indicates that paths on the host were searched for files, which is | 351 | indicates that paths on the host were searched for files, which is |
352 | not appropriate when cross-compiling. Look for "is unsafe for | 352 | not appropriate when cross-compiling. Look for "is unsafe for |
353 | cross-compilation" or "CROSS COMPILE Badness" in the specified log | 353 | cross-compilation" or "CROSS COMPILE Badness" in the specified log |
@@ -357,7 +357,7 @@ Errors and Warnings | |||
357 | 357 | ||
358 | - ``This autoconf log indicates errors, it looked at host include and/or library paths while determining system capabilities. Rerun configure task after fixing this. The path was '<path>'`` | 358 | - ``This autoconf log indicates errors, it looked at host include and/or library paths while determining system capabilities. Rerun configure task after fixing this. The path was '<path>'`` |
359 | 359 | ||
360 | The log for the ```do_configure`` <#ref-tasks-configure>`__ task | 360 | The log for the :ref:`ref-tasks-configure` task |
361 | indicates that paths on the host were searched for files, which is | 361 | indicates that paths on the host were searched for files, which is |
362 | not appropriate when cross-compiling. Look for "is unsafe for | 362 | not appropriate when cross-compiling. Look for "is unsafe for |
363 | cross-compilation" or "CROSS COMPILE Badness" in the specified log | 363 | cross-compilation" or "CROSS COMPILE Badness" in the specified log |
@@ -371,7 +371,7 @@ Errors and Warnings | |||
371 | enforced by the package manager itself) is to require that package | 371 | enforced by the package manager itself) is to require that package |
372 | names are all lower case and to allow a restricted set of characters. | 372 | names are all lower case and to allow a restricted set of characters. |
373 | If your recipe name does not match this, or you add packages to | 373 | If your recipe name does not match this, or you add packages to |
374 | ```PACKAGES`` <#var-PACKAGES>`__ that do not conform to the | 374 | :term:`PACKAGES` that do not conform to the |
375 | convention, then you will receive this error. Rename your recipe. Or, | 375 | convention, then you will receive this error. Rename your recipe. Or, |
376 | if you have added a non-conforming package name to ``PACKAGES``, | 376 | if you have added a non-conforming package name to ``PACKAGES``, |
377 | change the package name appropriately. | 377 | change the package name appropriately. |
@@ -388,38 +388,38 @@ Errors and Warnings | |||
388 | upstream build documentation, the ``./configure --help`` output, and | 388 | upstream build documentation, the ``./configure --help`` output, and |
389 | the upstream change log or release notes. Once you have worked out | 389 | the upstream change log or release notes. Once you have worked out |
390 | what the appropriate change is, you can update | 390 | what the appropriate change is, you can update |
391 | ```EXTRA_OECONF`` <#var-EXTRA_OECONF>`__, | 391 | :term:`EXTRA_OECONF`, |
392 | ```PACKAGECONFIG_CONFARGS`` <#var-PACKAGECONFIG_CONFARGS>`__, or the | 392 | :term:`PACKAGECONFIG_CONFARGS`, or the |
393 | individual ```PACKAGECONFIG`` <#var-PACKAGECONFIG>`__ option values | 393 | individual :term:`PACKAGECONFIG` option values |
394 | accordingly. | 394 | accordingly. |
395 | 395 | ||
396 | 396 | ||
397 | 397 | ||
398 | - ``Recipe <recipefile> has PN of "<recipename>" which is in OVERRIDES, this can result in unexpected behavior. [pn-overrides]`` | 398 | - ``Recipe <recipefile> has PN of "<recipename>" which is in OVERRIDES, this can result in unexpected behavior. [pn-overrides]`` |
399 | 399 | ||
400 | The specified recipe has a name (```PN`` <#var-PN>`__) value that | 400 | The specified recipe has a name (:term:`PN`) value that |
401 | appears in ```OVERRIDES`` <#var-OVERRIDES>`__. If a recipe is named | 401 | appears in :term:`OVERRIDES`. If a recipe is named |
402 | such that its ``PN`` value matches something already in ``OVERRIDES`` | 402 | such that its ``PN`` value matches something already in ``OVERRIDES`` |
403 | (e.g. ``PN`` happens to be the same as ```MACHINE`` <#var-MACHINE>`__ | 403 | (e.g. ``PN`` happens to be the same as :term:`MACHINE` |
404 | or ```DISTRO`` <#var-DISTRO>`__), it can have unexpected | 404 | or :term:`DISTRO`), it can have unexpected |
405 | consequences. For example, assignments such as | 405 | consequences. For example, assignments such as |
406 | ``FILES_${PN} = "xyz"`` effectively turn into ``FILES = "xyz"``. | 406 | ``FILES_${PN} = "xyz"`` effectively turn into ``FILES = "xyz"``. |
407 | Rename your recipe (or if ``PN`` is being set explicitly, change the | 407 | Rename your recipe (or if ``PN`` is being set explicitly, change the |
408 | ``PN`` value) so that the conflict does not occur. See | 408 | ``PN`` value) so that the conflict does not occur. See |
409 | ```FILES`` <#var-FILES>`__ for additional information. | 409 | :term:`FILES` for additional information. |
410 | 410 | ||
411 | 411 | ||
412 | 412 | ||
413 | - ``<recipefile>: Variable <variable> is set as not being package specific, please fix this. [pkgvarcheck]`` | 413 | - ``<recipefile>: Variable <variable> is set as not being package specific, please fix this. [pkgvarcheck]`` |
414 | 414 | ||
415 | Certain variables (```RDEPENDS`` <#var-RDEPENDS>`__, | 415 | Certain variables (:term:`RDEPENDS`, |
416 | ```RRECOMMENDS`` <#var-RRECOMMENDS>`__, | 416 | :term:`RRECOMMENDS`, |
417 | ```RSUGGESTS`` <#var-RSUGGESTS>`__, | 417 | :term:`RSUGGESTS`, |
418 | ```RCONFLICTS`` <#var-RCONFLICTS>`__, | 418 | :term:`RCONFLICTS`, |
419 | ```RPROVIDES`` <#var-RPROVIDES>`__, | 419 | :term:`RPROVIDES`, |
420 | ```RREPLACES`` <#var-RREPLACES>`__, ```FILES`` <#var-FILES>`__, | 420 | :term:`RREPLACES`, :term:`FILES`, |
421 | ``pkg_preinst``, ``pkg_postinst``, ``pkg_prerm``, ``pkg_postrm``, and | 421 | ``pkg_preinst``, ``pkg_postinst``, ``pkg_prerm``, ``pkg_postrm``, and |
422 | ```ALLOW_EMPTY`` <#var-ALLOW_EMPTY>`__) should always be set specific | 422 | :term:`ALLOW_EMPTY`) should always be set specific |
423 | to a package (i.e. they should be set with a package name override | 423 | to a package (i.e. they should be set with a package name override |
424 | such as ``RDEPENDS_${PN} = "value"`` rather than | 424 | such as ``RDEPENDS_${PN} = "value"`` rather than |
425 | ``RDEPENDS = "value"``). If you receive this error, correct any | 425 | ``RDEPENDS = "value"``). If you receive this error, correct any |
@@ -456,7 +456,7 @@ Errors and Warnings | |||
456 | - ``<packagename> is listed in PACKAGES multiple times, this leads to packaging errors. [packages-list]`` | 456 | - ``<packagename> is listed in PACKAGES multiple times, this leads to packaging errors. [packages-list]`` |
457 | 457 | ||
458 | Package names must appear only once in the | 458 | Package names must appear only once in the |
459 | ```PACKAGES`` <#var-PACKAGES>`__ variable. You might receive this | 459 | :term:`PACKAGES` variable. You might receive this |
460 | error if you are attempting to add a package to ``PACKAGES`` that is | 460 | error if you are attempting to add a package to ``PACKAGES`` that is |
461 | already in the variable's value. | 461 | already in the variable's value. |
462 | 462 | ||
@@ -465,7 +465,7 @@ Errors and Warnings | |||
465 | - ``FILES variable for package <packagename> contains '//' which is invalid. Attempting to fix this but you should correct the metadata. [files-invalid]`` | 465 | - ``FILES variable for package <packagename> contains '//' which is invalid. Attempting to fix this but you should correct the metadata. [files-invalid]`` |
466 | 466 | ||
467 | The string "//" is invalid in a Unix path. Correct all occurrences | 467 | The string "//" is invalid in a Unix path. Correct all occurrences |
468 | where this string appears in a ```FILES`` <#var-FILES>`__ variable so | 468 | where this string appears in a :term:`FILES` variable so |
469 | that there is only a single "/". | 469 | that there is only a single "/". |
470 | 470 | ||
471 | 471 | ||
@@ -473,14 +473,14 @@ Errors and Warnings | |||
473 | - ``<recipename>: Files/directories were installed but not shipped in any package [installed-vs-shipped]`` | 473 | - ``<recipename>: Files/directories were installed but not shipped in any package [installed-vs-shipped]`` |
474 | 474 | ||
475 | Files have been installed within the | 475 | Files have been installed within the |
476 | ```do_install`` <#ref-tasks-install>`__ task but have not been | 476 | :ref:`ref-tasks-install` task but have not been |
477 | included in any package by way of the ```FILES`` <#var-FILES>`__ | 477 | included in any package by way of the :term:`FILES` |
478 | variable. Files that do not appear in any package cannot be present | 478 | variable. Files that do not appear in any package cannot be present |
479 | in an image later on in the build process. You need to do one of the | 479 | in an image later on in the build process. You need to do one of the |
480 | following: | 480 | following: |
481 | 481 | ||
482 | - Add the files to ``FILES`` for the package you want them to appear | 482 | - Add the files to ``FILES`` for the package you want them to appear |
483 | in (e.g. ``FILES_${``\ ```PN`` <#var-PN>`__\ ``}`` for the main | 483 | in (e.g. ``FILES_${``\ :term:`PN`\ ``}`` for the main |
484 | package). | 484 | package). |
485 | 485 | ||
486 | - Delete the files at the end of the ``do_install`` task if the | 486 | - Delete the files at the end of the ``do_install`` task if the |
@@ -496,15 +496,15 @@ Errors and Warnings | |||
496 | message might indicate that a private version of a library is being | 496 | message might indicate that a private version of a library is being |
497 | erroneously picked up as the provider for a common library. If that | 497 | erroneously picked up as the provider for a common library. If that |
498 | is the case, you should add the library's ``.so`` file name to | 498 | is the case, you should add the library's ``.so`` file name to |
499 | ```PRIVATE_LIBS`` <#var-PRIVATE_LIBS>`__ in the recipe that provides | 499 | :term:`PRIVATE_LIBS` in the recipe that provides |
500 | the private version of the library. | 500 | the private version of the library. |
501 | 501 | ||
502 | - ``LICENSE_<packagename> includes licenses (<licenses>) that are not listed in LICENSE [unlisted-pkg-lics]`` | 502 | - ``LICENSE_<packagename> includes licenses (<licenses>) that are not listed in LICENSE [unlisted-pkg-lics]`` |
503 | 503 | ||
504 | The ```LICENSE`` <#var-LICENSE>`__ of the recipe should be a superset | 504 | The :term:`LICENSE` of the recipe should be a superset |
505 | of all the licenses of all packages produced by this recipe. In other | 505 | of all the licenses of all packages produced by this recipe. In other |
506 | words, any license in ``LICENSE_*`` should also appear in | 506 | words, any license in ``LICENSE_*`` should also appear in |
507 | ```LICENSE`` <#var-LICENSE>`__. | 507 | :term:`LICENSE`. |
508 | 508 | ||
509 | 509 | ||
510 | 510 | ||
@@ -513,11 +513,11 @@ Configuring and Disabling QA Checks | |||
513 | 513 | ||
514 | You can configure the QA checks globally so that specific check failures | 514 | You can configure the QA checks globally so that specific check failures |
515 | either raise a warning or an error message, using the | 515 | either raise a warning or an error message, using the |
516 | ```WARN_QA`` <#var-WARN_QA>`__ and ```ERROR_QA`` <#var-ERROR_QA>`__ | 516 | :term:`WARN_QA` and :term:`ERROR_QA` |
517 | variables, respectively. You can also disable checks within a particular | 517 | variables, respectively. You can also disable checks within a particular |
518 | recipe using ```INSANE_SKIP`` <#var-INSANE_SKIP>`__. For information on | 518 | recipe using :term:`INSANE_SKIP`. For information on |
519 | how to work with the QA checks, see the | 519 | how to work with the QA checks, see the |
520 | "```insane.bbclass`` <#ref-classes-insane>`__" section. | 520 | ":ref:`insane.bbclass <ref-classes-insane>`" section. |
521 | 521 | ||
522 | .. note:: | 522 | .. note:: |
523 | 523 | ||