eglibc: Dont package timezone data
authorKhem Raj <raj.khem@gmail.com>
Fri, 18 Sep 2009 23:33:49 +0000 (16:33 -0700)
committerKhem Raj <raj.khem@gmail.com>
Tue, 29 Sep 2009 17:39:18 +0000 (10:39 -0700)
* Depend on USE_LDCONFIG to package ldconfig.
* Delete usr/share/zoneinfo from install tree.
* Delete extra binaries installed by getconf.
  POSIX_V6_ILP32_OFF32   POSIX_V7_ILP32_OFF32   XBS5_ILP32_OFF32
  POSIX_V6_ILP32_OFFBIG  POSIX_V7_ILP32_OFFBIG  XBS5_ILP32_OFFBIG
* Fix dangling symlink to /lib/libcidn-2.10.1.so
* in do_stage dont do duplicate install its time
  consuming and complex instead copy the install tree
  into staging. This part it from poky
  http://git.pokylinux.org/cgit.cgi/poky/commit/?h=canadian&id=48a278ed71306f633091ed81d170eeff45ba3759
* Remove tzdata from RPROVIDES

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
recipes/eglibc/eglibc-package.bbclass
recipes/eglibc/eglibc-stage.inc
recipes/eglibc/eglibc.inc

index ac8a7fe..a50ec61 100644 (file)
@@ -26,10 +26,13 @@ ENABLE_BINARY_LOCALE_GENERATION ?= "0"
 # BINARY_LOCALE_ARCHES is a space separated list of regular expressions
 BINARY_LOCALE_ARCHES ?= "arm.* i[3-6]86 x86_64 powerpc"
 
+# Set this to zero if you don't want ldconfig in the output package
+USE_LDCONFIG ?= "1"
+
 PACKAGES = "eglibc-dbg eglibc catchsegv sln nscd ldd localedef eglibc-utils eglibc-dev eglibc-doc eglibc-locale libsegfault eglibc-extra-nss eglibc-thread-db eglibc-pcprofile"
 PACKAGES_DYNAMIC = "glibc-gconv-* glibc-charmap-* glibc-localedata-* glibc-binary-localedata-* eglibc-gconv-* eglibc-charmap-* eglibc-localedata-* eglibc-binary-localedata-* locale-base-*"
 
-RPROVIDES_eglibc = "glibc tzdata"
+RPROVIDES_eglibc = "glibc"
 RPROVIDES_eglibc-utils = "glibc-utils"
 RPROVIDES_eglibc-dev = "glibc-dev"
 RPROVIDES_eglibc-doc = "glibc-doc"
@@ -38,9 +41,9 @@ RPROVIDES_eglibc-extra-nss = "glibc-extra-nss"
 RPROVIDES_eglibc-thread-db = "glibc-thread-db"
 RPROVIDES_eglibc-pcprofile = "glibc-pcprofile"
 RPROVIDES_eglibc-dbg = "glibc-dbg"
-libc_baselibs = "${base_libdir}/libcrypt*.so.* ${base_libdir}/libcrypt-*.so ${base_libdir}/libc*.so.* ${base_libdir}/libc-*.so ${base_libdir}/libm*.so.* ${base_libdir}/libm-*.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"
+libc_baselibs = "${base_libdir}/libcrypt*.so.* ${base_libdir}/libcrypt-*.so ${base_libdir}/libc*.so.* ${base_libdir}/libc*.so ${base_libdir}/libm*.so.* ${base_libdir}/libm-*.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"
 
-FILES_${PN} = "${sysconfdir} ${libc_baselibs} /sbin/ldconfig ${libexecdir}/* ${datadir}/zoneinfo"
+FILES_${PN} = "${libc_baselibs} ${libexecdir}/* ${@base_conditional('USE_LDCONFIG', '1', '${base_sbindir}/ldconfig', '', d)}"
 FILES_ldd = "${bindir}/ldd"
 FILES_libsegfault = "${base_libdir}/libSegFault*"
 FILES_eglibc-extra-nss = "${base_libdir}/libnss*"
@@ -88,6 +91,8 @@ do_install() {
                mv ${WORKDIR}/SUPPORTED.tmp ${WORKDIR}/SUPPORTED
        done
        rm -f ${D}/etc/rpc
+       rm -rf ${D}${datadir}/zoneinfo
+       rm -rf ${D}${libexecdir}/getconf
 }
 
 TMP_LOCALE="/tmp/locale${libdir}/locale"
index 2b7b303..79ca8c8 100644 (file)
@@ -1,18 +1,6 @@
 do_stage() {
-       rm -f ${STAGING_DIR_HOST}${layout_base_libdir}/libc.so.6
-       oe_runmake 'install_root=${STAGING_DIR_HOST}' \
-                  'includedir=${layout_includedir}' 'libdir=${layout_libdir}' 'slibdir=${layout_base_libdir}' \
-                  '${STAGING_DIR_HOST}${layout_base_libdir}/libc.so.6' \
-                  install
-
-       install -d ${STAGING_INCDIR}/gnu \
-                  ${STAGING_INCDIR}/bits \
-                  ${STAGING_INCDIR}/rpcsvc
-       install -m 0644 ${S}/include/gnu/stubs.h ${STAGING_INCDIR}/gnu/
-       install -m 0644 ${B}/bits/stdio_lim.h ${STAGING_INCDIR}/bits/
-       install -m 0644 misc/syscall-list.h ${STAGING_INCDIR}/bits/syscall.h
-       for r in ${rpcsvc}; do
-               h=`echo $r|sed -e's,\.x$,.h,'`
-               install -m 0644 ${S}/sunrpc/rpcsvc/$h ${STAGING_INCDIR}/rpcsvc/
-       done
+    # Installing directly into staging creates some races between existing
+    # glibc-initial files and us. We could use a new DESTDIR but we may as
+    # well just copy the data installed by do_install
+    cp -pPR ${D}/* ${STAGING_DIR_HOST}/
 }
index f81523e..1b655e1 100644 (file)
@@ -3,7 +3,7 @@ HOMEPAGE = "http://www.eglibc.org/home"
 SECTION = "libs"
 PRIORITY = "required"
 LICENSE = "LGPL"
-INC_PR = "r6"
+INC_PR = "r7"
 # nptl needs unwind support in gcc, which can't be built without glibc.
 DEPENDS = "virtual/${TARGET_PREFIX}gcc-intermediate linux-libc-headers"
 #this leads to circular deps, so lets not add it yet