]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
glibc-locale: explicitly remove empty dirs in ${libdir}
authorDenys Dmytriyenko <denis@denix.org>
Wed, 28 Sep 2022 22:06:45 +0000 (22:06 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 29 Sep 2022 20:13:36 +0000 (21:13 +0100)
glibc-locale defaults to ENABLE_BINARY_LOCALE_GENERATION ?= "0", but gets
changed to "1" in the default-distrovars.inc

When it is explicitly set back to "0", it fails with this error:

ERROR: glibc-locale-2.36-r0 do_package: QA Issue: glibc-locale: Files/directories were installed but not shipped in any package:
  /usr/lib/locale
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
glibc-locale: 1 installed and not shipped files. [installed-vs-shipped]
ERROR: glibc-locale-2.36-r0 do_package: Fatal QA errors were found, failing task.

There's a code to remove empty dirs in ${libdir}, but it's keyed off of
PACKAGE_NO_GCONV to clean up $[libdir]/gconv, just extend it to also cover
other empty dirs, including ${libdir}/locale.

Signed-off-by: Denys Dmytriyenko <denis@denix.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-core/glibc/glibc-locale.inc

index b8de7d3192ed95ee35b876a1a0b3095cf88a49b2..7c14abfe9921850da761f51460fb0ebc0ff1911f 100644 (file)
@@ -87,10 +87,9 @@ do_install() {
        if [ ${PACKAGE_NO_GCONV} -eq 0 ]; then
                copy_locale_files ${libdir}/gconv 0755
                copy_locale_files ${datadir}/i18n 0644
-       else
-               # Remove the libdir if it is empty when gconv is not copied
-               find ${D}${libdir} -type d -empty -delete
        fi
+       # Remove empty dirs in libdir when gconv or locales are not copied
+       find ${D}${libdir} -type d -empty -delete
        copy_locale_files ${datadir}/locale 0644
        install -m 0644 ${LOCALETREESRC}/SUPPORTED ${WORKDIR}/SUPPORTED
 }