summaryrefslogtreecommitdiffstats
path: root/documentation/ref-manual/ref-qa-checks.rst
diff options
context:
space:
mode:
authorNicolas Dechesne <nicolas.dechesne@linaro.org>2020-07-24 16:27:54 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-09-17 10:09:33 +0100
commitc473fa229239752367c5d573160fc8738cf1907e (patch)
treef8520ba3aa3cf911333dbd31e38e9a52203a0285 /documentation/ref-manual/ref-qa-checks.rst
parent4cd953989de42c7a83f666c23e077d53b016a1f1 (diff)
downloadpoky-c473fa229239752367c5d573160fc8738cf1907e.tar.gz
sphinx: fix internal links
Many of the internal links were not converted probably from DocBook using pandoc. After looking at the various patterns, the follow series of 'naive' Python regexp were used to perform some additional automatic conversion. Also, since we rely on built-in glossary, all links to terms need to use the sphinx :term: syntax. This commit is generated using the following Python series of regexp: line = re.sub("`+(\w+)`* <(\&YOCTO_DOCS_REF_URL;)?#var-\\1>`__", ":term:`\\1`", line) line = re.sub("`+do_([a-z_]+)`* <(\&YOCTO_DOCS_REF_URL;)?#ref-tasks-\\1>`__", ":ref:`ref-tasks-\\1`", line) line = re.sub("`+([a-z_\-\*\.]+).bbclass`* <(\&YOCTO_DOCS_REF_URL;)?#ref-classes-\\1>`__", ":ref:`\\1.bbclass <ref-classes-\\1>`", line) line = re.sub("`+([a-z_\-\*\.]+)`* <(\&YOCTO_DOCS_REF_URL;)?#ref-classes-\\1>`__", ":ref:`\\1 <ref-classes-\\1>`", line) line = re.sub("`Source Directory <(\&YOCTO_DOCS_REF_URL;)?#source-directory>`__", ":term:`Source Directory`", line) line = re.sub("`Build Directory <(\&YOCTO_DOCS_REF_URL;)?#build-directory>`__", ":term:`Build Directory`", line) line = re.sub("`Metadata <(\&YOCTO_DOCS_REF_URL;)?#metadata>`__", ":term:`Metadata`", line) line = re.sub("`BitBake <(\&YOCTO_DOCS_REF_URL;)?#bitbake-term>`__", ":term:`BitBake`", line) line = re.sub("`Images <(\&YOCTO_DOCS_REF_URL;)?#ref-images>`__", ":ref:`ref-manual/ref-images:Images`", line) line = re.sub("`Classes <(\&YOCTO_DOCS_REF_URL;)?#ref-classes>`__", ":ref:`ref-manual/ref-classes:Classes`", line) line = re.sub("`workspace <(\&YOCTO_DOCS_REF_URL;)?#devtool-the-workspace-layer-structure>`__", ":ref:`devtool-the-workspace-layer-structure`", line) line = re.sub("`Open-?Embedded b?B?uild s?S?ystem <(\&YOCTO_DOCS_REF_URL;)?#build-system-term>`__", ":term:`OpenEmbedded Build System`", line) line = re.sub("`(OpenEmbedded-Core )?(\(?OE-Core\)? )?<(\&YOCTO_DOCS_REF_URL;)?#oe-core>`__", ":term:`OpenEmbedded-Core (OE-Core)`", line) It won't catch multiline strings, but it catches a very large number of occurences! (From yocto-docs rev: 3f537d17de5b1fb76ba3bee196481984a4826378) Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/ref-manual/ref-qa-checks.rst')
-rw-r--r--documentation/ref-manual/ref-qa-checks.rst132
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
514You can configure the QA checks globally so that specific check failures 514You can configure the QA checks globally so that specific check failures
515either raise a warning or an error message, using the 515either 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`
517variables, respectively. You can also disable checks within a particular 517variables, respectively. You can also disable checks within a particular
518recipe using ```INSANE_SKIP`` <#var-INSANE_SKIP>`__. For information on 518recipe using :term:`INSANE_SKIP`. For information on
519how to work with the QA checks, see the 519how 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