summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/recipes-core/glibc/glibc-package.inc34
1 files changed, 21 insertions, 13 deletions
diff --git a/meta/recipes-core/glibc/glibc-package.inc b/meta/recipes-core/glibc/glibc-package.inc
index 329732f48c..b9259612d4 100644
--- a/meta/recipes-core/glibc/glibc-package.inc
+++ b/meta/recipes-core/glibc/glibc-package.inc
@@ -15,7 +15,12 @@ RPROVIDES_glibc-thread-db = "eglibc-thread-db"
15RPROVIDES_${PN}-pcprofile = "eglibc-pcprofile" 15RPROVIDES_${PN}-pcprofile = "eglibc-pcprofile"
16RPROVIDES_${PN}-dbg = "eglibc-dbg" 16RPROVIDES_${PN}-dbg = "eglibc-dbg"
17libc_baselibs = "${base_libdir}/libc.so.* ${base_libdir}/libc-*.so ${base_libdir}/libm*.so.* ${base_libdir}/libm-*.so ${base_libdir}/libmvec-*.so ${base_libdir}/ld*.so.* ${base_libdir}/ld-*.so ${base_libdir}/libpthread*.so.* ${base_libdir}/libpthread-*.so ${base_libdir}/libresolv*.so.* ${base_libdir}/libresolv-*.so ${base_libdir}/librt*.so.* ${base_libdir}/librt-*.so ${base_libdir}/libutil*.so.* ${base_libdir}/libutil-*.so ${base_libdir}/libnsl*.so.* ${base_libdir}/libnsl-*.so ${base_libdir}/libnss_files*.so.* ${base_libdir}/libnss_files-*.so ${base_libdir}/libnss_compat*.so.* ${base_libdir}/libnss_compat-*.so ${base_libdir}/libnss_dns*.so.* ${base_libdir}/libnss_dns-*.so ${base_libdir}/libdl*.so.* ${base_libdir}/libdl-*.so ${base_libdir}/libanl*.so.* ${base_libdir}/libanl-*.so ${base_libdir}/libBrokenLocale*.so.* ${base_libdir}/libBrokenLocale-*.so" 17libc_baselibs = "${base_libdir}/libc.so.* ${base_libdir}/libc-*.so ${base_libdir}/libm*.so.* ${base_libdir}/libm-*.so ${base_libdir}/libmvec-*.so ${base_libdir}/ld*.so.* ${base_libdir}/ld-*.so ${base_libdir}/libpthread*.so.* ${base_libdir}/libpthread-*.so ${base_libdir}/libresolv*.so.* ${base_libdir}/libresolv-*.so ${base_libdir}/librt*.so.* ${base_libdir}/librt-*.so ${base_libdir}/libutil*.so.* ${base_libdir}/libutil-*.so ${base_libdir}/libnsl*.so.* ${base_libdir}/libnsl-*.so ${base_libdir}/libnss_files*.so.* ${base_libdir}/libnss_files-*.so ${base_libdir}/libnss_compat*.so.* ${base_libdir}/libnss_compat-*.so ${base_libdir}/libnss_dns*.so.* ${base_libdir}/libnss_dns-*.so ${base_libdir}/libdl*.so.* ${base_libdir}/libdl-*.so ${base_libdir}/libanl*.so.* ${base_libdir}/libanl-*.so ${base_libdir}/libBrokenLocale*.so.* ${base_libdir}/libBrokenLocale-*.so"
18libc_baselibs_append_aarch64 = " /lib/ld-linux-aarch64*.so.1" 18ARCH_DYNAMIC_LOADER = ""
19# The aarch64 ABI says the dynamic linker -must- be
20# /lib/ld-linux-aarch64{,_be}.so.1. With usrmerge, that may mean that
21# we need to install it in /usr/lib.
22ARCH_DYNAMIC_LOADER_aarch64 = "ld-linux-${TARGET_ARCH}.so.1"
23libc_baselibs_append = " ${@oe.utils.conditional('ARCH_DYNAMIC_LOADER', '', '', '${root_prefix}/lib/${ARCH_DYNAMIC_LOADER}', d)}"
19INSANE_SKIP_${PN}_append_aarch64 = " libdir" 24INSANE_SKIP_${PN}_append_aarch64 = " libdir"
20 25
21FILES_${PN} = "${libc_baselibs} ${libexecdir}/* ${base_sbindir}/ldconfig ${sysconfdir}/ld.so.conf" 26FILES_${PN} = "${libc_baselibs} ${libexecdir}/* ${base_sbindir}/ldconfig ${sysconfdir}/ld.so.conf"
@@ -114,20 +119,20 @@ do_install_append () {
114 echo "d root root 0755 /var/run/nscd none" \ 119 echo "d root root 0755 /var/run/nscd none" \
115 > ${D}${sysconfdir}/default/volatiles/98_nscd 120 > ${D}${sysconfdir}/default/volatiles/98_nscd
116 fi 121 fi
122
123 # The dynamic loader will have been installed into
124 # ${base_libdir}. However, if that isn't going to end up being
125 # available in the ABI-mandated location, then a symlink must
126 # be created.
127
128 if [ -n "${ARCH_DYNAMIC_LOADER}" -a ! -e "${D}${root_prefix}/lib/${ARCH_DYNAMIC_LOADER}" ]; then
129 install -d ${D}${root_prefix}/lib
130 ln -s ${@oe.path.relative('${root_prefix}/lib', '${base_libdir}')}/${ARCH_DYNAMIC_LOADER} \
131 ${D}${root_prefix}/lib/${ARCH_DYNAMIC_LOADER}
132 fi
117} 133}
118 134
119do_install_append_aarch64 () { 135do_install_append_aarch64 () {
120 if [ "${base_libdir}" != "${nonarch_base_libdir}" ]; then
121 # The aarch64 ABI says the dynamic linker -must- be /lib/ld-linux-aarch64[_be].so.1
122 install -d ${D}${nonarch_base_libdir}
123 if [ -e ${D}${base_libdir}/ld-linux-aarch64.so.1 ]; then
124 ln -s ${@oe.path.relative('${nonarch_base_libdir}', '${base_libdir}')}/ld-linux-aarch64.so.1 \
125 ${D}${nonarch_base_libdir}/ld-linux-aarch64.so.1
126 elif [ -e ${D}${base_libdir}/ld-linux-aarch64_be.so.1 ]; then
127 ln -s ${@oe.path.relative('${nonarch_base_libdir}', '${base_libdir}')}/ld-linux-aarch64_be.so.1 \
128 ${D}${nonarch_base_libdir}/ld-linux-aarch64_be.so.1
129 fi
130 fi
131 do_install_armmultilib 136 do_install_armmultilib
132} 137}
133 138
@@ -209,12 +214,15 @@ do_poststash_install_cleanup () {
209 rm -rf ${D}/${localedir} 214 rm -rf ${D}/${localedir}
210 rm -rf ${D}${datadir}/locale 215 rm -rf ${D}${datadir}/locale
211 if [ "${libdir}" != "${exec_prefix}/lib" ]; then 216 if [ "${libdir}" != "${exec_prefix}/lib" ]; then
212 if [ -d ${D}${exec_prefix}/lib ]; then 217 if [ -d "${D}${exec_prefix}/lib" ]; then
218 if [ -z "${ARCH_DYNAMIC_LOADER}" -o \
219 ! -e "${D}${exec_prefix}/lib/${ARCH_DYNAMIC_LOADER}" ]; then
213 # error out if directory isn't empty 220 # error out if directory isn't empty
214 # this dir should only contain locale dir 221 # this dir should only contain locale dir
215 # which has been deleted in the previous step 222 # which has been deleted in the previous step
216 rmdir ${D}${exec_prefix}/lib 223 rmdir ${D}${exec_prefix}/lib
217 fi 224 fi
225 fi
218 fi 226 fi
219} 227}
220addtask do_poststash_install_cleanup after do_stash_locale do_install before do_populate_sysroot do_package 228addtask do_poststash_install_cleanup after do_stash_locale do_install before do_populate_sysroot do_package