diff options
Diffstat (limited to 'meta/recipes-core/glibc')
-rw-r--r-- | meta/recipes-core/glibc/glibc-package.inc | 40 | ||||
-rw-r--r-- | meta/recipes-core/glibc/glibc_2.29.bb | 1 |
2 files changed, 24 insertions, 17 deletions
diff --git a/meta/recipes-core/glibc/glibc-package.inc b/meta/recipes-core/glibc/glibc-package.inc index ff17a193c3..5cfb1b6ab9 100644 --- a/meta/recipes-core/glibc/glibc-package.inc +++ b/meta/recipes-core/glibc/glibc-package.inc @@ -164,13 +164,13 @@ do_stash_locale () { install -d ${dest}${base_libdir} ${dest}${bindir} ${dest}${libdir} ${dest}${datadir} # Hide away the locale data from the deployment if [ -e ${D}${bindir}/localedef ]; then - mv -f ${D}${bindir}/localedef ${dest}${bindir} + cp -a ${D}${bindir}/localedef ${dest}${bindir} fi if [ -e ${D}${libdir}/gconv ]; then - mv -f ${D}${libdir}/gconv ${dest}${libdir} + cp -a ${D}${libdir}/gconv ${dest}${libdir} fi if [ -e ${D}${datadir}/i18n ]; then - mv ${D}${datadir}/i18n ${dest}${datadir} + cp -a ${D}${datadir}/i18n ${dest}${datadir} fi # Make a copy of all the libraries into the locale stash @@ -210,30 +210,38 @@ python do_stash_locale_setscene () { } addtask do_stash_locale_setscene -do_poststash_install_cleanup () { - # Remove all files which do_stash_locale would remove (mv) - # since that task could have come from sstate and not get run. +PACKAGE_PREPROCESS_FUNCS += "stash_locale_package_cleanup" +SYSROOT_PREPROCESS_FUNCS += "stash_locale_sysroot_cleanup" +stash_locale_cleanup () { + cleanupdir=$1 + # Remove all files which do_stash_locale() copies for i in ${bashscripts}; do - rm -f ${D}${bindir}/$i + rm -f ${cleanupdir}${bindir}/$i done - rm -f ${D}${bindir}/localedef - rm -rf ${D}${datadir}/i18n - rm -rf ${D}${libdir}/gconv - rm -rf ${D}/${localedir} - rm -rf ${D}${datadir}/locale + rm -f ${cleanupdir}${bindir}/localedef + rm -rf ${cleanupdir}${datadir}/i18n + rm -rf ${cleanupdir}${libdir}/gconv + rm -rf ${cleanupdir}/${localedir} + rm -rf ${cleanupdir}${datadir}/locale if [ "${libdir}" != "${exec_prefix}/lib" ] && [ "${root_prefix}/lib" != "${exec_prefix}/lib" ]; then - if [ -d "${D}${exec_prefix}/lib" ]; then + if [ -d "${cleanupdir}${exec_prefix}/lib" ]; then if [ -z "${ARCH_DYNAMIC_LOADER}" -o \ - ! -e "${D}${exec_prefix}/lib/${ARCH_DYNAMIC_LOADER}" ]; then + ! -e "${cleanupdir}${exec_prefix}/lib/${ARCH_DYNAMIC_LOADER}" ]; then # error out if directory isn't empty # this dir should only contain locale dir # which has been deleted in the previous step - rmdir ${D}${exec_prefix}/lib + rmdir ${cleanupdir}${exec_prefix}/lib fi fi fi } -addtask do_poststash_install_cleanup after do_stash_locale do_install before do_populate_sysroot do_package + +stash_locale_sysroot_cleanup() { + stash_locale_cleanup ${SYSROOT_DESTDIR} +} +stash_locale_package_cleanup() { + stash_locale_cleanup ${PKGD} +} pkg_postinst_nscd () { if [ -z "$D" ]; then diff --git a/meta/recipes-core/glibc/glibc_2.29.bb b/meta/recipes-core/glibc/glibc_2.29.bb index 073d1533e3..c6b2caad42 100644 --- a/meta/recipes-core/glibc/glibc_2.29.bb +++ b/meta/recipes-core/glibc/glibc_2.29.bb @@ -121,7 +121,6 @@ do_compile () { echo "ldd \"${prevrtld} ${RTLDLIST}\" -> \"${newrtld}\"" sed -i ${B}/elf/ldd -e "s#^RTLDLIST=.*\$#RTLDLIST=\"${newrtld}\"#" fi - } require glibc-package.inc |