summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Kjellerstedt <peter.kjellerstedt@axis.com>2019-02-18 08:08:07 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-02-19 16:14:57 +0000
commit4c56903824e633077fc35af64307e886f869bcb5 (patch)
tree500069599b8afae3acce078944f7df71fda1c312
parentdc9abea5f0ce8261812412b8ff43c8680ccddde8 (diff)
downloadpoky-4c56903824e633077fc35af64307e886f869bcb5.tar.gz
libc-package.bbclass: Only extract wanted files in prep_locale_tree()
prep_locale_tree() predates the usrmerge DISTRO_FEATURE, which meant it was not prepared for the case when ${base_libdir} == ${libdir}. This lead to it extracting files and directories where it shouldn't. (From OE-Core rev: 0bfc4dd0a9acc305b78fe9d5c2a7fb9afe708684) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/libc-package.bbclass7
1 files changed, 6 insertions, 1 deletions
diff --git a/meta/classes/libc-package.bbclass b/meta/classes/libc-package.bbclass
index 60000a9547..cf0d8901e3 100644
--- a/meta/classes/libc-package.bbclass
+++ b/meta/classes/libc-package.bbclass
@@ -67,7 +67,12 @@ do_prep_locale_tree() {
67 for i in $treedir/${datadir}/i18n/charmaps/*gz; do 67 for i in $treedir/${datadir}/i18n/charmaps/*gz; do
68 gunzip $i 68 gunzip $i
69 done 69 done
70 tar -cf - -C ${LOCALETREESRC}${base_libdir} -p . | tar -xf - -C $treedir/${base_libdir} 70 # The extract pattern "./l*.so*" is carefully selected so that it will
71 # match ld*.so and lib*.so*, but not any files in the gconv directory
72 # (if it exists). This makes sure we only unpack the files we need.
73 # This is important in case usrmerge is set in DISTRO_FEATURES, which
74 # means ${base_libdir} == ${libdir}.
75 tar -cf - -C ${LOCALETREESRC}${base_libdir} -p . | tar -xf - -C $treedir/${base_libdir} --wildcards './l*.so*'
71 if [ -f ${STAGING_LIBDIR_NATIVE}/libgcc_s.* ]; then 76 if [ -f ${STAGING_LIBDIR_NATIVE}/libgcc_s.* ]; then
72 tar -cf - -C ${STAGING_LIBDIR_NATIVE} -p libgcc_s.* | tar -xf - -C $treedir/${base_libdir} 77 tar -cf - -C ${STAGING_LIBDIR_NATIVE} -p libgcc_s.* | tar -xf - -C $treedir/${base_libdir}
73 fi 78 fi