Debugging packaging
In more sophisticated recipes, we split the installed contents in several subpackages. The subpackages can be optional features, modules, or any other set of files that are optional to be installed.
To inspect how the recipe's content has been split, we can use the build/tmp/work/<arch>/<recipe name>/<software version>/packages-split
directory. It contains a subdirectory for every subpackage and has its contents in the subtree. Among the possible reasons for a mistaken content split, we have the following:
Contents not being installed (for example, an error in installation scripts)
Application or library configuration error (for example, a disabled feature)
Metadata error (for example, wrong package order)
Another common issue that we find, mainly in library recipes, is that the needed artifacts are not made available in the sysroot
directory (for example, headers or dynamic libraries), causing a build breakage. The counterpart of the sysroot
generation can...