diff options
author | Phil Blundell <philb@gnu.org> | 2012-09-25 13:56:41 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-10-22 14:59:29 +0100 |
commit | 59e3a13604fbf28ed89031e7f107c193b238d7fd (patch) | |
tree | e20f589ded9ba3484209ae6b5d10b5ac90363be5 | |
parent | 92b44ec00ed33b72ecf50cd272cc929fac1251dc (diff) | |
download | poky-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>
-rw-r--r-- | meta/recipes-core/eglibc/eglibc-collateral.inc | 11 | ||||
-rw-r--r-- | meta/recipes-core/eglibc/eglibc-initial.inc | 5 | ||||
-rw-r--r-- | meta/recipes-core/eglibc/eglibc-locale.inc | 11 | ||||
-rw-r--r-- | meta/recipes-core/eglibc/eglibc-mtrace.inc | 14 | ||||
-rw-r--r-- | meta/recipes-core/eglibc/eglibc-mtrace_2.16.bb | 1 | ||||
-rw-r--r-- | meta/recipes-core/eglibc/eglibc-package.inc | 24 | ||||
-rw-r--r-- | meta/recipes-core/eglibc/eglibc-scripts.inc | 17 | ||||
-rw-r--r-- | meta/recipes-core/eglibc/eglibc-scripts_2.16.bb | 1 | ||||
-rw-r--r-- | meta/recipes-core/eglibc/eglibc_2.16.bb | 2 |
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 @@ | |||
1 | INHIBIT_DEFAULT_DEPS = "1" | ||
2 | LICENSE = "GPLv2 & LGPLv2.1" | ||
3 | |||
4 | do_fetch[noexec] = "1" | ||
5 | do_unpack[noexec] = "1" | ||
6 | do_patch[noexec] = "1" | ||
7 | do_configure[noexec] = "1" | ||
8 | do_compile[noexec] = "1" | ||
9 | |||
10 | do_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 | ||
75 | do_populate_sysroot[sstate-outputdirs] = "${STAGING_DIR_TCBOOTSTRAP}" | 75 | do_populate_sysroot[sstate-outputdirs] = "${STAGING_DIR_TCBOOTSTRAP}" |
76 | |||
77 | # We don't install any scripts so there is nothing to evacuate | ||
78 | do_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 @@ | |||
1 | INHIBIT_DEFAULT_DEPS = "1" | 1 | include eglibc-collateral.inc |
2 | LICENSE = "GPLv2 & LGPLv2.1" | ||
3 | 2 | ||
4 | BPN = "eglibc" | 3 | BPN = "eglibc" |
5 | LOCALEBASEPN = "eglibc" | 4 | LOCALEBASEPN = "eglibc" |
6 | 5 | ||
7 | do_fetch[noexec] = "1" | ||
8 | do_unpack[noexec] = "1" | ||
9 | do_patch[noexec] = "1" | ||
10 | do_configure[noexec] = "1" | ||
11 | do_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 | ||
91 | inherit libc-package | 84 | inherit libc-package |
92 | 85 | ||
93 | do_install[depends] += "virtual/${MLPREFIX}libc:do_populate_sysroot" | ||
94 | |||
95 | BBCLASSEXTEND = "nativesdk" | 86 | 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 0000000000..1ec93ac19b --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-mtrace.inc | |||
@@ -0,0 +1,14 @@ | |||
1 | include eglibc-collateral.inc | ||
2 | |||
3 | PR = "r1" | ||
4 | SUMMARY = "mtrace utility provided by eglibc" | ||
5 | DESCRIPTION = "mtrace utility provided by eglibc" | ||
6 | RDEPENDS_${PN} = "perl" | ||
7 | RPROVIDES_${PN} = "libc-mtrace" | ||
8 | |||
9 | SRC = "${STAGING_INCDIR}/eglibc-scripts-internal-${MULTIMACH_TARGET_SYS}" | ||
10 | |||
11 | do_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 |
18 | USE_LDCONFIG ?= "1" | 18 | USE_LDCONFIG ?= "1" |
19 | 19 | ||
20 | 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" | 20 | 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" |
21 | 21 | ||
22 | # The ld.so in this eglibc supports the GNU_HASH | 22 | # The ld.so in this eglibc supports the GNU_HASH |
23 | RPROVIDES_${PN} = "glibc rtld(GNU_HASH)" | 23 | RPROVIDES_${PN} = "glibc rtld(GNU_HASH)" |
@@ -51,8 +51,6 @@ FILES_${PN}-utils = "${bindir}/* ${sbindir}/*" | |||
51 | FILES_${PN}-dbg += "${libexecdir}/*/.debug ${libdir}/audit/.debug" | 51 | FILES_${PN}-dbg += "${libexecdir}/*/.debug ${libdir}/audit/.debug" |
52 | FILES_catchsegv = "${bindir}/catchsegv" | 52 | FILES_catchsegv = "${bindir}/catchsegv" |
53 | RDEPENDS_catchsegv = "libsegfault" | 53 | RDEPENDS_catchsegv = "libsegfault" |
54 | RDEPENDS_${PN}-utils += "bash" | ||
55 | RDEPENDS_${PN}-mtrace += "perl" | ||
56 | FILES_${PN}-pcprofile = "${base_libdir}/libpcprofile.so" | 54 | FILES_${PN}-pcprofile = "${base_libdir}/libpcprofile.so" |
57 | FILES_eglibc-thread-db = "${base_libdir}/libthread_db.so.* ${base_libdir}/libthread_db-*.so" | 55 | FILES_eglibc-thread-db = "${base_libdir}/libthread_db.so.* ${base_libdir}/libthread_db-*.so" |
58 | RPROVIDES_${PN}-dev += "libc-dev" | 56 | RPROVIDES_${PN}-dev += "libc-dev" |
@@ -65,11 +63,9 @@ DESCRIPTION_nscd = "nscd, name service cache daemon, caches name service lookups | |||
65 | SUMMARY_eglibc-extra-nss = "hesiod, NIS and NIS+ nss libraries" | 63 | SUMMARY_eglibc-extra-nss = "hesiod, NIS and NIS+ nss libraries" |
66 | DESCRIPTION_eglibc-extra-nss = "eglibc: nis, nisplus and hesiod search services." | 64 | DESCRIPTION_eglibc-extra-nss = "eglibc: nis, nisplus and hesiod search services." |
67 | SUMMARY_ldd = "print shared library dependencies" | 65 | SUMMARY_ldd = "print shared library dependencies" |
68 | DESCRIPTION_ldd = "/usr/bin/ldd prints shared library dependencies for each program or shared library specified on the command line." | 66 | DESCRIPTION_ldd = "${bindir}/ldd prints shared library dependencies for each program or shared library specified on the command line." |
69 | SUMMARY_${PN}-utils = "Miscellaneous utilities provided by eglibc" | 67 | SUMMARY_${PN}-utils = "Miscellaneous utilities provided by eglibc" |
70 | DESCRIPTION_${PN}-utils = "Miscellaneous utilities including getconf, iconf, locale, gencat, tzselect, zic, rpcinfo, ..." | 68 | DESCRIPTION_${PN}-utils = "Miscellaneous utilities including getconf, iconf, locale, gencat, tzselect, zic, rpcinfo, ..." |
71 | SUMMARY_${PN}-mtrace = "mtrace utility provided by eglibc" | ||
72 | DESCRIPTION_${PN}-mtrace = "mtrace utility provided by eglibc" | ||
73 | DESCRIPTION_libsotruss = "Library to support sotruss which traces calls through PLTs" | 69 | DESCRIPTION_libsotruss = "Library to support sotruss which traces calls through PLTs" |
74 | 70 | ||
75 | inherit libc-common multilib_header | 71 | inherit libc-common multilib_header |
@@ -111,10 +107,26 @@ do_install_locale () { | |||
111 | 107 | ||
112 | addtask do_install_locale after do_install before do_populate_sysroot do_package | 108 | addtask do_install_locale after do_install before do_populate_sysroot do_package |
113 | 109 | ||
110 | bashscripts = "mtrace sotruss xtrace" | ||
111 | |||
112 | do_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 | |||
120 | addtask evacuate_scripts after do_install before do_populate_sysroot do_package | ||
121 | |||
114 | PACKAGE_PREPROCESS_FUNCS += "eglibc_package_preprocess" | 122 | PACKAGE_PREPROCESS_FUNCS += "eglibc_package_preprocess" |
115 | 123 | ||
116 | eglibc_package_preprocess () { | 124 | eglibc_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 @@ | |||
1 | include eglibc-collateral.inc | ||
2 | |||
3 | SUMMARY = "utility scripts provided by eglibc" | ||
4 | DESCRIPTION = "utility scripts provided by eglibc" | ||
5 | RDEPENDS_${PN} = "bash" | ||
6 | RDEPENDS_ldd = "bash" | ||
7 | |||
8 | SRC = "${STAGING_INCDIR}/eglibc-scripts-internal-${MULTIMACH_TARGET_SYS}" | ||
9 | |||
10 | bashscripts = "mtrace sotruss xtrace" | ||
11 | |||
12 | do_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 | |||
3 | SRCREV = "20393" | 3 | SRCREV = "20393" |
4 | 4 | ||
5 | DEPENDS += "gperf-native kconfig-frontends-native" | 5 | DEPENDS += "gperf-native kconfig-frontends-native" |
6 | PR = "r15" | 6 | PR = "r16" |
7 | PR_append = "+svnr${SRCPV}" | 7 | PR_append = "+svnr${SRCPV}" |
8 | 8 | ||
9 | EGLIBC_BRANCH="eglibc-2_16" | 9 | EGLIBC_BRANCH="eglibc-2_16" |