[OE-core] [PATCH] libc-package bbclass: fix binary localedata dependency code

Khem Raj raj.khem at gmail.com
Wed Aug 17 15:50:36 UTC 2011


On Thu, Aug 11, 2011 at 9:43 PM, Kamble, Nitin A
<nitin.a.kamble at intel.com> wrote:
> Hi Koen,
>  Sorry for replying late, I am on vacation now. I looked at my commit 561d875404ef1783f94f37314b6e756766db8411, and from it I see that both eglibc & glibc package.bbclass has same lines
> -               if m:
> -                       eglibc_name = "%s.%s" % (m.group(1), m.group(2).lower().replace("-",""))
> -               else:
> -                       eglibc_name = name
> So I am not sure that this is the correct fix. I will look into it further and reply later.

this code is not the problem the real problem is the splitting code
that changed in this commit

-  m = re.match("(.*)\.(.*)", name)
+ m = re.match("(.*)_(.*)", name)


Why is regular expression splitting at _ and joining with . ?
original behaviour was to split and join with .

This seems incorrect to me.

> Thanks,
> Nitin
>
>> -----Original Message-----
>> From: Koen Kooi [mailto:koen at dominion.thruhere.net]
>> Sent: Tuesday, August 09, 2011 11:14 PM
>> To: Patches and discussions about the oe-core layer
>> Cc: Kamble, Nitin A
>> Subject: Re: [OE-core] [PATCH] libc-package bbclass: fix binary
>> localedata dependency code
>>
>> Nitin, any insights on this?
>>
>> Op 2 aug. 2011, om 17:01 heeft Phil Blundell het volgende geschreven:
>>
>> > It does look a bit weird.  That code was introduced in 561d8754,
>> > ostensibly as a merger of the eglibc and glibc equivalents.  But, the
>> > original code from glibc-package.bbclass did:
>> >
>> >       def output_locale_binary_rdepends(name, pkgname, locale,
>> encoding):
>> >               m = re.match("(.*)\.(.*)", name)
>> >               if m:
>> >                       glibc_name = "%s.%s" % (m.group(1),
>> m.group(2).lower().replace("-",""))
>> >               else:
>> >                       glibc_name = name
>> >               bb.data.setVar('RDEPENDS_%s' % pkgname,
>> legitimize_package_name('glibc-binary-localedata-%s' % glibc_name), d)
>> >
>> > ... i.e. it was using the "." separator both for splitting and
>> joining,
>> > which seems reasonable.  But somehow when it showed up in
>> > libc-package.bbclass it had gotten transmogrified so that it split on
>> > "_" but joined with "." as you showed below.  That seems bogus to me.
>> >
>> > p.
>> >
>> > On Tue, 2011-08-02 at 16:55 +0200, Koen Kooi wrote:
>> >> The bug I was seeing was caused by something else, but I'd still
>> like feedback on this patch to find out why the dot vs dash difference
>> exists
>> >>
>> >> Op 2 aug. 2011, om 16:47 heeft Koen Kooi het volgende geschreven:
>> >>
>> >>> When using binary locales rootfs generation fails with:
>> >>>
>> >>> | Unknown package 'locale-base-en-us'.
>> >>> | Collected errors:
>> >>> |  * opkg_install_cmd: Cannot install package locale-base-en-us.
>> >>>
>> >>> This is due to:
>> >>>
>> >>> $ dpkg-deb -I ipk/armv7a/locale-base-en-us_2.12-r16_armv7a.ipk |
>> grep Depends
>> >>> Depends: eglibc-binary-localedata-en.us
>> >>>
>> >>> Note the '.' seperator
>> >>>
>> >>> $ ls ipk/armv7a/ | grep binary-localedata-en | grep us
>> >>> eglibc-binary-localedata-en-us_2.12-r16_armv7a.ipk
>> >>>
>> >>> Note the '-' seperator vs the '.' in the locale-base packages.
>> >>>
>> >>> Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
>> >>> ---
>> >>> meta/classes/libc-package.bbclass |    2 +-
>> >>> 1 files changed, 1 insertions(+), 1 deletions(-)
>> >>>
>> >>> diff --git a/meta/classes/libc-package.bbclass b/meta/classes/libc-
>> package.bbclass
>> >>> index de57230..67d08c0 100644
>> >>> --- a/meta/classes/libc-package.bbclass
>> >>> +++ b/meta/classes/libc-package.bbclass
>> >>> @@ -243,7 +243,7 @@ python package_do_split_gconvs () {
>> >>>   def output_locale_binary_rdepends(name, pkgname, locale,
>> encoding):
>> >>>           m = re.match("(.*)_(.*)", name)
>> >>>           if m:
>> >>> -                 libc_name = "%s.%s" % (m.group(1),
>> m.group(2).lower().replace("-",""))
>> >>> +                 libc_name = "%s-%s" % (m.group(1),
>> m.group(2).lower().replace("-",""))
>> >>>           else:
>> >>>                   libc_name = name
>> >>>           bb.data.setVar('RDEPENDS_%s' % pkgname,
>> legitimize_package_name('%s-binary-localedata-%s' \
>> >>> --
>> >>> 1.6.6.1
>> >>>
>> >>
>> >>
>> >> _______________________________________________
>> >> Openembedded-core mailing list
>> >> Openembedded-core at lists.openembedded.org
>> >> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-
>> core
>> >
>> >
>> >
>> > _______________________________________________
>> > Openembedded-core mailing list
>> > Openembedded-core at lists.openembedded.org
>> > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>




More information about the Openembedded-core mailing list