From d8f4c7794f15f7071ee8e621d7964cb4b4134630 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Tue, 27 Mar 2018 09:04:16 +0200 Subject: glibc-package: fix locale cleanup logic If ${libdir} is a subdirectory of ${prefix}/lib, e.g. /usr/lib/aarch64-linux, the cleanup logic will delete libc.so. This bit of code was added in 2012 (git show b744f4cc) to remove /usr/lib/locale, this commit makes it remove that directory recursively and afterwards remove /usr/lib, erroring out if it's non-empty. Tested with a plain (/usr/lib), a 64-bit (/usr/lib64) and a multiarch (/usr/lib/aarch64-linux) build. I strongly suspect this whole bit of cleanup isn't needed anymore, but my testing is too limited to be certain. Signed-off-by: Koen Kooi Signed-off-by: Ross Burton --- meta/recipes-core/glibc/glibc-package.inc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'meta/recipes-core/glibc') diff --git a/meta/recipes-core/glibc/glibc-package.inc b/meta/recipes-core/glibc/glibc-package.inc index 824b185b3a..ff45dfe35a 100644 --- a/meta/recipes-core/glibc/glibc-package.inc +++ b/meta/recipes-core/glibc/glibc-package.inc @@ -207,8 +207,11 @@ do_poststash_install_cleanup () { rm -rf ${D}/${localedir} rm -rf ${D}${datadir}/locale if [ "${libdir}" != "${exec_prefix}/lib" ]; then - # This dir only exists to hold locales - rm -rf ${D}${exec_prefix}/lib + if [ -d ${D}${exec_prefix}/lib/locale ] ; then + rm -rf ${D}${exec_prefix}/lib/locale + # error out if directory isn't empty + rm -f ${D}${exec_prefix}/lib + fi fi } addtask do_poststash_install_cleanup after do_stash_locale do_install before do_populate_sysroot do_package -- cgit 1.2.3-korg