1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-08 17:19:20 +00:00

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>
This commit is contained in:
Phil Blundell
2012-09-25 13:56:41 +01:00
committed by Richard Purdie
parent 92b44ec00e
commit 59e3a13604
9 changed files with 69 additions and 17 deletions
@@ -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"
@@ -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 () {
:
}
+1 -10
View File
@@ -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"
@@ -0,0 +1,14 @@
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}"
do_install() {
install -d -m 0755 ${D}${bindir}
install -m 0755 ${SRC}/mtrace ${D}${bindir}/
}
@@ -0,0 +1 @@
require eglibc-mtrace.inc
+18 -6
View File
@@ -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,26 @@ 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
}
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
@@ -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
}
@@ -0,0 +1 @@
require eglibc-scripts.inc
+1 -1
View File
@@ -3,7 +3,7 @@ require eglibc.inc
SRCREV = "20393"
DEPENDS += "gperf-native kconfig-frontends-native"
PR = "r15"
PR = "r16"
PR_append = "+svnr${SRCPV}"
EGLIBC_BRANCH="eglibc-2_16"