[V4] default-distrovars: Drop DISTRO_FEATURES_LIBC

Message ID 20190226180314.16870-1-raj.khem@gmail.com
State Superseded
Headers show
Series
  • [V4] default-distrovars: Drop DISTRO_FEATURES_LIBC
Related show

Commit Message

Khem Raj Feb. 26, 2019, 6:03 p.m.
After eglibc was merged into glibc, Kconfig support was also dropped so
these libc features therefore are not effective anymore and can be
removed

Signed-off-by: Khem Raj <raj.khem@gmail.com>

---
v2:
- Add ipv4 and ipv6 to default distro features, they are not libc
  specific anyway
- Remove DISTRO_FEATURES_DEFAULT as this is redundant now

v3:
- Remove the use of libc-* overrides in metadata

v4:
- Cleanup further to simplify variable assignments

 meta/classes/image.bbclass                    |  5 -----
 meta/classes/libc-package.bbclass             |  9 +++------
 meta/conf/bitbake.conf                        |  4 ++--
 .../distro/include/default-distrovars.inc     | 11 +----------
 meta/conf/distro/include/tclibc-glibc.inc     | 19 +++++--------------
 meta/conf/local.conf.sample.extended          | 16 ++--------------
 meta/recipes-core/glib-2.0/glib.inc           |  2 --
 meta/recipes-core/glibc/glibc_2.29.bb         |  3 +--
 meta/recipes-core/libxml/libxml2_2.9.8.bb     |  2 --
 meta/recipes-devtools/mtools/mtools_4.0.19.bb |  2 --
 .../findutils/findutils_4.6.0.bb              |  2 +-
 meta/recipes-extended/shadow/shadow.inc       |  2 +-
 meta/recipes-extended/shadow/shadow_4.6.bb    |  2 +-
 13 files changed, 17 insertions(+), 62 deletions(-)

-- 
2.21.0

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Comments

Scott Rifenbark Feb. 26, 2019, 6:06 p.m. | #1
Hi,

DISTRO_FEATURES_DEFAULT appears in the YP reference manual.  I am going to
remove it for 2.7.

Scott

On Tue, Feb 26, 2019 at 10:03 AM Khem Raj <raj.khem@gmail.com> wrote:

> After eglibc was merged into glibc, Kconfig support was also dropped so

> these libc features therefore are not effective anymore and can be

> removed

>

> Signed-off-by: Khem Raj <raj.khem@gmail.com>

> ---

> v2:

> - Add ipv4 and ipv6 to default distro features, they are not libc

>   specific anyway

> - Remove DISTRO_FEATURES_DEFAULT as this is redundant now

>

> v3:

> - Remove the use of libc-* overrides in metadata

>

> v4:

> - Cleanup further to simplify variable assignments

>

>  meta/classes/image.bbclass                    |  5 -----

>  meta/classes/libc-package.bbclass             |  9 +++------

>  meta/conf/bitbake.conf                        |  4 ++--

>  .../distro/include/default-distrovars.inc     | 11 +----------

>  meta/conf/distro/include/tclibc-glibc.inc     | 19 +++++--------------

>  meta/conf/local.conf.sample.extended          | 16 ++--------------

>  meta/recipes-core/glib-2.0/glib.inc           |  2 --

>  meta/recipes-core/glibc/glibc_2.29.bb         |  3 +--

>  meta/recipes-core/libxml/libxml2_2.9.8.bb     |  2 --

>  meta/recipes-devtools/mtools/mtools_4.0.19.bb |  2 --

>  .../findutils/findutils_4.6.0.bb              |  2 +-

>  meta/recipes-extended/shadow/shadow.inc       |  2 +-

>  meta/recipes-extended/shadow/shadow_4.6.bb    |  2 +-

>  13 files changed, 17 insertions(+), 62 deletions(-)

>

> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass

> index 11927f39f5..276d0d31f4 100644

> --- a/meta/classes/image.bbclass

> +++ b/meta/classes/image.bbclass

> @@ -176,11 +176,6 @@ IMAGE_LINGUAS ?= "de-de fr-fr en-gb"

>

>  LINGUAS_INSTALL ?= "${@" ".join(map(lambda s: "locale-base-%s" % s,

> d.getVar('IMAGE_LINGUAS').split()))}"

>

> -python () {

> -    if not bb.utils.contains('DISTRO_FEATURES', 'libc-charsets

> libc-locale-code libc-locales', True, False, d):

> -        d.setVar('IMAGE_LINGUAS', '')

> -}

> -

>  # Prefer image, but use the fallback files for lookups if the image ones

>  # aren't yet available.

>  PSEUDO_PASSWD = "${IMAGE_ROOTFS}:${STAGING_DIR_NATIVE}"

> diff --git a/meta/classes/libc-package.bbclass

> b/meta/classes/libc-package.bbclass

> index 34c9151ae9..8859dad566 100644

> --- a/meta/classes/libc-package.bbclass

> +++ b/meta/classes/libc-package.bbclass

> @@ -37,14 +37,11 @@ python __anonymous () {

>                  d.setVar("DEPENDS", depends)

>                  d.setVar("GLIBC_INTERNAL_USE_BINARY_LOCALE", "compile")

>                  break

> -

> -    # try to fix disable charsets/locales/locale-code compile fail

> -    if bb.utils.contains('DISTRO_FEATURES', 'libc-charsets libc-locales

> libc-locale-code', True, False, d):

> -        d.setVar('PACKAGE_NO_GCONV', '0')

> -    else:

> -        d.setVar('PACKAGE_NO_GCONV', '1')

>  }

>

> +# try to fix disable charsets/locales/locale-code compile fail

> +PACKAGE_NO_GCONV ?= "0"

> +

>  OVERRIDES_append = ":${TARGET_ARCH}-${TARGET_OS}"

>

>  locale_base_postinst_ontarget() {

> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf

> index 435646a946..1c5369ec98 100644

> --- a/meta/conf/bitbake.conf

> +++ b/meta/conf/bitbake.conf

> @@ -123,7 +123,7 @@ TUNE_ASARGS ??= ""

>  TUNE_FEATURES ??= "${TUNE_FEATURES_tune-${DEFAULTTUNE}}"

>  LIBCEXTENSION ??= ""

>  ABIEXTENSION ??= ""

> -USE_NLS ??= "${@bb.utils.contains('DISTRO_FEATURES', 'libc-locale-code',

> 'yes', 'no', d)}"

> +USE_NLS ??= "yes"

>  SDKUSE_NLS ??= "yes"

>

>  TARGET_ARCH = "${TUNE_ARCH}"

> @@ -820,7 +820,7 @@ IMAGE_FEATURES += "${EXTRA_IMAGE_FEATURES}"

>  # Native distro features (will always be used for -native, even if they

>  # are not enabled for target)

>  DISTRO_FEATURES_NATIVE ?= "x11 ipv6 xattr"

> -DISTRO_FEATURES_NATIVESDK ?= "x11 libc-charsets libc-locales

> libc-locale-code"

> +DISTRO_FEATURES_NATIVESDK ?= "x11"

>

>  # Normally target distro features will not be applied to native builds:

>  # Native distro features on this list will use the target feature value

> diff --git a/meta/conf/distro/include/default-distrovars.inc

> b/meta/conf/distro/include/default-distrovars.inc

> index 76edff6480..d57329ec17 100644

> --- a/meta/conf/distro/include/default-distrovars.inc

> +++ b/meta/conf/distro/include/default-distrovars.inc

> @@ -10,16 +10,7 @@ LOCALE_UTF8_ONLY ?= "0"

>  LOCALE_UTF8_IS_DEFAULT ?= "1"

>  LOCALE_UTF8_IS_DEFAULT_class-nativesdk = "0"

>

> -DISTRO_FEATURES_DEFAULT ?= "acl alsa argp bluetooth ext2 irda largefile

> pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g nfc x11"

> -DISTRO_FEATURES_LIBC_DEFAULT ?= "ipv4 ipv6 libc-backtrace libc-big-macros

> libc-bsd libc-cxx-tests libc-catgets libc-charsets libc-crypt \

> -                                       libc-crypt-ufc libc-db-aliases

> libc-envz libc-fcvt libc-fmtmsg libc-fstab libc-ftraverse \

> -                                       libc-getlogin libc-idn

> libc-inet-anl libc-libm libc-locales libc-locale-code \

> -                                       libc-memusage libc-nsswitch

> libc-rcmd libc-rtld-debug libc-spawn libc-streams \

> -                                       libc-utmp libc-utmpx libc-wordexp

> libc-posix-clang-wchar libc-posix-regexp libc-posix-regexp-glibc \

> -                                       libc-posix-wchar-io"

> -DISTRO_FEATURES_LIBC ?= "${DISTRO_FEATURES_LIBC_DEFAULT}"

> -DISTRO_FEATURES_LIBC_class-nativesdk = "${DISTRO_FEATURES_LIBC_DEFAULT}"

> -DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} ${DISTRO_FEATURES_LIBC}"

> +DISTRO_FEATURES ?= "acl alsa argp bluetooth ext2 ipv4 ipv6 irda largefile

> pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g nfc x11"

>

>  IMAGE_FEATURES ?= ""

>

> diff --git a/meta/conf/distro/include/tclibc-glibc.inc

> b/meta/conf/distro/include/tclibc-glibc.inc

> index abe619aaac..3246490997 100644

> --- a/meta/conf/distro/include/tclibc-glibc.inc

> +++ b/meta/conf/distro/include/tclibc-glibc.inc

> @@ -22,17 +22,8 @@ LIBC_DEPENDENCIES = "libsegfault \

>                      glibc-dev \

>                      glibc-utils \

>                      glibc-thread-db \

> -                    ${@get_libc_locales_dependencies(d)}"

> -

> -LIBC_LOCALE_DEPENDENCIES = "\

> -       glibc-localedata-i18n \

> -       glibc-gconv-ibm850 \

> -       glibc-gconv-cp1252 \

> -       glibc-gconv-iso8859-1 \

> -       glibc-gconv-iso8859-15"

> -

> -def get_libc_locales_dependencies(d):

> -    if bb.utils.contains('DISTRO_FEATURES', 'libc-charsets

> libc-locale-code libc-locales', True, False, d):

> -        return d.getVar('LIBC_LOCALE_DEPENDENCIES') or ''

> -    else:

> -        return ''

> +                    glibc-localedata-i18n \

> +                    glibc-gconv-ibm850 \

> +                    glibc-gconv-cp1252 \

> +                    glibc-gconv-iso8859-1 \

> +                    glibc-gconv-iso8859-15"

> diff --git a/meta/conf/local.conf.sample.extended

> b/meta/conf/local.conf.sample.extended

> index 010bf6ca6f..0743fefece 100644

> --- a/meta/conf/local.conf.sample.extended

> +++ b/meta/conf/local.conf.sample.extended

> @@ -24,22 +24,10 @@

>  # For a quad-core machine, BB_NUMBER_THREADS = "4", PARALLEL_MAKE = "-j

> 4" would

>  # be appropriate for example.

>

> -

> -# glibc configurability is used to reduce minimal image's size.

> -# the all supported glibc options are listed in DISTRO_FEATURES_LIBC

> -# and disabled by default. Uncomment and copy the DISTRO_FEATURES_LIBC

> -# and DISTRO_FEATURES definitions to local.conf to enable the options.

> -#DISTRO_FEATURES_LIBC = "ipv6 libc-backtrace libc-big-macros libc-bsd

> libc-cxx-tests libc-catgets libc-charsets libc-crypt \

> -#               libc-crypt-ufc libc-db-aliases libc-envz libc-fcvt

> libc-fmtmsg libc-fstab libc-ftraverse \

> -#               libc-getlogin libc-idn libc-inet libc-inet-anl libc-libm

> libc-locales libc-locale-code \

> -#               libc-memusage libc-nsswitch libc-rcmd libc-rtld-debug

> libc-spawn libc-streams \

> -#               libc-utmp libc-utmpx libc-wordexp libc-posix-clang-wchar

> libc-posix-regexp libc-posix-regexp-glibc \

> -#               libc-posix-wchar-io"

> -

> -#DISTRO_FEATURES = "alsa bluetooth ext2 irda pcmcia usbgadget usbhost

> wifi nfs zeroconf pci ${DISTRO_FEATURES_LIBC}"

> +#DISTRO_FEATURES = "alsa bluetooth ext2 irda ipv4 ipv6 pcmcia usbgadget

> usbhost wifi nfs zeroconf pci"

>

>  # If you want to get an image based on directfb without x11, Please copy

> this variable to build/conf/local.conf

> -#DISTRO_FEATURES = "alsa argp bluetooth ext2 irda largefile pcmcia

> usbgadget usbhost wifi xattr nfs zeroconf pci 3g directfb

> ${DISTRO_FEATURES_LIBC}"

> +#DISTRO_FEATURES = "alsa argp bluetooth ext2 irda ipv4 ipv6 largefile

> pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g directfb"

>

>  # ENABLE_BINARY_LOCALE_GENERATION controls the generation of binary locale

>  # packages at build time using qemu-native. Disabling it (by setting it

> to 0)

> diff --git a/meta/recipes-core/glib-2.0/glib.inc

> b/meta/recipes-core/glib-2.0/glib.inc

> index 6305f553b4..3c2440db0e 100644

> --- a/meta/recipes-core/glib-2.0/glib.inc

> +++ b/meta/recipes-core/glib-2.0/glib.inc

> @@ -41,8 +41,6 @@ EXTRA_OEMESON_append_class-target = "

> ${@bb.utils.contains('GTKDOC_ENABLED', 'Tr

>  # meson's python configuration pokes into python3 configuration, so this

> provides the native config to it.

>  unset _PYTHON_SYSCONFIGDATA_NAME

>

> -REQUIRED_DISTRO_FEATURES_libc-glibc = "${@'libc-charsets libc-locale-code

> libc-locales' if bb.utils.contains('DISTRO_FEATURES', 'ptest', True, False,

> d) else ''}"

> -

>  S = "${WORKDIR}/glib-${PV}"

>

>  PACKAGECONFIG ??= "system-pcre libmount"

> diff --git a/meta/recipes-core/glibc/glibc_2.29.bb

> b/meta/recipes-core/glibc/glibc_2.29.bb

> index beddbffee2..bd8aa6d503 100644

> --- a/meta/recipes-core/glibc/glibc_2.29.bb

> +++ b/meta/recipes-core/glibc/glibc_2.29.bb

> @@ -89,12 +89,11 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \

>                  --enable-stackguard-randomization \

>                  --disable-crypt \

>                  --with-default-link \

> +                --enable-nscd \

>                  ${GLIBCPIE} \

>                  ${GLIBC_EXTRA_OECONF}"

>

>  EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}"

> -EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'libc-inet-anl',

> '--enable-nscd', '--disable-nscd', d)}"

> -

>

>  do_patch_append() {

>      bb.build.exec_func('do_fix_readlib_c', d)

> diff --git a/meta/recipes-core/libxml/libxml2_2.9.8.bb

> b/meta/recipes-core/libxml/libxml2_2.9.8.bb

> index 0e2461154b..62643bc764 100644

> --- a/meta/recipes-core/libxml/libxml2_2.9.8.bb

> +++ b/meta/recipes-core/libxml/libxml2_2.9.8.bb

> @@ -42,8 +42,6 @@ inherit autotools pkgconfig binconfig-disabled ptest

> distro_features_check

>

>  inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3native',

> '', d)}

>

> -REQUIRED_DISTRO_FEATURES_libc-glibc = "${@'libc-charsets libc-locale-code

> libc-locales' if bb.utils.contains('DISTRO_FEATURES', 'ptest', True, False,

> d) else ''}"

> -

>  RDEPENDS_${PN}-ptest += "make ${@bb.utils.contains('PACKAGECONFIG',

> 'python', 'libgcc python3-core python3-logging python3-shell

> python3-stringold python3-threading python3-unittest ${PN}-python', '', d)}"

>

>  RDEPENDS_${PN}-python += "${@bb.utils.contains('PACKAGECONFIG', 'python',

> 'python3-core', '', d)}"

> diff --git a/meta/recipes-devtools/mtools/mtools_4.0.19.bb

> b/meta/recipes-devtools/mtools/mtools_4.0.19.bb

> index 9972762b4e..7d59d93a81 100644

> --- a/meta/recipes-devtools/mtools/mtools_4.0.19.bb

> +++ b/meta/recipes-devtools/mtools/mtools_4.0.19.bb

> @@ -39,8 +39,6 @@ SRC_URI_append_class-native = "

> file://disable-hardcoded-configs.patch"

>

>  inherit autotools texinfo distro_features_check

>

> -REQUIRED_DISTRO_FEATURES_libc-glibc = "libc-charsets libc-locale-code

> libc-locales"

> -

>  EXTRA_OECONF = "--without-x"

>

>  BBCLASSEXTEND = "native nativesdk"

> diff --git a/meta/recipes-extended/findutils/findutils_4.6.0.bb

> b/meta/recipes-extended/findutils/findutils_4.6.0.bb

> index 5e4ca94868..3b62ed9962 100644

> --- a/meta/recipes-extended/findutils/findutils_4.6.0.bb

> +++ b/meta/recipes-extended/findutils/findutils_4.6.0.bb

> @@ -16,6 +16,6 @@ SRC_URI[md5sum] = "9936aa8009438ce185bea2694a997fc1"

>  SRC_URI[sha256sum] =

> "ded4c9f73731cd48fec3b6bdaccce896473b6d8e337e9612e16cf1431bb1169d"

>

>  # http://savannah.gnu.org/bugs/?27299

> -CACHED_CONFIGUREVARS += "${@bb.utils.contains('DISTRO_FEATURES',

> 'libc-posix-clang-wchar', 'gl_cv_func_wcwidth_works=yes', '', d)}"

> +CACHED_CONFIGUREVARS += "gl_cv_func_wcwidth_works=yes"

>

>  EXTRA_OECONF += "ac_cv_path_SORT=${bindir}/sort"

> diff --git a/meta/recipes-extended/shadow/shadow.inc

> b/meta/recipes-extended/shadow/shadow.inc

> index 09c37ef8a3..2b20bdcb25 100644

> --- a/meta/recipes-extended/shadow/shadow.inc

> +++ b/meta/recipes-extended/shadow/shadow.inc

> @@ -57,7 +57,7 @@ EXTRA_OECONF += "--without-audit \

>  NSCDOPT = ""

>  NSCDOPT_class-native = "--without-nscd"

>  NSCDOPT_class-nativesdk = "--without-nscd"

> -NSCDOPT_libc-glibc = "${@bb.utils.contains('DISTRO_FEATURES',

> 'libc-spawn', '--with-nscd', '--without-nscd', d)}"

> +NSCDOPT_libc-glibc = "--with-nscd"

>

>  PAM_PLUGINS = "libpam-runtime \

>                 pam-plugin-faildelay \

> diff --git a/meta/recipes-extended/shadow/shadow_4.6.bb

> b/meta/recipes-extended/shadow/shadow_4.6.bb

> index 5675cb8cc9..c975395ff8 100644

> --- a/meta/recipes-extended/shadow/shadow_4.6.bb

> +++ b/meta/recipes-extended/shadow/shadow_4.6.bb

> @@ -2,7 +2,7 @@ require shadow.inc

>

>  # Build falsely assumes that if --enable-libpam is set, we don't need to

> link against

>  # libcrypt. This breaks chsh.

> -BUILD_LDFLAGS_append_class-target = "

> ${@bb.utils.contains('DISTRO_FEATURES', 'pam',

> bb.utils.contains('DISTRO_FEATURES', 'libc-crypt',  '-lcrypt', '', d), '',

> d)}"

> +BUILD_LDFLAGS_append_class-target = "

> ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '-lcrypt', '', d)}"

>

>  BBCLASSEXTEND = "native nativesdk"

>

> --

> 2.21.0

>

> --

> _______________________________________________

> Openembedded-core mailing list

> Openembedded-core@lists.openembedded.org

> http://lists.openembedded.org/mailman/listinfo/openembedded-core

>
<div dir="ltr"><div>Hi, <br></div><div><br></div><div>DISTRO_FEATURES_DEFAULT appears in the YP reference manual.  I am going to remove it for 2.7.</div><div><br></div><div>Scott<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 26, 2019 at 10:03 AM Khem Raj &lt;<a href="mailto:raj.khem@gmail.com">raj.khem@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">After eglibc was merged into glibc, Kconfig support was also dropped so<br>
these libc features therefore are not effective anymore and can be<br>
removed<br>
<br>
Signed-off-by: Khem Raj &lt;<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>&gt;<br>

---<br>
v2:<br>
- Add ipv4 and ipv6 to default distro features, they are not libc<br>
  specific anyway<br>
- Remove DISTRO_FEATURES_DEFAULT as this is redundant now<br>
<br>
v3:<br>
- Remove the use of libc-* overrides in metadata<br>
<br>
v4:<br>
- Cleanup further to simplify variable assignments<br>
<br>
 meta/classes/image.bbclass                    |  5 -----<br>
 meta/classes/libc-package.bbclass             |  9 +++------<br>
 meta/conf/bitbake.conf                        |  4 ++--<br>
 .../distro/include/default-distrovars.inc     | 11 +----------<br>
 meta/conf/distro/include/tclibc-glibc.inc     | 19 +++++--------------<br>
 meta/conf/local.conf.sample.extended          | 16 ++--------------<br>
 meta/recipes-core/glib-2.0/glib.inc           |  2 --<br>
 meta/recipes-core/glibc/<a href="http://glibc_2.29.bb" rel="noreferrer" target="_blank">glibc_2.29.bb</a>         |  3 +--<br>
 meta/recipes-core/libxml/<a href="http://libxml2_2.9.8.bb" rel="noreferrer" target="_blank">libxml2_2.9.8.bb</a>     |  2 --<br>
 meta/recipes-devtools/mtools/<a href="http://mtools_4.0.19.bb" rel="noreferrer" target="_blank">mtools_4.0.19.bb</a> |  2 --<br>
 .../findutils/<a href="http://findutils_4.6.0.bb" rel="noreferrer" target="_blank">findutils_4.6.0.bb</a>              |  2 +-<br>
 meta/recipes-extended/shadow/shadow.inc       |  2 +-<br>
 meta/recipes-extended/shadow/<a href="http://shadow_4.6.bb" rel="noreferrer" target="_blank">shadow_4.6.bb</a>    |  2 +-<br>
 13 files changed, 17 insertions(+), 62 deletions(-)<br>
<br>
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass<br>
index 11927f39f5..276d0d31f4 100644<br>
--- a/meta/classes/image.bbclass<br>
+++ b/meta/classes/image.bbclass<br>
@@ -176,11 +176,6 @@ IMAGE_LINGUAS ?= &quot;de-de fr-fr en-gb&quot;<br>
<br>
 LINGUAS_INSTALL ?= &quot;${@&quot; &quot;.join(map(lambda s: &quot;locale-base-%s&quot; % s, d.getVar(&#39;IMAGE_LINGUAS&#39;).split()))}&quot;<br>
<br>
-python () {<br>
-    if not bb.utils.contains(&#39;DISTRO_FEATURES&#39;, &#39;libc-charsets libc-locale-code libc-locales&#39;, True, False, d):<br>
-        d.setVar(&#39;IMAGE_LINGUAS&#39;, &#39;&#39;)<br>
-}<br>
-<br>
 # Prefer image, but use the fallback files for lookups if the image ones<br>
 # aren&#39;t yet available.<br>
 PSEUDO_PASSWD = &quot;${IMAGE_ROOTFS}:${STAGING_DIR_NATIVE}&quot;<br>
diff --git a/meta/classes/libc-package.bbclass b/meta/classes/libc-package.bbclass<br>
index 34c9151ae9..8859dad566 100644<br>
--- a/meta/classes/libc-package.bbclass<br>
+++ b/meta/classes/libc-package.bbclass<br>
@@ -37,14 +37,11 @@ python __anonymous () {<br>
                 d.setVar(&quot;DEPENDS&quot;, depends)<br>
                 d.setVar(&quot;GLIBC_INTERNAL_USE_BINARY_LOCALE&quot;, &quot;compile&quot;)<br>
                 break<br>
-<br>
-    # try to fix disable charsets/locales/locale-code compile fail<br>
-    if bb.utils.contains(&#39;DISTRO_FEATURES&#39;, &#39;libc-charsets libc-locales libc-locale-code&#39;, True, False, d):<br>
-        d.setVar(&#39;PACKAGE_NO_GCONV&#39;, &#39;0&#39;)<br>
-    else:<br>
-        d.setVar(&#39;PACKAGE_NO_GCONV&#39;, &#39;1&#39;)<br>
 }<br>
<br>
+# try to fix disable charsets/locales/locale-code compile fail<br>
+PACKAGE_NO_GCONV ?= &quot;0&quot;<br>
+<br>
 OVERRIDES_append = &quot;:${TARGET_ARCH}-${TARGET_OS}&quot;<br>
<br>
 locale_base_postinst_ontarget() {<br>
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf<br>
index 435646a946..1c5369ec98 100644<br>
--- a/meta/conf/bitbake.conf<br>
+++ b/meta/conf/bitbake.conf<br>
@@ -123,7 +123,7 @@ TUNE_ASARGS ??= &quot;&quot;<br>
 TUNE_FEATURES ??= &quot;${TUNE_FEATURES_tune-${DEFAULTTUNE}}&quot;<br>
 LIBCEXTENSION ??= &quot;&quot;<br>
 ABIEXTENSION ??= &quot;&quot;<br>
-USE_NLS ??= &quot;${@bb.utils.contains(&#39;DISTRO_FEATURES&#39;, &#39;libc-locale-code&#39;, &#39;yes&#39;, &#39;no&#39;, d)}&quot;<br>
+USE_NLS ??= &quot;yes&quot;<br>
 SDKUSE_NLS ??= &quot;yes&quot;<br>
<br>
 TARGET_ARCH = &quot;${TUNE_ARCH}&quot;<br>
@@ -820,7 +820,7 @@ IMAGE_FEATURES += &quot;${EXTRA_IMAGE_FEATURES}&quot;<br>
 # Native distro features (will always be used for -native, even if they<br>
 # are not enabled for target)<br>
 DISTRO_FEATURES_NATIVE ?= &quot;x11 ipv6 xattr&quot;<br>
-DISTRO_FEATURES_NATIVESDK ?= &quot;x11 libc-charsets libc-locales libc-locale-code&quot;<br>
+DISTRO_FEATURES_NATIVESDK ?= &quot;x11&quot;<br>
<br>
 # Normally target distro features will not be applied to native builds:<br>
 # Native distro features on this list will use the target feature value<br>
diff --git a/meta/conf/distro/include/default-distrovars.inc b/meta/conf/distro/include/default-distrovars.inc<br>
index 76edff6480..d57329ec17 100644<br>
--- a/meta/conf/distro/include/default-distrovars.inc<br>
+++ b/meta/conf/distro/include/default-distrovars.inc<br>
@@ -10,16 +10,7 @@ LOCALE_UTF8_ONLY ?= &quot;0&quot;<br>
 LOCALE_UTF8_IS_DEFAULT ?= &quot;1&quot;<br>
 LOCALE_UTF8_IS_DEFAULT_class-nativesdk = &quot;0&quot;<br>
<br>
-DISTRO_FEATURES_DEFAULT ?= &quot;acl alsa argp bluetooth ext2 irda largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g nfc x11&quot;<br>
-DISTRO_FEATURES_LIBC_DEFAULT ?= &quot;ipv4 ipv6 libc-backtrace libc-big-macros libc-bsd libc-cxx-tests libc-catgets libc-charsets libc-crypt \<br>
-                                       libc-crypt-ufc libc-db-aliases libc-envz libc-fcvt libc-fmtmsg libc-fstab libc-ftraverse \<br>
-                                       libc-getlogin libc-idn libc-inet-anl libc-libm libc-locales libc-locale-code \<br>
-                                       libc-memusage libc-nsswitch libc-rcmd libc-rtld-debug libc-spawn libc-streams \<br>
-                                       libc-utmp libc-utmpx libc-wordexp libc-posix-clang-wchar libc-posix-regexp libc-posix-regexp-glibc \<br>
-                                       libc-posix-wchar-io&quot;<br>
-DISTRO_FEATURES_LIBC ?= &quot;${DISTRO_FEATURES_LIBC_DEFAULT}&quot;<br>
-DISTRO_FEATURES_LIBC_class-nativesdk = &quot;${DISTRO_FEATURES_LIBC_DEFAULT}&quot;<br>
-DISTRO_FEATURES ?= &quot;${DISTRO_FEATURES_DEFAULT} ${DISTRO_FEATURES_LIBC}&quot;<br>
+DISTRO_FEATURES ?= &quot;acl alsa argp bluetooth ext2 ipv4 ipv6 irda largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g nfc x11&quot;<br>
<br>
 IMAGE_FEATURES ?= &quot;&quot;<br>
<br>
diff --git a/meta/conf/distro/include/tclibc-glibc.inc b/meta/conf/distro/include/tclibc-glibc.inc<br>
index abe619aaac..3246490997 100644<br>
--- a/meta/conf/distro/include/tclibc-glibc.inc<br>
+++ b/meta/conf/distro/include/tclibc-glibc.inc<br>
@@ -22,17 +22,8 @@ LIBC_DEPENDENCIES = &quot;libsegfault \<br>
                     glibc-dev \<br>
                     glibc-utils \<br>
                     glibc-thread-db \<br>
-                    ${@get_libc_locales_dependencies(d)}&quot;<br>
-<br>
-LIBC_LOCALE_DEPENDENCIES = &quot;\<br>
-       glibc-localedata-i18n \<br>
-       glibc-gconv-ibm850 \<br>
-       glibc-gconv-cp1252 \<br>
-       glibc-gconv-iso8859-1 \<br>
-       glibc-gconv-iso8859-15&quot;<br>
-<br>
-def get_libc_locales_dependencies(d):<br>
-    if bb.utils.contains(&#39;DISTRO_FEATURES&#39;, &#39;libc-charsets libc-locale-code libc-locales&#39;, True, False, d):<br>
-        return d.getVar(&#39;LIBC_LOCALE_DEPENDENCIES&#39;) or &#39;&#39;<br>
-    else:<br>
-        return &#39;&#39;<br>
+                    glibc-localedata-i18n \<br>
+                    glibc-gconv-ibm850 \<br>
+                    glibc-gconv-cp1252 \<br>
+                    glibc-gconv-iso8859-1 \<br>
+                    glibc-gconv-iso8859-15&quot;<br>
diff --git a/meta/conf/local.conf.sample.extended b/meta/conf/local.conf.sample.extended<br>
index 010bf6ca6f..0743fefece 100644<br>
--- a/meta/conf/local.conf.sample.extended<br>
+++ b/meta/conf/local.conf.sample.extended<br>
@@ -24,22 +24,10 @@<br>
 # For a quad-core machine, BB_NUMBER_THREADS = &quot;4&quot;, PARALLEL_MAKE = &quot;-j 4&quot; would<br>
 # be appropriate for example.<br>
<br>
-<br>
-# glibc configurability is used to reduce minimal image&#39;s size.<br>
-# the all supported glibc options are listed in DISTRO_FEATURES_LIBC<br>
-# and disabled by default. Uncomment and copy the DISTRO_FEATURES_LIBC<br>
-# and DISTRO_FEATURES definitions to local.conf to enable the options.<br>
-#DISTRO_FEATURES_LIBC = &quot;ipv6 libc-backtrace libc-big-macros libc-bsd libc-cxx-tests libc-catgets libc-charsets libc-crypt \<br>
-#               libc-crypt-ufc libc-db-aliases libc-envz libc-fcvt libc-fmtmsg libc-fstab libc-ftraverse \<br>
-#               libc-getlogin libc-idn libc-inet libc-inet-anl libc-libm libc-locales libc-locale-code \<br>
-#               libc-memusage libc-nsswitch libc-rcmd libc-rtld-debug libc-spawn libc-streams \<br>
-#               libc-utmp libc-utmpx libc-wordexp libc-posix-clang-wchar libc-posix-regexp libc-posix-regexp-glibc \<br>
-#               libc-posix-wchar-io&quot;<br>
-<br>
-#DISTRO_FEATURES = &quot;alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci ${DISTRO_FEATURES_LIBC}&quot;<br>
+#DISTRO_FEATURES = &quot;alsa bluetooth ext2 irda ipv4 ipv6 pcmcia usbgadget usbhost wifi nfs zeroconf pci&quot;<br>
<br>
 # If you want to get an image based on directfb without x11, Please copy this variable to build/conf/local.conf<br>
-#DISTRO_FEATURES = &quot;alsa argp bluetooth ext2 irda largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g directfb ${DISTRO_FEATURES_LIBC}&quot;<br>
+#DISTRO_FEATURES = &quot;alsa argp bluetooth ext2 irda ipv4 ipv6 largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g directfb&quot;<br>
<br>
 # ENABLE_BINARY_LOCALE_GENERATION controls the generation of binary locale<br>
 # packages at build time using qemu-native. Disabling it (by setting it to 0)<br>
diff --git a/meta/recipes-core/glib-2.0/glib.inc b/meta/recipes-core/glib-2.0/glib.inc<br>
index 6305f553b4..3c2440db0e 100644<br>
--- a/meta/recipes-core/glib-2.0/glib.inc<br>
+++ b/meta/recipes-core/glib-2.0/glib.inc<br>
@@ -41,8 +41,6 @@ EXTRA_OEMESON_append_class-target = &quot; ${@bb.utils.contains(&#39;GTKDOC_ENABLED&#39;, &#39;Tr<br>
 # meson&#39;s python configuration pokes into python3 configuration, so this provides the native config to it.<br>
 unset _PYTHON_SYSCONFIGDATA_NAME<br>
<br>
-REQUIRED_DISTRO_FEATURES_libc-glibc = &quot;${@&#39;libc-charsets libc-locale-code libc-locales&#39; if bb.utils.contains(&#39;DISTRO_FEATURES&#39;, &#39;ptest&#39;, True, False, d) else &#39;&#39;}&quot;<br>
-<br>
 S = &quot;${WORKDIR}/glib-${PV}&quot;<br>
<br>
 PACKAGECONFIG ??= &quot;system-pcre libmount&quot;<br>
diff --git a/meta/recipes-core/glibc/<a href="http://glibc_2.29.bb" rel="noreferrer" target="_blank">glibc_2.29.bb</a> b/meta/recipes-core/glibc/<a href="http://glibc_2.29.bb" rel="noreferrer" target="_blank">glibc_2.29.bb</a><br>
index beddbffee2..bd8aa6d503 100644<br>
--- a/meta/recipes-core/glibc/<a href="http://glibc_2.29.bb" rel="noreferrer" target="_blank">glibc_2.29.bb</a><br>
+++ b/meta/recipes-core/glibc/<a href="http://glibc_2.29.bb" rel="noreferrer" target="_blank">glibc_2.29.bb</a><br>
@@ -89,12 +89,11 @@ EXTRA_OECONF = &quot;--enable-kernel=${OLDEST_KERNEL} \<br>
                 --enable-stackguard-randomization \<br>
                 --disable-crypt \<br>
                 --with-default-link \<br>
+                --enable-nscd \<br>
                 ${GLIBCPIE} \<br>
                 ${GLIBC_EXTRA_OECONF}&quot;<br>
<br>
 EXTRA_OECONF += &quot;${@get_libc_fpu_setting(bb, d)}&quot;<br>
-EXTRA_OECONF += &quot;${@bb.utils.contains(&#39;DISTRO_FEATURES&#39;, &#39;libc-inet-anl&#39;, &#39;--enable-nscd&#39;, &#39;--disable-nscd&#39;, d)}&quot;<br>
-<br>
<br>
 do_patch_append() {<br>
     bb.build.exec_func(&#39;do_fix_readlib_c&#39;, d)<br>
diff --git a/meta/recipes-core/libxml/<a href="http://libxml2_2.9.8.bb" rel="noreferrer" target="_blank">libxml2_2.9.8.bb</a> b/meta/recipes-core/libxml/<a href="http://libxml2_2.9.8.bb" rel="noreferrer" target="_blank">libxml2_2.9.8.bb</a><br>
index 0e2461154b..62643bc764 100644<br>
--- a/meta/recipes-core/libxml/<a href="http://libxml2_2.9.8.bb" rel="noreferrer" target="_blank">libxml2_2.9.8.bb</a><br>
+++ b/meta/recipes-core/libxml/<a href="http://libxml2_2.9.8.bb" rel="noreferrer" target="_blank">libxml2_2.9.8.bb</a><br>
@@ -42,8 +42,6 @@ inherit autotools pkgconfig binconfig-disabled ptest distro_features_check<br>
<br>
 inherit ${@bb.utils.contains(&#39;PACKAGECONFIG&#39;, &#39;python&#39;, &#39;python3native&#39;, &#39;&#39;, d)}<br>
<br>
-REQUIRED_DISTRO_FEATURES_libc-glibc = &quot;${@&#39;libc-charsets libc-locale-code libc-locales&#39; if bb.utils.contains(&#39;DISTRO_FEATURES&#39;, &#39;ptest&#39;, True, False, d) else &#39;&#39;}&quot;<br>
-<br>
 RDEPENDS_${PN}-ptest += &quot;make ${@bb.utils.contains(&#39;PACKAGECONFIG&#39;, &#39;python&#39;, &#39;libgcc python3-core python3-logging python3-shell  python3-stringold python3-threading python3-unittest ${PN}-python&#39;, &#39;&#39;, d)}&quot;<br>
<br>
 RDEPENDS_${PN}-python += &quot;${@bb.utils.contains(&#39;PACKAGECONFIG&#39;, &#39;python&#39;, &#39;python3-core&#39;, &#39;&#39;, d)}&quot;<br>
diff --git a/meta/recipes-devtools/mtools/<a href="http://mtools_4.0.19.bb" rel="noreferrer" target="_blank">mtools_4.0.19.bb</a> b/meta/recipes-devtools/mtools/<a href="http://mtools_4.0.19.bb" rel="noreferrer" target="_blank">mtools_4.0.19.bb</a><br>
index 9972762b4e..7d59d93a81 100644<br>
--- a/meta/recipes-devtools/mtools/<a href="http://mtools_4.0.19.bb" rel="noreferrer" target="_blank">mtools_4.0.19.bb</a><br>
+++ b/meta/recipes-devtools/mtools/<a href="http://mtools_4.0.19.bb" rel="noreferrer" target="_blank">mtools_4.0.19.bb</a><br>
@@ -39,8 +39,6 @@ SRC_URI_append_class-native = &quot; file://disable-hardcoded-configs.patch&quot;<br>
<br>
 inherit autotools texinfo distro_features_check<br>
<br>
-REQUIRED_DISTRO_FEATURES_libc-glibc = &quot;libc-charsets libc-locale-code libc-locales&quot;<br>
-<br>
 EXTRA_OECONF = &quot;--without-x&quot;<br>
<br>
 BBCLASSEXTEND = &quot;native nativesdk&quot;<br>
diff --git a/meta/recipes-extended/findutils/<a href="http://findutils_4.6.0.bb" rel="noreferrer" target="_blank">findutils_4.6.0.bb</a> b/meta/recipes-extended/findutils/<a href="http://findutils_4.6.0.bb" rel="noreferrer" target="_blank">findutils_4.6.0.bb</a><br>
index 5e4ca94868..3b62ed9962 100644<br>
--- a/meta/recipes-extended/findutils/<a href="http://findutils_4.6.0.bb" rel="noreferrer" target="_blank">findutils_4.6.0.bb</a><br>
+++ b/meta/recipes-extended/findutils/<a href="http://findutils_4.6.0.bb" rel="noreferrer" target="_blank">findutils_4.6.0.bb</a><br>
@@ -16,6 +16,6 @@ SRC_URI[md5sum] = &quot;9936aa8009438ce185bea2694a997fc1&quot;<br>
 SRC_URI[sha256sum] = &quot;ded4c9f73731cd48fec3b6bdaccce896473b6d8e337e9612e16cf1431bb1169d&quot;<br>
<br>
 # <a href="http://savannah.gnu.org/bugs/?27299" rel="noreferrer" target="_blank">http://savannah.gnu.org/bugs/?27299</a><br>
-CACHED_CONFIGUREVARS += &quot;${@bb.utils.contains(&#39;DISTRO_FEATURES&#39;, &#39;libc-posix-clang-wchar&#39;, &#39;gl_cv_func_wcwidth_works=yes&#39;, &#39;&#39;, d)}&quot;<br>
+CACHED_CONFIGUREVARS += &quot;gl_cv_func_wcwidth_works=yes&quot;<br>
<br>
 EXTRA_OECONF += &quot;ac_cv_path_SORT=${bindir}/sort&quot;<br>
diff --git a/meta/recipes-extended/shadow/shadow.inc b/meta/recipes-extended/shadow/shadow.inc<br>
index 09c37ef8a3..2b20bdcb25 100644<br>
--- a/meta/recipes-extended/shadow/shadow.inc<br>
+++ b/meta/recipes-extended/shadow/shadow.inc<br>
@@ -57,7 +57,7 @@ EXTRA_OECONF += &quot;--without-audit \<br>
 NSCDOPT = &quot;&quot;<br>
 NSCDOPT_class-native = &quot;--without-nscd&quot;<br>
 NSCDOPT_class-nativesdk = &quot;--without-nscd&quot;<br>
-NSCDOPT_libc-glibc = &quot;${@bb.utils.contains(&#39;DISTRO_FEATURES&#39;, &#39;libc-spawn&#39;, &#39;--with-nscd&#39;, &#39;--without-nscd&#39;, d)}&quot;<br>
+NSCDOPT_libc-glibc = &quot;--with-nscd&quot;<br>
<br>
 PAM_PLUGINS = &quot;libpam-runtime \<br>
                pam-plugin-faildelay \<br>
diff --git a/meta/recipes-extended/shadow/<a href="http://shadow_4.6.bb" rel="noreferrer" target="_blank">shadow_4.6.bb</a> b/meta/recipes-extended/shadow/<a href="http://shadow_4.6.bb" rel="noreferrer" target="_blank">shadow_4.6.bb</a><br>
index 5675cb8cc9..c975395ff8 100644<br>
--- a/meta/recipes-extended/shadow/<a href="http://shadow_4.6.bb" rel="noreferrer" target="_blank">shadow_4.6.bb</a><br>
+++ b/meta/recipes-extended/shadow/<a href="http://shadow_4.6.bb" rel="noreferrer" target="_blank">shadow_4.6.bb</a><br>
@@ -2,7 +2,7 @@ require shadow.inc<br>
<br>
 # Build falsely assumes that if --enable-libpam is set, we don&#39;t need to link against<br>
 # libcrypt. This breaks chsh.<br>
-BUILD_LDFLAGS_append_class-target = &quot; ${@bb.utils.contains(&#39;DISTRO_FEATURES&#39;, &#39;pam&#39;, bb.utils.contains(&#39;DISTRO_FEATURES&#39;, &#39;libc-crypt&#39;,  &#39;-lcrypt&#39;, &#39;&#39;, d), &#39;&#39;, d)}&quot;<br>
+BUILD_LDFLAGS_append_class-target = &quot; ${@bb.utils.contains(&#39;DISTRO_FEATURES&#39;, &#39;pam&#39;, &#39;-lcrypt&#39;, &#39;&#39;, d)}&quot;<br>
<br>
 BBCLASSEXTEND = &quot;native nativesdk&quot;<br>
<br>
-- <br>
2.21.0<br>
<br>
-- <br>
_______________________________________________<br>
Openembedded-core mailing list<br>
<a href="mailto:Openembedded-core@lists.openembedded.org" target="_blank">Openembedded-core@lists.openembedded.org</a><br>
<a href="http://lists.openembedded.org/mailman/listinfo/openembedded-core" rel="noreferrer" target="_blank">http://lists.openembedded.org/mailman/listinfo/openembedded-core</a><br>
</blockquote></div>
-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Patch

diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index 11927f39f5..276d0d31f4 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -176,11 +176,6 @@  IMAGE_LINGUAS ?= "de-de fr-fr en-gb"
 
 LINGUAS_INSTALL ?= "${@" ".join(map(lambda s: "locale-base-%s" % s, d.getVar('IMAGE_LINGUAS').split()))}"
 
-python () {
-    if not bb.utils.contains('DISTRO_FEATURES', 'libc-charsets libc-locale-code libc-locales', True, False, d):
-        d.setVar('IMAGE_LINGUAS', '')
-}
-
 # Prefer image, but use the fallback files for lookups if the image ones
 # aren't yet available.
 PSEUDO_PASSWD = "${IMAGE_ROOTFS}:${STAGING_DIR_NATIVE}"
diff --git a/meta/classes/libc-package.bbclass b/meta/classes/libc-package.bbclass
index 34c9151ae9..8859dad566 100644
--- a/meta/classes/libc-package.bbclass
+++ b/meta/classes/libc-package.bbclass
@@ -37,14 +37,11 @@  python __anonymous () {
                 d.setVar("DEPENDS", depends)
                 d.setVar("GLIBC_INTERNAL_USE_BINARY_LOCALE", "compile")
                 break
-
-    # try to fix disable charsets/locales/locale-code compile fail
-    if bb.utils.contains('DISTRO_FEATURES', 'libc-charsets libc-locales libc-locale-code', True, False, d):
-        d.setVar('PACKAGE_NO_GCONV', '0')
-    else:
-        d.setVar('PACKAGE_NO_GCONV', '1')
 }
 
+# try to fix disable charsets/locales/locale-code compile fail
+PACKAGE_NO_GCONV ?= "0"
+
 OVERRIDES_append = ":${TARGET_ARCH}-${TARGET_OS}"
 
 locale_base_postinst_ontarget() {
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 435646a946..1c5369ec98 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -123,7 +123,7 @@  TUNE_ASARGS ??= ""
 TUNE_FEATURES ??= "${TUNE_FEATURES_tune-${DEFAULTTUNE}}"
 LIBCEXTENSION ??= ""
 ABIEXTENSION ??= ""
-USE_NLS ??= "${@bb.utils.contains('DISTRO_FEATURES', 'libc-locale-code', 'yes', 'no', d)}"
+USE_NLS ??= "yes"
 SDKUSE_NLS ??= "yes"
 
 TARGET_ARCH = "${TUNE_ARCH}"
@@ -820,7 +820,7 @@  IMAGE_FEATURES += "${EXTRA_IMAGE_FEATURES}"
 # Native distro features (will always be used for -native, even if they
 # are not enabled for target)
 DISTRO_FEATURES_NATIVE ?= "x11 ipv6 xattr"
-DISTRO_FEATURES_NATIVESDK ?= "x11 libc-charsets libc-locales libc-locale-code"
+DISTRO_FEATURES_NATIVESDK ?= "x11"
 
 # Normally target distro features will not be applied to native builds:
 # Native distro features on this list will use the target feature value
diff --git a/meta/conf/distro/include/default-distrovars.inc b/meta/conf/distro/include/default-distrovars.inc
index 76edff6480..d57329ec17 100644
--- a/meta/conf/distro/include/default-distrovars.inc
+++ b/meta/conf/distro/include/default-distrovars.inc
@@ -10,16 +10,7 @@  LOCALE_UTF8_ONLY ?= "0"
 LOCALE_UTF8_IS_DEFAULT ?= "1"
 LOCALE_UTF8_IS_DEFAULT_class-nativesdk = "0"
 
-DISTRO_FEATURES_DEFAULT ?= "acl alsa argp bluetooth ext2 irda largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g nfc x11"
-DISTRO_FEATURES_LIBC_DEFAULT ?= "ipv4 ipv6 libc-backtrace libc-big-macros libc-bsd libc-cxx-tests libc-catgets libc-charsets libc-crypt \
-					libc-crypt-ufc libc-db-aliases libc-envz libc-fcvt libc-fmtmsg libc-fstab libc-ftraverse \
-					libc-getlogin libc-idn libc-inet-anl libc-libm libc-locales libc-locale-code \
-					libc-memusage libc-nsswitch libc-rcmd libc-rtld-debug libc-spawn libc-streams \
-					libc-utmp libc-utmpx libc-wordexp libc-posix-clang-wchar libc-posix-regexp libc-posix-regexp-glibc \
-					libc-posix-wchar-io"
-DISTRO_FEATURES_LIBC ?= "${DISTRO_FEATURES_LIBC_DEFAULT}"
-DISTRO_FEATURES_LIBC_class-nativesdk = "${DISTRO_FEATURES_LIBC_DEFAULT}"
-DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} ${DISTRO_FEATURES_LIBC}"
+DISTRO_FEATURES ?= "acl alsa argp bluetooth ext2 ipv4 ipv6 irda largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g nfc x11"
 
 IMAGE_FEATURES ?= ""
 
diff --git a/meta/conf/distro/include/tclibc-glibc.inc b/meta/conf/distro/include/tclibc-glibc.inc
index abe619aaac..3246490997 100644
--- a/meta/conf/distro/include/tclibc-glibc.inc
+++ b/meta/conf/distro/include/tclibc-glibc.inc
@@ -22,17 +22,8 @@  LIBC_DEPENDENCIES = "libsegfault \
 		     glibc-dev \
 		     glibc-utils \
 		     glibc-thread-db \
-		     ${@get_libc_locales_dependencies(d)}"
-
-LIBC_LOCALE_DEPENDENCIES = "\
-	glibc-localedata-i18n \
-	glibc-gconv-ibm850 \
-	glibc-gconv-cp1252 \
-	glibc-gconv-iso8859-1 \
-	glibc-gconv-iso8859-15"
-
-def get_libc_locales_dependencies(d):
-    if bb.utils.contains('DISTRO_FEATURES', 'libc-charsets libc-locale-code libc-locales', True, False, d):
-        return d.getVar('LIBC_LOCALE_DEPENDENCIES') or ''
-    else:
-        return ''
+		     glibc-localedata-i18n \
+		     glibc-gconv-ibm850 \
+		     glibc-gconv-cp1252 \
+		     glibc-gconv-iso8859-1 \
+		     glibc-gconv-iso8859-15"
diff --git a/meta/conf/local.conf.sample.extended b/meta/conf/local.conf.sample.extended
index 010bf6ca6f..0743fefece 100644
--- a/meta/conf/local.conf.sample.extended
+++ b/meta/conf/local.conf.sample.extended
@@ -24,22 +24,10 @@ 
 # For a quad-core machine, BB_NUMBER_THREADS = "4", PARALLEL_MAKE = "-j 4" would
 # be appropriate for example.
 
-
-# glibc configurability is used to reduce minimal image's size.
-# the all supported glibc options are listed in DISTRO_FEATURES_LIBC
-# and disabled by default. Uncomment and copy the DISTRO_FEATURES_LIBC
-# and DISTRO_FEATURES definitions to local.conf to enable the options.
-#DISTRO_FEATURES_LIBC = "ipv6 libc-backtrace libc-big-macros libc-bsd libc-cxx-tests libc-catgets libc-charsets libc-crypt \
-#               libc-crypt-ufc libc-db-aliases libc-envz libc-fcvt libc-fmtmsg libc-fstab libc-ftraverse \
-#               libc-getlogin libc-idn libc-inet libc-inet-anl libc-libm libc-locales libc-locale-code \
-#               libc-memusage libc-nsswitch libc-rcmd libc-rtld-debug libc-spawn libc-streams \
-#               libc-utmp libc-utmpx libc-wordexp libc-posix-clang-wchar libc-posix-regexp libc-posix-regexp-glibc \
-#               libc-posix-wchar-io"
-
-#DISTRO_FEATURES = "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci ${DISTRO_FEATURES_LIBC}"
+#DISTRO_FEATURES = "alsa bluetooth ext2 irda ipv4 ipv6 pcmcia usbgadget usbhost wifi nfs zeroconf pci"
 
 # If you want to get an image based on directfb without x11, Please copy this variable to build/conf/local.conf
-#DISTRO_FEATURES = "alsa argp bluetooth ext2 irda largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g directfb ${DISTRO_FEATURES_LIBC}"
+#DISTRO_FEATURES = "alsa argp bluetooth ext2 irda ipv4 ipv6 largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g directfb"
 
 # ENABLE_BINARY_LOCALE_GENERATION controls the generation of binary locale
 # packages at build time using qemu-native. Disabling it (by setting it to 0)
diff --git a/meta/recipes-core/glib-2.0/glib.inc b/meta/recipes-core/glib-2.0/glib.inc
index 6305f553b4..3c2440db0e 100644
--- a/meta/recipes-core/glib-2.0/glib.inc
+++ b/meta/recipes-core/glib-2.0/glib.inc
@@ -41,8 +41,6 @@  EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'Tr
 # meson's python configuration pokes into python3 configuration, so this provides the native config to it.
 unset _PYTHON_SYSCONFIGDATA_NAME
 
-REQUIRED_DISTRO_FEATURES_libc-glibc = "${@'libc-charsets libc-locale-code libc-locales' if bb.utils.contains('DISTRO_FEATURES', 'ptest', True, False, d) else ''}"
-
 S = "${WORKDIR}/glib-${PV}"
 
 PACKAGECONFIG ??= "system-pcre libmount"
diff --git a/meta/recipes-core/glibc/glibc_2.29.bb b/meta/recipes-core/glibc/glibc_2.29.bb
index beddbffee2..bd8aa6d503 100644
--- a/meta/recipes-core/glibc/glibc_2.29.bb
+++ b/meta/recipes-core/glibc/glibc_2.29.bb
@@ -89,12 +89,11 @@  EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
                 --enable-stackguard-randomization \
                 --disable-crypt \
                 --with-default-link \
+                --enable-nscd \
                 ${GLIBCPIE} \
                 ${GLIBC_EXTRA_OECONF}"
 
 EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}"
-EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'libc-inet-anl', '--enable-nscd', '--disable-nscd', d)}"
-
 
 do_patch_append() {
     bb.build.exec_func('do_fix_readlib_c', d)
diff --git a/meta/recipes-core/libxml/libxml2_2.9.8.bb b/meta/recipes-core/libxml/libxml2_2.9.8.bb
index 0e2461154b..62643bc764 100644
--- a/meta/recipes-core/libxml/libxml2_2.9.8.bb
+++ b/meta/recipes-core/libxml/libxml2_2.9.8.bb
@@ -42,8 +42,6 @@  inherit autotools pkgconfig binconfig-disabled ptest distro_features_check
 
 inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3native', '', d)}
 
-REQUIRED_DISTRO_FEATURES_libc-glibc = "${@'libc-charsets libc-locale-code libc-locales' if bb.utils.contains('DISTRO_FEATURES', 'ptest', True, False, d) else ''}"
-
 RDEPENDS_${PN}-ptest += "make ${@bb.utils.contains('PACKAGECONFIG', 'python', 'libgcc python3-core python3-logging python3-shell  python3-stringold python3-threading python3-unittest ${PN}-python', '', d)}"
 
 RDEPENDS_${PN}-python += "${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3-core', '', d)}"
diff --git a/meta/recipes-devtools/mtools/mtools_4.0.19.bb b/meta/recipes-devtools/mtools/mtools_4.0.19.bb
index 9972762b4e..7d59d93a81 100644
--- a/meta/recipes-devtools/mtools/mtools_4.0.19.bb
+++ b/meta/recipes-devtools/mtools/mtools_4.0.19.bb
@@ -39,8 +39,6 @@  SRC_URI_append_class-native = " file://disable-hardcoded-configs.patch"
 
 inherit autotools texinfo distro_features_check
 
-REQUIRED_DISTRO_FEATURES_libc-glibc = "libc-charsets libc-locale-code libc-locales"
-
 EXTRA_OECONF = "--without-x"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/findutils/findutils_4.6.0.bb b/meta/recipes-extended/findutils/findutils_4.6.0.bb
index 5e4ca94868..3b62ed9962 100644
--- a/meta/recipes-extended/findutils/findutils_4.6.0.bb
+++ b/meta/recipes-extended/findutils/findutils_4.6.0.bb
@@ -16,6 +16,6 @@  SRC_URI[md5sum] = "9936aa8009438ce185bea2694a997fc1"
 SRC_URI[sha256sum] = "ded4c9f73731cd48fec3b6bdaccce896473b6d8e337e9612e16cf1431bb1169d"
 
 # http://savannah.gnu.org/bugs/?27299
-CACHED_CONFIGUREVARS += "${@bb.utils.contains('DISTRO_FEATURES', 'libc-posix-clang-wchar', 'gl_cv_func_wcwidth_works=yes', '', d)}"
+CACHED_CONFIGUREVARS += "gl_cv_func_wcwidth_works=yes"
 
 EXTRA_OECONF += "ac_cv_path_SORT=${bindir}/sort"
diff --git a/meta/recipes-extended/shadow/shadow.inc b/meta/recipes-extended/shadow/shadow.inc
index 09c37ef8a3..2b20bdcb25 100644
--- a/meta/recipes-extended/shadow/shadow.inc
+++ b/meta/recipes-extended/shadow/shadow.inc
@@ -57,7 +57,7 @@  EXTRA_OECONF += "--without-audit \
 NSCDOPT = ""
 NSCDOPT_class-native = "--without-nscd"
 NSCDOPT_class-nativesdk = "--without-nscd"
-NSCDOPT_libc-glibc = "${@bb.utils.contains('DISTRO_FEATURES', 'libc-spawn', '--with-nscd', '--without-nscd', d)}"
+NSCDOPT_libc-glibc = "--with-nscd"
           
 PAM_PLUGINS = "libpam-runtime \
                pam-plugin-faildelay \
diff --git a/meta/recipes-extended/shadow/shadow_4.6.bb b/meta/recipes-extended/shadow/shadow_4.6.bb
index 5675cb8cc9..c975395ff8 100644
--- a/meta/recipes-extended/shadow/shadow_4.6.bb
+++ b/meta/recipes-extended/shadow/shadow_4.6.bb
@@ -2,7 +2,7 @@  require shadow.inc
 
 # Build falsely assumes that if --enable-libpam is set, we don't need to link against
 # libcrypt. This breaks chsh.
-BUILD_LDFLAGS_append_class-target = " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', bb.utils.contains('DISTRO_FEATURES', 'libc-crypt',  '-lcrypt', '', d), '', d)}"
+BUILD_LDFLAGS_append_class-target = " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '-lcrypt', '', d)}"
 
 BBCLASSEXTEND = "native nativesdk"