[yocto] Excluding ptest packages from image build

ChenQi Qi.Chen at windriver.com
Wed May 9 22:34:36 PDT 2018


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
>
>
>



More information about the yocto mailing list