summaryrefslogtreecommitdiffstats
path: root/documentation/poky-ref-manual
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/poky-ref-manual')
-rw-r--r--documentation/poky-ref-manual/ref-classes.xml81
1 files changed, 81 insertions, 0 deletions
diff --git a/documentation/poky-ref-manual/ref-classes.xml b/documentation/poky-ref-manual/ref-classes.xml
index d62ac5b095..fbdd0787b0 100644
--- a/documentation/poky-ref-manual/ref-classes.xml
+++ b/documentation/poky-ref-manual/ref-classes.xml
@@ -391,6 +391,87 @@
391 for common problems that show up during runtime. 391 for common problems that show up during runtime.
392 Distribution policy usually dictates whether to include this class as the Yocto Project does. 392 Distribution policy usually dictates whether to include this class as the Yocto Project does.
393 </para> 393 </para>
394
395 <para>
396 You can configure the sanity checks so that specific test failures either raise a warning or
397 an error message.
398 Typically, failures for new tests generate a warning.
399 Subsequent failures for the same test would then generate an error message
400 once the metadata is in a known and good condition.
401 You use the <filename>WARN_QA</filename> variable to specify tests for which you
402 want to generate a warning message on failure.
403 You use the <filename>ERROR_QA</filename> variable to specify tests for which you
404 want to generate an error message on failure.
405 </para>
406
407 <para>
408 The following list shows the tests you can list with the <filename>WARN_QA</filename>
409 and <filename>ERROR_QA</filename> variables:
410 <itemizedlist>
411 <listitem><para><emphasis><filename>ldflags:</filename></emphasis>
412 Ensures that the binaries were linked with the
413 <filename>LDFLAGS</filename> options provided by the build system.
414 If this test fails, check that the <filename>LDFLAGS</filename> variable
415 is being passed to the linker command.</para></listitem>
416 <listitem><para><emphasis><filename>useless-rpaths:</filename></emphasis>
417 Checks for dynamic library load paths (rpaths) in the binaries that
418 by default on a standard system are searched by the linker (e.g.
419 <filename>/lib</filename> and <filename>/usr/lib</filename>).
420 While these paths will not cause any breakage, they do waste space and
421 are unnecessary.</para></listitem>
422 <listitem><para><emphasis><filename>rpaths:</filename></emphasis>
423 Checks for rpaths in the binaries that contain build system paths such
424 as <filename>TMPDIR</filename>.
425 If this test fails, bad <filename>-rpath</filename> options are being
426 passed to the linker commands and your binaries have potential security
427 issues.</para></listitem>
428 <listitem><para><emphasis><filename>dev-so:</filename></emphasis>
429 Checks that the <filename>.so</filename> symbolic links are in the
430 <filename>-dev</filename> package and not in any of the other packages.
431 In general, these symlinks are only useful for development purposes.
432 Thus, the <filename>-dev</filename> package is the correct location for
433 them.
434 Some very rare cases do exist for dynamically loaded modules where
435 these symlinks are needed instead in the main package.
436 </para></listitem>
437 <listitem><para><emphasis><filename>debug-files:</filename></emphasis>
438 Checks for <filename>.debug</filename> directories in anything but the
439 <filename>-dbg</filename> package.
440 The debug files should all be in the <filename>-dbg</filename> package.
441 Thus, anything packaged elsewhere is incorrect packaging.</para></listitem>
442 <listitem><para><emphasis><filename>arch:</filename></emphasis>
443 Checks the Executable and Linkable Format (ELF) type, bit size and endianness
444 of any binaries to ensure it matches the target architecture.
445 This test fails if any binaries don't match the type since there would be an
446 incompatibility.
447 Sometimes software, like bootloaders, might need to bypass this check.
448 </para></listitem>
449 <listitem><para><emphasis><filename>debug-deps:</filename></emphasis>
450 Checks that <filename>-dbg</filename> packages only depend on other
451 <filename>-dbg</filename> packages and not on any other types of packages,
452 which would cause a packaging bug.</para></listitem>
453 <listitem><para><emphasis><filename>dev-deps:</filename></emphasis>
454 Checks that <filename>-dev</filename> packages only depend on other
455 <filename>-dev</filename> packages and not on any other types of packages,
456 which would be a packaging bug.</para></listitem>
457 <listitem><para><emphasis><filename>pkgconfig:</filename></emphasis>
458 Checks <filename>.pc</filename> files for any
459 <filename>TMPDIR/WORKDIR</filename> paths.
460 Any <filename>.pc</filename> file containing these paths is incorrect
461 since <filename>pkg-config</filename> itself adds the correct sysroot prefix
462 when the files are accessed.</para></listitem>
463 <listitem><para><emphasis><filename>la:</filename></emphasis>
464 Checks <filename>.la</filename> files for any <filename>TMPDIR</filename>
465 paths.
466 Any <filename>.la</filename> file continaing these paths is incorrect since
467 <filename>libtool</filename> adds the correct sysroot prefix when using the
468 files automatically itself.</para></listitem>
469 <listitem><para><emphasis><filename>desktop:</filename></emphasis>
470 Runs the <filename>desktop-file-validate</filename> program against any
471 <filename>.desktop</filename> files to validate their contents against
472 the specification for <filename>.desktop</filename> files.</para></listitem>
473 </itemizedlist>
474 </para>
394</section> 475</section>
395 476
396<section id='ref-classes-siteinfo'> 477<section id='ref-classes-siteinfo'>