]> code.ossystems Code Review - openembedded-core.git/commitdiff
glibc: Separate locale files to their own sstate task
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 4 Feb 2017 17:28:18 +0000 (17:28 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 7 Feb 2017 14:47:20 +0000 (14:47 +0000)
Putting the locale and script files into the sysroot for use by their
specific recipes used to be a simple way to share the files. With RSS,
we don't want to copy these into many different recipes so put these
files in their own sstate task.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-core/glibc/glibc-collateral.inc
meta/recipes-core/glibc/glibc-initial.inc
meta/recipes-core/glibc/glibc-locale.inc
meta/recipes-core/glibc/glibc-mtrace.inc
meta/recipes-core/glibc/glibc-package.inc
meta/recipes-core/glibc/glibc-scripts.inc

index 6b32e4a8159b9b6ec4014d7f248b1bbe2c1f8ae7..37f27ca448f9470df300df065af396fb78b979f8 100644 (file)
@@ -15,7 +15,7 @@ deltask do_patch
 do_configure[noexec] = "1"
 do_compile[noexec] = "1"
 
-do_install[depends] += "virtual/${MLPREFIX}libc:do_populate_sysroot"
+do_install[depends] += "virtual/${MLPREFIX}libc:do_stash_locale"
 
 COMPATIBLE_HOST_libc-musl_class-target = "null"
 COMPATIBLE_HOST_libc-uclibc_class-target = "null"
index 7380bdbcacc54aaa422bde14d17ca64e73574cc1..f94603c28c6a1d017ef83a43f598efc2f99ae423 100644 (file)
@@ -43,7 +43,7 @@ do_install () {
        fi
 }
 
-do_install_locale() {
+do_stash_locale() {
        :
 }
 
@@ -51,9 +51,4 @@ do_siteconfig () {
        :
 }
 
-# We don't install any scripts so there is nothing to evacuate
-do_evacuate_scripts () {
-       :
-}
-
 inherit nopackages
index 50b191c7bb1ee20688b8c4c37824ea91705eb0fa..9c9974192009ed230aea430ac9ecb37fa930db9f 100644 (file)
@@ -66,7 +66,7 @@ DESCRIPTION_localedef = "glibc: compile locale definition files"
 FILES_${MLPREFIX}glibc-gconv = "${libdir}/gconv/*"
 FILES_localedef = "${bindir}/localedef"
 
-LOCALETREESRC = "${STAGING_INCDIR}/glibc-locale-internal-${MULTIMACH_TARGET_SYS}"
+LOCALETREESRC = "${STAGING_DIR}-components/${PACKAGE_ARCH}/glibc-stash-locale"
 
 do_install () {
        mkdir -p ${D}${bindir} ${D}${datadir} ${D}${libdir}
index 0e4615d0b293d0d57fd079bf8c556df4c6ae9b11..d3641b39b67bbbe5cfaaf35d983d1a5baa204599 100644 (file)
@@ -5,7 +5,7 @@ DESCRIPTION = "mtrace utility provided by glibc"
 RDEPENDS_${PN} = "perl"
 RPROVIDES_${PN} = "libc-mtrace"
 
-SRC = "${STAGING_INCDIR}/glibc-scripts-internal-${MULTIMACH_TARGET_SYS}"
+SRC = "${STAGING_DIR}-components/${PACKAGE_ARCH}/glibc-stash-locale/scripts"
 
 do_install() {
        install -d -m 0755 ${D}${bindir}
index 481a00e125813c5826eb2af4e227e5bd998234aa..557b9589bc58be42e1a53338b79ae0556ac9edf1 100644 (file)
@@ -145,8 +145,11 @@ do_install_append_aarch64 () {
        fi
 }
 
-do_install_locale () {
-       dest=${D}/${includedir}/glibc-locale-internal-${MULTIMACH_TARGET_SYS}
+LOCALESTASH = "${WORKDIR}/stashed-locale"
+bashscripts = "mtrace sotruss xtrace"
+
+do_stash_locale () {
+       dest=${LOCALESTASH}
        install -d ${dest}${base_libdir} ${dest}${bindir} ${dest}${libdir} ${dest}${datadir}
        if [ "${base_libdir}" != "${libdir}" ]; then
                cp -fpPR ${D}${base_libdir}/* ${dest}${base_libdir}
@@ -166,14 +169,8 @@ do_install_locale () {
        cp -fpPR ${D}${datadir}/* ${dest}${datadir}
        rm -rf ${D}${datadir}/locale/
        cp -fpPR ${WORKDIR}/SUPPORTED ${dest}
-}
-
-addtask do_install_locale after do_install before do_populate_sysroot do_package
 
-bashscripts = "mtrace sotruss xtrace"
-
-do_evacuate_scripts () {
-       target=${D}${includedir}/glibc-scripts-internal-${MULTIMACH_TARGET_SYS}
+       target=${dest}/scripts
        mkdir -p $target
        for i in ${bashscripts}; do
                if [ -f ${D}${bindir}/$i ]; then
@@ -182,13 +179,22 @@ do_evacuate_scripts () {
        done
 }
 
-addtask evacuate_scripts after do_install before do_populate_sysroot do_package
+addtask do_stash_locale after do_install before do_populate_sysroot do_package
+do_stash_locale[dirs] = "${B}"
+do_stash_locale[cleandirs] = "${LOCALESTASH}"
+SSTATETASKS += "do_stash_locale"
+do_stash_locale[sstate-inputdirs] = "${LOCALESTASH}"
+do_stash_locale[sstate-outputdirs] = "${STAGING_DIR}-components/${PACKAGE_ARCH}/glibc-stash-locale"
+do_stash_locale[sstate-fixmedir] = "${STAGING_DIR}-components/${PACKAGE_ARCH}/glibc-stash-locale"
+
+python do_stash_locale_setscene () {
+    sstate_setscene(d)
+}
+addtask do_stash_locale_setscene
 
 PACKAGE_PREPROCESS_FUNCS += "glibc_package_preprocess"
 
 glibc_package_preprocess () {
-       rm -rf ${PKGD}/${includedir}/glibc-locale-internal-${MULTIMACH_TARGET_SYS}
-       rm -rf ${PKGD}/${includedir}/glibc-scripts-internal-${MULTIMACH_TARGET_SYS}
        for i in ${bashscripts}; do
            rm -f ${PKGD}${bindir}/$i
        done
index 66fdee4332cccfc8a332a590a1f0cbe1320faca6..42616f0760e2a28845685f699aa2a282de0990fc 100644 (file)
@@ -4,7 +4,7 @@ SUMMARY = "utility scripts provided by glibc"
 DESCRIPTION = "utility scripts provided by glibc"
 RDEPENDS_${PN} = "bash glibc-mtrace"
 
-SRC = "${STAGING_INCDIR}/glibc-scripts-internal-${MULTIMACH_TARGET_SYS}"
+SRC = "${STAGING_DIR}-components/${PACKAGE_ARCH}/glibc-stash-locale/scripts"
 
 bashscripts = "sotruss xtrace"