[OE-core] [PATCH 1/1] eglibc: package mtrace separately

Saul Wold sgw at linux.intel.com
Fri May 18 07:42:30 UTC 2012


On 05/18/2012 02:07 AM, nitin.a.kamble at intel.com wrote:
> From: Nitin A Kamble<nitin.a.kamble at intel.com>
>
> add libc-mtrace as dependency for task-core-tools-debug
>
> now eglibc-mtrace gets included in an sdk image and not in a non-sdk image.
>
> make uclibc recipe lie about providing libc-mtrace to satisfy the dependency
>
> This fixes bug: [YOCTO# 2374]
>
> Signed-off-by: Nitin A Kamble<nitin.a.kamble at intel.com>
> ---
>   meta/recipes-core/eglibc/eglibc-package.inc      |    7 ++++++-
>   meta/recipes-core/eglibc/eglibc_2.13.bb          |    2 +-
>   meta/recipes-core/eglibc/eglibc_2.15.bb          |    2 +-
>   meta/recipes-core/tasks/task-core-tools-debug.bb |    1 +
>   meta/recipes-core/uclibc/uclibc.inc              |    2 +-
>   5 files changed, 10 insertions(+), 4 deletions(-)
>
> diff --git a/meta/recipes-core/eglibc/eglibc-package.inc b/meta/recipes-core/eglibc/eglibc-package.inc
> index 7d97567..ce37155 100644
> --- a/meta/recipes-core/eglibc/eglibc-package.inc
> +++ b/meta/recipes-core/eglibc/eglibc-package.inc
> @@ -20,11 +20,12 @@ 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}-staticdev ${PN}-doc libcidn${PKGSUFFIX} libmemusage${PKGSUFFIX} libsegfault${PKGSUFFIX} ${PN}-pcprofile libsotruss${PKGSUFFIX}"
> +PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} ${PN}-mtrace ${PN}-utils eglibc-extra-nss${PKGSUFFIX} eglibc-thread-db${PKGSUFFIX} ${PN}-pic ${PN}-dev ${PN}-staticdev ${PN}-doc libcidn${PKGSUFFIX} libmemusage${PKGSUFFIX} libsegfault${PKGSUFFIX} ${PN}-pcprofile libsotruss${PKGSUFFIX}"
>
>   # The ld.so in this eglibc supports the GNU_HASH
>   RPROVIDES_${PN} = "glibc${PKGSUFFIX} rtld(GNU_HASH)"
>   RPROVIDES_${PN}-utils = "glibc${PKGSUFFIX}-utils"
> +RPROVIDES_${PN}-mtrace = "glibc${PKGSUFFIX}-mtrace libc-mtrace"
>   RPROVIDES_${PN}-pic = "glibc${PKGSUFFIX}-pic"
>   RPROVIDES_${PN}-dev = "glibc${PKGSUFFIX}-dev"
>   RPROVIDES_${PN}-staticdev = "glibc${PKGSUFFIX}-staticdev"
> @@ -48,11 +49,13 @@ FILES_${PN}-dev_append += "${bindir}/rpcgen ${libdir}/*_nonshared.a \
>   	${base_libdir}/*_nonshared.a ${base_libdir}/*.o ${datadir}/aclocal"
>   FILES_${PN}-staticdev_append += "${libdir}/*.a ${base_libdir}/*.a"
>   FILES_nscd${PKGSUFFIX} = "${sbindir}/nscd*"
> +FILES_${PN}-mtrace = "${bindir}/mtrace"
>   FILES_${PN}-utils = "${bindir}/* ${sbindir}/*"
>   FILES_${PN}-dbg += "${libexecdir}/*/.debug ${libdir}/audit/.debug"
>   FILES_catchsegv${PKGSUFFIX} = "${bindir}/catchsegv"
>   RDEPENDS_catchsegv${PKGSUFFIX} = "libsegfault"
>   RDEPENDS_${PN}-utils += "bash"
> +RDEPENDS_${PN}-mtrace += "perl"
>   FILES_${PN}-pcprofile = "${base_libdir}/libpcprofile.so"
>   FILES_eglibc-thread-db${PKGSUFFIX} = "${base_libdir}/libthread_db.so.* ${base_libdir}/libthread_db-*.so"
>   RPROVIDES_${PN}-dev += "libc-dev"
> @@ -68,6 +71,8 @@ SUMMARY_ldd = "print shared library dependencies"
>   DESCRIPTION_ldd = "/usr/bin/ldd prints shared library dependencies for each program or shared library specified on the command line."
>   SUMMARY_${PN}-utils = "Miscellaneous utilities provided by eglibc"
>   DESCRIPTION_${PN}-utils = "Miscellaneous utilities including getconf, iconf, locale, gencat, tzselect, zic, rpcinfo, ..."
> +SUMMARY_${PN}-mtrace = "mtrace utility provided by eglibc"
> +DESCRIPTION_${PN}-mtrace = "mtrace utility provided by eglibc"
>   DESCRIPTION_libsotruss = "Library to support sotruss which traces calls through PLTs"
>
>   inherit libc-common multilib_header
> diff --git a/meta/recipes-core/eglibc/eglibc_2.13.bb b/meta/recipes-core/eglibc/eglibc_2.13.bb
> index d8a41dc..73cd0aa 100644
> --- a/meta/recipes-core/eglibc/eglibc_2.13.bb
> +++ b/meta/recipes-core/eglibc/eglibc_2.13.bb
> @@ -3,7 +3,7 @@ require eglibc.inc
>   SRCREV = "15508"
>
>   DEPENDS += "gperf-native"
> -PR = "r26"
> +PR = "r27"
>   PR_append = "+svnr${SRCPV}"
>
>   EGLIBC_BRANCH="eglibc-2_13"
> diff --git a/meta/recipes-core/eglibc/eglibc_2.15.bb b/meta/recipes-core/eglibc/eglibc_2.15.bb
> index 340ec99..bb60b57 100644
> --- a/meta/recipes-core/eglibc/eglibc_2.15.bb
> +++ b/meta/recipes-core/eglibc/eglibc_2.15.bb
> @@ -3,7 +3,7 @@ require eglibc.inc
>   SRCREV = "17386"
>
>   DEPENDS += "gperf-native"
> -PR = "r10"
> +PR = "r11"
>   PR_append = "+svnr${SRCPV}"
>
>   EGLIBC_BRANCH="eglibc-2_15"
> diff --git a/meta/recipes-core/tasks/task-core-tools-debug.bb b/meta/recipes-core/tasks/task-core-tools-debug.bb
> index 3c92f3f..3970f14 100644
> --- a/meta/recipes-core/tasks/task-core-tools-debug.bb
> +++ b/meta/recipes-core/tasks/task-core-tools-debug.bb
> @@ -23,4 +23,5 @@ RDEPENDS_${PN} = "\
>       tcf-agent \
>       rsync \
>       strace \
> +    libc-mtrace \
>       "

Nitin:

A better way to do this is all in the task bb file using an override
MTRACE = ""
MTRACE_libc-eglibc = "eglibc-mtrace"

Sau!


> diff --git a/meta/recipes-core/uclibc/uclibc.inc b/meta/recipes-core/uclibc/uclibc.inc
> index 55ab0c9..afc0ed5 100644
> --- a/meta/recipes-core/uclibc/uclibc.inc
> +++ b/meta/recipes-core/uclibc/uclibc.inc
> @@ -89,7 +89,7 @@ RPROVIDES_${PN}-dev += "libc-dev virtual-libc-dev"
>   # going to work. So we pretend that we have it to make bitbake not pull other recipes
>   # to satisfy this dependency for the images/tasks
>
> -RPROVIDES_uclibc += "libsegfault rtld(GNU_HASH)"
> +RPROVIDES_uclibc += "libsegfault rtld(GNU_HASH) libc-mtrace"
>
>   SRC_URI = "\
>           http://www.uclibc.org/downloads/uClibc-${PV}.tar.bz2;name=uClibc-${PV} \




More information about the Openembedded-core mailing list