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

Saul Wold sgw at linux.intel.com
Tue Apr 26 19:48:03 UTC 2011


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.

% 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)?

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} "




More information about the Openembedded-core mailing list