Patchwork [2/4] eglibc: Only add eglibc-utils to PACKAGES if wchar is supported

login
register
mail settings
Submitter Darren Hart
Date Dec. 28, 2011, 11:38 p.m.
Message ID <42ae58f20c3f62753fc41d798d271e4f8cf6a188.1325115066.git.dvhart@linux.intel.com>
Download mbox | patch
Permalink /patch/17753/
State New
Headers show

Comments

Darren Hart - Dec. 28, 2011, 11:38 p.m.
eglibc-utils RDEPENDS on bash which requires gettext which requires
wchar support. If wchar support is not included in DISTRO_FEATURES,
gettext will fail to compile.

By removing eglibc-utils from the PACKAGES listing, bitbake doesn't
try to build the dependency chain.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
---
 meta/recipes-core/eglibc/eglibc-package.inc |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)
Koen Kooi - Dec. 29, 2011, 7:55 a.m.
Op 29 dec. 2011, om 00:38 heeft Darren Hart het volgende geschreven:

> eglibc-utils RDEPENDS on bash which requires gettext which requires
> wchar support. If wchar support is not included in DISTRO_FEATURES,
> gettext will fail to compile.

What code in there actually depends on bash and can't we fix it to work with stock sh?

> 
> By removing eglibc-utils from the PACKAGES listing, bitbake doesn't
> try to build the dependency chain.
> 
> Signed-off-by: Darren Hart <dvhart@linux.intel.com>
> ---
> meta/recipes-core/eglibc/eglibc-package.inc |    6 +++++-
> 1 files changed, 5 insertions(+), 1 deletions(-)
> 
> diff --git a/meta/recipes-core/eglibc/eglibc-package.inc b/meta/recipes-core/eglibc/eglibc-package.inc
> index 020f558..ab62654 100644
> --- a/meta/recipes-core/eglibc/eglibc-package.inc
> +++ b/meta/recipes-core/eglibc/eglibc-package.inc
> @@ -20,7 +20,11 @@ USE_LDCONFIG ?= "1"
> PKGSUFFIX = ""
> PKGSUFFIX_virtclass-nativesdk = "-nativesdk"
> 
> -PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} ${PN}-utils eglibc-extra-nss${PKGSUFFIX} eglibc-thread-db${PKGSUFFIX} ${PN}-pic ${PN}-dev ${PN}-doc libcidn${PKGSUFFIX} libmemusage${PKGSUFFIX} libsegfault${PKGSUFFIX} ${PN}-pcprofile libsotruss${PKGSUFFIX}"
> +PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} eglibc-extra-nss${PKGSUFFIX} eglibc-thread-db${PKGSUFFIX} ${PN}-pic ${PN}-dev ${PN}-doc libcidn${PKGSUFFIX} libmemusage${PKGSUFFIX} libsegfault${PKGSUFFIX} ${PN}-pcprofile libsotruss${PKGSUFFIX}"
> +
> +# eglibc-utils rdepends on bash which depends on gettext which requires wchar
> +# support. Only include it in the PACKAGES list if we can build the RDEPENDS.
> +PACKAGES += ${@base_contains('DISTRO_FEATURES', 'libc-posix-clang-wchar', '${PN}-utils', '', d)}
> 
> # The ld.so in this eglibc supports the GNU_HASH
> RPROVIDES_${PN} = "glibc${PKGSUFFIX} rtld(GNU_HASH)"
> -- 
> 1.7.6.4
>
Darren Hart - Dec. 29, 2011, 4:36 p.m.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1



On 12/28/2011 11:55 PM, Koen Kooi wrote:
> 
> Op 29 dec. 2011, om 00:38 heeft Darren Hart het volgende
> geschreven:
> 
>> eglibc-utils RDEPENDS on bash which requires gettext which
>> requires wchar support. If wchar support is not included in
>> DISTRO_FEATURES, gettext will fail to compile.
> 
> What code in there actually depends on bash and can't we fix it to
> work with stock sh?

I believe it is xtrace and tzconfig (or tzselect?) that depend on
bash. I'm sure this is fixable. If we were to fix it, I would also
want to separate out eglibc-utils as a separate recipe or somehow make
it optional to install. I believe there will continue to be
refinements to how we package eglibc in support of tiny distros.

xtrace looks easy enough to fix, although it also assumes wants a
terminal program and defaults to xterm. So we should also depend on
screen or similar.

Not sure about tzconfig/select. Will have a closer look next week.

Can we use this as is for now and improve it over time as we look at
other eglibc packaging issues?

- --
Darren

> 
>> 
>> By removing eglibc-utils from the PACKAGES listing, bitbake
>> doesn't try to build the dependency chain.
>> 
>> Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- 
>> meta/recipes-core/eglibc/eglibc-package.inc |    6 +++++- 1 files
>> changed, 5 insertions(+), 1 deletions(-)
>> 
>> diff --git a/meta/recipes-core/eglibc/eglibc-package.inc
>> b/meta/recipes-core/eglibc/eglibc-package.inc index
>> 020f558..ab62654 100644 ---
>> a/meta/recipes-core/eglibc/eglibc-package.inc +++
>> b/meta/recipes-core/eglibc/eglibc-package.inc @@ -20,7 +20,11 @@
>> USE_LDCONFIG ?= "1" PKGSUFFIX = "" PKGSUFFIX_virtclass-nativesdk
>> = "-nativesdk"
>> 
>> -PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX}
>> sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} ${PN}-utils
>> eglibc-extra-nss${PKGSUFFIX} eglibc-thread-db${PKGSUFFIX}
>> ${PN}-pic ${PN}-dev ${PN}-doc libcidn${PKGSUFFIX}
>> libmemusage${PKGSUFFIX} libsegfault${PKGSUFFIX} ${PN}-pcprofile
>> libsotruss${PKGSUFFIX}" +PACKAGES = "${PN}-dbg ${PN}
>> catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX}
>> ldd${PKGSUFFIX} eglibc-extra-nss${PKGSUFFIX}
>> eglibc-thread-db${PKGSUFFIX} ${PN}-pic ${PN}-dev ${PN}-doc
>> libcidn${PKGSUFFIX} libmemusage${PKGSUFFIX}
>> libsegfault${PKGSUFFIX} ${PN}-pcprofile libsotruss${PKGSUFFIX}" 
>> + +# eglibc-utils rdepends on bash which depends on gettext which
>> requires wchar +# support. Only include it in the PACKAGES list
>> if we can build the RDEPENDS. +PACKAGES +=
>> ${@base_contains('DISTRO_FEATURES', 'libc-posix-clang-wchar',
>> '${PN}-utils', '', d)}
>> 
>> # The ld.so in this eglibc supports the GNU_HASH RPROVIDES_${PN}
>> = "glibc${PKGSUFFIX} rtld(GNU_HASH)" -- 1.7.6.4
>> 

- -- 
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJO/Jb9AAoJEKbMaAwKp364FGEIAL7Ze6QD3R8ral0igFLbEUez
7Q3N6XbvdTJF7yYtEfVKJq5B1jqYwr+DEm2mTQKcqBopFfNVG26PUzs1SaxmAAel
EhYr0X/vgejPv0VD0YyLVqZd3WQalpVRq4RGZGNaZFelU0lDWNHjiUch2qiom17G
iIdQCZye83g3KQ8Ft9xyc3As4P3ieFPmZjQ6CU1lTp4ovREAFyov5c/Qbia0w4KS
OrpS1CPUkyU6agqQnZxaeqFUowwWu9eAT4eXyjX7GrKi8Pdtwl76XOQ8IzywaUqr
RIrxRkUENphQqKUk9zAHUmAvDNmVwsWzrWVIZjoRI85fNzlCXKNwzqqpO8X72f0=
=rv80
-----END PGP SIGNATURE-----

Patch

diff --git a/meta/recipes-core/eglibc/eglibc-package.inc b/meta/recipes-core/eglibc/eglibc-package.inc
index 020f558..ab62654 100644
--- a/meta/recipes-core/eglibc/eglibc-package.inc
+++ b/meta/recipes-core/eglibc/eglibc-package.inc
@@ -20,7 +20,11 @@  USE_LDCONFIG ?= "1"
 PKGSUFFIX = ""
 PKGSUFFIX_virtclass-nativesdk = "-nativesdk"
 
-PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} ${PN}-utils eglibc-extra-nss${PKGSUFFIX} eglibc-thread-db${PKGSUFFIX} ${PN}-pic ${PN}-dev ${PN}-doc libcidn${PKGSUFFIX} libmemusage${PKGSUFFIX} libsegfault${PKGSUFFIX} ${PN}-pcprofile libsotruss${PKGSUFFIX}"
+PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} eglibc-extra-nss${PKGSUFFIX} eglibc-thread-db${PKGSUFFIX} ${PN}-pic ${PN}-dev ${PN}-doc libcidn${PKGSUFFIX} libmemusage${PKGSUFFIX} libsegfault${PKGSUFFIX} ${PN}-pcprofile libsotruss${PKGSUFFIX}"
+
+# eglibc-utils rdepends on bash which depends on gettext which requires wchar
+# support. Only include it in the PACKAGES list if we can build the RDEPENDS.
+PACKAGES += ${@base_contains('DISTRO_FEATURES', 'libc-posix-clang-wchar', '${PN}-utils', '', d)}
 
 # The ld.so in this eglibc supports the GNU_HASH
 RPROVIDES_${PN} = "glibc${PKGSUFFIX} rtld(GNU_HASH)"