From: Gary Thomas <gary@mlbassoc.com>
To: caterwaul <caterwaul@163.com>
Cc: Poky Project <poky@yoctoproject.org>
Subject: Re: [yocto] problem about package and subpackage
Date: Wed, 18 Apr 2012 08:51:46 -0600 [thread overview]
Message-ID: <4F8ED502.9060904@mlbassoc.com> (raw)
In-Reply-To: <6f919fc8.2471e.136c5eb4771.Coremail.caterwaul@163.com>
On 2012-04-18 08:46, caterwaul wrote:
>
>
>
>
> At 2012-04-18 22:06:36,"Gary Thomas" <gary@mlbassoc.com> wrote:
>>On 2012-04-18 07:57, caterwaul wrote:
>>> At 2012-04-18 19:57:21,"Gary Thomas" <gary@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
------------------------------------------------------------
next prev parent reply other threads:[~2012-04-18 14:51 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-18 11:29 problem about package and subpackage caterwaul
2012-04-18 11:57 ` Gary Thomas
[not found] ` <2cd5df9.23e9d.136c5be57cf.Coremail.caterwaul@163.com>
2012-04-18 14:06 ` [yocto] " Gary Thomas
[not found] ` <6f919fc8.2471e.136c5eb4771.Coremail.caterwaul@163.com>
2012-04-18 14:51 ` Gary Thomas [this message]
2012-04-18 15:45 ` Mark Hatle
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F8ED502.9060904@mlbassoc.com \
--to=gary@mlbassoc.com \
--cc=caterwaul@163.com \
--cc=poky@yoctoproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.