[OE-core] wrong automatic dependency

Eric Bénard eric at eukrea.com
Fri Sep 5 09:13:13 UTC 2014


Hi Dvorkin,

Le Fri, 05 Sep 2014 16:36:03 +0800,
Dvorkin Dmitry <dvorkin at tibbo.com> a écrit :

> 
> Hello!
> 
> I wrote my own recipe for crda.
> (http://wireless.kernel.org/en/developers/Regulatory/CRDA)
> 
> Dependencies is:
> DEPENDS = "libgcrypt libnl"
> RDEPENDS_${PN} = "udev wireless-regdb"
> 
> Crda Makefile is using python to rebuild it's database in 
> build/installation step.
> After installation I have several packages: crda itself, crda-dev, 
> crda-doc, ... etc.
> In my image I'm using only 'crda' package that doesn't need python.
> 
> But it seems Yocto detects python and add automatic dependency of python 
> to my image anyway.
> 
> $ grep "crda" ./*.dot | grep pyt
> ./task-depends.dot:"crda.do_build" -> "python-dbus.do_package_write_ipk"
> ./task-depends.dot:"crda.do_build" -> "python.do_package_write_rpm"
> ./task-depends.dot:"crda.do_build" -> "python.do_package_write_deb"
> ./task-depends.dot:"crda.do_build" -> "python.do_package_write_ipk"
> ./task-depends.dot:"crda.do_build" -> 
> "python-pygobject.do_package_write_rpm"
> ./task-depends.dot:"crda.do_build" -> 
> "python-pygobject.do_package_write_deb"
> ./task-depends.dot:"crda.do_build" -> 
> "python-pygobject.do_package_write_ipk"
> ./task-depends.dot:"crda.do_build" -> "python-dbus.do_package_write_rpm"
> ./task-depends.dot:"crda.do_build" ->
> "python-dbus.do_package_write_deb"
> 
> Is there any way to get rid of python dependency in this and only
> this recipe? it makes my image significally bigger.

are you sure python is drawn in your image by crda ?

With the existing recipe, I don't get python RDEPENDS in crda :
http://layers.openembedded.org/layerindex/recipe/4179/

$ cat cortexa9hf-vfp-neon-oe-linux-gnueabi/crda/crda/latest 
PV = 1.1.3
PR = r0
RPROVIDES = 
RDEPENDS = eglibc (>= 2.18) libgcrypt (>= 1.5.3) libnl (>= 3.2.22) libnl-genl (>= 3.2.22) udev
RRECOMMENDS = 
PKGSIZE = 21773
FILES = /usr/bin/* /usr/sbin/* /usr/lib/crda/* /usr/lib/lib*.so.* /etc /com /var /bin/* /sbin/* /lib/*.so.* /lib/udev/rules.d /usr/lib/udev/rules.d /usr/share/crda /usr/lib/crda/* /usr/share/pixmaps /usr/share/applications /usr/share/idl /usr/share/omf /usr/share/sounds /usr/lib/bonobo/servers /usr/libcrda/regulatory.bin /lib/udev/rules.d/85-regulatory.rules
FILELIST
= /lib/udev/rules.d/85-regulatory.rules /sbin/crda /sbin/regdbdump /usr/lib/crda/regulatory.bin

Eric



More information about the Openembedded-core mailing list