]> 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>
Thu, 5 Apr 2018 14:11:14 +0000 (15:11 +0100)
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.

(From OE-Core rev: c283f2532851e2a65e08fe7b3fd71c5d9abb70f2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
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 60655eba3c0dc634af9951d12ec2b2d8bdba190d..5159a6d453d301acc7d8db77f7817ca820c6aeb6 100644 (file)
@@ -15,7 +15,7 @@ do_patch[noexec] = "1"
 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 2e3bc8104a23e5d09c7d4ec7716ecd690a68f90e..8058b68d627b455d57a03e71b8b6684ae4e000c9 100644 (file)
@@ -48,7 +48,7 @@ do_install () {
        done
 }
 
-do_install_locale() {
+do_stash_locale() {
        :
 }
 
index 664edb2e6c2e63d6604b5a913becc6bfc1af58e0..d09e6e355c7b8906c145f86096e2f2084037e232 100644 (file)
@@ -69,7 +69,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 e12b079e06f6769b4257eb3a695a28b38e2642a8..a7f9f7872f0b4bf4922d82da82f1a97f06b2b452 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 bad642449a35a6ed4d1ca0e19a0435566c4b7e47..b8239e0f025af6e248093b5a866d416160160992 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 bce0a42106eb48ec6c293629dd150a1bc3adeb7e..c661f2b636563d679c8ef4e64f7ed8f3af52a546 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"