diff options
| author | Peter Kjellerstedt <peter.kjellerstedt@axis.com> | 2019-02-18 08:08:07 +0100 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-02-19 16:14:57 +0000 |
| commit | 4c56903824e633077fc35af64307e886f869bcb5 (patch) | |
| tree | 500069599b8afae3acce078944f7df71fda1c312 /meta/classes/libc-package.bbclass | |
| parent | dc9abea5f0ce8261812412b8ff43c8680ccddde8 (diff) | |
| download | poky-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>
Diffstat (limited to 'meta/classes/libc-package.bbclass')
| -rw-r--r-- | meta/classes/libc-package.bbclass | 7 |
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 |
