]> code.ossystems Code Review - openembedded-core.git/commitdiff
glibc-package: fix locale cleanup logic
authorKoen Kooi <koen@dominion.thruhere.net>
Tue, 27 Mar 2018 07:04:16 +0000 (09:04 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 29 Mar 2018 23:28:37 +0000 (00:28 +0100)
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 <koen.kooi@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/recipes-core/glibc/glibc-package.inc

index 824b185b3acc241cf2479b1ecc317b91c231bbb2..ff45dfe35adfab352a1f13f15904032ac7f6637d 100644 (file)
@@ -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