summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/glibc/glibc-locale.inc
AgeCommit message (Collapse)Author
2020-09-03qemux86: use 32bit multilib config for everything except kerneljansa/multilibMartin Jansa
* this is goog enough (still ugly) to build core-image-base with all components except the kernel (and kernel dependencies) with 32bit multilib config (i586 DEFAULTTUNE) and kernel with new 64bit DEFAULTTUNE core2-64 as shown in WORKDIR distribution: all-oe-linux: autoconf-archive run-postinsts update-rc.d core2-64-oe-linux: defaultpkgname glibc glibc-initial glibc-locale libgcc-initial linux-libc-headers qemuwrapper-cross i586-oemllib32-linux: lib32-alsa-lib lib32-gcc-runtime lib32-libgpg-error lib32-libxml2 lib32-renderproto lib32-alsa-state lib32-gdbm lib32-libical lib32-libxrender lib32-rpcbind lib32-alsa-utils lib32-glib-2.0 lib32-libice lib32-linux-libc-headers lib32-shadow lib32-attr lib32-glibc lib32-libidn lib32-mobile-broadband-provider-info lib32-shadow-sysroot lib32-avahi lib32-glibc-initial lib32-libnl lib32-modutils-initscripts lib32-shared-mime-info lib32-base-passwd lib32-glibc-locale lib32-libnss-mdns lib32-ncurses lib32-sqlite3 lib32-bash lib32-gmp lib32-libogg lib32-neard lib32-sysvinit lib32-bash-completion lib32-gnutls lib32-libpcre lib32-netbase lib32-tcp-wrappers lib32-bluez5 lib32-gobject-introspection lib32-libpng lib32-nettle lib32-util-linux lib32-busybox lib32-icu lib32-libpthread-stubs lib32-ofono lib32-util-macros lib32-bzip2 lib32-initscripts lib32-libsamplerate0 lib32-openssl lib32-wireless-tools lib32-cairo lib32-inputproto lib32-libsm lib32-opkg-utils lib32-wpa-supplicant lib32-cryptodev-linux lib32-iw lib32-libsndfile1 lib32-pciutils lib32-xcb-proto lib32-dbus lib32-kbproto lib32-libtirpc lib32-pixman lib32-xextproto lib32-dbus-glib lib32-kmod lib32-libtool-cross lib32-psplash lib32-xproto lib32-e2fsprogs lib32-libcap lib32-libunistring lib32-python3 lib32-xtrans lib32-eudev lib32-libcheck lib32-libvorbis lib32-python3-dbus lib32-xz lib32-expat lib32-libdaemon lib32-libx11 lib32-python3-pycairo lib32-zlib lib32-flac lib32-libffi lib32-libxau lib32-python3-pygobject lib32-fontconfig lib32-libgcc lib32-libxcb lib32-python3-setuptools lib32-freetype lib32-libgcc-initial lib32-libxdmcp lib32-quota lib32-gawk lib32-libgcrypt lib32-libxext lib32-readline qemux86-oe-linux: core-image-base depmodwrapper-cross linux-yocto qemux86-oemllib32-linux: lib32-base-files lib32-packagegroup-base lib32-shadow-securetty lib32-v86d lib32-init-ifupdown lib32-packagegroup-core-boot lib32-sysvinit-inittab x86_64-linux: alsa-lib-native e2fsprogs-native kmod-native makedevs-native python3-setuptools-native attr-native elfutils-native ldconfig-native mklibs-native qemu-helper-native autoconf-archive-native expat-native lib32-binutils-cross-i686 mpfr-native qemu-native autoconf-native file-native lib32-gcc-cross-i686 ncurses-native quilt-native automake-native flex-native lib32-gcc-cross-initial-i686 ninja-native re2c-native bc-native gcc-cross-initial-x86_64 libarchive-native nspr-native readline-native binutils-cross-x86_64 gcc-cross-x86_64 libffi-native nss-native rpm-native binutils-native gdbm-native libmpc-native openssl-native shadow-native bison-native gettext-minimal-native libpcre-native opkg-native shared-mime-info-native bzip2-native gettext-native libpng-native opkg-utils-native sqlite3-native cmake-native glib-2.0-native libsolv-native pbzip2-native texinfo-dummy-native cross-localedef-native gmp-native libtool-native perl-native unifdef-native cryptodev-linux-native gnu-config-native libxml2-native pigz-native unzip-native curl-native gobject-introspection-native libxml-parser-perl-native pixman-native update-rc.d-native db-native gperf-native libxslt-native pkgconfig-native util-linux-native dbus-glib-native gtk-doc-native lzo-native popt-native util-macros-native dbus-native icu-native lzop-native prelink-native xproto-native dtc-native intltool-native m4-native pseudo-native xz-native dwarfsrcfiles-native kern-tools-native makedepend-native python3-native zlib-native * there are still some issues though: * update-rc.d.bbclass adds dependency on 64bit update-rc.d and initscripts to allarch recipes (where multilib class_extend doesn't apply) * glibc-locale is 64bit, because virtual/ providers aren't correctly expanded to have MLPREFIX, changed bash to do that and still there is RDEPENDS=" lib32-packagegroup-core-boot lib32-packagegroup-base-extended run-postinsts lib32-psplash locale-base-en-us locale-base-en-gb" in bitbake -e core-image-base, bitbake -e lib32-core-image-base was failing, because nothing provides locale-base-* packages, fixed by adding MLPREFIX to PACKAGES_DYNAMIC * kernel and kernel modules are built as 32bit: causing package_qa failure: ERROR: linux-yocto-4.15.3+gitAUTOINC+030f397472_a6a3a6a73d-r0 do_package_qa: QA Issue: Architecture did not match (x86, expected x86-64) on /work/qemux86-oe-linux/linux-yocto/4.15.3+gitAUTOINC+030f397472_a6a3a6a73d-r0/packages-split/kernel-module-ip6-tunnel-4.15.3-yocto-standard/lib/modules/4.15.3-yocto-standard/kernel/net/ipv6/ip6_tunnel.ko [arch] .... ERROR: QA Issue: Architecture did not match (x86, expected x86-64) on /work/qemux86-oe-linux/linux-yocto/4.15.3+gitAUTOINC+030f397472_a6a3a6a73d-r0/packages-split/kernel-vmlinux/boot/vmlinux-4.15.3-yocto-standard [arch] the parameters look OK: KERNEL_CC="x86_64-oe-linux-gcc -fuse-ld=bfd -fdebug-prefix-map=/jenkins/mjansa/build-nodistro-master/BUILD/work/qemux86-oe-linux/linux-yocto/4.15.3+gitAUTOINC+030f397472_a6a3a6a73d-r0=/usr/src/debug/linux-yocto/4.15.3+gitAUTOINC+030f397472_a6a3a6a73d-r0 -fdebug-prefix-map=/jenkins/mjansa/build-nodistro-master/BUILD/work/qemux86-oe-linux/linux-yocto/4.15.3+gitAUTOINC+030f397472_a6a3a6a73d-r0/recipe-sysroot-native= -fdebug-prefix-map=/jenkins/mjansa/build-nodistro-master/BUILD/work/qemux86-oe-linux/linux-yocto/4.15.3+gitAUTOINC+030f397472_a6a3a6a73d-r0/recipe-sysroot= -fdebug-prefix-map=/jenkins/mjansa/build-nodistro-master/BUILD/work-shared/qemux86/kernel-source=/usr/src/kernel" KERNEL_LD="x86_64-oe-linux-ld.bfd " KERNEL_EXTRA_ARGS="" but I need to set KMACHINE in order to actually generate .config from qemux86-64 to select 64bit config options Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2019-07-17glibc: exclude child recipes from CVE scanningRoss Burton
As glibc will be scanned for CVEs, we don't need to scan glibc-locale, glibc-mtrace, and glibc-scripts which are all separate recipes for technical reasons. Exclude the recipes by setting CVE_PRODUCT in the recipe, instead of using the global whitelist. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-03glibc-locale: Fix build error with PACKAGE_NO_GCONV = "1"Jason Wessel
When the PACKAGE_NO_GCONV is set to 1 an empty directory is left behind from the do_install rule: ===== ERROR: glibc-locale-2.29-r0 do_package: QA Issue: glibc-locale: Files/directories were installed but not shipped in any package: /usr/lib /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: 2 installed and not shipped files. [installed-vs-shipped] ERROR: glibc-locale-2.29-r0 do_package: Fatal QA errors found, failing task. ===== The simple fix is to prune the empty directory. Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-31glibc-locale: DEPEND on virtual/libcJoshua Watt
The restriction against glibc-locale depending on virtual/libc is removed now that libc-initial no longer exists. Adding the DEPENDS on virtual/libc fixes a race (and reproducibility issue) where the packages created by this recipe would have different runtime dependencies depending on if libc had generated its packages yet or not. Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-08glibc-locale: Rewrite do_install using install utility instead of cpKhem Raj
This has been a constant source of trouble for build failures due to host-user-contaminated QA errors of sort ERROR: QA Issue: glibc-locale: /glibc-binary-localedata-ca-es+valencia/usr/lib/locale/ca_ES@valencia/LC_MONETARY is owned by uid 3004, which is the same as the user running bitbake. This may be due to host contamination [host-user-contaminated] So far we have tried to mould cp command into not carrying the build user permissions into install area but it is never entirely fixed since the issue keeps popping up in various scenes This patch replaces use of cp with install utility and specifies install mode for files explcitly Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-05glibc-locale: fix installed-vs-shipped qa issueKai Kang
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>
2018-11-13locale: Allow usage of cross-localedef for ARCAlexey Brodkin
With this it's possible to build locale data for ARC and not do it instead on the first boot. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-04glibc-locale: Enable riscv64 and riscv32 in BINARY_LOCALE_ARCHES supported ↵Khem Raj
architectures This support is there using cross-localedef but was not enabled, this caused the post-install for locales to be emitted which delays the boot significantly. emitted postints for locales contain exit 1 which is flagged now and was causing image generation to fail. Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-30glibc-locale: Fix host-user-contaminated QA errorsKhem Raj
Fixes ERROR: glibc-locale-2.27-r0 do_package_qa: QA Issue: glibc-locale: /glibc-binary-localedata-hy-am/usr/lib/locale/hy_AM/LC_MEASUREMENT.tmp is owned by uid 3004, which is the same as the user running bitbake. This may be due to host contamination [host-user-contaminated] Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-01-26glibc-locale.inc: avoid duplicate packagesJuro Bystricky
PACKAGES_DYNAMIC contained an identical set of packages twice. I suspect this was a result of global search/replace when moving recipes from eglibc to glibc long time ago. Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-10-06glibc-locale.inc: fix typo in commentGianfranco Costamagna
Signed-off-by: Gianfranco Costamagna <gianfranco.costamagna@abinsula.com> Signed-off-by: Lorenzo Chianura <lorenzo.chianura@abinsula.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-12glibc-locale: add runtime dependency on glibcMartin Jansa
* the libc.so.6 dependency is detected always: $ grep FILERDEPENDS BUILD-*/pkgdata/qemux86/runtime/localedef BUILD-bad/pkgdata/qemux86/runtime/localedef:FILERDEPENDSFLIST_localedef: /usr/bin/localedef BUILD-bad/pkgdata/qemux86/runtime/localedef:FILERDEPENDS_/usr/bin/localedef_localedef: libc.so.6(GLIBC_2.15) libc.so.6(GLIBC_2.3) libc.so.6(GLIBC_2.2) libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.0) libc.so.6 BUILD-ok/pkgdata/qemux86/runtime/localedef:FILERDEPENDSFLIST_localedef: /usr/bin/localedef BUILD-ok/pkgdata/qemux86/runtime/localedef:FILERDEPENDS_/usr/bin/localedef_localedef: libc.so.6(GLIBC_2.15) libc.so.6(GLIBC_2.3) libc.so.6(GLIBC_2.2) libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.0) libc.so.6 * but in some builds the glibc dependency isn't built soon enough: $ diff -uNr BUILD-*/pkgdata/qemux86/runtime/localedef --- BUILD-bad/pkgdata/qemux86/runtime/localedef 2017-09-02 21:17:50.000000000 +0000 +++ BUILD-ok/pkgdata/qemux86/runtime/localedef 2017-09-11 10:15:49.954381592 +0000 @@ -6,6 +6,7 @@ LICENSE: GPLv2 & LGPLv2.1 DESCRIPTION_localedef: glibc: compile locale definition files SUMMARY: Locale data from glibc +RDEPENDS_localedef: glibc (>= 2.26) SECTION: base PKG_localedef: localedef FILES_localedef: /usr/bin/localedef and the build fails with QA issues: http://errors.yoctoproject.org/Errors/Details/155529/ ERROR: QA Issue: /usr/bin/localedef contained in package localedef requires libc.so.6(GLIBC_2.0), but no providers found in RDEPENDS_localedef? [file-rdeps] ERROR: QA Issue: /usr/bin/localedef contained in package localedef requires libc.so.6(GLIBC_2.15), but no providers found in RDEPENDS_localedef? [file-rdeps] ERROR: QA Issue: /usr/bin/localedef contained in package localedef requires libc.so.6(GLIBC_2.3), but no providers found in RDEPENDS_localedef? [file-rdeps] ERROR: QA Issue: /usr/bin/localedef contained in package localedef requires libc.so.6(GLIBC_2.2), but no providers found in RDEPENDS_localedef? [file-rdeps] ERROR: QA Issue: /usr/bin/localedef contained in package localedef requires libc.so.6(GLIBC_2.1), but no providers found in RDEPENDS_localedef? [file-rdeps] ERROR: QA Issue: /usr/bin/localedef contained in package localedef requires libc.so.6, but no providers found in RDEPENDS_localedef? [file-rdeps] ERROR: QA run found fatal errors. Please consider fixing them. * easily reproducible with empty TMPDIR and: bitbake -c cleansstate glibc-locale && bitbake -c package_qa glibc-locale * reproducible with Yocto 2.2 Morty as well, with slightly different error message: ERROR: glibc-locale-2.24-r0 do_package_qa: QA Issue: /usr/bin/localedef contained in package localedef requires libc.so.6(GLIBC_2.4), but no providers found in RDEPENDS_localedef? [file-rdeps] * with Yocto 2.3 Pyro it's not reproducible by default, because rpmdeps aren't enabled to populate FILERDEPENDS, but once you add: ENABLE_RPM_FILEDEPS_FOR_PYRO = "1" similar QA issue is shown as well: ERROR: glibc-locale-2.25-r0 do_package_qa: QA Issue: /usr/bin/localedef contained in package localedef requires libc.so.6(GLIBC_2.15), but no providers found in RDEPENDS_localedef? [file-rdeps] ERROR: glibc-locale-2.25-r0 do_package_qa: QA Issue: /usr/bin/localedef contained in package localedef requires libc.so.6(GLIBC_2.4), but no providers found in RDEPENDS_localedef? [file-rdeps] ERROR: glibc-locale-2.25-r0 do_package_qa: QA Issue: /usr/bin/localedef contained in package localedef requires libc.so.6, but no providers found in RDEPENDS_localedef? [file-rdeps] Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-10bitbake.conf: Add COMPONENTS_DIR for ${STAGING_DIR}-componentsPeter Kjellerstedt
The path to where to install and find the sysroot components is used in many places. This warrants it to get its own variable. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-02-07glibc: Separate locale files to their own sstate taskRichard Purdie
Putting the locale and script files into the sysroot for use by their specific recipes used to be a simple way to share the files. With RSS, we don't want to copy these into many different recipes so put these files in their own sstate task. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09meta: use require instead of include when file should existPaul Eggleton
If the file is expected to exist, then we should always be using require so that if it doesn't we get an error rather than some other more obscure failure later on. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-12-16meta: remove True option to getVar callsJoshua Lock
getVar() now defaults to expanding by default, thus remove the True option from getVar() calls with a regex search and replace. Search made with the following regex: getVar ?\(( ?[^,()]*), True\) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-05-21glibc-locale: Enable binary locale generation for nativesdk-glibcRichard Purdie
python3 has much stricter locale requirements than previous versions. If a locale isn't present, python3 reverts to ascii mode under which bit bake can't operate. We therefore need working binary locales in things like uninative-tarball and buildtools-tarball. This patch enables binary locales for nativesdk-glibc. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-07glibc-locale: fix QA warningArmin Kuster
WARNING: QA Issue: glibc-locale: /glibc-binary-localedata-sd-in/usr/lib/locale/sd_IN/LC_CTYPE is owned by uid 1000, which is the same as the user running bitbake. This may be due to host contamination [host-user-contaminated] fix type Signed-off-by: Armin Kuster <akuster@mvista.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-16meta: Drop now pointless manual -dbg packagingRichard Purdie
With the autodebug package generation logic, specifically setting FILES_${PN}-dbg isn't needed in most cases, we can remove them. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21glibc-locale.inc: add aarch64 to BINARY_LOCALE_ARCHESKai Kang
Add aarch64 to var BINARY_LOCALE_ARCHES. In libc-packages.class, it is used to work with other vars to check and add cross-localedef-native as a dependecy correctly. Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-01glibc: Migrate eglibc 2.19 -> glibc 2.20Khem Raj
- This is a big swoop change where we switch to using glibc - option-groups are forward ported - cross-localedef is extracted out from eglibc and hosted at github.com/kraj/localedef, its used for cross-localedef recipe - Other non ported patches from eglibc are forward ported ppc8xx cache line workaround SH fpcr values dynamic resolver installing PIC archives is there but is not applied libc header bootstrap - Delete eglibc recipes we moved back to using glibc now - Fix ppc/e500 build - Fix crypt module build when options are used - Fix fnmatch build when options OPTION_EGLIBC_LOCALE_CODE is unset HAVE_MBSTATE_T and HAVE_MBSRTOWCS should be defined conditionally based upon OPTION_EGLIBC_LOCALE_CODE being set/unset - Move the ports/ patches to relevant files now that ports is gone Signed-off-by: Khem Raj <raj.khem@gmail.com>