Skip to contentSkip to conversation

eglibc: migrate configurability from oe V3

PATCH In review Kang Kai 6 participants 14 messages Jun 7, 2011 – Jun 8, 2011

lore
Share & tools
lore

Kang Kai

author
#0 lore raw

cover eglibc: migrate configurability from oe V3

From: Kang Kai <[email protected]>

Hi Richard,

I add a new local.extended.conf to put the DISTRO_FEATURES there, and I am not quit sure that is the right use of it.

Update to check DISTRO_FEATURES to get eglibc configuration options. Update to set or not set PACKAGE_NO_GCONV automatically.

Any suggestion will be appreciated!
Thanks & Regards,
Kai

The following changes since commit 7f34cd1eb2a459709006ae985a14decd4d2152e6:

tzcode: Update to 2011g (2011-06-06 15:58:42 +0100)

are available in the git repository at:
git://git.pokylinux.org/poky-contrib kangkai/distro
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=kangkai/distro

Kang Kai (2):
bitbake: add another local configuration file
eglibc: migrate configurability from oe

 meta-yocto/conf/local.conf.sample.extended         |    5 ++
 meta/conf/bitbake.conf                             |    1 +
 meta/conf/distro/include/default-distrovars.inc    |    8 ++-
 .../eglibc-2.13-fix-macro-RTLD_DEBUG.patch         |   20 ++++++
 meta/recipes-core/eglibc/eglibc-options.inc        |   62 ++++++++++++++++++++
 meta/recipes-core/eglibc/eglibc.inc                |    6 ++
 meta/recipes-core/eglibc/eglibc_2.13.bb            |    4 +-
 scripts/oe-setup-builddir                          |   19 ++++++
 8 files changed, 123 insertions(+), 2 deletions(-)
 create mode 100644 meta-yocto/conf/local.conf.sample.extended
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.13/eglibc-2.13-fix-macro-RTLD_DEBUG.patch
 create mode 100644 meta/recipes-core/eglibc/eglibc-options.inc
Signature · 1 line
1.7.5.1.300.gc565c
author
#1 lore raw

PATCH 1/2 bitbake: add another local configuration file

From: Kang Kai <[email protected]>

Add a new local configuration file local.conf.sample.extended, and more advanced settings what user can configure could put in this file.

---
 meta-yocto/conf/local.conf.sample.extended |    5 +++++
 meta/conf/bitbake.conf                     |    1 +
 scripts/oe-setup-builddir                  |   19 +++++++++++++++++++
 3 files changed, 25 insertions(+), 0 deletions(-)
 create mode 100644 meta-yocto/conf/local.conf.sample.extended
meta-yocto/conf/local.conf.sample.extended new file +5 -0
new file mode 100644
index 0000000..048d641
@@ -0,0 +1,5 @@
+# eglibc configurability is used to reduce minimal images's size.
+# the all supported eglibc options are default enabled by adding
+# to DISTRO_FEATURES in default-distrovars.inc
+# put the options what you want to enable below and uncomment it
+#DISTRO_FEATURES = "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci"
meta/conf/bitbake.conf +1 -0
index de94316..1b1cf6b 100644
@@ -641,6 +641,7 @@ CPU_FEATURES_arm ?= "vfp"
 include conf/site.conf
 include conf/auto.conf
 include conf/local.conf
+include conf/local.extended.conf
 include conf/build/${BUILD_SYS}.conf
 include conf/target/${TARGET_SYS}.conf
 include conf/machine/${MACHINE}.conf
scripts/oe-setup-builddir +19 -0
index 5fc8b19..7af2373 100755
@@ -55,6 +55,7 @@ if [ "x" != "x$TEMPLATECONF" ]; then
     fi
     OECORELAYERCONF="$TEMPLATECONF/bblayers.conf.sample"
     OECORELOCALCONF="$TEMPLATECONF/local.conf.sample"
+    OECORELOCALCONFEXTENDED="$TEMPLATECONF/local.conf.sample.extended"
 fi
 
 if [ "x" = "x$OECORELOCALCONF" ]; then
@@ -79,6 +80,24 @@ EOM
     cp -f $OECORELOCALCONF $BUILDDIR/conf/local.conf
 fi
 
+if ! (test -r "$BUILDDIR/conf/local.extended.conf"); then
+cat <<EOM
+You had no conf/local.conf file. This configuration file has therefore been
+created for you with some default values. You may wish to edit it to use
+different eglibc configuration options for example. See the file for more
+information as common configuration options are commented.
+
+The Yocto Project has extensive documentation about OE including a reference manual
+which can be found at:
+    http://yoctoproject.org/community/documentation
+
+For more information about OpenEmbedded see their website:
+    http://www.openembedded.org/
+
+EOM
+	cp -f $OECORELOCALCONFEXTENDED $BUILDDIR/conf/local.extended.conf
+fi
+
 if [ "x" = "x$OECORELAYERCONF" ]; then
     OECORELAYERCONF="$OEROOT/meta/conf/bblayers.conf.sample"
 fi
Signature · 1 line
1.7.5.1.300.gc565c
#2 lore raw

Re: [PATCH 1/2] bitbake: add another local configuration file

Quoted 5 lines · Kang Kai

From: Kang Kai<[email protected]>

Add a new local configuration file local.conf.sample.extended, and more advanced settings what user can configure could put in this file.

Quoted 8 lines
---
  meta-yocto/conf/local.conf.sample.extended |    5 +++++
  meta/conf/bitbake.conf                     |    1 +
  scripts/oe-setup-builddir                  |   19 +++++++++++++++++++
  3 files changed, 25 insertions(+), 0 deletions(-)

create mode 100644 meta-yocto/conf/local.conf.sample.extended

You seem to have inconsistent naming of your local.extended.conf sample file, this should probably named local.extended.conf.sample to be more consistent.

Sau!

Quoted 60 lines
meta-yocto/conf/local.conf.sample.extended new file +5 -0
new file mode 100644
index 0000000..048d641
@@ -0,0 +1,5 @@
+# eglibc configurability is used to reduce minimal images's size.
+# the all supported eglibc options are default enabled by adding
+# to DISTRO_FEATURES in default-distrovars.inc
+# put the options what you want to enable below and uncomment it
+#DISTRO_FEATURES = "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci"
meta/conf/bitbake.conf +1 -0
index de94316..1b1cf6b 100644
@@ -641,6 +641,7 @@ CPU_FEATURES_arm ?= "vfp"
  include conf/site.conf
  include conf/auto.conf
  include conf/local.conf
+include conf/local.extended.conf
  include conf/build/${BUILD_SYS}.conf
  include conf/target/${TARGET_SYS}.conf
  include conf/machine/${MACHINE}.conf
scripts/oe-setup-builddir +19 -0
index 5fc8b19..7af2373 100755
@@ -55,6 +55,7 @@ if [ "x" != "x$TEMPLATECONF" ]; then
      fi
      OECORELAYERCONF="$TEMPLATECONF/bblayers.conf.sample"
      OECORELOCALCONF="$TEMPLATECONF/local.conf.sample"
+    OECORELOCALCONFEXTENDED="$TEMPLATECONF/local.conf.sample.extended"
  fi
 
  if [ "x" = "x$OECORELOCALCONF" ]; then
@@ -79,6 +80,24 @@ EOM
      cp -f $OECORELOCALCONF $BUILDDIR/conf/local.conf
  fi
 
+if ! (test -r "$BUILDDIR/conf/local.extended.conf"); then
+cat<<EOM
+You had no conf/local.conf file. This configuration file has therefore been
+created for you with some default values. You may wish to edit it to use
+different eglibc configuration options for example. See the file for more
+information as common configuration options are commented.
+
+The Yocto Project has extensive documentation about OE including a reference manual
+which can be found at:
+    http://yoctoproject.org/community/documentation
+
+For more information about OpenEmbedded see their website:
+    http://www.openembedded.org/
+
+EOM
+	cp -f $OECORELOCALCONFEXTENDED $BUILDDIR/conf/local.extended.conf
+fi
+
  if [ "x" = "x$OECORELAYERCONF" ]; then
      OECORELAYERCONF="$OEROOT/meta/conf/bblayers.conf.sample"
  fi
author
#3 lore raw

PATCH 2/2 eglibc: migrate configurability from oe

In reply to Kang Kai

From: Kang Kai <[email protected]>

Migrate configurability from oe, try to shrink minimal image size

Update to get eglibc configuration options from DISTRO_FEATURES and enable them. All the options are enabled by default.

Uncomment the line in conf/local.extended.conf to define DISTRO_FEATURES, so put what options you want to enable there.

---
 meta/conf/distro/include/default-distrovars.inc    |    8 ++-
 .../eglibc-2.13-fix-macro-RTLD_DEBUG.patch         |   20 ++++++
 meta/recipes-core/eglibc/eglibc-options.inc        |   62 ++++++++++++++++++++
 meta/recipes-core/eglibc/eglibc.inc                |    6 ++
 meta/recipes-core/eglibc/eglibc_2.13.bb            |    4 +-
 5 files changed, 98 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.13/eglibc-2.13-fix-macro-RTLD_DEBUG.patch
 create mode 100644 meta/recipes-core/eglibc/eglibc-options.inc
meta/conf/distro/include/default-distrovars.inc +7 -1
index 4b68a0a..16ac681 100644
@@ -10,7 +10,13 @@ LIMIT_BUILT_LOCALES ?= "POSIX en_US en_GB"
 ENABLE_BINARY_LOCALE_GENERATION ?= "1"
 LOCALE_UTF8_ONLY ?= "0"
 
-DISTRO_FEATURES ?= "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci"
+DISTRO_FEATURES ?= "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci \
+		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-libm-big libc-locales libc-locale-code \
+		libc-memusage libc-nis libc-nsswitch libc-rcmd libc-rtld-debug libc-spawn libc-streams libc-sunrpc \
+		libc-utmp libc-utmpx libc-wordexp libc-posix-clang-wchar libc-posix-regexp libc-posix-regexp-glibc \
+		libc-posix-wchar-io"
 
 IMAGE_FEATURES ?= ""
 
meta/recipes-core/eglibc/eglibc-2.13/eglibc-2.13-fix-macro-RTLD_DEBUG.patch new file +20 -0
new file mode 100644
index 0000000..dffc648
@@ -0,0 +1,20 @@
+When disable OPTION_EGLIBC_RTLD_DEBUG, compilation fails.
+Created on Jun 1, 2011 by Kang Kai <[email protected]>
+
+Upstream-Status: Submitted
+
+Signed-off-by: Kang Kai <[email protected]>
+Index: libc/elf/dl-lookup.c
+===================================================================
+--- libc/elf/dl-lookup.c	(revision 13356)
++++ libc/elf/dl-lookup.c	(working copy)
+@@ -423,7 +423,9 @@
+ 		     hash table.  */
+ 		  if (__builtin_expect (tab->size, 0))
+ 		    {
++              #if __OPTION_EGLIBC_RTLD_DEBUG
+ 		      assert (GLRO(dl_debug_mask) & DL_DEBUG_PRELINK);
++              #endif
+ 		      __rtld_lock_unlock_recursive (tab->lock);
+ 		      goto success;
+ 		    }
meta/recipes-core/eglibc/eglibc-options.inc new file +62 -0

62 lines not on this page · raw message

meta/recipes-core/eglibc/eglibc.inc +6 -0
index 46ffa82..616f1af 100644
@@ -28,6 +28,7 @@ DEPENDS = "virtual/${TARGET_PREFIX}gcc-intermediate linux-libc-headers"
 PROVIDES = "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc"
 PROVIDES += "virtual/libintl virtual/libiconv"
 inherit autotools
+require eglibc-options.inc
 
 LEAD_SONAME = "libc.so"
 
@@ -43,3 +44,8 @@ EXTRA_OEMAKE += ${EGLIBCPARALLELISM}
 PARALLEL_MAKE = ""
 
 PACKAGES = "glibc catchsegv sln nscd ldd localedef glibc-utils glibc-dev glibc-doc glibc-locale libsegfault glibc-extra-nss glibc-thread-db glibc-pcprofile"
+
+OE_FEATURES = "${@features_to_eglibc_settings(d)}"
+do_configure_prepend() {
+	echo '${OE_FEATURES}' > ${B}/option-groups.config
+}
meta/recipes-core/eglibc/eglibc_2.13.bb +3 -1
index 398da69..894eb88 100644
@@ -4,7 +4,7 @@ SRCREV = "13356"
 
 DEPENDS += "gperf-native"
 FILESPATHPKG =. "eglibc-svn:"
-PR = "r0"
+PR = "r1"
 PR_append = "+svnr${SRCPV}"
 
 EGLIBC_BRANCH="eglibc-2_13"
@@ -16,7 +16,9 @@ SRC_URI = "svn://www.eglibc.org/svn/branches/;module=${EGLIBC_BRANCH};proto=http
            file://stack-protector-test.patch \
            file://etc/ld.so.conf \
            file://generate-supported.mk \
+           file://eglibc-2.13-fix-macro-RTLD_DEBUG.patch \
 	   "
+
 LIC_FILES_CHKSUM = "file://LICENSES;md5=98a1128c4b58120182cbea3b1752d8b9 \
       file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \
       file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \
Signature · 1 line
1.7.5.1.300.gc565c
#4 lore raw

Re: [PATCH 2/2] eglibc: migrate configurability from oe

Op 7 jun 2011, om 11:42 heeft Kang Kai het volgende geschreven:

Quoted 29 lines

From: Kang Kai <[email protected]>

Migrate configurability from oe, try to shrink minimal image size

Update to get eglibc configuration options from DISTRO_FEATURES and enable them. All the options are enabled by default.

Uncomment the line in conf/local.extended.conf to define DISTRO_FEATURES, so put what options you want to enable there.

---

meta/conf/distro/include/default-distrovars.inc    |    8 ++-
.../eglibc-2.13-fix-macro-RTLD_DEBUG.patch         |   20 ++++++
meta/recipes-core/eglibc/eglibc-options.inc        |   62 ++++++++++++++++++++
meta/recipes-core/eglibc/eglibc.inc                |    6 ++
meta/recipes-core/eglibc/eglibc_2.13.bb            |    4 +-
5 files changed, 98 insertions(+), 2 deletions(-)

create mode 100644 meta/recipes-core/eglibc/eglibc-2.13/eglibc-2.13-fix-macro-RTLD_DEBUG.patch create mode 100644 meta/recipes-core/eglibc/eglibc-options.inc

meta/conf/distro/include/default-distrovars.inc +0 -0
index 4b68a0a..16ac681 100644
@@ -10,7 +10,13 @@ LIMIT_BUILT_LOCALES ?= "POSIX en_US en_GB"

ENABLE_BINARY_LOCALE_GENERATION ?= "1"
LOCALE_UTF8_ONLY ?= "0"

meta/conf/distro/include/default-distrovars.inc LIMIT_BUILT_LOCALES ?= "POSIX en_US en_GB" · line 19

Quoted 8 lines
meta/conf/distro/include/default-distrovars.inc +7 -1
-DISTRO_FEATURES ?= "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci"
+DISTRO_FEATURES ?= "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci \
+		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-libm-big libc-locales libc-locale-code \
+		libc-memusage libc-nis libc-nsswitch libc-rcmd libc-rtld-debug libc-spawn libc-streams libc-sunrpc \
+		libc-utmp libc-utmpx libc-wordexp libc-posix-clang-wchar libc-posix-regexp libc-posix-regexp-glibc \
+		libc-posix-wchar-io"

I think a seperate DISTRO_LIBC_FEATURES var would be cleaner and easier to override.

regards,

Koen

author
#5 lore raw

Re: [PATCH 2/2] eglibc: migrate configurability from oe

Quoted 31 lines · Koen Kooi

Op 7 jun 2011, om 11:42 heeft Kang Kai het volgende geschreven:

Quoted 29 lines

From: Kang Kai<[email protected]>

Migrate configurability from oe, try to shrink minimal image size

Update to get eglibc configuration options from DISTRO_FEATURES and enable them. All the options are enabled by default.

Uncomment the line in conf/local.extended.conf to define DISTRO_FEATURES, so put what options you want to enable there.

---

meta/conf/distro/include/default-distrovars.inc    |    8 ++-
.../eglibc-2.13-fix-macro-RTLD_DEBUG.patch         |   20 ++++++
meta/recipes-core/eglibc/eglibc-options.inc        |   62 ++++++++++++++++++++
meta/recipes-core/eglibc/eglibc.inc                |    6 ++
meta/recipes-core/eglibc/eglibc_2.13.bb            |    4 +-
5 files changed, 98 insertions(+), 2 deletions(-)

create mode 100644 meta/recipes-core/eglibc/eglibc-2.13/eglibc-2.13-fix-macro-RTLD_DEBUG.patch create mode 100644 meta/recipes-core/eglibc/eglibc-options.inc

meta/conf/distro/include/default-distrovars.inc +0 -0
index 4b68a0a..16ac681 100644
@@ -10,7 +10,13 @@ LIMIT_BUILT_LOCALES ?= "POSIX en_US en_GB"

ENABLE_BINARY_LOCALE_GENERATION ?= "1"
LOCALE_UTF8_ONLY ?= "0"

Quoted 8 lines

meta/conf/distro/include/default-distrovars.inc LIMIT_BUILT_LOCALES ?= "POSIX en_US en_GB" · line 19

Quoted 8 lines
meta/conf/distro/include/default-distrovars.inc +7 -1
-DISTRO_FEATURES ?= "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci"
+DISTRO_FEATURES ?= "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci \
+		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-libm-big libc-locales libc-locale-code \
+		libc-memusage libc-nis libc-nsswitch libc-rcmd libc-rtld-debug libc-spawn libc-streams libc-sunrpc \
+		libc-utmp libc-utmpx libc-wordexp libc-posix-clang-wchar libc-posix-regexp libc-posix-regexp-glibc \
+		libc-posix-wchar-io"

Hi Koen,

Quoted 1 line

I think a seperate DISTRO_LIBC_FEATURES var would be cleaner and easier to override.

I used DISTRO_FEATURES_EGLIBC before, but it didn't make Richard happy. :)

Quoted 3 lines

regards,

Koen

Regards,
Kai

Quoted 4 lines

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

#6 lore raw

Re: [PATCH 2/2] eglibc: migrate configurability from oe

Op 8 jun 2011, om 03:45 heeft Kang Kai het volgende geschreven:

Quoted 41 lines · Koen Kooi
Quoted 31 lines

Op 7 jun 2011, om 11:42 heeft Kang Kai het volgende geschreven:

Quoted 29 lines

From: Kang Kai<[email protected]>

Migrate configurability from oe, try to shrink minimal image size

Update to get eglibc configuration options from DISTRO_FEATURES and enable them. All the options are enabled by default.

Uncomment the line in conf/local.extended.conf to define DISTRO_FEATURES, so put what options you want to enable there.

---

meta/conf/distro/include/default-distrovars.inc    |    8 ++-
.../eglibc-2.13-fix-macro-RTLD_DEBUG.patch         |   20 ++++++
meta/recipes-core/eglibc/eglibc-options.inc        |   62 ++++++++++++++++++++
meta/recipes-core/eglibc/eglibc.inc                |    6 ++
meta/recipes-core/eglibc/eglibc_2.13.bb            |    4 +-
5 files changed, 98 insertions(+), 2 deletions(-)

create mode 100644 meta/recipes-core/eglibc/eglibc-2.13/eglibc-2.13-fix-macro-RTLD_DEBUG.patch create mode 100644 meta/recipes-core/eglibc/eglibc-options.inc

meta/conf/distro/include/default-distrovars.inc +0 -0
index 4b68a0a..16ac681 100644
@@ -10,7 +10,13 @@ LIMIT_BUILT_LOCALES ?= "POSIX en_US en_GB"

ENABLE_BINARY_LOCALE_GENERATION ?= "1"
LOCALE_UTF8_ONLY ?= "0"

Quoted 8 lines

meta/conf/distro/include/default-distrovars.inc LIMIT_BUILT_LOCALES ?= "POSIX en_US en_GB" · line 19

Quoted 8 lines
meta/conf/distro/include/default-distrovars.inc +7 -1
-DISTRO_FEATURES ?= "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci"
+DISTRO_FEATURES ?= "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci \
+		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-libm-big libc-locales libc-locale-code \
+		libc-memusage libc-nis libc-nsswitch libc-rcmd libc-rtld-debug libc-spawn libc-streams libc-sunrpc \
+		libc-utmp libc-utmpx libc-wordexp libc-posix-clang-wchar libc-posix-regexp libc-posix-regexp-glibc \
+		libc-posix-wchar-io"

Hi Koen,

Quoted 2 lines
Quoted 1 line

I think a seperate DISTRO_LIBC_FEATURES var would be cleaner and easier to override.

I used DISTRO_FEATURES_EGLIBC before, but it didn't make Richard happy. :)

So how does one easily override LIBC features without touching other features?

author
#7 lore raw

Re: [PATCH 2/2] eglibc: migrate configurability from oe

Quoted 43 lines · Koen Kooi

Op 8 jun 2011, om 03:45 heeft Kang Kai het volgende geschreven:

Quoted 41 lines · Koen Kooi
Quoted 31 lines

Op 7 jun 2011, om 11:42 heeft Kang Kai het volgende geschreven:

Quoted 29 lines

From: Kang Kai<[email protected]>

Migrate configurability from oe, try to shrink minimal image size

Update to get eglibc configuration options from DISTRO_FEATURES and enable them. All the options are enabled by default.

Uncomment the line in conf/local.extended.conf to define DISTRO_FEATURES, so put what options you want to enable there.

---

meta/conf/distro/include/default-distrovars.inc    |    8 ++-
.../eglibc-2.13-fix-macro-RTLD_DEBUG.patch         |   20 ++++++
meta/recipes-core/eglibc/eglibc-options.inc        |   62 ++++++++++++++++++++
meta/recipes-core/eglibc/eglibc.inc                |    6 ++
meta/recipes-core/eglibc/eglibc_2.13.bb            |    4 +-
5 files changed, 98 insertions(+), 2 deletions(-)

create mode 100644 meta/recipes-core/eglibc/eglibc-2.13/eglibc-2.13-fix-macro-RTLD_DEBUG.patch create mode 100644 meta/recipes-core/eglibc/eglibc-options.inc

meta/conf/distro/include/default-distrovars.inc +0 -0
index 4b68a0a..16ac681 100644
@@ -10,7 +10,13 @@ LIMIT_BUILT_LOCALES ?= "POSIX en_US en_GB"

ENABLE_BINARY_LOCALE_GENERATION ?= "1"
LOCALE_UTF8_ONLY ?= "0"

Quoted 8 lines

meta/conf/distro/include/default-distrovars.inc LIMIT_BUILT_LOCALES ?= "POSIX en_US en_GB" · line 19

Quoted 8 lines
meta/conf/distro/include/default-distrovars.inc +7 -1
-DISTRO_FEATURES ?= "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci"
+DISTRO_FEATURES ?= "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci \
+		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-libm-big libc-locales libc-locale-code \
+		libc-memusage libc-nis libc-nsswitch libc-rcmd libc-rtld-debug libc-spawn libc-streams libc-sunrpc \
+		libc-utmp libc-utmpx libc-wordexp libc-posix-clang-wchar libc-posix-regexp libc-posix-regexp-glibc \
+		libc-posix-wchar-io"

Hi Koen,

Quoted 3 lines
Quoted 2 lines
Quoted 1 line

I think a seperate DISTRO_LIBC_FEATURES var would be cleaner and easier to override.

I used DISTRO_FEATURES_EGLIBC before, but it didn't make Richard happy. :)

So how does one easily override LIBC features without touching other features?

That is why use libc-spawn not "spawn" itself.

#8 lore raw

Re: [PATCH 2/2] eglibc: migrate configurability from oe

Quoted 44 lines · Kang Kai
Quoted 43 lines · Koen Kooi

Op 8 jun 2011, om 03:45 heeft Kang Kai het volgende geschreven:

Quoted 41 lines · Koen Kooi
Quoted 31 lines

Op 7 jun 2011, om 11:42 heeft Kang Kai het volgende geschreven:

Quoted 29 lines

From: Kang Kai<[email protected]>

Migrate configurability from oe, try to shrink minimal image size

Update to get eglibc configuration options from DISTRO_FEATURES and enable them. All the options are enabled by default.

Uncomment the line in conf/local.extended.conf to define DISTRO_FEATURES, so put what options you want to enable there.

---

meta/conf/distro/include/default-distrovars.inc    |    8 ++-
.../eglibc-2.13-fix-macro-RTLD_DEBUG.patch         |   20 ++++++
meta/recipes-core/eglibc/eglibc-options.inc        |   62 ++++++++++++++++++++
meta/recipes-core/eglibc/eglibc.inc                |    6 ++
meta/recipes-core/eglibc/eglibc_2.13.bb            |    4 +-
5 files changed, 98 insertions(+), 2 deletions(-)

create mode 100644 meta/recipes-core/eglibc/eglibc-2.13/eglibc-2.13-fix-macro-RTLD_DEBUG.patch create mode 100644 meta/recipes-core/eglibc/eglibc-options.inc

meta/conf/distro/include/default-distrovars.inc +0 -0
index 4b68a0a..16ac681 100644
@@ -10,7 +10,13 @@ LIMIT_BUILT_LOCALES ?= "POSIX en_US en_GB"

ENABLE_BINARY_LOCALE_GENERATION ?= "1"
LOCALE_UTF8_ONLY ?= "0"

Quoted 8 lines

meta/conf/distro/include/default-distrovars.inc LIMIT_BUILT_LOCALES ?= "POSIX en_US en_GB" · line 19

Quoted 8 lines
meta/conf/distro/include/default-distrovars.inc +7 -1
-DISTRO_FEATURES ?= "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci"
+DISTRO_FEATURES ?= "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci \
+		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-libm-big libc-locales libc-locale-code \
+		libc-memusage libc-nis libc-nsswitch libc-rcmd libc-rtld-debug libc-spawn libc-streams libc-sunrpc \
+		libc-utmp libc-utmpx libc-wordexp libc-posix-clang-wchar libc-posix-regexp libc-posix-regexp-glibc \
+		libc-posix-wchar-io"

Hi Koen,

Quoted 4 lines
Quoted 3 lines
Quoted 2 lines
Quoted 1 line

I think a seperate DISTRO_LIBC_FEATURES var would be cleaner and easier to override.

I used DISTRO_FEATURES_EGLIBC before, but it didn't make Richard happy. :)

So how does one easily override LIBC features without touching other features?

That is why use libc-spawn not "spawn" itself.

I agree with koen, when distro wants to keep all default libc-* but alter other DISTRO_FEATURES it has to list all libc-* in it's own config.

IMHO DISTRO_FEATURES_EGLIBC had wrong only suffix as it's not _EGLIBC specific,

DISTRO_FEATURES_LIBC or proposed DISTRO_LIBC_FEATURES will allow distributions to override it like this:
DISTRO_FEATURES = "foo bar ${DISTRO_FEATURES_LIBC}" which is much better then 6 lines of libc-* features which need to resync when someone adds new feature with new *libc version.

Regards,

Signature · 1 line
Martin 'JaMa' Jansa     jabber: [email protected]
#9 lore raw

Re: [PATCH 2/2] eglibc: migrate configurability from oe

In reply to Kang Kai

meta/conf/distro/include/default-distrovars.inc LIMIT_BUILT_LOCALES ?= "POSIX en_US en_GB" · line 14

Quoted 3 lines · Kang Kai
meta/conf/distro/include/default-distrovars.inc +2 -1
-DISTRO_FEATURES ?= "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci"
+DISTRO_FEATURES ?= "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci \
+		libc-ipv6 libc-backtrace libc-big-macros libc-bsd libc-cxx-tests libc-catgets libc-charsets libc-crypt \

I don't think it is a good idea to invent a new "libc-ipv6" feature; you can just use the existing "ipv6" one. This is probably true for some of your others too.

meta/recipes-core/eglibc/eglibc-options.inc line 60

Quoted 5 lines
meta/recipes-core/eglibc/eglibc-options.inc new file +5 -0
+        # try to fix disable charsets/locales/locale-code compile fail
+        if 'libc-charsets' in distro_features and 'libc-locales' in distro_features and 'libc-locale-code' in distro_features:
+            bb.data.setVar('PACKAGE_NO_GCONV', '0', d)
+        else:
+            bb.data.setVar('PACKAGE_NO_GCONV', '1', d)

Does that actually work?

p.

author
#10 lore raw

Re: [PATCH 2/2] eglibc: migrate configurability from oe

Quoted 1 line · Phil Blundell

On Tue, 2011-06-07 at 17:42 +0800, Kang Kai wrote:

Hi Phil,

Thanks for your comment.

Quoted 6 lines

meta/conf/distro/include/default-distrovars.inc LIMIT_BUILT_LOCALES ?= "POSIX en_US en_GB" · line 14

Quoted 3 lines
meta/conf/distro/include/default-distrovars.inc +2 -1
-DISTRO_FEATURES ?= "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci"
+DISTRO_FEATURES ?= "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci \
+		libc-ipv6 libc-backtrace libc-big-macros libc-bsd libc-cxx-tests libc-catgets libc-charsets libc-crypt \

I don't think it is a good idea to invent a new "libc-ipv6" feature; you can just use the existing "ipv6" one. This is probably true for some of your others too.

eglibc needs to support ipv6 by default, but if other application such as iptables doesn't want to support ipv6, remove "ipv6" will also disable eglibc ipv6 support。 If it is ok to disable or enable ipv6 at same time, I will update the patch with "ipv6".

Quoted 6 lines

meta/recipes-core/eglibc/eglibc-options.inc line 60

Quoted 5 lines
meta/recipes-core/eglibc/eglibc-options.inc new file +5 -0
+        # try to fix disable charsets/locales/locale-code compile fail
+        if 'libc-charsets' in distro_features and 'libc-locales' in distro_features and 'libc-locale-code' in distro_features:
+            bb.data.setVar('PACKAGE_NO_GCONV', '0', d)
+        else:
+            bb.data.setVar('PACKAGE_NO_GCONV', '1', d)

Does that actually work?

Yes, it works. I can build eglic after uncomment the line in local.extended.conf to disable all configurable options. But remove the codes above, it will fail.

Quoted 3 lines

p.

Regards,
Kai

Quoted 4 lines

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

#11 lore raw

Re: [PATCH 2/2] eglibc: migrate configurability from oe

Quoted 19 lines · Kang Kai
Quoted 2 lines · Phil Blundell

On Tue, 2011-06-07 at 17:42 +0800, Kang Kai wrote:

Hi Phil,

Thanks for your comment.

Quoted 11 lines
Quoted 7 lines

-DISTRO_FEATURES ?= "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci"
+DISTRO_FEATURES ?= "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci \
+               libc-ipv6 libc-backtrace libc-big-macros libc-bsd libc-cxx-tests libc-catgets libc-charsets libc-crypt \

I don't think it is a good idea to invent a new "libc-ipv6" feature; you can just use the existing "ipv6" one.  This is probably true for some of your others too.

Quoted 3 lines

eglibc needs to support ipv6 by default, but if other application such as iptables doesn't want to support ipv6, remove "ipv6" will also disable eglibc ipv6 support。

I think if one distro does not need ipv6 then having it in eglibc is not needed too

Quoted 33 lines

If it is ok to disable or enable ipv6 at same time, I will update the patch with "ipv6".

Quoted 8 lines
Quoted 6 lines

+        # try to fix disable charsets/locales/locale-code compile fail
+        if 'libc-charsets' in distro_features and 'libc-locales' in distro_features and 'libc-locale-code' in distro_features:
+            bb.data.setVar('PACKAGE_NO_GCONV', '0', d)
+        else:
+            bb.data.setVar('PACKAGE_NO_GCONV', '1', d)

Does that actually work?

Yes, it works. I can build eglic after uncomment the line in local.extended.conf to disable all configurable options. But remove the codes above, it will fail.

Quoted 4 lines

p.

Regards,
Kai

Quoted 5 lines

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

#12 lore raw

Re: [PATCH 2/2] eglibc: migrate configurability from oe

In reply to Kang Kai
Quoted 30 lines · Kang Kai

From: Kang Kai <[email protected]>

Migrate configurability from oe, try to shrink minimal image size

Update to get eglibc configuration options from DISTRO_FEATURES and enable them. All the options are enabled by default.

Uncomment the line in conf/local.extended.conf to define DISTRO_FEATURES, so put what options you want to enable there.

---
 meta/conf/distro/include/default-distrovars.inc    |    8 ++- .../eglibc-2.13-fix-macro-RTLD_DEBUG.patch         |   20 ++++++ meta/recipes-core/eglibc/eglibc-options.inc        |   62 ++++++++++++++++++++ meta/recipes-core/eglibc/eglibc.inc                |    6 ++ meta/recipes-core/eglibc/eglibc_2.13.bb            |    4 +-

 5 files changed, 98 insertions(+), 2 deletions(-)

 create mode 100644 meta/recipes-core/eglibc/eglibc-2.13/eglibc-2.13-fix-macro-RTLD_DEBUG.patch create mode 100644 meta/recipes-core/eglibc/eglibc-options.inc

meta/conf/distro/include/default-distrovars.inc +0 -0
index 4b68a0a..16ac681 100644
@@ -10,7 +10,13 @@ LIMIT_BUILT_LOCALES ?= "POSIX en_US en_GB"

 ENABLE_BINARY_LOCALE_GENERATION ?= "1"
 LOCALE_UTF8_ONLY ?= "0"

meta/conf/distro/include/default-distrovars.inc LIMIT_BUILT_LOCALES ?= "POSIX en_US en_GB" · line 19

Quoted 8 lines
meta/conf/distro/include/default-distrovars.inc +7 -1
-DISTRO_FEATURES ?= "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci"
+DISTRO_FEATURES ?= "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci \
+               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-libm-big libc-locales libc-locale-code \
+               libc-memusage libc-nis libc-nsswitch libc-rcmd libc-rtld-debug libc-spawn libc-streams libc-sunrpc \
+               libc-utmp libc-utmpx libc-wordexp libc-posix-clang-wchar libc-posix-regexp libc-posix-regexp-glibc \
+               libc-posix-wchar-io"

libc-ipv6 should be merged with existing ipv6 DISTRO_FEATURE we do not need two keywords for same feature
we also need documentation on these features and probably mention in local.conf.sample or may be a new file
for adavanced configuration

Quoted 149 lines

 IMAGE_FEATURES ?= ""

meta/recipes-core/eglibc/eglibc-2.13/eglibc-2.13-fix-macro-RTLD_DEBUG.patch new file +20 -0
new file mode 100644
index 0000000..dffc648
@@ -0,0 +1,20 @@
+When disable OPTION_EGLIBC_RTLD_DEBUG, compilation fails.
+Created on Jun 1, 2011 by Kang Kai <[email protected]>
+
+Upstream-Status: Submitted
+
+Signed-off-by: Kang Kai <[email protected]>
+Index: libc/elf/dl-lookup.c
+===================================================================
+--- libc/elf/dl-lookup.c       (revision 13356)
++++ libc/elf/dl-lookup.c       (working copy)
+@@ -423,7 +423,9 @@
+                    hash table.  */
+                 if (__builtin_expect (tab->size, 0))
+                   {
++              #if __OPTION_EGLIBC_RTLD_DEBUG
+                     assert (GLRO(dl_debug_mask) & DL_DEBUG_PRELINK);
++              #endif
+                     __rtld_lock_unlock_recursive (tab->lock);
+                     goto success;
+                   }
meta/recipes-core/eglibc/eglibc-options.inc new file +62 -0
new file mode 100644
index 0000000..9214a0c
@@ -0,0 +1,62 @@
+def eglibc_cfg(feature, features, tokens, cnf):
+       if type(tokens) == type(""):
+               tokens = [tokens]
+       if type(features) == type([]) and feature in features:
+               cnf.extend([token + ' = y' for token in tokens])
+       else:
+               for token in tokens:
+                       cnf.extend([token + ' = n'])
+                       if token == 'OPTION_EGLIBC_NSSWITCH':
+                               cnf.extend(["OPTION_EGLIBC_NSSWITCH_FIXED_CONFIG = ${S}/nss/nsswitch.conf"])
+                               cnf.extend(["OPTION_EGLIBC_NSSWITCH_FIXED_FUNCTIONS = ${S}/nss/fixed-nsswitch.functions"])
+
+# Map distro features to eglibc options settings
+def features_to_eglibc_settings(d):
+        cnf = ([])
+        distro_features = (bb.data.getVar('DISTRO_FEATURES', d, True) or '').split()
+        eglibc_cfg('libc-ipv6',      distro_features, 'OPTION_EGLIBC_ADVANCED_INET6', cnf)
+        eglibc_cfg('libc-backtrace',      distro_features, 'OPTION_EGLIBC_BACKTRACE', cnf)
+        eglibc_cfg('libc-big-macros',      distro_features, 'OPTION_EGLIBC_BIG_MACROS', cnf)
+        eglibc_cfg('libc-bsd',      distro_features, 'OPTION_EGLIBC_BSD', cnf)
+        eglibc_cfg('libc-cxx-tests',      distro_features, 'OPTION_EGLIBC_CXX_TESTS', cnf)
+        eglibc_cfg('libc-catgets',      distro_features, 'OPTION_EGLIBC_CATGETS', cnf)
+        eglibc_cfg('libc-charsets',      distro_features, 'OPTION_EGLIBC_CHARSETS', cnf)
+        eglibc_cfg('libc-crypt',      distro_features, 'OPTION_EGLIBC_CRYPT', cnf)
+        eglibc_cfg('libc-crypt-ufc',      distro_features, 'OPTION_EGLIBC_CRYPT_UFC', cnf)
+        eglibc_cfg('libc-db-aliases',      distro_features, 'OPTION_EGLIBC_DB_ALIASES', cnf)
+        eglibc_cfg('libc-envz',      distro_features, 'OPTION_EGLIBC_ENVZ', cnf)
+        eglibc_cfg('libc-fcvt',      distro_features, 'OPTION_EGLIBC_FCVT', cnf)
+        eglibc_cfg('libc-fmtmsg',      distro_features, 'OPTION_EGLIBC_FMTMSG', cnf)
+        eglibc_cfg('libc-fstab',      distro_features, 'OPTION_EGLIBC_FSTAB', cnf)
+        eglibc_cfg('libc-ftraverse',      distro_features, 'OPTION_EGLIBC_FTRAVERSE', cnf)
+        eglibc_cfg('libc-getlogin',      distro_features, 'OPTION_EGLIBC_GETLOGIN', cnf)
+        eglibc_cfg('libc-idn',      distro_features, 'OPTION_EGLIBC_IDN', cnf)
+        eglibc_cfg('libc-inet',      distro_features, 'OPTION_EGLIBC_INET', cnf)
+        eglibc_cfg('libc-inet-anl',      distro_features, 'OPTION_EGLIBC_INET_ANL', cnf)
+        eglibc_cfg('libc-libm',      distro_features, 'OPTION_EGLIBC_LIBM', cnf)
+        eglibc_cfg('libc-libm-big',      distro_features, 'OPTION_EGLIBC_LIBM_BIG', cnf)
+        eglibc_cfg('libc-locales',      distro_features, 'OPTION_EGLIBC_LOCALES', cnf)
+        eglibc_cfg('libc-locale-code',      distro_features, 'OPTION_EGLIBC_LOCALE_CODE', cnf)
+        eglibc_cfg('libc-memusage',      distro_features, 'OPTION_EGLIBC_MEMUSAGE', cnf)
+        eglibc_cfg('libc-nis',      distro_features, 'OPTION_EGLIBC_NIS', cnf)
+        eglibc_cfg('libc-nsswitch',      distro_features, 'OPTION_EGLIBC_NSSWITCH', cnf)
+        eglibc_cfg('libc-rcmd',      distro_features, 'OPTION_EGLIBC_RCMD', cnf)
+        eglibc_cfg('libc-rtld-debug',      distro_features, 'OPTION_EGLIBC_RTLD_DEBUG', cnf)
+        eglibc_cfg('libc-spawn',      distro_features, 'OPTION_EGLIBC_SPAWN', cnf)
+        eglibc_cfg('libc-streams',      distro_features, 'OPTION_EGLIBC_STREAMS', cnf)
+        eglibc_cfg('libc-sunrpc',      distro_features, 'OPTION_EGLIBC_SUNRPC', cnf)
+        eglibc_cfg('libc-utmp',      distro_features, 'OPTION_EGLIBC_UTMP', cnf)
+        eglibc_cfg('libc-utmpx',      distro_features, 'OPTION_EGLIBC_UTMPX', cnf)
+        eglibc_cfg('libc-wordexp',      distro_features, 'OPTION_EGLIBC_WORDEXP', cnf)
+        eglibc_cfg('libc-posix-clang-wchar',      distro_features, 'OPTION_POSIX_C_LANG_WIDE_CHAR', cnf)
+        eglibc_cfg('libc-posix-regexp',      distro_features, 'OPTION_POSIX_REGEXP', cnf)
+        eglibc_cfg('libc-posix-regexp-glibc',      distro_features, 'OPTION_POSIX_REGEXP_GLIBC', cnf)
+        eglibc_cfg('libc-posix-wchar-io',      distro_features, 'OPTION_POSIX_WIDE_CHAR_DEVICE_IO', cnf)
+
+        # try to fix disable charsets/locales/locale-code compile fail
+        if 'libc-charsets' in distro_features and 'libc-locales' in distro_features and 'libc-locale-code' in distro_features:
+            bb.data.setVar('PACKAGE_NO_GCONV', '0', d)
+        else:
+            bb.data.setVar('PACKAGE_NO_GCONV', '1', d)
+
+        return "\n".join(cnf)
meta/recipes-core/eglibc/eglibc.inc +0 -0
index 46ffa82..616f1af 100644
@@ -28,6 +28,7 @@ DEPENDS = "virtual/${TARGET_PREFIX}gcc-intermediate linux-libc-headers"

 PROVIDES = "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc" PROVIDES += "virtual/libintl virtual/libiconv" inherit autotools
+require eglibc-options.inc

 LEAD_SONAME = "libc.so"

meta/recipes-core/eglibc/eglibc.inc +0 -0
@@ -43,3 +44,8 @@ EXTRA_OEMAKE += ${EGLIBCPARALLELISM}

 PARALLEL_MAKE = ""

 PACKAGES = "glibc catchsegv sln nscd ldd localedef glibc-utils glibc-dev glibc-doc glibc-locale libsegfault glibc-extra-nss glibc-thread-db glibc-pcprofile"

meta/recipes-core/eglibc/eglibc.inc +5 -0
+
+OE_FEATURES = "${@features_to_eglibc_settings(d)}"
+do_configure_prepend() {
+       echo '${OE_FEATURES}' > ${B}/option-groups.config
+}
meta/recipes-core/eglibc/eglibc_2.13.bb +0 -0
index 398da69..894eb88 100644
@@ -4,7 +4,7 @@ SRCREV = "13356"
 

 DEPENDS += "gperf-native"
 FILESPATHPKG =. "eglibc-svn:"

meta/recipes-core/eglibc/eglibc_2.13.bb +1 -1
-PR = "r0"
+PR = "r1"

 PR_append = "+svnr${SRCPV}"

 EGLIBC_BRANCH="eglibc-2_13"

meta/recipes-core/eglibc/eglibc_2.13.bb +1 -0
@@ -16,7 +16,9 @@ SRC_URI = "svn://www.eglibc.org/svn/branches/;module=${EGLIBC_BRANCH};proto=http
            file://stack-protector-test.patch \
            file://etc/ld.so.conf \
            file://generate-supported.mk \
+           file://eglibc-2.13-fix-macro-RTLD_DEBUG.patch \

          "
+
 LIC_FILES_CHKSUM = "file://LICENSES;md5=98a1128c4b58120182cbea3b1752d8b9 \
      file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \
      file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \
--
1.7.5.1.300.gc565c

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

author
#13 lore raw

Re: [PATCH 2/2] eglibc: migrate configurability from oe

Quoted 30 lines · Khem Raj
Quoted 29 lines · Kang Kai

From: Kang Kai<[email protected]>

Migrate configurability from oe, try to shrink minimal image size

Update to get eglibc configuration options from DISTRO_FEATURES and enable them. All the options are enabled by default.

Uncomment the line in conf/local.extended.conf to define DISTRO_FEATURES, so put what options you want to enable there.

---
  meta/conf/distro/include/default-distrovars.inc    |    8 ++-
  .../eglibc-2.13-fix-macro-RTLD_DEBUG.patch         |   20 ++++++
  meta/recipes-core/eglibc/eglibc-options.inc        |   62 ++++++++++++++++++++
  meta/recipes-core/eglibc/eglibc.inc                |    6 ++
  meta/recipes-core/eglibc/eglibc_2.13.bb            |    4 +-
  5 files changed, 98 insertions(+), 2 deletions(-)

create mode 100644 meta/recipes-core/eglibc/eglibc-2.13/eglibc-2.13-fix-macro-RTLD_DEBUG.patch create mode 100644 meta/recipes-core/eglibc/eglibc-options.inc

meta/conf/distro/include/default-distrovars.inc +0 -0
index 4b68a0a..16ac681 100644
@@ -10,7 +10,13 @@ LIMIT_BUILT_LOCALES ?= "POSIX en_US en_GB"
  ENABLE_BINARY_LOCALE_GENERATION ?= "1"
  LOCALE_UTF8_ONLY ?= "0"
 
Quoted 9 lines

meta/conf/distro/include/default-distrovars.inc LIMIT_BUILT_LOCALES ?= "POSIX en_US en_GB" · line 20

Quoted 9 lines
meta/conf/distro/include/default-distrovars.inc +7 -1
-DISTRO_FEATURES ?= "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci"
+DISTRO_FEATURES ?= "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci \
+               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-libm-big libc-locales libc-locale-code \
+               libc-memusage libc-nis libc-nsswitch libc-rcmd libc-rtld-debug libc-spawn libc-streams libc-sunrpc \
+               libc-utmp libc-utmpx libc-wordexp libc-posix-clang-wchar libc-posix-regexp libc-posix-regexp-glibc \
+               libc-posix-wchar-io"
 

Hi Khem,

Quoted 6 lines

libc-ipv6 should be merged with existing ipv6 DISTRO_FEATURE we do not need two keywords for same feature
we also need documentation on these features and probably mention in local.conf.sample or may be a new file
for adavanced configuration

I put some information in conf/local.extended.conf in my first patch.

meta-yocto/conf/local.conf.sample.extended new file +5 -0
new file mode 100644
index 0000000..048d641
@@ -0,0 +1,5 @@
+# eglibc configurability is used to reduce minimal images's size.
+# the all supported eglibc options are default enabled by adding
+# to DISTRO_FEATURES in default-distrovars.inc
+# put the options what you want to enable below and uncomment it
+#DISTRO_FEATURES = "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci"

Is that enough or not?

Thanks and Regards,
Kai