1

Hi all,

I am new to Yocto and the BitBake eco system and currently facing an issue when trying to remove a packagegroup BUT at the same time KEEP one of its packages - which is an empty package.

It goes like this: When building my image, the packagegroup-core-buildessential (that can be found here) is added to the final image. Most of the packages it contains, are NOT required in my final image --> therefor I wish to remove it. As a first attempt, what I did was to remove the entire packagegroup-core-buildessential from the final image by applying the following:

IMAGE_INSTALL_remove += "packagegroup-core-buildessential"

When doing this the entire packagegroup-core-buildessential was removed, but then I found out that another recipe in my image python3-pycparser_2.21.bb is RDEPENDS on one of the packages from packagegroup-core-buildessential which happens to be also an "empty package". This is the cpp-symlinks package.

As another attempt what I tried to do was to manually add the cpp-symlinks to the final image by doing IMAGE_INSTALL += "cpp-symlinks" and also remove the entire packagegroup-core-buildessential as before --> this also did not work. It provided the error:

Error: Problem 1: conflicting requests nothing provides cpp-symlinks needed by packagegroup-core-buildessential-1.0-r0.noarch

Problem 2: package python3-cffi-1.12.3-r0.corei7_64 requires python3-pycparser, but none of the providers can be installed conflicting requests

nothing provides cpp-symlinks needed by python3-pycparser-2.19-r0.corei7_64

I went over the following Q&A: this, this one as well, this one also and eventually this one which seems the closests - but still not sure what I should do.

Additional and final attempt was to "override" the values of the RDEPENDS:packagegroup-core-buildessential within a dedicated packagegroup-core-buildessential.bbappend file (i.e. - in my case I only kept the cpp and cpp-symlinks packages). This caused the problem above to raise again.

What (mainly, I guess) distinguish the situation I'm facing Vs. the one described in the last link, is that there is no cpp-symlinks.bb file (or anything "similar").

So the questions are:

  1. What exactly is an "empty package"?

  2. How can I resolve the issue I'm facing (trying to remove the packagegroup-core-buildessential BUT at the same time "keep" the cpp-symlinks?

Guy Avraham
  • 3,482
  • 3
  • 38
  • 50

1 Answers1

0

After searching some more on the network, what I found out is that in order to eliminate the error raised (for my last attempt), I need to add the ALLOW_EMPTY settings for the cpp-symlink package which is an "empty" package (i.e. - it does not get any files to be installed on the final image). This setting was added to the local.conf.

BitBake bu defualt, will remove (not install) any empty package. In order to let him know that "it is fine that cpp-symlink will be installed even if it is empty" what was added is:

ALLOW_EMPTY_cpp-symlink = "1" (to the local.conf file). Also, as a reminder, I have added a packagegroup-core-buildessential.bbappend file for the relevant packagegroup.

Guy Avraham
  • 3,482
  • 3
  • 38
  • 50