[poky] [yocto] problem about package and subpackage
Gary Thomas
gary at mlbassoc.com
Wed Apr 18 07:51:46 PDT 2012
On 2012-04-18 08:46, caterwaul wrote:
>
>
>
>
> At 2012-04-18 22:06:36,"Gary Thomas" <gary at mlbassoc.com> wrote:
>>On 2012-04-18 07:57, caterwaul wrote:
>>> At 2012-04-18 19:57:21,"Gary Thomas" <gary at mlbassoc.com> wrote:
>>>>On 2012-04-18 05:29, caterwaul wrote:
>>>>> Hi,
>>>>>
>>>>> I wanted to add dhcp(4.2.0) into my image. And I added "dhcp" into IMAGE_INSTALL of my image's bb file. After I runing bitbake, the dhcp package is normally fetched and compiled
>>>>> and so on. But during do_rootfs bitbake reported as follow:
>>>>> Processing dhcp...
>>>>> Unable to find package dhcp (dhcp)!
>>>>> ERROR: Function 'do_rootfs' failed
>>>>>
>>>>> I note that in /meta/recipes-connectivity/dhcp/dhcp4.inc the dhcp package is split into 4 subpackages(PACKAGES += "dhcp-server dhcp-client dhcp-relay dhcp-omshell"). Now If I
>>>>> remove "dhcp" from IMAGE_INSTALL and add these 4 subpackages' name into IMAGE_INSTALL and run bitbake AGAIN, they can be normally added into my final image.
>>>>>
>>>>> I've tried to modify last part of dhcp4.inc as follow: But bitbake still reported "Unable to find package dhcp"
>>>>> FILES_${PN} = ""
>>>>> FILES_${PN} += "${sbindir}/dhcpd ${sysconfdir}/init.d/dhcp-server ${sysconfdir}/default/dhcp-server ${sysconfdir}/dhcp/dhcpd.conf"
>>>>> FILES_${PN} += "${sbindir}/dhcrelay ${sysconfdir}/init.d/dhcp-relay ${sysconfdir}/default/dhcp-relay"
>>>>> FILES_${PN} += "${base_sbindir}/dhclient ${base_sbindir}/dhclient-script ${sysconfdir}/dhcp/dhclient.conf"
>>>>> FILES_${PN} += "${bindir}/omshell"
>>>>> RDEPENDS_${PN} = "bash"
>>>>>
>>>>> So How should I config bitbake to get my image with dhcp by running bitbake ONLY ONCE?
>>>>
>>>>There is no "dhcp" package, only dhcp-client, dhcp-relay, dhcp-server.
>>>>Pick the functionality you need and use the appropriate package(s)
>>>>
>>>
>>>
>>> Thank you very much. But maybe my question is not clear. What I mean is:
>>> If I pick dhcp-server dhcp-client dhcp-relay and dhcp-omshell, bitbake will NOT start to build and report can NOT find these packages. On the other hand, if I pick dhcp, bitbake
>>> will start to build, but at do_rootfs stage it will report "Unable to find package dhcp (dhcp)!"(at this moment all dhcp-xxx packages has actually been generated there). So I want
>>> to know how to config bitbake to complete the build and produce image with whole or part of dhcp.
>>
>>You are confusing packages with recipes. Bitbake only knows how to
>>build recipes which in turn create packages. Most of the time, the
>>packages have the same name as the recipe, but not always. Sometimes
>>a recipe only creates "component" packages which, as in the case of dhcp,
>>do not include a package with exactly the same name as the recipe.
>>
>>In order to get any of these component packages built, one needs to
>>tell bitbake to build the recipe (if you are trying to force it on
>>the command line). However, the image needs to use the package names,
>>as that's what gets installed.
>>
>>Maybe a bit confusing, but that's how it works.
>>
>>n.b. Please keep replies on the mailing list so that everyone may benefit
>>
>
> Thank you again. Could you explain more about how to tell bitbake which recipe I want and which package I want? Should I add both the recipe name(dhcp) and the package names(dhcp-xxx) into IMAGE_INSTALL of the image's recipe? If so, how does bitbake know which name in IMAGE_INSTALL is for recipe and which is for package?
As I said above, you use recipe names when you are running bitbake
from the command line, e.g.
% bitbake dhcp
% bitbake core-image-minimal
As part of the process of building recipes, bitbake learns what _packages_
are created by each recipe. Thus, inside recipes, you use package names,
not recipe names. So to add dhcp-client to your image, simply add that
package, not the recipe name. bitbake will then realize that it needs to
build the dhcp _recipe_ in order to build the dhcp-client _package_
--
------------------------------------------------------------
Gary Thomas | Consulting for the
MLB Associates | Embedded world
------------------------------------------------------------
More information about the poky
mailing list