* [PATCH v3] eglibc: Move perl- and bash-using scripts to separate recipes
@ 2012-09-25 12:56 Phil Blundell
2012-10-12 17:44 ` Saul Wold
2012-10-24 16:00 ` Saul Wold
0 siblings, 2 replies; 9+ messages in thread
From: Phil Blundell @ 2012-09-25 12:56 UTC (permalink / raw)
To: openembedded-core
This removes the dependency of eglibc.bb itself on perl and bash
which, in turn, eliminates the need to build those two recipes if the
scripts which need them are not going to be installed.
Signed-off-by: Phil Blundell <pb@pbcl.net>
---
v3: rebased on top of localedir changes
meta/recipes-core/eglibc/eglibc-collateral.inc | 11 +++++++++
meta/recipes-core/eglibc/eglibc-locale.inc | 11 +--------
meta/recipes-core/eglibc/eglibc-mtrace.inc | 12 ++++++++++
meta/recipes-core/eglibc/eglibc-mtrace_2.16.bb | 1 +
meta/recipes-core/eglibc/eglibc-package.inc | 28 ++++++++++++++++++-----
meta/recipes-core/eglibc/eglibc-scripts.inc | 17 ++++++++++++++
meta/recipes-core/eglibc/eglibc-scripts_2.16.bb | 1 +
meta/recipes-core/eglibc/eglibc_2.16.bb | 2 +-
8 files changed, 66 insertions(+), 17 deletions(-)
create mode 100644 meta/recipes-core/eglibc/eglibc-collateral.inc
create mode 100644 meta/recipes-core/eglibc/eglibc-mtrace.inc
create mode 100644 meta/recipes-core/eglibc/eglibc-mtrace_2.16.bb
create mode 100644 meta/recipes-core/eglibc/eglibc-scripts.inc
create mode 100644 meta/recipes-core/eglibc/eglibc-scripts_2.16.bb
diff --git a/meta/recipes-core/eglibc/eglibc-collateral.inc b/meta/recipes-core/eglibc/eglibc-collateral.inc
new file mode 100644
index 0000000..b770bb0
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-collateral.inc
@@ -0,0 +1,11 @@
+INHIBIT_DEFAULT_DEPS = "1"
+LICENSE = "GPLv2 & LGPLv2.1"
+
+do_fetch[noexec] = "1"
+do_unpack[noexec] = "1"
+do_patch[noexec] = "1"
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install[depends] += "virtual/${MLPREFIX}libc:do_populate_sysroot"
+
diff --git a/meta/recipes-core/eglibc/eglibc-locale.inc b/meta/recipes-core/eglibc/eglibc-locale.inc
index 105cf2e..16a357a 100644
--- a/meta/recipes-core/eglibc/eglibc-locale.inc
+++ b/meta/recipes-core/eglibc/eglibc-locale.inc
@@ -1,15 +1,8 @@
-INHIBIT_DEFAULT_DEPS = "1"
-LICENSE = "GPLv2 & LGPLv2.1"
+include eglibc-collateral.inc
BPN = "eglibc"
LOCALEBASEPN = "eglibc"
-do_fetch[noexec] = "1"
-do_unpack[noexec] = "1"
-do_patch[noexec] = "1"
-do_configure[noexec] = "1"
-do_compile[noexec] = "1"
-
# Binary locales are generated at build time if ENABLE_BINARY_LOCALE_GENERATION
# is set. The idea is to avoid running localedef on the target (at first boot)
# to decrease initial boot time and avoid localedef being killed by the OOM
@@ -90,6 +83,4 @@ do_install () {
inherit libc-package
-do_install[depends] += "virtual/${MLPREFIX}libc:do_populate_sysroot"
-
BBCLASSEXTEND = "nativesdk"
diff --git a/meta/recipes-core/eglibc/eglibc-mtrace.inc b/meta/recipes-core/eglibc/eglibc-mtrace.inc
new file mode 100644
index 0000000..321de7b
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-mtrace.inc
@@ -0,0 +1,12 @@
+include eglibc-collateral.inc
+
+SUMMARY = "mtrace utility provided by eglibc"
+DESCRIPTION = "mtrace utility provided by eglibc"
+RDEPENDS_${PN} = "perl"
+
+SRC = "${STAGING_INCDIR}/eglibc-scripts-internal-${MULTIMACH_TARGET_SYS}"
+
+do_install() {
+ install -d -m 0755 ${D}${bindir}
+ install -m 0755 ${SRC}/mtrace ${D}${bindir}/
+}
diff --git a/meta/recipes-core/eglibc/eglibc-mtrace_2.16.bb b/meta/recipes-core/eglibc/eglibc-mtrace_2.16.bb
new file mode 100644
index 0000000..6fa2be9
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-mtrace_2.16.bb
@@ -0,0 +1 @@
+require eglibc-mtrace.inc
diff --git a/meta/recipes-core/eglibc/eglibc-package.inc b/meta/recipes-core/eglibc/eglibc-package.inc
index 0059bcf..6da9615 100644
--- a/meta/recipes-core/eglibc/eglibc-package.inc
+++ b/meta/recipes-core/eglibc/eglibc-package.inc
@@ -17,7 +17,7 @@ python __anonymous () {
# Set this to zero if you don't want ldconfig in the output package
USE_LDCONFIG ?= "1"
-PACKAGES = "${PN}-dbg catchsegv sln nscd ldd ${PN}-mtrace ${PN}-utils eglibc-thread-db ${PN}-pic libcidn libmemusage libsegfault ${PN}-pcprofile libsotruss ${PN} eglibc-extra-nss ${PN}-dev ${PN}-staticdev ${PN}-doc"
+PACKAGES = "${PN}-dbg catchsegv sln nscd ldd ${PN}-utils eglibc-thread-db ${PN}-pic libcidn libmemusage libsegfault ${PN}-pcprofile libsotruss ${PN} eglibc-extra-nss ${PN}-dev ${PN}-staticdev ${PN}-doc"
# The ld.so in this eglibc supports the GNU_HASH
RPROVIDES_${PN} = "glibc rtld(GNU_HASH)"
@@ -51,8 +51,6 @@ FILES_${PN}-utils = "${bindir}/* ${sbindir}/*"
FILES_${PN}-dbg += "${libexecdir}/*/.debug ${libdir}/audit/.debug"
FILES_catchsegv = "${bindir}/catchsegv"
RDEPENDS_catchsegv = "libsegfault"
-RDEPENDS_${PN}-utils += "bash"
-RDEPENDS_${PN}-mtrace += "perl"
FILES_${PN}-pcprofile = "${base_libdir}/libpcprofile.so"
FILES_eglibc-thread-db = "${base_libdir}/libthread_db.so.* ${base_libdir}/libthread_db-*.so"
RPROVIDES_${PN}-dev += "libc-dev"
@@ -65,11 +63,9 @@ DESCRIPTION_nscd = "nscd, name service cache daemon, caches name service lookups
SUMMARY_eglibc-extra-nss = "hesiod, NIS and NIS+ nss libraries"
DESCRIPTION_eglibc-extra-nss = "eglibc: nis, nisplus and hesiod search services."
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."
+DESCRIPTION_ldd = "${bindir}/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
@@ -111,10 +107,30 @@ do_install_locale () {
addtask do_install_locale after do_install before do_populate_sysroot do_package
+bashscripts = "mtrace sotruss xtrace"
+
+do_evacuate_scripts () {
+ target=${D}${includedir}/eglibc-scripts-internal-${MULTIMACH_TARGET_SYS}
+ mkdir -p $target
+ for i in ${bashscripts}; do
+ cp ${D}${bindir}/$i $target/
+ done
+}
+
+do_evacuate_scripts_pn-eglibc-initial () {
+ :
+}
+
+addtask evacuate_scripts after do_install before do_populate_sysroot do_package
+
PACKAGE_PREPROCESS_FUNCS += "eglibc_package_preprocess"
eglibc_package_preprocess () {
rm -rf ${PKGD}/${includedir}/eglibc-locale-internal-${MULTIMACH_TARGET_SYS}
+ rm -rf ${PKGD}/${includedir}/eglibc-scripts-internal-${MULTIMACH_TARGET_SYS}
+ for i in ${bashscripts}; do
+ rm -f ${PKGD}${bindir}/$i
+ done
rm -rf ${PKGD}/${localedir}
if [ "${libdir}" != "${exec_prefix}/lib" ]; then
# This dir only exists to hold locales
diff --git a/meta/recipes-core/eglibc/eglibc-scripts.inc b/meta/recipes-core/eglibc/eglibc-scripts.inc
new file mode 100644
index 0000000..a020961
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-scripts.inc
@@ -0,0 +1,17 @@
+include eglibc-collateral.inc
+
+SUMMARY = "utility scripts provided by eglibc"
+DESCRIPTION = "utility scripts provided by eglibc"
+RDEPENDS_${PN} = "bash"
+RDEPENDS_ldd = "bash"
+
+SRC = "${STAGING_INCDIR}/eglibc-scripts-internal-${MULTIMACH_TARGET_SYS}"
+
+bashscripts = "mtrace sotruss xtrace"
+
+do_install() {
+ install -d -m 0755 ${D}${bindir}
+ for i in ${bashscripts}; do
+ install -m 0755 ${SRC}/$i ${D}${bindir}/
+ done
+}
diff --git a/meta/recipes-core/eglibc/eglibc-scripts_2.16.bb b/meta/recipes-core/eglibc/eglibc-scripts_2.16.bb
new file mode 100644
index 0000000..3113362
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-scripts_2.16.bb
@@ -0,0 +1 @@
+require eglibc-scripts.inc
diff --git a/meta/recipes-core/eglibc/eglibc_2.16.bb b/meta/recipes-core/eglibc/eglibc_2.16.bb
index 72d134a..3a7ae50 100644
--- a/meta/recipes-core/eglibc/eglibc_2.16.bb
+++ b/meta/recipes-core/eglibc/eglibc_2.16.bb
@@ -3,7 +3,7 @@ require eglibc.inc
SRCREV = "20393"
DEPENDS += "gperf-native kconfig-frontends-native"
-PR = "r10"
+PR = "r11"
PR_append = "+svnr${SRCPV}"
EGLIBC_BRANCH="eglibc-2_16"
--
1.7.10.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v3] eglibc: Move perl- and bash-using scripts to separate recipes
2012-09-25 12:56 [PATCH v3] eglibc: Move perl- and bash-using scripts to separate recipes Phil Blundell
@ 2012-10-12 17:44 ` Saul Wold
2012-10-15 9:46 ` Phil Blundell
2012-10-24 16:00 ` Saul Wold
1 sibling, 1 reply; 9+ messages in thread
From: Saul Wold @ 2012-10-12 17:44 UTC (permalink / raw)
To: Phil Blundell; +Cc: openembedded-core
On 09/25/2012 05:56 AM, Phil Blundell wrote:
> This removes the dependency of eglibc.bb itself on perl and bash
> which, in turn, eliminates the need to build those two recipes if the
> scripts which need them are not going to be installed.
>
I think you missed dealing with an RPOVIDES someplace as I am getting
the following error during build:
> ERROR: Nothing RPROVIDES 'libc-mtrace' (but /intel/poky/distro/meta/recipes-core/packagegroups/packagegroup-core-tools-debug.bb RDEPENDS on or otherwise requires it)
> NOTE: Runtime target 'libc-mtrace' is unbuildable, removing...
> Missing or unbuildable dependency chain was: ['libc-mtrace']
> ERROR: Required build target 'packagegroup-core-tools-debug' has no buildable providers.
> Missing or unbuildable dependency chain was: ['packagegroup-core-tools-debug', 'libc-mtrace']
Thanks
Sau!
> Signed-off-by: Phil Blundell <pb@pbcl.net>
> ---
> v3: rebased on top of localedir changes
>
> meta/recipes-core/eglibc/eglibc-collateral.inc | 11 +++++++++
> meta/recipes-core/eglibc/eglibc-locale.inc | 11 +--------
> meta/recipes-core/eglibc/eglibc-mtrace.inc | 12 ++++++++++
> meta/recipes-core/eglibc/eglibc-mtrace_2.16.bb | 1 +
> meta/recipes-core/eglibc/eglibc-package.inc | 28 ++++++++++++++++++-----
> meta/recipes-core/eglibc/eglibc-scripts.inc | 17 ++++++++++++++
> meta/recipes-core/eglibc/eglibc-scripts_2.16.bb | 1 +
> meta/recipes-core/eglibc/eglibc_2.16.bb | 2 +-
> 8 files changed, 66 insertions(+), 17 deletions(-)
> create mode 100644 meta/recipes-core/eglibc/eglibc-collateral.inc
> create mode 100644 meta/recipes-core/eglibc/eglibc-mtrace.inc
> create mode 100644 meta/recipes-core/eglibc/eglibc-mtrace_2.16.bb
> create mode 100644 meta/recipes-core/eglibc/eglibc-scripts.inc
> create mode 100644 meta/recipes-core/eglibc/eglibc-scripts_2.16.bb
>
> diff --git a/meta/recipes-core/eglibc/eglibc-collateral.inc b/meta/recipes-core/eglibc/eglibc-collateral.inc
> new file mode 100644
> index 0000000..b770bb0
> --- /dev/null
> +++ b/meta/recipes-core/eglibc/eglibc-collateral.inc
> @@ -0,0 +1,11 @@
> +INHIBIT_DEFAULT_DEPS = "1"
> +LICENSE = "GPLv2 & LGPLv2.1"
> +
> +do_fetch[noexec] = "1"
> +do_unpack[noexec] = "1"
> +do_patch[noexec] = "1"
> +do_configure[noexec] = "1"
> +do_compile[noexec] = "1"
> +
> +do_install[depends] += "virtual/${MLPREFIX}libc:do_populate_sysroot"
> +
> diff --git a/meta/recipes-core/eglibc/eglibc-locale.inc b/meta/recipes-core/eglibc/eglibc-locale.inc
> index 105cf2e..16a357a 100644
> --- a/meta/recipes-core/eglibc/eglibc-locale.inc
> +++ b/meta/recipes-core/eglibc/eglibc-locale.inc
> @@ -1,15 +1,8 @@
> -INHIBIT_DEFAULT_DEPS = "1"
> -LICENSE = "GPLv2 & LGPLv2.1"
> +include eglibc-collateral.inc
>
> BPN = "eglibc"
> LOCALEBASEPN = "eglibc"
>
> -do_fetch[noexec] = "1"
> -do_unpack[noexec] = "1"
> -do_patch[noexec] = "1"
> -do_configure[noexec] = "1"
> -do_compile[noexec] = "1"
> -
> # Binary locales are generated at build time if ENABLE_BINARY_LOCALE_GENERATION
> # is set. The idea is to avoid running localedef on the target (at first boot)
> # to decrease initial boot time and avoid localedef being killed by the OOM
> @@ -90,6 +83,4 @@ do_install () {
>
> inherit libc-package
>
> -do_install[depends] += "virtual/${MLPREFIX}libc:do_populate_sysroot"
> -
> BBCLASSEXTEND = "nativesdk"
> diff --git a/meta/recipes-core/eglibc/eglibc-mtrace.inc b/meta/recipes-core/eglibc/eglibc-mtrace.inc
> new file mode 100644
> index 0000000..321de7b
> --- /dev/null
> +++ b/meta/recipes-core/eglibc/eglibc-mtrace.inc
> @@ -0,0 +1,12 @@
> +include eglibc-collateral.inc
> +
> +SUMMARY = "mtrace utility provided by eglibc"
> +DESCRIPTION = "mtrace utility provided by eglibc"
> +RDEPENDS_${PN} = "perl"
> +
> +SRC = "${STAGING_INCDIR}/eglibc-scripts-internal-${MULTIMACH_TARGET_SYS}"
> +
> +do_install() {
> + install -d -m 0755 ${D}${bindir}
> + install -m 0755 ${SRC}/mtrace ${D}${bindir}/
> +}
> diff --git a/meta/recipes-core/eglibc/eglibc-mtrace_2.16.bb b/meta/recipes-core/eglibc/eglibc-mtrace_2.16.bb
> new file mode 100644
> index 0000000..6fa2be9
> --- /dev/null
> +++ b/meta/recipes-core/eglibc/eglibc-mtrace_2.16.bb
> @@ -0,0 +1 @@
> +require eglibc-mtrace.inc
> diff --git a/meta/recipes-core/eglibc/eglibc-package.inc b/meta/recipes-core/eglibc/eglibc-package.inc
> index 0059bcf..6da9615 100644
> --- a/meta/recipes-core/eglibc/eglibc-package.inc
> +++ b/meta/recipes-core/eglibc/eglibc-package.inc
> @@ -17,7 +17,7 @@ python __anonymous () {
> # Set this to zero if you don't want ldconfig in the output package
> USE_LDCONFIG ?= "1"
>
> -PACKAGES = "${PN}-dbg catchsegv sln nscd ldd ${PN}-mtrace ${PN}-utils eglibc-thread-db ${PN}-pic libcidn libmemusage libsegfault ${PN}-pcprofile libsotruss ${PN} eglibc-extra-nss ${PN}-dev ${PN}-staticdev ${PN}-doc"
> +PACKAGES = "${PN}-dbg catchsegv sln nscd ldd ${PN}-utils eglibc-thread-db ${PN}-pic libcidn libmemusage libsegfault ${PN}-pcprofile libsotruss ${PN} eglibc-extra-nss ${PN}-dev ${PN}-staticdev ${PN}-doc"
>
> # The ld.so in this eglibc supports the GNU_HASH
> RPROVIDES_${PN} = "glibc rtld(GNU_HASH)"
> @@ -51,8 +51,6 @@ FILES_${PN}-utils = "${bindir}/* ${sbindir}/*"
> FILES_${PN}-dbg += "${libexecdir}/*/.debug ${libdir}/audit/.debug"
> FILES_catchsegv = "${bindir}/catchsegv"
> RDEPENDS_catchsegv = "libsegfault"
> -RDEPENDS_${PN}-utils += "bash"
> -RDEPENDS_${PN}-mtrace += "perl"
> FILES_${PN}-pcprofile = "${base_libdir}/libpcprofile.so"
> FILES_eglibc-thread-db = "${base_libdir}/libthread_db.so.* ${base_libdir}/libthread_db-*.so"
> RPROVIDES_${PN}-dev += "libc-dev"
> @@ -65,11 +63,9 @@ DESCRIPTION_nscd = "nscd, name service cache daemon, caches name service lookups
> SUMMARY_eglibc-extra-nss = "hesiod, NIS and NIS+ nss libraries"
> DESCRIPTION_eglibc-extra-nss = "eglibc: nis, nisplus and hesiod search services."
> 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."
> +DESCRIPTION_ldd = "${bindir}/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
> @@ -111,10 +107,30 @@ do_install_locale () {
>
> addtask do_install_locale after do_install before do_populate_sysroot do_package
>
> +bashscripts = "mtrace sotruss xtrace"
> +
> +do_evacuate_scripts () {
> + target=${D}${includedir}/eglibc-scripts-internal-${MULTIMACH_TARGET_SYS}
> + mkdir -p $target
> + for i in ${bashscripts}; do
> + cp ${D}${bindir}/$i $target/
> + done
> +}
> +
> +do_evacuate_scripts_pn-eglibc-initial () {
> + :
> +}
> +
> +addtask evacuate_scripts after do_install before do_populate_sysroot do_package
> +
> PACKAGE_PREPROCESS_FUNCS += "eglibc_package_preprocess"
>
> eglibc_package_preprocess () {
> rm -rf ${PKGD}/${includedir}/eglibc-locale-internal-${MULTIMACH_TARGET_SYS}
> + rm -rf ${PKGD}/${includedir}/eglibc-scripts-internal-${MULTIMACH_TARGET_SYS}
> + for i in ${bashscripts}; do
> + rm -f ${PKGD}${bindir}/$i
> + done
> rm -rf ${PKGD}/${localedir}
> if [ "${libdir}" != "${exec_prefix}/lib" ]; then
> # This dir only exists to hold locales
> diff --git a/meta/recipes-core/eglibc/eglibc-scripts.inc b/meta/recipes-core/eglibc/eglibc-scripts.inc
> new file mode 100644
> index 0000000..a020961
> --- /dev/null
> +++ b/meta/recipes-core/eglibc/eglibc-scripts.inc
> @@ -0,0 +1,17 @@
> +include eglibc-collateral.inc
> +
> +SUMMARY = "utility scripts provided by eglibc"
> +DESCRIPTION = "utility scripts provided by eglibc"
> +RDEPENDS_${PN} = "bash"
> +RDEPENDS_ldd = "bash"
> +
> +SRC = "${STAGING_INCDIR}/eglibc-scripts-internal-${MULTIMACH_TARGET_SYS}"
> +
> +bashscripts = "mtrace sotruss xtrace"
> +
> +do_install() {
> + install -d -m 0755 ${D}${bindir}
> + for i in ${bashscripts}; do
> + install -m 0755 ${SRC}/$i ${D}${bindir}/
> + done
> +}
> diff --git a/meta/recipes-core/eglibc/eglibc-scripts_2.16.bb b/meta/recipes-core/eglibc/eglibc-scripts_2.16.bb
> new file mode 100644
> index 0000000..3113362
> --- /dev/null
> +++ b/meta/recipes-core/eglibc/eglibc-scripts_2.16.bb
> @@ -0,0 +1 @@
> +require eglibc-scripts.inc
> diff --git a/meta/recipes-core/eglibc/eglibc_2.16.bb b/meta/recipes-core/eglibc/eglibc_2.16.bb
> index 72d134a..3a7ae50 100644
> --- a/meta/recipes-core/eglibc/eglibc_2.16.bb
> +++ b/meta/recipes-core/eglibc/eglibc_2.16.bb
> @@ -3,7 +3,7 @@ require eglibc.inc
> SRCREV = "20393"
>
> DEPENDS += "gperf-native kconfig-frontends-native"
> -PR = "r10"
> +PR = "r11"
> PR_append = "+svnr${SRCPV}"
>
> EGLIBC_BRANCH="eglibc-2_16"
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3] eglibc: Move perl- and bash-using scripts to separate recipes
2012-10-12 17:44 ` Saul Wold
@ 2012-10-15 9:46 ` Phil Blundell
2012-10-17 3:33 ` Saul Wold
0 siblings, 1 reply; 9+ messages in thread
From: Phil Blundell @ 2012-10-15 9:46 UTC (permalink / raw)
To: Saul Wold; +Cc: openembedded-core
[-- Attachment #1: Type: text/plain, Size: 997 bytes --]
On Fri, 2012-10-12 at 10:44 -0700, Saul Wold wrote:
> On 09/25/2012 05:56 AM, Phil Blundell wrote:
> > This removes the dependency of eglibc.bb itself on perl and bash
> > which, in turn, eliminates the need to build those two recipes if the
> > scripts which need them are not going to be installed.
> >
>
> I think you missed dealing with an RPOVIDES someplace as I am getting
> the following error during build:
>
> > ERROR: Nothing RPROVIDES 'libc-mtrace' (but /intel/poky/distro/meta/recipes-core/packagegroups/packagegroup-core-tools-debug.bb RDEPENDS on or otherwise requires it)
> > NOTE: Runtime target 'libc-mtrace' is unbuildable, removing...
> > Missing or unbuildable dependency chain was: ['libc-mtrace']
> > ERROR: Required build target 'packagegroup-core-tools-debug' has no buildable providers.
> > Missing or unbuildable dependency chain was: ['packagegroup-core-tools-debug', 'libc-mtrace']
Right, sorry about that. The attached fixes this for me.
p.
[-- Attachment #2: 0001-eglibc-mtrace-Add-libc-mtrace-to-PROVIDES.patch --]
[-- Type: text/x-patch, Size: 908 bytes --]
From 09acbe5c7b6c480400f7756f79cc13592416f4de Mon Sep 17 00:00:00 2001
From: Phil Blundell <philb@gnu.org>
Date: Mon, 15 Oct 2012 10:45:11 +0100
Subject: [PATCH] eglibc-mtrace: Add libc-mtrace to PROVIDES
Signed-off-by: Phil Blundell <pb@pbcl.net>
---
meta/recipes-core/eglibc/eglibc-mtrace.inc | 2 ++
1 file changed, 2 insertions(+)
diff --git a/meta/recipes-core/eglibc/eglibc-mtrace.inc b/meta/recipes-core/eglibc/eglibc-mtrace.inc
index 321de7b..1ec93ac 100644
--- a/meta/recipes-core/eglibc/eglibc-mtrace.inc
+++ b/meta/recipes-core/eglibc/eglibc-mtrace.inc
@@ -1,8 +1,10 @@
include eglibc-collateral.inc
+PR = "r1"
SUMMARY = "mtrace utility provided by eglibc"
DESCRIPTION = "mtrace utility provided by eglibc"
RDEPENDS_${PN} = "perl"
+RPROVIDES_${PN} = "libc-mtrace"
SRC = "${STAGING_INCDIR}/eglibc-scripts-internal-${MULTIMACH_TARGET_SYS}"
--
1.7.10.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v3] eglibc: Move perl- and bash-using scripts to separate recipes
2012-10-15 9:46 ` Phil Blundell
@ 2012-10-17 3:33 ` Saul Wold
2012-10-17 22:56 ` Phil Blundell
0 siblings, 1 reply; 9+ messages in thread
From: Saul Wold @ 2012-10-17 3:33 UTC (permalink / raw)
To: Phil Blundell; +Cc: openembedded-core
On 10/15/2012 02:46 AM, Phil Blundell wrote:
> On Fri, 2012-10-12 at 10:44 -0700, Saul Wold wrote:
>
> On 09/25/2012 05:56 AM, Phil Blundell wrote:
>>> This removes the dependency of eglibc.bb itself on perl and bash
>>> which, in turn, eliminates the need to build those two recipes if the
>>> scripts which need them are not going to be installed.
>>>
>>
>> I think you missed dealing with an RPOVIDES someplace as I am getting
>> the following error during build:
>>
>>> ERROR: Nothing RPROVIDES 'libc-mtrace' (but /intel/poky/distro/meta/recipes-core/packagegroups/packagegroup-core-tools-debug.bb RDEPENDS on or otherwise requires it)
>>> NOTE: Runtime target 'libc-mtrace' is unbuildable, removing...
>>> Missing or unbuildable dependency chain was: ['libc-mtrace']
>>> ERROR: Required build target 'packagegroup-core-tools-debug' has no buildable providers.
>>> Missing or unbuildable dependency chain was: ['packagegroup-core-tools-debug', 'libc-mtrace']
>
> Right, sorry about that. The attached fixes this for me.
>
Another edge case?
> ERROR: Function failed: do_evacuate_scripts (see /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-arm/build/build/tmp/work/i686-nativesdk-pokysdk-linux/nativesdk-eglibc-initial-2.16-r16+svnr20393/temp/log.do_evacuate_scripts.1600 for further information)
> ERROR: Logfile of failure stored in: /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-arm/build/build/tmp/work/i686-nativesdk-pokysdk-linux/nativesdk-eglibc-initial-2.16-r16+svnr20393/temp/log.do_evacuate_scripts.1600
> Log data follows:
> | DEBUG: SITE files ['endian-little', 'bit-32', 'ix86-common', 'common-linux', 'common-glibc', 'i686-linux', 'common']
> | DEBUG: Executing shell function do_evacuate_scripts
> | cp: cannot stat `/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-arm/build/build/tmp/work/i686-nativesdk-pokysdk-linux/nativesdk-eglibc-initial-2.16-r16+svnr20393/image/opt/poky/1.3+snapshot/sysroots/i686-pokysdk-linux/usr/bin/mtrace': No such file or directory
> | ERROR: Function failed: do_evacuate_scripts (see /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-arm/build/build/tmp/work/i686-nativesdk-pokysdk-linux/nativesdk-eglibc-initial-2.16-r16+svnr20393/temp/log.do_evacuate_scripts.1600 for further information)
> NOTE: recipe nativesdk-eglibc-initial-2.16-r16+svnr20393: task do_evacuate_scripts: Failed
> NOTE: recipe gupnp-av-0.8.0-r2: task do_compile: Started
> ERROR: Task 1593 (virtual:nativesdk:/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-arm/build/meta/recipes-core/eglibc/eglibc-initial_2.16.bb, do_evacuate_scripts) failed with exit code '1'
This was a build for the meta-toolchain-gmae, but I also saw this with
the multilib build.
Sau!
> p.
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3] eglibc: Move perl- and bash-using scripts to separate recipes
2012-10-17 3:33 ` Saul Wold
@ 2012-10-17 22:56 ` Phil Blundell
2012-10-18 9:59 ` Richard Purdie
0 siblings, 1 reply; 9+ messages in thread
From: Phil Blundell @ 2012-10-17 22:56 UTC (permalink / raw)
To: Saul Wold; +Cc: openembedded-core
On Tue, 2012-10-16 at 20:33 -0700, Saul Wold wrote:
> Another edge case?
> > ERROR: Function failed: do_evacuate_scripts (see /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-arm/build/build/tmp/work/i686-nativesdk-pokysdk-linux/nativesdk-eglibc-initial-2.16-r16+svnr20393/temp/log.do_evacuate_scripts.1600 for further information)
> > ERROR: Logfile of failure stored in: /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-arm/build/build/tmp/work/i686-nativesdk-pokysdk-linux/nativesdk-eglibc-initial-2.16-r16+svnr20393/temp/log.do_evacuate_scripts.1600
> > Log data follows:
> > | DEBUG: SITE files ['endian-little', 'bit-32', 'ix86-common', 'common-linux', 'common-glibc', 'i686-linux', 'common']
> > | DEBUG: Executing shell function do_evacuate_scripts
> > | cp: cannot stat `/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-arm/build/build/tmp/work/i686-nativesdk-pokysdk-linux/nativesdk-eglibc-initial-2.16-r16+svnr20393/image/opt/poky/1.3+snapshot/sysroots/i686-pokysdk-linux/usr/bin/mtrace': No such file or directory
> > | ERROR: Function failed: do_evacuate_scripts (see /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-arm/build/build/tmp/work/i686-nativesdk-pokysdk-linux/nativesdk-eglibc-initial-2.16-r16+svnr20393/temp/log.do_evacuate_scripts.1600 for further information)
> > NOTE: recipe nativesdk-eglibc-initial-2.16-r16+svnr20393: task do_evacuate_scripts: Failed
> > NOTE: recipe gupnp-av-0.8.0-r2: task do_compile: Started
> > ERROR: Task 1593 (virtual:nativesdk:/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-arm/build/meta/recipes-core/eglibc/eglibc-initial_2.16.bb, do_evacuate_scripts) failed with exit code '1'
>
> This was a build for the meta-toolchain-gmae, but I also saw this with
> the multilib build.
The issue with meta-toolchain-gmae is that eglibc-package.inc needs to
declare an empty do_evacuate_scripts_pn-nativesdk-eglibc-initial(), like
it does for pn-eglibc-initial. Something along the lines of:
--- a/meta/recipes-core/eglibc/eglibc-package.inc
+++ b/meta/recipes-core/eglibc/eglibc-package.inc
@@ -121,6 +121,10 @@ do_evacuate_scripts_pn-eglibc-initial () {
:
}
+do_evacuate_scripts_pn-nativesdk-eglibc-initial () {
+ :
+}
+
addtask evacuate_scripts after do_install before do_populate_sysroot do_package
PACKAGE_PREPROCESS_FUNCS += "eglibc_package_preprocess"
Do you have an easy way to reproduce the multilib failure?
p.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3] eglibc: Move perl- and bash-using scripts to separate recipes
2012-10-17 22:56 ` Phil Blundell
@ 2012-10-18 9:59 ` Richard Purdie
2012-10-18 10:02 ` Phil Blundell
0 siblings, 1 reply; 9+ messages in thread
From: Richard Purdie @ 2012-10-18 9:59 UTC (permalink / raw)
To: Phil Blundell; +Cc: openembedded-core
On Wed, 2012-10-17 at 23:56 +0100, Phil Blundell wrote:
> On Tue, 2012-10-16 at 20:33 -0700, Saul Wold wrote:
> > Another edge case?
> > > ERROR: Function failed: do_evacuate_scripts (see /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-arm/build/build/tmp/work/i686-nativesdk-pokysdk-linux/nativesdk-eglibc-initial-2.16-r16+svnr20393/temp/log.do_evacuate_scripts.1600 for further information)
> > > ERROR: Logfile of failure stored in: /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-arm/build/build/tmp/work/i686-nativesdk-pokysdk-linux/nativesdk-eglibc-initial-2.16-r16+svnr20393/temp/log.do_evacuate_scripts.1600
> > > Log data follows:
> > > | DEBUG: SITE files ['endian-little', 'bit-32', 'ix86-common', 'common-linux', 'common-glibc', 'i686-linux', 'common']
> > > | DEBUG: Executing shell function do_evacuate_scripts
> > > | cp: cannot stat `/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-arm/build/build/tmp/work/i686-nativesdk-pokysdk-linux/nativesdk-eglibc-initial-2.16-r16+svnr20393/image/opt/poky/1.3+snapshot/sysroots/i686-pokysdk-linux/usr/bin/mtrace': No such file or directory
> > > | ERROR: Function failed: do_evacuate_scripts (see /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-arm/build/build/tmp/work/i686-nativesdk-pokysdk-linux/nativesdk-eglibc-initial-2.16-r16+svnr20393/temp/log.do_evacuate_scripts.1600 for further information)
> > > NOTE: recipe nativesdk-eglibc-initial-2.16-r16+svnr20393: task do_evacuate_scripts: Failed
> > > NOTE: recipe gupnp-av-0.8.0-r2: task do_compile: Started
> > > ERROR: Task 1593 (virtual:nativesdk:/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-arm/build/meta/recipes-core/eglibc/eglibc-initial_2.16.bb, do_evacuate_scripts) failed with exit code '1'
> >
> > This was a build for the meta-toolchain-gmae, but I also saw this with
> > the multilib build.
>
> The issue with meta-toolchain-gmae is that eglibc-package.inc needs to
> declare an empty do_evacuate_scripts_pn-nativesdk-eglibc-initial(), like
> it does for pn-eglibc-initial. Something along the lines of:
>
> --- a/meta/recipes-core/eglibc/eglibc-package.inc
> +++ b/meta/recipes-core/eglibc/eglibc-package.inc
> @@ -121,6 +121,10 @@ do_evacuate_scripts_pn-eglibc-initial () {
> :
> }
>
> +do_evacuate_scripts_pn-nativesdk-eglibc-initial () {
> + :
> +}
> +
> addtask evacuate_scripts after do_install before do_populate_sysroot do_package
>
> PACKAGE_PREPROCESS_FUNCS += "eglibc_package_preprocess"
>
> Do you have an easy way to reproduce the multilib failure?
Its basically the same problem, the mulitlib libc-initial needs to be
set too. The reproducer would be something like:
local.conf:
MACHINE = qemux86
require conf/multilib.conf
MULTILIBS = "multilib:lib32"
DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
baselib_virtclass-multilib-lib32 = "lib32"
$ bitbake eglibc
The easiest solution is probably to change the do_evacuate_scripts
function to check for "-initial" in PN.
Cheers,
Richard
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3] eglibc: Move perl- and bash-using scripts to separate recipes
2012-10-18 9:59 ` Richard Purdie
@ 2012-10-18 10:02 ` Phil Blundell
2012-10-18 22:15 ` Phil Blundell
0 siblings, 1 reply; 9+ messages in thread
From: Phil Blundell @ 2012-10-18 10:02 UTC (permalink / raw)
To: Richard Purdie; +Cc: openembedded-core
On Thu, 2012-10-18 at 10:59 +0100, Richard Purdie wrote:
> Its basically the same problem, the mulitlib libc-initial needs to be
> set too. The reproducer would be something like:
>
> local.conf:
> MACHINE = qemux86
> require conf/multilib.conf
> MULTILIBS = "multilib:lib32"
> DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
> baselib_virtclass-multilib-lib32 = "lib32"
>
> $ bitbake eglibc
>
> The easiest solution is probably to change the do_evacuate_scripts
> function to check for "-initial" in PN.
Ah, right, got it. Maybe it would be better to declare a dummy
do_evacuate_scripts() in eglibc-initial.inc instead. I'll give that a
try and see what happens.
p.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3] eglibc: Move perl- and bash-using scripts to separate recipes
2012-10-18 10:02 ` Phil Blundell
@ 2012-10-18 22:15 ` Phil Blundell
0 siblings, 0 replies; 9+ messages in thread
From: Phil Blundell @ 2012-10-18 22:15 UTC (permalink / raw)
To: Richard Purdie; +Cc: openembedded-core
[-- Attachment #1: Type: text/plain, Size: 318 bytes --]
On Thu, 2012-10-18 at 11:02 +0100, Phil Blundell wrote:
> Ah, right, got it. Maybe it would be better to declare a dummy
> do_evacuate_scripts() in eglibc-initial.inc instead. I'll give that a
> try and see what happens.
That seems to work ok in at least the meta-toolchain-gmae case. See
attached.
p.
[-- Attachment #2: 0001-eglibc-Provide-dummy-do_evacuate_scripts-for-all-var.patch --]
[-- Type: text/x-patch, Size: 2199 bytes --]
From 9a58ce3a332a06d022a4473dd061c52f4540a540 Mon Sep 17 00:00:00 2001
From: Phil Blundell <philb@gnu.org>
Date: Thu, 18 Oct 2012 14:12:25 +0100
Subject: [PATCH] eglibc: Provide dummy do_evacuate_scripts() for all variants
of eglibc-initial
Otherwise the nativesdk and multilib variants might crash trying to
copy a non-existent mtrace script.
Signed-off-by: Phil Blundell <pb@pbcl.net>
---
meta/recipes-core/eglibc/eglibc-initial.inc | 5 +++++
meta/recipes-core/eglibc/eglibc-package.inc | 8 --------
meta/recipes-core/eglibc/eglibc_2.16.bb | 2 +-
3 files changed, 6 insertions(+), 9 deletions(-)
diff --git a/meta/recipes-core/eglibc/eglibc-initial.inc b/meta/recipes-core/eglibc/eglibc-initial.inc
index f44db0c..1520efd 100644
--- a/meta/recipes-core/eglibc/eglibc-initial.inc
+++ b/meta/recipes-core/eglibc/eglibc-initial.inc
@@ -73,3 +73,8 @@ eglibcinitial_sstate_postinst() {
}
do_populate_sysroot[sstate-outputdirs] = "${STAGING_DIR_TCBOOTSTRAP}"
+
+# We don't install any scripts so there is nothing to evacuate
+do_evacuate_scripts () {
+ :
+}
diff --git a/meta/recipes-core/eglibc/eglibc-package.inc b/meta/recipes-core/eglibc/eglibc-package.inc
index 58dd898..79c43f1 100644
--- a/meta/recipes-core/eglibc/eglibc-package.inc
+++ b/meta/recipes-core/eglibc/eglibc-package.inc
@@ -117,14 +117,6 @@ do_evacuate_scripts () {
done
}
-do_evacuate_scripts_pn-eglibc-initial () {
- :
-}
-
-do_evacuate_scripts_pn-nativesdk-eglibc-initial () {
- :
-}
-
addtask evacuate_scripts after do_install before do_populate_sysroot do_package
PACKAGE_PREPROCESS_FUNCS += "eglibc_package_preprocess"
diff --git a/meta/recipes-core/eglibc/eglibc_2.16.bb b/meta/recipes-core/eglibc/eglibc_2.16.bb
index 56a0a38..4d80ff4 100644
--- a/meta/recipes-core/eglibc/eglibc_2.16.bb
+++ b/meta/recipes-core/eglibc/eglibc_2.16.bb
@@ -1,7 +1,7 @@
require eglibc.inc
DEPENDS += "gperf-native kconfig-frontends-native"
-PR = "r17"
+PR = "r18"
SRC_URI = "http://downloads.yoctoproject.org/releases/eglibc/eglibc-${PV}-svnr21224.tar.bz2 \
file://eglibc-svn-arm-lowlevellock-include-tls.patch \
--
1.7.10.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v3] eglibc: Move perl- and bash-using scripts to separate recipes
2012-09-25 12:56 [PATCH v3] eglibc: Move perl- and bash-using scripts to separate recipes Phil Blundell
2012-10-12 17:44 ` Saul Wold
@ 2012-10-24 16:00 ` Saul Wold
1 sibling, 0 replies; 9+ messages in thread
From: Saul Wold @ 2012-10-24 16:00 UTC (permalink / raw)
To: Phil Blundell; +Cc: openembedded-core
On 09/25/2012 05:56 AM, Phil Blundell wrote:
> This removes the dependency of eglibc.bb itself on perl and bash
> which, in turn, eliminates the need to build those two recipes if the
> scripts which need them are not going to be installed.
>
> Signed-off-by: Phil Blundell <pb@pbcl.net>
> ---
> v3: rebased on top of localedir changes
>
> meta/recipes-core/eglibc/eglibc-collateral.inc | 11 +++++++++
> meta/recipes-core/eglibc/eglibc-locale.inc | 11 +--------
> meta/recipes-core/eglibc/eglibc-mtrace.inc | 12 ++++++++++
> meta/recipes-core/eglibc/eglibc-mtrace_2.16.bb | 1 +
> meta/recipes-core/eglibc/eglibc-package.inc | 28 ++++++++++++++++++-----
> meta/recipes-core/eglibc/eglibc-scripts.inc | 17 ++++++++++++++
> meta/recipes-core/eglibc/eglibc-scripts_2.16.bb | 1 +
> meta/recipes-core/eglibc/eglibc_2.16.bb | 2 +-
> 8 files changed, 66 insertions(+), 17 deletions(-)
> create mode 100644 meta/recipes-core/eglibc/eglibc-collateral.inc
> create mode 100644 meta/recipes-core/eglibc/eglibc-mtrace.inc
> create mode 100644 meta/recipes-core/eglibc/eglibc-mtrace_2.16.bb
> create mode 100644 meta/recipes-core/eglibc/eglibc-scripts.inc
> create mode 100644 meta/recipes-core/eglibc/eglibc-scripts_2.16.bb
>
Merged the updated version of this to OE-Core
Thanks
Sau!
> diff --git a/meta/recipes-core/eglibc/eglibc-collateral.inc b/meta/recipes-core/eglibc/eglibc-collateral.inc
> new file mode 100644
> index 0000000..b770bb0
> --- /dev/null
> +++ b/meta/recipes-core/eglibc/eglibc-collateral.inc
> @@ -0,0 +1,11 @@
> +INHIBIT_DEFAULT_DEPS = "1"
> +LICENSE = "GPLv2 & LGPLv2.1"
> +
> +do_fetch[noexec] = "1"
> +do_unpack[noexec] = "1"
> +do_patch[noexec] = "1"
> +do_configure[noexec] = "1"
> +do_compile[noexec] = "1"
> +
> +do_install[depends] += "virtual/${MLPREFIX}libc:do_populate_sysroot"
> +
> diff --git a/meta/recipes-core/eglibc/eglibc-locale.inc b/meta/recipes-core/eglibc/eglibc-locale.inc
> index 105cf2e..16a357a 100644
> --- a/meta/recipes-core/eglibc/eglibc-locale.inc
> +++ b/meta/recipes-core/eglibc/eglibc-locale.inc
> @@ -1,15 +1,8 @@
> -INHIBIT_DEFAULT_DEPS = "1"
> -LICENSE = "GPLv2 & LGPLv2.1"
> +include eglibc-collateral.inc
>
> BPN = "eglibc"
> LOCALEBASEPN = "eglibc"
>
> -do_fetch[noexec] = "1"
> -do_unpack[noexec] = "1"
> -do_patch[noexec] = "1"
> -do_configure[noexec] = "1"
> -do_compile[noexec] = "1"
> -
> # Binary locales are generated at build time if ENABLE_BINARY_LOCALE_GENERATION
> # is set. The idea is to avoid running localedef on the target (at first boot)
> # to decrease initial boot time and avoid localedef being killed by the OOM
> @@ -90,6 +83,4 @@ do_install () {
>
> inherit libc-package
>
> -do_install[depends] += "virtual/${MLPREFIX}libc:do_populate_sysroot"
> -
> BBCLASSEXTEND = "nativesdk"
> diff --git a/meta/recipes-core/eglibc/eglibc-mtrace.inc b/meta/recipes-core/eglibc/eglibc-mtrace.inc
> new file mode 100644
> index 0000000..321de7b
> --- /dev/null
> +++ b/meta/recipes-core/eglibc/eglibc-mtrace.inc
> @@ -0,0 +1,12 @@
> +include eglibc-collateral.inc
> +
> +SUMMARY = "mtrace utility provided by eglibc"
> +DESCRIPTION = "mtrace utility provided by eglibc"
> +RDEPENDS_${PN} = "perl"
> +
> +SRC = "${STAGING_INCDIR}/eglibc-scripts-internal-${MULTIMACH_TARGET_SYS}"
> +
> +do_install() {
> + install -d -m 0755 ${D}${bindir}
> + install -m 0755 ${SRC}/mtrace ${D}${bindir}/
> +}
> diff --git a/meta/recipes-core/eglibc/eglibc-mtrace_2.16.bb b/meta/recipes-core/eglibc/eglibc-mtrace_2.16.bb
> new file mode 100644
> index 0000000..6fa2be9
> --- /dev/null
> +++ b/meta/recipes-core/eglibc/eglibc-mtrace_2.16.bb
> @@ -0,0 +1 @@
> +require eglibc-mtrace.inc
> diff --git a/meta/recipes-core/eglibc/eglibc-package.inc b/meta/recipes-core/eglibc/eglibc-package.inc
> index 0059bcf..6da9615 100644
> --- a/meta/recipes-core/eglibc/eglibc-package.inc
> +++ b/meta/recipes-core/eglibc/eglibc-package.inc
> @@ -17,7 +17,7 @@ python __anonymous () {
> # Set this to zero if you don't want ldconfig in the output package
> USE_LDCONFIG ?= "1"
>
> -PACKAGES = "${PN}-dbg catchsegv sln nscd ldd ${PN}-mtrace ${PN}-utils eglibc-thread-db ${PN}-pic libcidn libmemusage libsegfault ${PN}-pcprofile libsotruss ${PN} eglibc-extra-nss ${PN}-dev ${PN}-staticdev ${PN}-doc"
> +PACKAGES = "${PN}-dbg catchsegv sln nscd ldd ${PN}-utils eglibc-thread-db ${PN}-pic libcidn libmemusage libsegfault ${PN}-pcprofile libsotruss ${PN} eglibc-extra-nss ${PN}-dev ${PN}-staticdev ${PN}-doc"
>
> # The ld.so in this eglibc supports the GNU_HASH
> RPROVIDES_${PN} = "glibc rtld(GNU_HASH)"
> @@ -51,8 +51,6 @@ FILES_${PN}-utils = "${bindir}/* ${sbindir}/*"
> FILES_${PN}-dbg += "${libexecdir}/*/.debug ${libdir}/audit/.debug"
> FILES_catchsegv = "${bindir}/catchsegv"
> RDEPENDS_catchsegv = "libsegfault"
> -RDEPENDS_${PN}-utils += "bash"
> -RDEPENDS_${PN}-mtrace += "perl"
> FILES_${PN}-pcprofile = "${base_libdir}/libpcprofile.so"
> FILES_eglibc-thread-db = "${base_libdir}/libthread_db.so.* ${base_libdir}/libthread_db-*.so"
> RPROVIDES_${PN}-dev += "libc-dev"
> @@ -65,11 +63,9 @@ DESCRIPTION_nscd = "nscd, name service cache daemon, caches name service lookups
> SUMMARY_eglibc-extra-nss = "hesiod, NIS and NIS+ nss libraries"
> DESCRIPTION_eglibc-extra-nss = "eglibc: nis, nisplus and hesiod search services."
> 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."
> +DESCRIPTION_ldd = "${bindir}/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
> @@ -111,10 +107,30 @@ do_install_locale () {
>
> addtask do_install_locale after do_install before do_populate_sysroot do_package
>
> +bashscripts = "mtrace sotruss xtrace"
> +
> +do_evacuate_scripts () {
> + target=${D}${includedir}/eglibc-scripts-internal-${MULTIMACH_TARGET_SYS}
> + mkdir -p $target
> + for i in ${bashscripts}; do
> + cp ${D}${bindir}/$i $target/
> + done
> +}
> +
> +do_evacuate_scripts_pn-eglibc-initial () {
> + :
> +}
> +
> +addtask evacuate_scripts after do_install before do_populate_sysroot do_package
> +
> PACKAGE_PREPROCESS_FUNCS += "eglibc_package_preprocess"
>
> eglibc_package_preprocess () {
> rm -rf ${PKGD}/${includedir}/eglibc-locale-internal-${MULTIMACH_TARGET_SYS}
> + rm -rf ${PKGD}/${includedir}/eglibc-scripts-internal-${MULTIMACH_TARGET_SYS}
> + for i in ${bashscripts}; do
> + rm -f ${PKGD}${bindir}/$i
> + done
> rm -rf ${PKGD}/${localedir}
> if [ "${libdir}" != "${exec_prefix}/lib" ]; then
> # This dir only exists to hold locales
> diff --git a/meta/recipes-core/eglibc/eglibc-scripts.inc b/meta/recipes-core/eglibc/eglibc-scripts.inc
> new file mode 100644
> index 0000000..a020961
> --- /dev/null
> +++ b/meta/recipes-core/eglibc/eglibc-scripts.inc
> @@ -0,0 +1,17 @@
> +include eglibc-collateral.inc
> +
> +SUMMARY = "utility scripts provided by eglibc"
> +DESCRIPTION = "utility scripts provided by eglibc"
> +RDEPENDS_${PN} = "bash"
> +RDEPENDS_ldd = "bash"
> +
> +SRC = "${STAGING_INCDIR}/eglibc-scripts-internal-${MULTIMACH_TARGET_SYS}"
> +
> +bashscripts = "mtrace sotruss xtrace"
> +
> +do_install() {
> + install -d -m 0755 ${D}${bindir}
> + for i in ${bashscripts}; do
> + install -m 0755 ${SRC}/$i ${D}${bindir}/
> + done
> +}
> diff --git a/meta/recipes-core/eglibc/eglibc-scripts_2.16.bb b/meta/recipes-core/eglibc/eglibc-scripts_2.16.bb
> new file mode 100644
> index 0000000..3113362
> --- /dev/null
> +++ b/meta/recipes-core/eglibc/eglibc-scripts_2.16.bb
> @@ -0,0 +1 @@
> +require eglibc-scripts.inc
> diff --git a/meta/recipes-core/eglibc/eglibc_2.16.bb b/meta/recipes-core/eglibc/eglibc_2.16.bb
> index 72d134a..3a7ae50 100644
> --- a/meta/recipes-core/eglibc/eglibc_2.16.bb
> +++ b/meta/recipes-core/eglibc/eglibc_2.16.bb
> @@ -3,7 +3,7 @@ require eglibc.inc
> SRCREV = "20393"
>
> DEPENDS += "gperf-native kconfig-frontends-native"
> -PR = "r10"
> +PR = "r11"
> PR_append = "+svnr${SRCPV}"
>
> EGLIBC_BRANCH="eglibc-2_16"
>
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2012-10-24 16:13 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-25 12:56 [PATCH v3] eglibc: Move perl- and bash-using scripts to separate recipes Phil Blundell
2012-10-12 17:44 ` Saul Wold
2012-10-15 9:46 ` Phil Blundell
2012-10-17 3:33 ` Saul Wold
2012-10-17 22:56 ` Phil Blundell
2012-10-18 9:59 ` Richard Purdie
2012-10-18 10:02 ` Phil Blundell
2012-10-18 22:15 ` Phil Blundell
2012-10-24 16:00 ` Saul Wold
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox