diff options
author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2011-11-29 11:05:43 -0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-12-16 16:58:07 +0000 |
commit | 162359688eafdb21b92f2868179ab872baa99bed (patch) | |
tree | 6fc5fcf500fdf15c22bd79eecdd8accf8a86dc0c /documentation/poky-ref-manual | |
parent | ee2af267b774565f27720f00770e1053a5ba415f (diff) | |
download | poky-162359688eafdb21b92f2868179ab872baa99bed.tar.gz |
documentation/poky-ref-manual/ref-classes.xml: insane.bbclass updated
Added explanation about this class being configurable for
generating warnings or errors through use of the WARN_QA and
ERROR_QA variables. Also provided a list of tests that can
be tested for.
Fixes [YOCTO #1773]
Reported-by: Mark Hatle <mark.hatle@windriver.com>
(From yocto-docs rev: a114ec3fd4f21ebf4dfd1d5c960d606e0db193f2)
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/poky-ref-manual')
-rw-r--r-- | documentation/poky-ref-manual/ref-classes.xml | 81 |
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'> |