diff options
Diffstat (limited to 'documentation')
-rw-r--r-- | documentation/ref-manual/ref-classes.xml | 302 |
1 files changed, 150 insertions, 152 deletions
diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 3bdd084a84..da546080a3 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml | |||
@@ -1283,118 +1283,6 @@ | |||
1283 | <filename>WARN_QA</filename> and <filename>ERROR_QA</filename> | 1283 | <filename>WARN_QA</filename> and <filename>ERROR_QA</filename> |
1284 | variables: | 1284 | variables: |
1285 | <itemizedlist> | 1285 | <itemizedlist> |
1286 | <listitem><para><emphasis><filename>ldflags:</filename></emphasis> | ||
1287 | Ensures that the binaries were linked with the | ||
1288 | <filename>LDFLAGS</filename> options provided by the build system. | ||
1289 | If this test fails, check that the <filename>LDFLAGS</filename> variable | ||
1290 | is being passed to the linker command.</para></listitem> | ||
1291 | <listitem><para><emphasis><filename>useless-rpaths:</filename></emphasis> | ||
1292 | Checks for dynamic library load paths (rpaths) in the binaries that | ||
1293 | by default on a standard system are searched by the linker (e.g. | ||
1294 | <filename>/lib</filename> and <filename>/usr/lib</filename>). | ||
1295 | While these paths will not cause any breakage, they do waste space and | ||
1296 | are unnecessary.</para></listitem> | ||
1297 | <listitem><para><emphasis><filename>rpaths:</filename></emphasis> | ||
1298 | Checks for rpaths in the binaries that contain build system paths such | ||
1299 | as <filename>TMPDIR</filename>. | ||
1300 | If this test fails, bad <filename>-rpath</filename> options are being | ||
1301 | passed to the linker commands and your binaries have potential security | ||
1302 | issues.</para></listitem> | ||
1303 | <listitem><para><emphasis><filename>dev-so:</filename></emphasis> | ||
1304 | Checks that the <filename>.so</filename> symbolic links are in the | ||
1305 | <filename>-dev</filename> package and not in any of the other packages. | ||
1306 | In general, these symlinks are only useful for development purposes. | ||
1307 | Thus, the <filename>-dev</filename> package is the correct location for | ||
1308 | them. | ||
1309 | Some very rare cases do exist for dynamically loaded modules where | ||
1310 | these symlinks are needed instead in the main package. | ||
1311 | </para></listitem> | ||
1312 | <listitem><para><emphasis><filename>debug-files:</filename></emphasis> | ||
1313 | Checks for <filename>.debug</filename> directories in anything but the | ||
1314 | <filename>-dbg</filename> package. | ||
1315 | The debug files should all be in the <filename>-dbg</filename> package. | ||
1316 | Thus, anything packaged elsewhere is incorrect packaging.</para></listitem> | ||
1317 | <listitem><para><emphasis><filename>arch:</filename></emphasis> | ||
1318 | Checks the Executable and Linkable Format (ELF) type, bit size, and endianness | ||
1319 | of any binaries to ensure they match the target architecture. | ||
1320 | This test fails if any binaries don't match the type since there would be an | ||
1321 | incompatibility. | ||
1322 | Sometimes software, like bootloaders, might need to bypass this check. | ||
1323 | </para></listitem> | ||
1324 | <listitem><para><emphasis><filename>debug-deps:</filename></emphasis> | ||
1325 | Checks that <filename>-dbg</filename> packages only depend on other | ||
1326 | <filename>-dbg</filename> packages and not on any other types of packages, | ||
1327 | which would cause a packaging bug.</para></listitem> | ||
1328 | <listitem><para><emphasis><filename>dev-deps:</filename></emphasis> | ||
1329 | Checks that <filename>-dev</filename> packages only depend on other | ||
1330 | <filename>-dev</filename> packages and not on any other types of packages, | ||
1331 | which would be a packaging bug.</para></listitem> | ||
1332 | <listitem><para><emphasis><filename>pkgconfig:</filename></emphasis> | ||
1333 | Checks <filename>.pc</filename> files for any | ||
1334 | <link linkend='var-TMPDIR'><filename>TMPDIR</filename></link>/<link linkend='var-WORKDIR'><filename>WORKDIR</filename></link> | ||
1335 | paths. | ||
1336 | Any <filename>.pc</filename> file containing these paths is incorrect | ||
1337 | since <filename>pkg-config</filename> itself adds the correct sysroot prefix | ||
1338 | when the files are accessed.</para></listitem> | ||
1339 | <listitem><para><emphasis><filename>textrel:</filename></emphasis> | ||
1340 | Checks for ELF binaries that contain relocations in their | ||
1341 | <filename>.text</filename> sections, which can result in a | ||
1342 | performance impact at runtime.</para></listitem> | ||
1343 | <listitem><para><emphasis><filename>pkgvarcheck:</filename></emphasis> | ||
1344 | Checks through the variables | ||
1345 | <link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link>, | ||
1346 | <link linkend='var-RRECOMMENDS'><filename>RRECOMMENDS</filename></link>, | ||
1347 | <link linkend='var-RSUGGESTS'><filename>RSUGGESTS</filename></link>, | ||
1348 | <link linkend='var-RCONFLICTS'><filename>RCONFLICTS</filename></link>, | ||
1349 | <link linkend='var-RPROVIDES'><filename>RPROVIDES</filename></link>, | ||
1350 | <link linkend='var-RREPLACES'><filename>RREPLACES</filename></link>, | ||
1351 | <link linkend='var-FILES'><filename>FILES</filename></link>, | ||
1352 | <link linkend='var-ALLOW_EMPTY'><filename>ALLOW_EMPTY</filename></link>, | ||
1353 | <filename>pkg_preinst</filename>, | ||
1354 | <filename>pkg_postinst</filename>, | ||
1355 | <filename>pkg_prerm</filename> | ||
1356 | and <filename>pkg_postrm</filename>, and reports if there are | ||
1357 | variable sets that are not package-specific. | ||
1358 | Using these variables without a package suffix is bad practice, | ||
1359 | and might unnecessarily complicate dependencies of other packages | ||
1360 | within the same recipe or have other unintended consequences. | ||
1361 | </para></listitem> | ||
1362 | <listitem><para><emphasis><filename>xorg-driver-abi:</filename></emphasis> | ||
1363 | Checks that all packages containing Xorg drivers have ABI | ||
1364 | dependencies. | ||
1365 | The <filename>xserver-xorg</filename> recipe provides driver | ||
1366 | ABI names. | ||
1367 | All drivers should depend on the ABI versions that they have | ||
1368 | been built against. | ||
1369 | Driver recipes that include | ||
1370 | <filename>xorg-driver-input.inc</filename> | ||
1371 | or <filename>xorg-driver-video.inc</filename> will | ||
1372 | automatically get these versions. | ||
1373 | Consequently, you should only need to explicitly add | ||
1374 | dependencies to binary driver recipes. | ||
1375 | </para></listitem> | ||
1376 | <listitem><para><emphasis><filename>libexec:</filename></emphasis> | ||
1377 | Checks if a package contains files in | ||
1378 | <filename>/usr/libexec</filename>. | ||
1379 | This check is not performed if the | ||
1380 | <filename>libexecdir</filename> variable has been set | ||
1381 | explicitly to <filename>/usr/libexec</filename>. | ||
1382 | </para></listitem> | ||
1383 | <listitem><para><emphasis><filename>staticdev:</filename></emphasis> | ||
1384 | Checks for static library files (<filename>*.a</filename>) in | ||
1385 | non-<filename>staticdev</filename> packages. | ||
1386 | </para></listitem> | ||
1387 | <listitem><para><emphasis><filename>la:</filename></emphasis> | ||
1388 | Checks <filename>.la</filename> files for any <filename>TMPDIR</filename> | ||
1389 | paths. | ||
1390 | Any <filename>.la</filename> file containing these paths is incorrect since | ||
1391 | <filename>libtool</filename> adds the correct sysroot prefix when using the | ||
1392 | files automatically itself.</para></listitem> | ||
1393 | <listitem><para><emphasis><filename>desktop:</filename></emphasis> | ||
1394 | Runs the <filename>desktop-file-validate</filename> program | ||
1395 | against any <filename>.desktop</filename> files to validate | ||
1396 | their contents against the specification for | ||
1397 | <filename>.desktop</filename> files.</para></listitem> | ||
1398 | <listitem><para><emphasis><filename>already-stripped:</filename></emphasis> | 1286 | <listitem><para><emphasis><filename>already-stripped:</filename></emphasis> |
1399 | Checks that produced binaries have not already been | 1287 | Checks that produced binaries have not already been |
1400 | stripped prior to the build system extracting debug symbols. | 1288 | stripped prior to the build system extracting debug symbols. |
@@ -1404,30 +1292,38 @@ | |||
1404 | <filename>-dbg</filename> packages, this stripping must be | 1292 | <filename>-dbg</filename> packages, this stripping must be |
1405 | disabled. | 1293 | disabled. |
1406 | </para></listitem> | 1294 | </para></listitem> |
1407 | <listitem><para><emphasis><filename>split-strip:</filename></emphasis> | ||
1408 | Reports that splitting or stripping debug symbols from binaries | ||
1409 | has failed. | ||
1410 | </para></listitem> | ||
1411 | <listitem><para><emphasis><filename>arch:</filename></emphasis> | 1295 | <listitem><para><emphasis><filename>arch:</filename></emphasis> |
1412 | Checks to ensure the architecture, bit size, and endianness | 1296 | Checks the Executable and Linkable Format (ELF) type, bit size, |
1413 | of all output binaries matches that of the target. | 1297 | and endianness of any binaries to ensure they match the target |
1414 | This test can detect when the wrong compiler or compiler options | 1298 | architecture. |
1415 | have been used. | 1299 | This test fails if any binaries do not match the type since |
1300 | there would be an incompatibility. | ||
1301 | The test could indicate that the | ||
1302 | wrong compiler or compiler options have been used. | ||
1303 | Sometimes software, like bootloaders, might need to bypass | ||
1304 | this check. | ||
1416 | </para></listitem> | 1305 | </para></listitem> |
1417 | <listitem><para><emphasis><filename>installed-vs-shipped:</filename></emphasis> | 1306 | <listitem><para><emphasis><filename>buildpaths:</filename></emphasis> |
1418 | Reports when files have been installed within | 1307 | Checks for paths to locations on the build host inside the |
1419 | <filename>do_install</filename> but have not been included in | 1308 | output files. |
1420 | any package by way of the | 1309 | Currently, this test triggers too many false positives and |
1421 | <link linkend='var-FILES'><filename>FILES</filename></link> | 1310 | thus is not normally enabled. |
1422 | variable. | ||
1423 | Files that do not appear in any package cannot be present in | ||
1424 | an image later on in the build process. | ||
1425 | Ideally, all installed files should be packaged or not | ||
1426 | installed at all. | ||
1427 | These files can be deleted at the end of | ||
1428 | <filename>do_install</filename> if the files are not | ||
1429 | needed in any package. | ||
1430 | </para></listitem> | 1311 | </para></listitem> |
1312 | <listitem><para><emphasis><filename>compile-host-path:</filename></emphasis> | ||
1313 | Checks the <filename>do_compile</filename> log for indications | ||
1314 | that paths to locations on the build host were used. | ||
1315 | Using such paths might result in host contamination of the | ||
1316 | build output. | ||
1317 | </para></listitem> | ||
1318 | <listitem><para><emphasis><filename>debug-deps:</filename></emphasis> | ||
1319 | Checks that <filename>-dbg</filename> packages only depend on other | ||
1320 | <filename>-dbg</filename> packages and not on any other types of packages, | ||
1321 | which would cause a packaging bug.</para></listitem> | ||
1322 | <listitem><para><emphasis><filename>debug-files:</filename></emphasis> | ||
1323 | Checks for <filename>.debug</filename> directories in anything but the | ||
1324 | <filename>-dbg</filename> package. | ||
1325 | The debug files should all be in the <filename>-dbg</filename> package. | ||
1326 | Thus, anything packaged elsewhere is incorrect packaging.</para></listitem> | ||
1431 | <listitem><para><emphasis><filename>dep-cmp:</filename></emphasis> | 1327 | <listitem><para><emphasis><filename>dep-cmp:</filename></emphasis> |
1432 | Checks for invalid version comparison statements in runtime | 1328 | Checks for invalid version comparison statements in runtime |
1433 | dependency relationships between packages (i.e. in | 1329 | dependency relationships between packages (i.e. in |
@@ -1442,6 +1338,24 @@ | |||
1442 | Any invalid comparisons might trigger failures or undesirable | 1338 | Any invalid comparisons might trigger failures or undesirable |
1443 | behavior when passed to the package manager. | 1339 | behavior when passed to the package manager. |
1444 | </para></listitem> | 1340 | </para></listitem> |
1341 | <listitem><para><emphasis><filename>desktop:</filename></emphasis> | ||
1342 | Runs the <filename>desktop-file-validate</filename> program | ||
1343 | against any <filename>.desktop</filename> files to validate | ||
1344 | their contents against the specification for | ||
1345 | <filename>.desktop</filename> files.</para></listitem> | ||
1346 | <listitem><para><emphasis><filename>dev-deps:</filename></emphasis> | ||
1347 | Checks that <filename>-dev</filename> packages only depend on other | ||
1348 | <filename>-dev</filename> packages and not on any other types of packages, | ||
1349 | which would be a packaging bug.</para></listitem> | ||
1350 | <listitem><para><emphasis><filename>dev-so:</filename></emphasis> | ||
1351 | Checks that the <filename>.so</filename> symbolic links are in the | ||
1352 | <filename>-dev</filename> package and not in any of the other packages. | ||
1353 | In general, these symlinks are only useful for development purposes. | ||
1354 | Thus, the <filename>-dev</filename> package is the correct location for | ||
1355 | them. | ||
1356 | Some very rare cases do exist for dynamically loaded modules where | ||
1357 | these symlinks are needed instead in the main package. | ||
1358 | </para></listitem> | ||
1445 | <listitem><para><emphasis><filename>files-invalid:</filename></emphasis> | 1359 | <listitem><para><emphasis><filename>files-invalid:</filename></emphasis> |
1446 | Checks for | 1360 | Checks for |
1447 | <link linkend='var-FILES'><filename>FILES</filename></link> | 1361 | <link linkend='var-FILES'><filename>FILES</filename></link> |
@@ -1452,18 +1366,37 @@ | |||
1452 | being marked with a license that is in | 1366 | being marked with a license that is in |
1453 | <link linkend='var-INCOMPATIBLE_LICENSE'><filename>INCOMPATIBLE_LICENSE</filename></link>. | 1367 | <link linkend='var-INCOMPATIBLE_LICENSE'><filename>INCOMPATIBLE_LICENSE</filename></link>. |
1454 | </para></listitem> | 1368 | </para></listitem> |
1455 | <listitem><para><emphasis><filename>compile-host-path:</filename></emphasis> | ||
1456 | Checks the <filename>do_compile</filename> log for indications | ||
1457 | that paths to locations on the build host were used. | ||
1458 | Using such paths might result in host contamination of the | ||
1459 | build output. | ||
1460 | </para></listitem> | ||
1461 | <listitem><para><emphasis><filename>install-host-path:</filename></emphasis> | 1369 | <listitem><para><emphasis><filename>install-host-path:</filename></emphasis> |
1462 | Checks the <filename>do_install</filename> log for indications | 1370 | Checks the <filename>do_install</filename> log for indications |
1463 | that paths to locations on the build host were used. | 1371 | that paths to locations on the build host were used. |
1464 | Using such paths might result in host contamination of the | 1372 | Using such paths might result in host contamination of the |
1465 | build output. | 1373 | build output. |
1466 | </para></listitem> | 1374 | </para></listitem> |
1375 | <listitem><para><emphasis><filename>installed-vs-shipped:</filename></emphasis> | ||
1376 | Reports when files have been installed within | ||
1377 | <filename>do_install</filename> but have not been included in | ||
1378 | any package by way of the | ||
1379 | <link linkend='var-FILES'><filename>FILES</filename></link> | ||
1380 | variable. | ||
1381 | Files that do not appear in any package cannot be present in | ||
1382 | an image later on in the build process. | ||
1383 | Ideally, all installed files should be packaged or not | ||
1384 | installed at all. | ||
1385 | These files can be deleted at the end of | ||
1386 | <filename>do_install</filename> if the files are not | ||
1387 | needed in any package. | ||
1388 | </para></listitem> | ||
1389 | <listitem><para><emphasis><filename>la:</filename></emphasis> | ||
1390 | Checks <filename>.la</filename> files for any <filename>TMPDIR</filename> | ||
1391 | paths. | ||
1392 | Any <filename>.la</filename> file containing these paths is incorrect since | ||
1393 | <filename>libtool</filename> adds the correct sysroot prefix when using the | ||
1394 | files automatically itself.</para></listitem> | ||
1395 | <listitem><para><emphasis><filename>ldflags:</filename></emphasis> | ||
1396 | Ensures that the binaries were linked with the | ||
1397 | <filename>LDFLAGS</filename> options provided by the build system. | ||
1398 | If this test fails, check that the <filename>LDFLAGS</filename> variable | ||
1399 | is being passed to the linker command.</para></listitem> | ||
1467 | <listitem><para><emphasis><filename>libdir:</filename></emphasis> | 1400 | <listitem><para><emphasis><filename>libdir:</filename></emphasis> |
1468 | Checks for libraries being installed into incorrect | 1401 | Checks for libraries being installed into incorrect |
1469 | (possibly hardcoded) installation paths. | 1402 | (possibly hardcoded) installation paths. |
@@ -1474,6 +1407,13 @@ | |||
1474 | <filename>/usr/lib64/foo.so</filename> when | 1407 | <filename>/usr/lib64/foo.so</filename> when |
1475 | <filename>${libdir}</filename> is "/usr/lib". | 1408 | <filename>${libdir}</filename> is "/usr/lib". |
1476 | </para></listitem> | 1409 | </para></listitem> |
1410 | <listitem><para><emphasis><filename>libexec:</filename></emphasis> | ||
1411 | Checks if a package contains files in | ||
1412 | <filename>/usr/libexec</filename>. | ||
1413 | This check is not performed if the | ||
1414 | <filename>libexecdir</filename> variable has been set | ||
1415 | explicitly to <filename>/usr/libexec</filename>. | ||
1416 | </para></listitem> | ||
1477 | <listitem><para><emphasis><filename>packages-list:</filename></emphasis> | 1417 | <listitem><para><emphasis><filename>packages-list:</filename></emphasis> |
1478 | Checks for the same package being listed multiple times through | 1418 | Checks for the same package being listed multiple times through |
1479 | the <link linkend='var-PACKAGES'><filename>PACKAGES</filename></link> | 1419 | the <link linkend='var-PACKAGES'><filename>PACKAGES</filename></link> |
@@ -1493,12 +1433,45 @@ | |||
1493 | Reports lines in <filename>fs-perms.txt</filename> that | 1433 | Reports lines in <filename>fs-perms.txt</filename> that |
1494 | specify 'link' where the specified target already exists. | 1434 | specify 'link' where the specified target already exists. |
1495 | </para></listitem> | 1435 | </para></listitem> |
1436 | <listitem><para><emphasis><filename>perms:</filename></emphasis> | ||
1437 | Currently, this check is unused but reserved. | ||
1438 | </para></listitem> | ||
1439 | <listitem><para><emphasis><filename>pkgconfig:</filename></emphasis> | ||
1440 | Checks <filename>.pc</filename> files for any | ||
1441 | <link linkend='var-TMPDIR'><filename>TMPDIR</filename></link>/<link linkend='var-WORKDIR'><filename>WORKDIR</filename></link> | ||
1442 | paths. | ||
1443 | Any <filename>.pc</filename> file containing these paths is incorrect | ||
1444 | since <filename>pkg-config</filename> itself adds the correct sysroot prefix | ||
1445 | when the files are accessed.</para></listitem> | ||
1496 | <listitem><para><emphasis><filename>pkgname:</filename></emphasis> | 1446 | <listitem><para><emphasis><filename>pkgname:</filename></emphasis> |
1497 | Checks that all packages in | 1447 | Checks that all packages in |
1498 | <link linkend='var-PACKAGES'><filename>PACKAGES</filename></link> | 1448 | <link linkend='var-PACKAGES'><filename>PACKAGES</filename></link> |
1499 | have names that do not contain invalid characters (i.e. | 1449 | have names that do not contain invalid characters (i.e. |
1500 | characters other than 0-9, a-z, ., +, and -). | 1450 | characters other than 0-9, a-z, ., +, and -). |
1501 | </para></listitem> | 1451 | </para></listitem> |
1452 | <listitem><para><emphasis><filename>pkgv-undefined:</filename></emphasis> | ||
1453 | Checks to see if the <filename>PKGV</filename> variable | ||
1454 | is undefined during <filename>do_package</filename>. | ||
1455 | </para></listitem> | ||
1456 | <listitem><para><emphasis><filename>pkgvarcheck:</filename></emphasis> | ||
1457 | Checks through the variables | ||
1458 | <link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link>, | ||
1459 | <link linkend='var-RRECOMMENDS'><filename>RRECOMMENDS</filename></link>, | ||
1460 | <link linkend='var-RSUGGESTS'><filename>RSUGGESTS</filename></link>, | ||
1461 | <link linkend='var-RCONFLICTS'><filename>RCONFLICTS</filename></link>, | ||
1462 | <link linkend='var-RPROVIDES'><filename>RPROVIDES</filename></link>, | ||
1463 | <link linkend='var-RREPLACES'><filename>RREPLACES</filename></link>, | ||
1464 | <link linkend='var-FILES'><filename>FILES</filename></link>, | ||
1465 | <link linkend='var-ALLOW_EMPTY'><filename>ALLOW_EMPTY</filename></link>, | ||
1466 | <filename>pkg_preinst</filename>, | ||
1467 | <filename>pkg_postinst</filename>, | ||
1468 | <filename>pkg_prerm</filename> | ||
1469 | and <filename>pkg_postrm</filename>, and reports if there are | ||
1470 | variable sets that are not package-specific. | ||
1471 | Using these variables without a package suffix is bad practice, | ||
1472 | and might unnecessarily complicate dependencies of other packages | ||
1473 | within the same recipe or have other unintended consequences. | ||
1474 | </para></listitem> | ||
1502 | <listitem><para><emphasis><filename>pn-overrides:</filename></emphasis> | 1475 | <listitem><para><emphasis><filename>pn-overrides:</filename></emphasis> |
1503 | Checks that a recipe does not have a name | 1476 | Checks that a recipe does not have a name |
1504 | (<link linkend='var-PN'><filename>PN</filename></link>) value | 1477 | (<link linkend='var-PN'><filename>PN</filename></link>) value |
@@ -1516,6 +1489,20 @@ | |||
1516 | <filename>FILES_${PN} = "xyz"</filename> effectively turn into | 1489 | <filename>FILES_${PN} = "xyz"</filename> effectively turn into |
1517 | <filename>FILES = "xyz"</filename>. | 1490 | <filename>FILES = "xyz"</filename>. |
1518 | </para></listitem> | 1491 | </para></listitem> |
1492 | <listitem><para><emphasis><filename>rpaths:</filename></emphasis> | ||
1493 | Checks for rpaths in the binaries that contain build system paths such | ||
1494 | as <filename>TMPDIR</filename>. | ||
1495 | If this test fails, bad <filename>-rpath</filename> options are being | ||
1496 | passed to the linker commands and your binaries have potential security | ||
1497 | issues.</para></listitem> | ||
1498 | <listitem><para><emphasis><filename>split-strip:</filename></emphasis> | ||
1499 | Reports that splitting or stripping debug symbols from binaries | ||
1500 | has failed. | ||
1501 | </para></listitem> | ||
1502 | <listitem><para><emphasis><filename>staticdev:</filename></emphasis> | ||
1503 | Checks for static library files (<filename>*.a</filename>) in | ||
1504 | non-<filename>staticdev</filename> packages. | ||
1505 | </para></listitem> | ||
1519 | <listitem><para><emphasis><filename>symlink-to-sysroot:</filename></emphasis> | 1506 | <listitem><para><emphasis><filename>symlink-to-sysroot:</filename></emphasis> |
1520 | Checks for symlinks in packages that point into | 1507 | Checks for symlinks in packages that point into |
1521 | <link linkend='var-TMPDIR'><filename>TMPDIR</filename></link> | 1508 | <link linkend='var-TMPDIR'><filename>TMPDIR</filename></link> |
@@ -1523,6 +1510,10 @@ | |||
1523 | Such symlinks will work on the host, but are clearly invalid | 1510 | Such symlinks will work on the host, but are clearly invalid |
1524 | when running on the target. | 1511 | when running on the target. |
1525 | </para></listitem> | 1512 | </para></listitem> |
1513 | <listitem><para><emphasis><filename>textrel:</filename></emphasis> | ||
1514 | Checks for ELF binaries that contain relocations in their | ||
1515 | <filename>.text</filename> sections, which can result in a | ||
1516 | performance impact at runtime.</para></listitem> | ||
1526 | <listitem><para><emphasis><filename>unsafe-references-in-binaries:</filename></emphasis> | 1517 | <listitem><para><emphasis><filename>unsafe-references-in-binaries:</filename></emphasis> |
1527 | Reports when a binary installed in | 1518 | Reports when a binary installed in |
1528 | <filename>${base_libdir}</filename>, | 1519 | <filename>${base_libdir}</filename>, |
@@ -1565,6 +1556,12 @@ | |||
1565 | <filename>/usr</filename>. | 1556 | <filename>/usr</filename>. |
1566 | </note> | 1557 | </note> |
1567 | </para></listitem> | 1558 | </para></listitem> |
1559 | <listitem><para><emphasis><filename>useless-rpaths:</filename></emphasis> | ||
1560 | Checks for dynamic library load paths (rpaths) in the binaries that | ||
1561 | by default on a standard system are searched by the linker (e.g. | ||
1562 | <filename>/lib</filename> and <filename>/usr/lib</filename>). | ||
1563 | While these paths will not cause any breakage, they do waste space and | ||
1564 | are unnecessary.</para></listitem> | ||
1568 | <listitem><para><emphasis><filename>var-undefined:</filename></emphasis> | 1565 | <listitem><para><emphasis><filename>var-undefined:</filename></emphasis> |
1569 | Reports when variables fundamental to packaging (i.e. | 1566 | Reports when variables fundamental to packaging (i.e. |
1570 | <link linkend='var-WORKDIR'><filename>WORKDIR</filename></link>, | 1567 | <link linkend='var-WORKDIR'><filename>WORKDIR</filename></link>, |
@@ -1574,19 +1571,6 @@ | |||
1574 | <link linkend='var-PKGD'><filename>PKGD</filename></link>) are | 1571 | <link linkend='var-PKGD'><filename>PKGD</filename></link>) are |
1575 | undefined during <filename>do_package</filename>. | 1572 | undefined during <filename>do_package</filename>. |
1576 | </para></listitem> | 1573 | </para></listitem> |
1577 | <listitem><para><emphasis><filename>pkgv-undefined:</filename></emphasis> | ||
1578 | Checks to see if the <filename>PKGV</filename> variable | ||
1579 | is undefined during <filename>do_package</filename>. | ||
1580 | </para></listitem> | ||
1581 | <listitem><para><emphasis><filename>buildpaths:</filename></emphasis> | ||
1582 | Checks for paths to locations on the build host inside the | ||
1583 | output files. | ||
1584 | Currently, this test triggers too many false positives and | ||
1585 | thus is not normally enabled. | ||
1586 | </para></listitem> | ||
1587 | <listitem><para><emphasis><filename>perms:</filename></emphasis> | ||
1588 | Currently, this check is unused but reserved. | ||
1589 | </para></listitem> | ||
1590 | <listitem><para><emphasis><filename>version-going-backwards:</filename></emphasis> | 1574 | <listitem><para><emphasis><filename>version-going-backwards:</filename></emphasis> |
1591 | If Build History is enabled, reports when a package | 1575 | If Build History is enabled, reports when a package |
1592 | being written out has a lower version than the previously | 1576 | being written out has a lower version than the previously |
@@ -1602,6 +1586,20 @@ | |||
1602 | this situation. | 1586 | this situation. |
1603 | </note> | 1587 | </note> |
1604 | </para></listitem> | 1588 | </para></listitem> |
1589 | <listitem><para><emphasis><filename>xorg-driver-abi:</filename></emphasis> | ||
1590 | Checks that all packages containing Xorg drivers have ABI | ||
1591 | dependencies. | ||
1592 | The <filename>xserver-xorg</filename> recipe provides driver | ||
1593 | ABI names. | ||
1594 | All drivers should depend on the ABI versions that they have | ||
1595 | been built against. | ||
1596 | Driver recipes that include | ||
1597 | <filename>xorg-driver-input.inc</filename> | ||
1598 | or <filename>xorg-driver-video.inc</filename> will | ||
1599 | automatically get these versions. | ||
1600 | Consequently, you should only need to explicitly add | ||
1601 | dependencies to binary driver recipes. | ||
1602 | </para></listitem> | ||
1605 | </itemizedlist> | 1603 | </itemizedlist> |
1606 | </para> | 1604 | </para> |
1607 | </section> | 1605 | </section> |