When I try to build a core-image-minimal image with ptest for openssl installed
using the following conf/local.conf modifications, the openssl-ptest is
installed but with missing runtime dependencies.
DISTRO_FEATURES:append = " ptest"
EXTRA_IMAGE_FEATURES += " ptest-pkgs"
PTEST_ENABLED = "1"
IMAGE_INSTALL:append = " openssl"
When I boot the image and try to run the ptest for openssl, I get the following
error complaining about missing dependencies in the output:
# ptest-runner openssl -t 3000
BEGIN: /usr/lib/openssl/ptest
Can't locate File/Spec/Functions.pm in @INC ...
...
This error is due to package perl-module-file-spec-functions, along with some
other perl-module-* packages, not being installed - these packages are missing
in the .manifest file in the directory containing the built image. The
dependency for these packages is as follows.
openssl-ptest --(RDEPENDS)--> perl-modules --(RRECOMMENDS)-->
perl-module-file-spec-functions
\-(RRECOMMENDS)--> some other
perl-module-* packages
"ptest-pkgs" along with various other image features are defined as
COMPLEMENTARY_GLOB in meta/classes-recipe/populate_sdk_base.bbclass in
openembedded-core:
COMPLEMENTARY_GLOB[ptest-pkgs] = '*-ptest ${MLPREFIX}ptest-runner'
Following this patch to package_manager referenced by link
https://lists.openembedded.org/g/openembedded-core/message/167303, recommends
relationships (set via RRECOMMENDS) are always ignored when installing
complementary packages [1]. This causes the necessary runtime dependencies for
openssl-ptest not being installed. I am not sure if this issue only pertains to
openssl-ptest.
Note that, if I follow the alternative "more selective" [2] way to include the
tests (see the following sample conf/local.conf), I can properly install
openssl-ptest with all dependencies, as openssl-ptest is now explicitly
declared as package-to-be-installed instead of implicitly discovered via the
COMPLEMENTARY_GLOB "ptest-pkgs". I would say that this means that "ptest-pkgs"
is not very robust to use.
DISTRO_FEATURES:append = " ptest"
PTEST_ENABLED = "1"
IMAGE_INSTALL:append = " openssl openssl-ptest"
[1]
https://docs.yoctoproject.org/dev/ref-manual/variables.html#term-COMPLEMENTARY_GLOB
[2] https://wiki.yoctoproject.org/wiki/Ptest#Adding_ptest_to_your_build
William
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#193807):
https://lists.openembedded.org/g/openembedded-core/message/193807
Mute This Topic: https://lists.openembedded.org/mt/103752398/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-