[OE-core] [PATCH 01/17] gettext.bbclass: Use _append instead of =+

Saul Wold sgw at linux.intel.com
Wed Apr 27 22:51:38 UTC 2011


On 04/26/2011 03:17 PM, Khem Raj wrote:
> On Tue, Apr 26, 2011 at 1:02 PM, Khem Raj<raj.khem at gmail.com>  wrote:
>> On Tue, Apr 26, 2011 at 12:48 PM, Saul Wold<sgw at linux.intel.com>  wrote:
>>> On 04/25/2011 11:54 AM, Khem Raj wrote:
>>>>
>>>> Ensure gettext and gettext-native are removed from DEPENDS when
>>>> not using NLS
>>>>
>>>> Use append instead of += to get gettext dependecies processed
>>>> correctly in all cases
>>>>
>>>> Dont remove gettext-native for native recipes as ENABLE_NLS is
>>>> only for target and not for native recipes
>>>>
>>>> Replace using 1 for a boolean type with True
>>>>
>>>> Honor INHIBIT_DEFAULT_DEPS
>>>>
>>>> Remove the added dependencies for gettext if INHIBIT_DEFAULT_DEPS is non
>>>> null
>>>>
>>> Khem,
>>>
>>> This patch seems to be causing a circular dependency when you try to build
>>> meta-toolchain-sdk, not sure if you tested that target.
>>>
>>
>> No I did not. Let me try it out.

Khem,

There still seems to be a problem with binutil-cross-canadian and 
gcc-cross-canadian not finding the gettext-native, it suggests to have 
these recipe inherit gettext, which binutils does via it's .inc file, 
but gcc-cross-canadian did not seem to do.  I tried to add inherit 
gettext to the cross-canadian.bbclass but that did not solve the issue.

Currently the meta-toolchain gmae builds show this problem.

Thanks
	Sau!

>>
>>> % bitbake meta-toolchain-sdk -n
>>> NOTE: Out of date cache found, rebuilding...
>>> WARNING: No bb files matched BBFILE_PATTERN_yocto
>>> '^/intel/poky/distro/meta-yocto/'
>>> Parsing recipes: 100% |#########################################| Time:
>>> 00:00:15
>>> Parsing of 796 .bb files complete (0 cached, 796 parsed). 1008 targets, 6
>>> skipped, 0 masked, 0 errors.
>>>
>>> OE Build Configuration:
>>> BB_VERSION        = "1.11.0"
>>> METADATA_BRANCH   = "stage"
>>> METADATA_REVISION = "86f12953dbf57264cfcc06feac446f3edf0c6d8f"
>>> TARGET_ARCH       = "i586"
>>> TARGET_OS         = "linux"
>>> MACHINE           = "qemux86"
>>> DISTRO            = "poky-lsb"
>>> DISTRO_VERSION    = "1.0+snapshot-20110426"
>>> TARGET_FPU        = ""
>>>
>>> NOTE: Resolving any missing task queue dependencies
>>> NOTE: Preparing runqueue
>>> ERROR: Task
>>> virtual:nativesdk:/intel/poky/distro/meta/recipes-core/gettext/gettext_0.17.bb
>>> (do_package) has circular dependency on
>>> virtual:nativesdk:/intel/poky/distro/meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb
>>> (do_package)
>>>
>>> Is there dependencies on this patch with the other patches? (ie can I take
>>> part of your other patches or just hold off)?
>>>
>>
>> This patch is kind of needed for few of them for parsing sake.
>> some of them dont depend on this e.g.
>>
>> [PATCH 05/17] sstate.bbclass: Reduce SSTATE_MANIFESTS assignment to be weak
>> [PATCH 09/17] libiconv: update from 1.9.2 ->  1.11.1
>> [PATCH 12/17] elfutils_0.148.bb: Fix compilation issues on uclibc
>> [PATCH 13/17] perl_5.12.2.bb: Undefine features not found in uclibc
>> [PATCH 14/17] xorg-lib: inherit gettext class instead of adding
>> gettext to DEPENDS directly
>> [PATCH 15/17] attr: Fix compilation on uclibc
>> [PATCH 16/17] linux-tools.inc: Dummify do_compile_perf and
>> do_install_perf for uclibc
>
>
> Saul
>
> I have fixed this patch and pushed it to the pull tree. Can you pull fresh
> from the pull request tree and give it a shot ? Let me know how it goes
>
>>> Sau!
>>>
>>>> Signed-off-by: Khem Raj<raj.khem at gmail.com>
>>>> ---
>>>>   meta/classes/gettext.bbclass |   31 +++++++++++++++++++------------
>>>>   1 files changed, 19 insertions(+), 12 deletions(-)
>>>>
>>>> diff --git a/meta/classes/gettext.bbclass b/meta/classes/gettext.bbclass
>>>> index a40e74f..a6f80f2 100644
>>>> --- a/meta/classes/gettext.bbclass
>>>> +++ b/meta/classes/gettext.bbclass
>>>> @@ -1,17 +1,24 @@
>>>>   def gettext_after_parse(d):
>>>> -    # Remove the NLS bits if USE_NLS is no.
>>>> -    if bb.data.getVar('USE_NLS', d, 1) == 'no':
>>>> -        cfg = oe_filter_out('^--(dis|en)able-nls$',
>>>> bb.data.getVar('EXTRA_OECONF', d, 1) or "", d)
>>>> -        cfg += " --disable-nls"
>>>> -        depends = bb.data.getVar('DEPENDS', d, 1) or ""
>>>> -        bb.data.setVar('DEPENDS',
>>>> oe_filter_out('^(virtual/libiconv|virtual/libintl)$', depends, d), d)
>>>> -        bb.data.setVar('EXTRA_OECONF', cfg, d)
>>>> -
>>>> +   # Remove the NLS bits if USE_NLS is no.
>>>> +   if bb.data.getVar('USE_NLS', d, True) == 'no':
>>>> +       cfg = oe_filter_out('^--(dis|en)able-nls$',
>>>> bb.data.getVar('EXTRA_OECONF', d, 1) or "", d)
>>>> +       cfg += " --disable-nls"
>>>> +       depends = bb.data.getVar('DEPENDS', d, True) or ""
>>>> +       depends =
>>>> oe_filter_out('^(virtual/libiconv|virtual/libintl|virtual/gettext|gettext)$',
>>>> depends, d)
>>>> +       if not oe.utils.inherits(d, 'native', 'nativesdk', 'cross',
>>>> 'crosssdk'):
>>>> +           depends = oe_filter_out('^(gettext-native)$', depends, d)
>>>> +       bb.data.setVar('DEPENDS', depends, d)
>>>> +       bb.data.setVar('EXTRA_OECONF', cfg, d)
>>>> +   # check if INHIBIT_DEFAULT_DEPS is 1 then we forcibly remove
>>>> dependencies
>>>> +   # added by this class through DEPENDS_GETTEXT
>>>> +   if bb.data.getVar('INHIBIT_DEFAULT_DEPS', d, True):
>>>> +       depends = bb.data.getVar('DEPENDS', d, True) or ""
>>>> +       gettext_deps = '^(' + bb.data.getVar('DEPENDS_GETTEXT', d, True) +
>>>> ')$'
>>>> +       depends = oe_filter_out(gettext_deps, depends, d)
>>>> +       bb.data.setVar('DEPENDS', depends, d)
>>>>   python () {
>>>>       gettext_after_parse(d)
>>>>   }
>>>> -
>>>> -DEPENDS_GETTEXT = "gettext gettext-native"
>>>> -
>>>> -DEPENDS =+ "${DEPENDS_GETTEXT}"
>>>>   EXTRA_OECONF += "--enable-nls"
>>>> +DEPENDS_GETTEXT ?= "virtual/gettext"
>>>> +DEPENDS_append = " ${DEPENDS_GETTEXT} "
>>>
>>> _______________________________________________
>>> 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