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

Khem Raj raj.khem at gmail.com
Tue Apr 26 22:17:10 UTC 2011


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.
>
>> % 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
>>
>




More information about the Openembedded-core mailing list