Debugging packaging
In more sophisticated recipes, we split the installed contents into several sub-packages. The sub-packages can be optional features, modules, or any other set of files that it is optional to install.
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 sub-directory for every sub-package and has its contents in the sub-tree.
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 required 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...