]> code.ossystems Code Review - openembedded-core.git/commitdiff
glibc-locale: fix installed-vs-shipped qa issue
authorKai Kang <kai.kang@windriver.com>
Wed, 5 Dec 2018 13:00:54 +0000 (08:00 -0500)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 5 Dec 2018 22:30:15 +0000 (22:30 +0000)
Variable PACKAGE_NO_GCONV is set in libc-package.bbclass when none of
libc-charsets, libc-locales and libc-locale-code set in DISTRO_FEATURES.
Then it causes installed-vs-shipped qa issue of glibc-locale:

| ERROR: glibc-locale-2.28-r0 do_package: QA Issue: glibc-locale:
| Files/directories were installed but not shipped in any package:
|   /usr/share/i18n
|   /usr/share/i18n/charmaps
|   /usr/share/i18n/locales
|   /usr/share/i18n/charmaps/CP737.gz
|   ...
|   /usr/share/i18n/locales/ru_RU
|   ...
|   /usr/lib64/gconv/gconv-modules
| 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: 843 installed and not shipped files. [installed-vs-shipped]

So check PACKAGE_NO_GCONV during do_install and not copy those files if
PACKAGE_NO_GCONV has been set.

Simplify call of bb.utils.contains() in libc-package.bbclass as well.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/libc-package.bbclass
meta/recipes-core/glibc/glibc-locale.inc

index 6b1e84ef7e369acccc2d57ec15aa47eefb35cddb..82d642e15ed6973c6c51dbd2d9b6f848503a9bfe 100644 (file)
@@ -39,9 +39,7 @@ python __anonymous () {
                 break
 
     # try to fix disable charsets/locales/locale-code compile fail
-    if bb.utils.contains('DISTRO_FEATURES', 'libc-charsets', True, False, d) and \
-            bb.utils.contains('DISTRO_FEATURES', 'libc-locales', True, False, d) and \
-            bb.utils.contains('DISTRO_FEATURES', 'libc-locale-code', True, False, d):
+    if bb.utils.contains('DISTRO_FEATURES', 'libc-charsets libc-locales libc-locale-code', True, False, d):
         d.setVar('PACKAGE_NO_GCONV', '0')
     else:
         d.setVar('PACKAGE_NO_GCONV', '1')
index 57b465dd5d35eadee361e7c667949ac6b602dfff..6384f9cbf114860b3271b2a9405e359d9cf6c3d5 100644 (file)
@@ -72,7 +72,7 @@ FILES_localedef = "${bindir}/localedef"
 LOCALETREESRC = "${COMPONENTS_DIR}/${PACKAGE_ARCH}/glibc-stash-locale"
 
 do_install () {
-       mkdir -p ${D}${bindir} ${D}${datadir} ${D}${libdir}
+       mkdir -p ${D}${bindir} ${D}${datadir}
        if [ -n "$(ls ${LOCALETREESRC}/${bindir})" ]; then
                cp -R --no-dereference --preserve=mode,links ${LOCALETREESRC}/${bindir}/* ${D}${bindir}
        fi
@@ -80,11 +80,14 @@ do_install () {
                mkdir -p ${D}${localedir}
                cp -R --no-dereference --preserve=mode,links ${LOCALETREESRC}/${localedir}/* ${D}${localedir}
        fi
-       if [ -e ${LOCALETREESRC}/${libdir}/gconv ]; then
-               cp -R --no-dereference --preserve=mode,links ${LOCALETREESRC}/${libdir}/gconv ${D}${libdir}
-       fi
-       if [ -e ${LOCALETREESRC}/${datadir}/i18n ]; then
-               cp -R --no-dereference --preserve=mode,links ${LOCALETREESRC}/${datadir}/i18n ${D}${datadir}
+       if [ ${@d.getVar('PACKAGE_NO_GCONV')} -eq 0 ]; then
+               mkdir -p ${D}${libdir}
+               if [ -e ${LOCALETREESRC}/${libdir}/gconv ]; then
+                       cp -R --no-dereference --preserve=mode,links ${LOCALETREESRC}/${libdir}/gconv ${D}${libdir}
+               fi
+               if [ -e ${LOCALETREESRC}/${datadir}/i18n ]; then
+                       cp -R --no-dereference --preserve=mode,links ${LOCALETREESRC}/${datadir}/i18n ${D}${datadir}
+               fi
        fi
        if [ -e ${LOCALETREESRC}/${datadir}/locale ]; then
                cp -R --no-dereference --preserve=mode,links ${LOCALETREESRC}/${datadir}/locale ${D}${datadir}