[yocto] Dependency walk for busybox recipe

Elvis Dowson elvis.dowson at gmail.com
Mon Sep 17 09:32:48 PDT 2012


Hi Paul,

On Sep 16, 2012, at 10:31 PM, Paul Eggleton wrote:

> On Sunday 16 September 2012 20:09:10 Elvis Dowson wrote:
>> On 09/16/2012 07:54 AM, Khem Raj wrote:
>>> On Sat, Sep 15, 2012 at 10:59 AM, Elvis Dowson <elvis.dowson at gmail.com> 
> wrote:
>>>> So I added busybox-1.19.4 recipe back into my poky master branch, and the
>>>> resulting size of the busybox-1.19.4 /bin/busybox or /bin/sh executable
>>>> is 604.2 kb.> 
>>> make sure that .config of busybox has not changed even if you have
>>> same version backported
>> 
>> I've made sure that the defconfig files used in the recipe are
>> identical. The only addition that I notice now, is that the recent
>> rework done to task-core-boot, resulting in it being renamed as
>> packagegroup-core-boot.bb adds the following extra line:
>> 
>> ${@base_contains("MACHINE_FEATURES", "rtc", "busybox-hwclock", "", d)} \
>> 
>> My virtex5.conf machine features entry does not specify an rtc,
>> 
>> MACHINE_FEATURES = "kernel26 apm ext2 ext3 vfat ethernet keyboard screen
>> serial"
>> 
>> yet the current poky master attempts to pull it in:
>> 
>> NOTE: Resolving any missing task queue dependencies
>> ERROR: Nothing RPROVIDES 'busybox-hwclock' (but
>> /tool/yocto/poky/meta/recipes-core/packagegroups/packagegroup-core-boot.bb
>> RDEPENDS on or otherwise requires it)
>> NOTE: Runtime target 'busybox-hwclock' is unbuildable, removing...
>> Missing or unbuildable dependency chain was: ['busybox-hwclock']
>> NOTE: Runtime target 'packagegroup-core-boot' is unbuildable, removing...
>> Missing or unbuildable dependency chain was: ['packagegroup-core-boot',
>> 'busybox-hwclock']
>> ERROR: Required build target 'core-image-minimal' has no buildable
>> providers.
>> Missing or unbuildable dependency chain was: ['core-image-minimal',
>> 'packagegroup-core-boot', 'busybox-hwclock']
>> 
>> Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
>> 
>> Is this a bug? Is the rtc being added from somewhere else? Should this
>> be happening?
> 
> It's not a bug, this is meant to happen. This is a result of 
> MACHINE_FEATURES_BACKFILL, which is intended to ensure that we can introduce 
> new items to MACHINE_FEATURES controlling existing functionality without 
> breaking existing machine configurations by disabling the existing 
> functionality because the configuration doesn't include it. (In older versions 
> of busybox the hwclock feature was on by default - an hwclock item was added 
> at the MACHINE_FEATURES level to be able to control it).
> 
> To fix this, just add hwclock to MACHINE_FEATURES_BACKFILL_CONSIDERED in your 
> machine configuration.

My target board doesn't have an rtc, and busybox tries to look for a busybox-hwclock.

Hence, I don't need an rtc and would like to prevent the hwclock.sh script from being 
copied onto the target by default.

In my machine configuration file, even if I set
MACHINE_FEATURES_BACKFILL = ""
MACHINE_FEATURES_BACKFILL_CONSIDERED = ""

it still complains with the same error 
Nothing RPROVIDES 'busybox-hwclock' (but
/tool/yocto/poky/meta/recipes-core/packagegroups/packagegroup-core-boot.bb

The only way to suppress that error is to remove the line 
${@base_contains("MACHINE_FEATURES", "rtc", "busybox-hwclock", "", d)} \

but the hwclock.sh script gets copied onto the rootfilesystem any way into /sbin

So, I'm not sure what's being achieved. The MACHINE_FEATURES_BACKFILL
and MACHINE_FEATURES_BACKFILL_CONSIDERED = "" has not effect

and the hwclock.sh gets copied to the target in all cases.

Best regards,

Elvis Dowson




More information about the yocto mailing list