diff options
Diffstat (limited to 'documentation/ref-manual')
| -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> |
