[Openembedded-users] Avahi recipe

Ben Gamari bgamari at gmail.com
Tue Mar 10 03:51:21 UTC 2009


Hey all,

For the last several days, I've been trying to figure out how to get 
task-base to produce a minimal image. Currently the problem I'm 
experiencing is the following dependency chain,

task-base -> avahi-daemon -> avahi-python -> pygtk -> gtk+ -> xorg

Now, I'm it seems that avahi-python provides avahi-daemon because it 
builds all of avahi but with --enable-python, which the usual 
avahi-daemon package lacks. This is fine however bitbake seems to want 
to pull in avahi-python despite my stated preferences to do otherwise,

 > $ bitbake -DD -n task-base
 > ...
> DEBUG: providers for avahi-daemon are: ['avahi-python', 'avahi']
> DEBUG: update_data()
> DEBUG: update_data()
> NOTE: checking PREFERRED_PROVIDER_avahi-python
> NOTE: checking PREFERRED_PROVIDER_avahi-python-0.6.21
> NOTE: checking PREFERRED_PROVIDER_avahi-python-0.6.21-r8
> NOTE: checking PREFERRED_PROVIDER_avahi
> NOTE: selecting avahi to satisfy runtime avahi-daemon due to PREFERRED_PROVIDER_avahi = avahi
> DEBUG: sorted providers for avahi-daemon are: ['/mnt/oe/oe/openembedded/packages/avahi/avahi_0.6.24.bb', '/mnt/oe/oe/openembedded/packages/avahi/avahi-python_0.6.21.bb']
> DEBUG: adding '/mnt/oe/oe/openembedded/packages/avahi/avahi_0.6.24.bb' to satisfy runtime 'avahi-daemon'
 > ...
> DEBUG: Added runtime recommendation avahi for /mnt/oe/oe/openembedded/packages/avahi/avahi_0.6.24.bb
> DEBUG: adding '/mnt/oe/oe/openembedded/packages/avahi/avahi-python_0.6.21.bb' to satisfy runtime 'avahi-daemon'
> DEBUG: Added dependency pkgconfig-native for /mnt/oe/oe/openembedded/packages/avahi/avahi-python_0.6.21.bb
 > ...

A similar thing happens when processing avahi-autoipd,

> DEBUG: providers for avahi-autoipd are: ['avahi-python', 'avahi']
> DEBUG: update_data()
> DEBUG: update_data()
> NOTE: checking PREFERRED_PROVIDER_avahi-python
> NOTE: checking PREFERRED_PROVIDER_avahi-python-0.6.21
> NOTE: checking PREFERRED_PROVIDER_avahi-python-0.6.21-r8
> NOTE: checking PREFERRED_PROVIDER_avahi
> NOTE: selecting avahi to satisfy runtime avahi-autoipd due to PREFERRED_PROVIDER_avahi = avahi
> DEBUG: sorted providers for avahi-autoipd are: ['/mnt/oe/oe/openembedded/packages/avahi/avahi_0.6.24.bb', '/mnt/oe/oe/openembedded/packages/avahi/avahi-python_0.6.21.bb']
> DEBUG: adding '/mnt/oe/oe/openembedded/packages/avahi/avahi_0.6.24.bb' to satisfy runtime 'avahi-autoipd'
> DEBUG: adding '/mnt/oe/oe/openembedded/packages/avahi/avahi-python_0.6.21.bb' to satisfy runtime 'avahi-autoipd'

After this, hilarity ensues as avahi-python adds python-pygtk, which in 
turn adds gtk+ which in turn adds most of Xorg (which I seek to avoid). 
Why does bitbake decide to add both avahi-python and avahi when 
satisfying avahi-daemon and avahi-autoipd? Isn't it supposed to only 
pick one of the providing packages (preferably the preferred package)? 
I'm quite confused. Any input you could provide you be greatly 
appreciated. Thanks,

- Ben




More information about the Openembedded-users mailing list