summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/eglibc
diff options
context:
space:
mode:
authorPhil Blundell <philb@gnu.org>2012-09-25 13:56:41 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-10-22 14:59:29 +0100
commit59e3a13604fbf28ed89031e7f107c193b238d7fd (patch)
treee20f589ded9ba3484209ae6b5d10b5ac90363be5 /meta/recipes-core/eglibc
parent92b44ec00ed33b72ecf50cd272cc929fac1251dc (diff)
downloadpoky-59e3a13604fbf28ed89031e7f107c193b238d7fd.tar.gz
eglibc: Move perl- and bash-using scripts to separate recipes
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. Also 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. (From OE-Core rev: 74b5f8943b2b29c7b3b62be7d81fb2b3a86b9584) Signed-off-by: Phil Blundell <pb@pbcl.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core/eglibc')
-rw-r--r--meta/recipes-core/eglibc/eglibc-collateral.inc11
-rw-r--r--meta/recipes-core/eglibc/eglibc-initial.inc5
-rw-r--r--meta/recipes-core/eglibc/eglibc-locale.inc11
-rw-r--r--meta/recipes-core/eglibc/eglibc-mtrace.inc14
-rw-r--r--meta/recipes-core/eglibc/eglibc-mtrace_2.16.bb1
-rw-r--r--meta/recipes-core/eglibc/eglibc-package.inc24
-rw-r--r--meta/recipes-core/eglibc/eglibc-scripts.inc17
-rw-r--r--meta/recipes-core/eglibc/eglibc-scripts_2.16.bb1
-rw-r--r--meta/recipes-core/eglibc/eglibc_2.16.bb2
9 files changed, 69 insertions, 17 deletions
diff --git a/meta/recipes-core/eglibc/eglibc-collateral.inc b/meta/recipes-core/eglibc/eglibc-collateral.inc
new file mode 100644
index 0000000000..b770bb0a28
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-collateral.inc
@@ -0,0 +1,11 @@
1INHIBIT_DEFAULT_DEPS = "1"
2LICENSE = "GPLv2 & LGPLv2.1"
3
4do_fetch[noexec] = "1"
5do_unpack[noexec] = "1"
6do_patch[noexec] = "1"
7do_configure[noexec] = "1"
8do_compile[noexec] = "1"
9
10do_install[depends] += "virtual/${MLPREFIX}libc:do_populate_sysroot"
11
diff --git a/meta/recipes-core/eglibc/eglibc-initial.inc b/meta/recipes-core/eglibc/eglibc-initial.inc
index f44db0c00e..1520efd718 100644
--- a/meta/recipes-core/eglibc/eglibc-initial.inc
+++ b/meta/recipes-core/eglibc/eglibc-initial.inc
@@ -73,3 +73,8 @@ eglibcinitial_sstate_postinst() {
73} 73}
74 74
75do_populate_sysroot[sstate-outputdirs] = "${STAGING_DIR_TCBOOTSTRAP}" 75do_populate_sysroot[sstate-outputdirs] = "${STAGING_DIR_TCBOOTSTRAP}"
76
77# We don't install any scripts so there is nothing to evacuate
78do_evacuate_scripts () {
79 :
80}
diff --git a/meta/recipes-core/eglibc/eglibc-locale.inc b/meta/recipes-core/eglibc/eglibc-locale.inc
index 16ace66502..0381e2630a 100644
--- a/meta/recipes-core/eglibc/eglibc-locale.inc
+++ b/meta/recipes-core/eglibc/eglibc-locale.inc
@@ -1,15 +1,8 @@
1INHIBIT_DEFAULT_DEPS = "1" 1include eglibc-collateral.inc
2LICENSE = "GPLv2 & LGPLv2.1"
3 2
4BPN = "eglibc" 3BPN = "eglibc"
5LOCALEBASEPN = "eglibc" 4LOCALEBASEPN = "eglibc"
6 5
7do_fetch[noexec] = "1"
8do_unpack[noexec] = "1"
9do_patch[noexec] = "1"
10do_configure[noexec] = "1"
11do_compile[noexec] = "1"
12
13# Binary locales are generated at build time if ENABLE_BINARY_LOCALE_GENERATION 6# Binary locales are generated at build time if ENABLE_BINARY_LOCALE_GENERATION
14# is set. The idea is to avoid running localedef on the target (at first boot) 7# is set. The idea is to avoid running localedef on the target (at first boot)
15# to decrease initial boot time and avoid localedef being killed by the OOM 8# to decrease initial boot time and avoid localedef being killed by the OOM
@@ -90,6 +83,4 @@ do_install () {
90 83
91inherit libc-package 84inherit libc-package
92 85
93do_install[depends] += "virtual/${MLPREFIX}libc:do_populate_sysroot"
94
95BBCLASSEXTEND = "nativesdk" 86BBCLASSEXTEND = "nativesdk"
diff --git a/meta/recipes-core/eglibc/eglibc-mtrace.inc b/meta/recipes-core/eglibc/eglibc-mtrace.inc
new file mode 100644
index 0000000000..1ec93ac19b
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-mtrace.inc
@@ -0,0 +1,14 @@
1include eglibc-collateral.inc
2
3PR = "r1"
4SUMMARY = "mtrace utility provided by eglibc"
5DESCRIPTION = "mtrace utility provided by eglibc"
6RDEPENDS_${PN} = "perl"
7RPROVIDES_${PN} = "libc-mtrace"
8
9SRC = "${STAGING_INCDIR}/eglibc-scripts-internal-${MULTIMACH_TARGET_SYS}"
10
11do_install() {
12 install -d -m 0755 ${D}${bindir}
13 install -m 0755 ${SRC}/mtrace ${D}${bindir}/
14}
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 0000000000..6fa2be9cc9
--- /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 0059bcfc1c..79c43f15be 100644
--- a/meta/recipes-core/eglibc/eglibc-package.inc
+++ b/meta/recipes-core/eglibc/eglibc-package.inc
@@ -17,7 +17,7 @@ python __anonymous () {
17# Set this to zero if you don't want ldconfig in the output package 17# Set this to zero if you don't want ldconfig in the output package
18USE_LDCONFIG ?= "1" 18USE_LDCONFIG ?= "1"
19 19
20PACKAGES = "${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" 20PACKAGES = "${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"
21 21
22# The ld.so in this eglibc supports the GNU_HASH 22# The ld.so in this eglibc supports the GNU_HASH
23RPROVIDES_${PN} = "glibc rtld(GNU_HASH)" 23RPROVIDES_${PN} = "glibc rtld(GNU_HASH)"
@@ -51,8 +51,6 @@ FILES_${PN}-utils = "${bindir}/* ${sbindir}/*"
51FILES_${PN}-dbg += "${libexecdir}/*/.debug ${libdir}/audit/.debug" 51FILES_${PN}-dbg += "${libexecdir}/*/.debug ${libdir}/audit/.debug"
52FILES_catchsegv = "${bindir}/catchsegv" 52FILES_catchsegv = "${bindir}/catchsegv"
53RDEPENDS_catchsegv = "libsegfault" 53RDEPENDS_catchsegv = "libsegfault"
54RDEPENDS_${PN}-utils += "bash"
55RDEPENDS_${PN}-mtrace += "perl"
56FILES_${PN}-pcprofile = "${base_libdir}/libpcprofile.so" 54FILES_${PN}-pcprofile = "${base_libdir}/libpcprofile.so"
57FILES_eglibc-thread-db = "${base_libdir}/libthread_db.so.* ${base_libdir}/libthread_db-*.so" 55FILES_eglibc-thread-db = "${base_libdir}/libthread_db.so.* ${base_libdir}/libthread_db-*.so"
58RPROVIDES_${PN}-dev += "libc-dev" 56RPROVIDES_${PN}-dev += "libc-dev"
@@ -65,11 +63,9 @@ DESCRIPTION_nscd = "nscd, name service cache daemon, caches name service lookups
65SUMMARY_eglibc-extra-nss = "hesiod, NIS and NIS+ nss libraries" 63SUMMARY_eglibc-extra-nss = "hesiod, NIS and NIS+ nss libraries"
66DESCRIPTION_eglibc-extra-nss = "eglibc: nis, nisplus and hesiod search services." 64DESCRIPTION_eglibc-extra-nss = "eglibc: nis, nisplus and hesiod search services."
67SUMMARY_ldd = "print shared library dependencies" 65SUMMARY_ldd = "print shared library dependencies"
68DESCRIPTION_ldd = "/usr/bin/ldd prints shared library dependencies for each program or shared library specified on the command line." 66DESCRIPTION_ldd = "${bindir}/ldd prints shared library dependencies for each program or shared library specified on the command line."
69SUMMARY_${PN}-utils = "Miscellaneous utilities provided by eglibc" 67SUMMARY_${PN}-utils = "Miscellaneous utilities provided by eglibc"
70DESCRIPTION_${PN}-utils = "Miscellaneous utilities including getconf, iconf, locale, gencat, tzselect, zic, rpcinfo, ..." 68DESCRIPTION_${PN}-utils = "Miscellaneous utilities including getconf, iconf, locale, gencat, tzselect, zic, rpcinfo, ..."
71SUMMARY_${PN}-mtrace = "mtrace utility provided by eglibc"
72DESCRIPTION_${PN}-mtrace = "mtrace utility provided by eglibc"
73DESCRIPTION_libsotruss = "Library to support sotruss which traces calls through PLTs" 69DESCRIPTION_libsotruss = "Library to support sotruss which traces calls through PLTs"
74 70
75inherit libc-common multilib_header 71inherit libc-common multilib_header
@@ -111,10 +107,26 @@ do_install_locale () {
111 107
112addtask do_install_locale after do_install before do_populate_sysroot do_package 108addtask do_install_locale after do_install before do_populate_sysroot do_package
113 109
110bashscripts = "mtrace sotruss xtrace"
111
112do_evacuate_scripts () {
113 target=${D}${includedir}/eglibc-scripts-internal-${MULTIMACH_TARGET_SYS}
114 mkdir -p $target
115 for i in ${bashscripts}; do
116 cp ${D}${bindir}/$i $target/
117 done
118}
119
120addtask evacuate_scripts after do_install before do_populate_sysroot do_package
121
114PACKAGE_PREPROCESS_FUNCS += "eglibc_package_preprocess" 122PACKAGE_PREPROCESS_FUNCS += "eglibc_package_preprocess"
115 123
116eglibc_package_preprocess () { 124eglibc_package_preprocess () {
117 rm -rf ${PKGD}/${includedir}/eglibc-locale-internal-${MULTIMACH_TARGET_SYS} 125 rm -rf ${PKGD}/${includedir}/eglibc-locale-internal-${MULTIMACH_TARGET_SYS}
126 rm -rf ${PKGD}/${includedir}/eglibc-scripts-internal-${MULTIMACH_TARGET_SYS}
127 for i in ${bashscripts}; do
128 rm -f ${PKGD}${bindir}/$i
129 done
118 rm -rf ${PKGD}/${localedir} 130 rm -rf ${PKGD}/${localedir}
119 if [ "${libdir}" != "${exec_prefix}/lib" ]; then 131 if [ "${libdir}" != "${exec_prefix}/lib" ]; then
120 # This dir only exists to hold locales 132 # 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 0000000000..a020961f7f
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-scripts.inc
@@ -0,0 +1,17 @@
1include eglibc-collateral.inc
2
3SUMMARY = "utility scripts provided by eglibc"
4DESCRIPTION = "utility scripts provided by eglibc"
5RDEPENDS_${PN} = "bash"
6RDEPENDS_ldd = "bash"
7
8SRC = "${STAGING_INCDIR}/eglibc-scripts-internal-${MULTIMACH_TARGET_SYS}"
9
10bashscripts = "mtrace sotruss xtrace"
11
12do_install() {
13 install -d -m 0755 ${D}${bindir}
14 for i in ${bashscripts}; do
15 install -m 0755 ${SRC}/$i ${D}${bindir}/
16 done
17}
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 0000000000..31133621d1
--- /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 78bf9bedaf..2c1018f21c 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
3SRCREV = "20393" 3SRCREV = "20393"
4 4
5DEPENDS += "gperf-native kconfig-frontends-native" 5DEPENDS += "gperf-native kconfig-frontends-native"
6PR = "r15" 6PR = "r16"
7PR_append = "+svnr${SRCPV}" 7PR_append = "+svnr${SRCPV}"
8 8
9EGLIBC_BRANCH="eglibc-2_16" 9EGLIBC_BRANCH="eglibc-2_16"