I just checked the codes. I think the ref manual might be a little misleading. "Prevents specific packages from being installed when you are installing complementary packages. "
might better be changed to:
"Prevents specific packages to install their complementary packages. Items specified by this variable are considered as regular expression."
Maybe an example should follow.

So specifying value 'acl' for PACKAGE_EXCLUDE_COMPLEMENTARY should be valid and its complementary packages should not be installed. Specifying 'acl.*' should have the same effect, but 'acl.' should not.

Anyway, I think you should file a bug with steps to reproduce the problem.

Also, I found that we currently don't have a mechanism to exclude some specific complementary package (e.g. acl-ptest in your case). We might need to reconsider what PACKAGE_EXCLUDE should mean. More specifically, if a user requires *-ptest packages in general, but wants to exclude acl-ptest package, there's no easy way to do so.

Best Regards,
Chen Qi

On 05/09/2018 11:30 PM, Erik Nellessen wrote:
I would like to exclude some ptest packages from an image build.

To include ptest packages in general, my image recipe contains the following line:
IMAGE_FEATURES_append = " ptest-pkgs"

As a first step, I tried to exclude the acl-ptest package. To do so, I added the following to my image recipe:
PACKAGE_EXCLUDE_COMPLEMENTARY = "acl-ptest"

I thought that this would exclude the acl-ptest package as described in the project reference: https://www.yoctoproject.org/docs/2.4.2/ref-manual/ref-manual.html#var-PACKAGE_EXCLUDE_COMPLEMENTARY "Prevents specific packages from being installed when you are installing complementary packages.

You might find that you want to prevent installing certain packages when you are installing complementary packages. For example, if you are using IMAGE_FEATURES to install dev-pkgs, you might not want to install all packages from a particular multilib. If you find yourself in this situation, you can use the PACKAGE_EXCLUDE_COMPLEMENTARY variable to specify regular expressions to match the packages you want to exclude."

Anyhow this did not result in an image without the acl-ptest package, as I could validate by having a look at the image's manifest file.

When I changed the image recipe to contain the regular expression "acl", i.e
PACKAGE_EXCLUDE_COMPLEMENTARY = "acl"
all three acl packages (acl, acl-lic, acl-ptest) were excluded from the image.

And to really start the confusion, when changed the regular expression to "acl.", i.e.
PACKAGE_EXCLUDE_COMPLEMENTARY = "acl."
all three packages were also excluded.

Now I am really confused. My expectation was that "acl-ptest" and "acl" would match the acl-ptest package name and "acl." would not match the acl package name.

Does anybody see what I am missing here?

Thanks in advance,
Erik




--
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to