[yocto] DEPEND creep breaking poky-tiny

Darren Hart dvhart at linux.intel.com
Sat Feb 25 08:05:56 PST 2012



On 02/25/2012 03:40 AM, Richard Purdie wrote:
> On Fri, 2012-02-24 at 21:55 -0800, Darren Hart wrote:
>> I'm working through some issues with a poky-tiny build of
>> core-image-minimal failing. The first error is attributable to"
>>
>> commit f3677d679e5c74f9877f36cdb170bbfea9b7b9bb
>> glib-2.0: Add missing DEPENDS on dbus
>>
>> dbus eventually pulls in shadow, which fails configure with the minimal
>> libc configuration in poky-tiny. Removing this dependency allows us to
>> make progress. (I understand a proper fix is needed, as the dependency
>> was added for a reason).
> 
> That commit is from 2011-01-21 so I'm a little surprised its the issue.
> More likely is the useradd changes (which dbus now inherits) which in
> turn pulls in shadow.

Right, that was a red herring.

> 
> Regardless, I'd like to break the dbus dependency from glib-2.0 since I
> think it shouldn't be hard to remove with obvious parallelism gains. I
> think its only used in some glib tests.
> 
>> Next up is popt failing due to missing native language or widechar
>> support. pkgconfig is what brings in popt, and also what brought in glib
>> above. Nothing in popt suggests it changed recently, which leads me to
>> believe that the pkgconfig bit is new as I'm pretty sure I didn't need
>> glib in poky-tiny originally at all.
>>
>> Has pkgconfig been added recently? Seems silly to ask, but that is where
>> things are pointing...
> 
> This one is new and you are correctly attributing the change to commit
> 76640582e8ba114d4e80a494f6680fd0ce57ca58 which I made.
> 
> The trouble is if we build anything which has a -dev package, if we
> install that, we need to have pkgconfig around since the package will
> auto depend on pkgconfig thanks to rpm's auto dependencies. The
> dependency is therefore correct and it won't actually change your image
> size, its just a correctness issue.
> 
> I appreciate that it pulling in glib and popt is a pain though. I was
> curious why as much stuff breaks since we're supposed to support nls
> free images, at least in theory from the patches I see. There are
> several things that caught my eye:
> 
> * USE_NLS=yes in glib-2.0's recipe (overriding the "no" distro setting)
> * eglibc declaring ac_cv_header_langinfo_h (which causes popt to call
> nl_langinfo)
> * popthelp.c has a POPT_WCHAR_HACK define which looks like we could
> disable wchar support through
> 
> So it looks like popt could be fixed relatively easily but glib-2.0 has
> a hard gettext dependency at least in policy.
> 
> The annoying thing is I know pkgconfig only uses a small subset of
> glib-2.0 and certainly doesn't care about nls. It used to ship its own
> small glib-1.0 based shim but the authors removed that :(.
> 
> So how to fix this? The best I could come up with was:
> 
> diff --git a/meta-yocto/conf/distro/poky-tiny.conf b/meta-yocto/conf/distro/poky-tiny.conf
> index 411347a..5d1d67a 100644
> --- a/meta-yocto/conf/distro/poky-tiny.conf
> +++ b/meta-yocto/conf/distro/poky-tiny.conf
> @@ -108,3 +108,5 @@ IMAGE_FSTYPES = "ext2 cpio.gz"
>  #        variants of all compatible machines, but that leads to a lot
>  #        more machine configs to maintain long term.
>  MACHINE_ESSENTIAL_EXTRA_RDEPENDS = ""
> +
> +ASSUME_PROVIDED += "pkgconfig$"
> 
> which would mean images using the -dev packages might break but
> otherwise things work just fine. I confirmed poky-tiny builds with this
> applied.

I'll take this to the bug.

https://bugzilla.yoctoproject.org/show_bug.cgi?id=2030

-- 
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel



More information about the yocto mailing list