diff options
-rw-r--r-- | meta/classes/libc-common.bbclass | 2 | ||||
-rw-r--r-- | meta/classes/libc-package.bbclass | 27 | ||||
-rw-r--r-- | meta/conf/bitbake.conf | 1 | ||||
-rw-r--r-- | meta/recipes-core/eglibc/eglibc-locale.inc | 6 | ||||
-rw-r--r-- | meta/recipes-core/eglibc/eglibc-package.inc | 11 | ||||
-rw-r--r-- | meta/recipes-core/eglibc/eglibc.inc | 1 |
6 files changed, 28 insertions, 20 deletions
diff --git a/meta/classes/libc-common.bbclass b/meta/classes/libc-common.bbclass index 06d520164e..0f499366db 100644 --- a/meta/classes/libc-common.bbclass +++ b/meta/classes/libc-common.bbclass | |||
@@ -5,7 +5,7 @@ do_install() { | |||
5 | install -m 0644 ${S}/sunrpc/rpcsvc/$h ${D}/${includedir}/rpcsvc/ | 5 | install -m 0644 ${S}/sunrpc/rpcsvc/$h ${D}/${includedir}/rpcsvc/ |
6 | done | 6 | done |
7 | install -m 0644 ${WORKDIR}/etc/ld.so.conf ${D}/${sysconfdir}/ | 7 | install -m 0644 ${WORKDIR}/etc/ld.so.conf ${D}/${sysconfdir}/ |
8 | install -d ${D}${libdir}/locale | 8 | install -d ${D}${localedir} |
9 | make -f ${WORKDIR}/generate-supported.mk IN="${S}/localedata/SUPPORTED" OUT="${WORKDIR}/SUPPORTED" | 9 | make -f ${WORKDIR}/generate-supported.mk IN="${S}/localedata/SUPPORTED" OUT="${WORKDIR}/SUPPORTED" |
10 | # get rid of some broken files... | 10 | # get rid of some broken files... |
11 | for i in ${GLIBC_BROKEN_LOCALES}; do | 11 | for i in ${GLIBC_BROKEN_LOCALES}; do |
diff --git a/meta/classes/libc-package.bbclass b/meta/classes/libc-package.bbclass index 70490efc77..80d7124002 100644 --- a/meta/classes/libc-package.bbclass +++ b/meta/classes/libc-package.bbclass | |||
@@ -65,12 +65,12 @@ fi | |||
65 | 65 | ||
66 | rm -rf ${TMP_LOCALE} | 66 | rm -rf ${TMP_LOCALE} |
67 | mkdir -p ${TMP_LOCALE} | 67 | mkdir -p ${TMP_LOCALE} |
68 | if [ -f ${libdir}/locale/locale-archive ]; then | 68 | if [ -f ${localedir}/locale-archive ]; then |
69 | cp ${libdir}/locale/locale-archive ${TMP_LOCALE}/ | 69 | cp ${localedir}/locale-archive ${TMP_LOCALE}/ |
70 | fi | 70 | fi |
71 | localedef --inputfile=${datadir}/i18n/locales/%s --charmap=%s --prefix=/tmp/locale %s | 71 | localedef --inputfile=${datadir}/i18n/locales/%s --charmap=%s --prefix=/tmp/locale %s |
72 | mkdir -p ${libdir}/locale/ | 72 | mkdir -p ${localedir}/ |
73 | mv ${TMP_LOCALE}/locale-archive ${libdir}/locale/ | 73 | mv ${TMP_LOCALE}/locale-archive ${localedir}/ |
74 | rm -rf ${TMP_LOCALE} | 74 | rm -rf ${TMP_LOCALE} |
75 | } | 75 | } |
76 | 76 | ||
@@ -80,22 +80,22 @@ locale_base_postrm() { | |||
80 | 80 | ||
81 | rm -rf ${TMP_LOCALE} | 81 | rm -rf ${TMP_LOCALE} |
82 | mkdir -p ${TMP_LOCALE} | 82 | mkdir -p ${TMP_LOCALE} |
83 | if [ -f ${libdir}/locale/locale-archive ]; then | 83 | if [ -f ${localedir}/locale-archive ]; then |
84 | cp ${libdir}/locale/locale-archive ${TMP_LOCALE}/ | 84 | cp ${localedir}/locale-archive ${TMP_LOCALE}/ |
85 | fi | 85 | fi |
86 | localedef --delete-from-archive --inputfile=${datadir}/locales/%s --charmap=%s --prefix=/tmp/locale %s | 86 | localedef --delete-from-archive --inputfile=${datadir}/locales/%s --charmap=%s --prefix=/tmp/locale %s |
87 | mv ${TMP_LOCALE}/locale-archive ${libdir}/locale/ | 87 | mv ${TMP_LOCALE}/locale-archive ${localedir}/ |
88 | rm -rf ${TMP_LOCALE} | 88 | rm -rf ${TMP_LOCALE} |
89 | } | 89 | } |
90 | 90 | ||
91 | 91 | ||
92 | TMP_LOCALE="/tmp/locale${libdir}/locale" | 92 | TMP_LOCALE="/tmp/locale${localedir}" |
93 | LOCALETREESRC ?= "${PKGD}" | 93 | LOCALETREESRC ?= "${PKGD}" |
94 | 94 | ||
95 | do_prep_locale_tree() { | 95 | do_prep_locale_tree() { |
96 | treedir=${WORKDIR}/locale-tree | 96 | treedir=${WORKDIR}/locale-tree |
97 | rm -rf $treedir | 97 | rm -rf $treedir |
98 | mkdir -p $treedir/${base_bindir} $treedir/${base_libdir} $treedir/${datadir} $treedir/${libdir}/locale | 98 | mkdir -p $treedir/${base_bindir} $treedir/${base_libdir} $treedir/${datadir} $treedir/${localedir} |
99 | tar -cf - -C ${LOCALETREESRC}${datadir} -ps i18n | tar -xf - -C $treedir/${datadir} | 99 | tar -cf - -C ${LOCALETREESRC}${datadir} -ps i18n | tar -xf - -C $treedir/${datadir} |
100 | # unzip to avoid parsing errors | 100 | # unzip to avoid parsing errors |
101 | for i in $treedir/${datadir}/i18n/charmaps/*gz; do | 101 | for i in $treedir/${datadir}/i18n/charmaps/*gz; do |
@@ -111,8 +111,9 @@ do_prep_locale_tree() { | |||
111 | do_collect_bins_from_locale_tree() { | 111 | do_collect_bins_from_locale_tree() { |
112 | treedir=${WORKDIR}/locale-tree | 112 | treedir=${WORKDIR}/locale-tree |
113 | 113 | ||
114 | mkdir -p ${PKGD}${libdir} | 114 | parent=$(dirname ${localedir}) |
115 | tar -cf - -C $treedir/${libdir} -ps locale | tar -xf - -C ${PKGD}${libdir} | 115 | mkdir -p ${PKGD}/$parent |
116 | tar -cf - -C $treedir/$parent -ps $(basename ${localedir}) | tar -xf - -C ${PKGD}$parent | ||
116 | } | 117 | } |
117 | 118 | ||
118 | inherit qemu | 119 | inherit qemu |
@@ -141,7 +142,7 @@ python package_do_split_gconvs () { | |||
141 | gconv_libdir = base_path_join(libdir, "gconv") | 142 | gconv_libdir = base_path_join(libdir, "gconv") |
142 | charmap_dir = base_path_join(datadir, "i18n", "charmaps") | 143 | charmap_dir = base_path_join(datadir, "i18n", "charmaps") |
143 | locales_dir = base_path_join(datadir, "i18n", "locales") | 144 | locales_dir = base_path_join(datadir, "i18n", "locales") |
144 | binary_locales_dir = base_path_join(libdir, "locale") | 145 | binary_locales_dir = d.getVar('localedir', True) |
145 | 146 | ||
146 | def calc_gconv_deps(fn, pkg, file_regex, output_pattern, group): | 147 | def calc_gconv_deps(fn, pkg, file_regex, output_pattern, group): |
147 | deps = [] | 148 | deps = [] |
@@ -259,7 +260,7 @@ python package_do_split_gconvs () { | |||
259 | path = d.getVar("PATH", True) | 260 | path = d.getVar("PATH", True) |
260 | i18npath = base_path_join(treedir, datadir, "i18n") | 261 | i18npath = base_path_join(treedir, datadir, "i18n") |
261 | gconvpath = base_path_join(treedir, "iconvdata") | 262 | gconvpath = base_path_join(treedir, "iconvdata") |
262 | outputpath = base_path_join(treedir, libdir, "locale") | 263 | outputpath = base_path_join(treedir, binary_locales_dir) |
263 | 264 | ||
264 | use_cross_localedef = d.getVar("LOCALE_GENERATION_WITH_CROSS-LOCALEDEF", True) or "0" | 265 | use_cross_localedef = d.getVar("LOCALE_GENERATION_WITH_CROSS-LOCALEDEF", True) or "0" |
265 | if use_cross_localedef == "1": | 266 | if use_cross_localedef == "1": |
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index 9b41749e2d..3496d2bb8c 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf | |||
@@ -40,6 +40,7 @@ export libdir = "${exec_prefix}/${baselib}" | |||
40 | export includedir = "${exec_prefix}/include" | 40 | export includedir = "${exec_prefix}/include" |
41 | export oldincludedir = "${exec_prefix}/include" | 41 | export oldincludedir = "${exec_prefix}/include" |
42 | export systemd_unitdir = "${base_libdir}/systemd" | 42 | export systemd_unitdir = "${base_libdir}/systemd" |
43 | localedir = "${libdir}/locale" | ||
43 | 44 | ||
44 | # Linkage between native/cross/nativesdk layouts | 45 | # Linkage between native/cross/nativesdk layouts |
45 | base_bindir_native = "/bin" | 46 | base_bindir_native = "/bin" |
diff --git a/meta/recipes-core/eglibc/eglibc-locale.inc b/meta/recipes-core/eglibc/eglibc-locale.inc index 296afdef6e..105cf2efd3 100644 --- a/meta/recipes-core/eglibc/eglibc-locale.inc +++ b/meta/recipes-core/eglibc/eglibc-locale.inc | |||
@@ -69,12 +69,12 @@ FILES_localedef = "${bindir}/localedef" | |||
69 | LOCALETREESRC = "${STAGING_INCDIR}/eglibc-locale-internal-${MULTIMACH_TARGET_SYS}" | 69 | LOCALETREESRC = "${STAGING_INCDIR}/eglibc-locale-internal-${MULTIMACH_TARGET_SYS}" |
70 | 70 | ||
71 | do_install () { | 71 | do_install () { |
72 | mkdir -p ${D}${bindir} ${D}${datadir} ${D}${libdir} | 72 | mkdir -p ${D}${bindir} ${D}${datadir} ${D}${libdir} ${D}${localedir} |
73 | if [ -n "$(ls ${LOCALETREESRC}/${bindir})" ]; then | 73 | if [ -n "$(ls ${LOCALETREESRC}/${bindir})" ]; then |
74 | cp -fpPR ${LOCALETREESRC}/${bindir}/* ${D}${bindir} | 74 | cp -fpPR ${LOCALETREESRC}/${bindir}/* ${D}${bindir} |
75 | fi | 75 | fi |
76 | if [ -e ${LOCALETREESRC}/${libdir}/locale ]; then | 76 | if [ -n "$(ls ${LOCALETREESRC}/${localedir})" ]; then |
77 | cp -fpPR ${LOCALETREESRC}/${libdir}/locale ${D}${libdir} | 77 | cp -fpPR ${LOCALETREESRC}/${localedir}/* ${D}${localedir} |
78 | fi | 78 | fi |
79 | if [ -e ${LOCALETREESRC}/${libdir}/gconv ]; then | 79 | if [ -e ${LOCALETREESRC}/${libdir}/gconv ]; then |
80 | cp -fpPR ${LOCALETREESRC}/${libdir}/gconv ${D}${libdir} | 80 | cp -fpPR ${LOCALETREESRC}/${libdir}/gconv ${D}${libdir} |
diff --git a/meta/recipes-core/eglibc/eglibc-package.inc b/meta/recipes-core/eglibc/eglibc-package.inc index ab7540afb4..0059bcfc1c 100644 --- a/meta/recipes-core/eglibc/eglibc-package.inc +++ b/meta/recipes-core/eglibc/eglibc-package.inc | |||
@@ -98,7 +98,9 @@ do_install_locale () { | |||
98 | if [ -e ${D}${libdir}/gconv ]; then | 98 | if [ -e ${D}${libdir}/gconv ]; then |
99 | mv -f ${D}${libdir}/gconv ${dest}${libdir} | 99 | mv -f ${D}${libdir}/gconv ${dest}${libdir} |
100 | fi | 100 | fi |
101 | cp -fpPR ${D}${libdir}/* ${dest}${libdir} | 101 | if [ -e ${D}${exec_prefix}/lib ]; then |
102 | cp -fpPR ${D}${exec_prefix}/lib ${dest}${exec_prefix} | ||
103 | fi | ||
102 | if [ -e ${D}${datadir}/i18n ]; then | 104 | if [ -e ${D}${datadir}/i18n ]; then |
103 | mv ${D}${datadir}/i18n ${dest}${datadir} | 105 | mv ${D}${datadir}/i18n ${dest}${datadir} |
104 | fi | 106 | fi |
@@ -113,6 +115,9 @@ PACKAGE_PREPROCESS_FUNCS += "eglibc_package_preprocess" | |||
113 | 115 | ||
114 | eglibc_package_preprocess () { | 116 | eglibc_package_preprocess () { |
115 | rm -rf ${PKGD}/${includedir}/eglibc-locale-internal-${MULTIMACH_TARGET_SYS} | 117 | rm -rf ${PKGD}/${includedir}/eglibc-locale-internal-${MULTIMACH_TARGET_SYS} |
116 | rm -rf ${PKGD}/${libdir}/locale | 118 | rm -rf ${PKGD}/${localedir} |
119 | if [ "${libdir}" != "${exec_prefix}/lib" ]; then | ||
120 | # This dir only exists to hold locales | ||
121 | rm -rf ${PKGD}${exec_prefix}/lib | ||
122 | fi | ||
117 | } | 123 | } |
118 | |||
diff --git a/meta/recipes-core/eglibc/eglibc.inc b/meta/recipes-core/eglibc/eglibc.inc index 29e303fafd..cae955d523 100644 --- a/meta/recipes-core/eglibc/eglibc.inc +++ b/meta/recipes-core/eglibc/eglibc.inc | |||
@@ -34,6 +34,7 @@ LEAD_SONAME = "libc.so" | |||
34 | 34 | ||
35 | CACHED_CONFIGUREVARS += "ac_cv_path_KSH=${base_bindir}/bash \ | 35 | CACHED_CONFIGUREVARS += "ac_cv_path_KSH=${base_bindir}/bash \ |
36 | ac_cv_path_BASH_SHELL=${base_bindir}/bash \ | 36 | ac_cv_path_BASH_SHELL=${base_bindir}/bash \ |
37 | libc_cv_localedir=${localedir} \ | ||
37 | libc_cv_ssp=no \ | 38 | libc_cv_ssp=no \ |
38 | " | 39 | " |
39 | 40 | ||