wok annotate glibc-base/receipt @ rev 12820

glibc-base: improve receipt for ARM and cross-compilation
author Christophe Lincoln <pankso@slitaz.org>
date Mon May 21 23:48:44 2012 +0200 (2012-05-21)
parents aca236067685
children 0e6f6c60f891
rev   line source
pankso@2 1 # SliTaz package receipt.
pankso@2 2
pankso@2 3 PACKAGE="glibc-base"
pankso@12814 4 VERSION="2.14.1"
pankso@2 5 CATEGORY="base-system"
pankso@4855 6 SHORT_DESC="GNU libc minimal libraries and UTF-8 support for SliTaz."
pankso@2701 7 WEB_SITE="http://www.gnu.org/software/libc/"
pankso@2 8 MAINTAINER="pankso@slitaz.org"
pankso@12820 9 WANTED="glibc"
pankso@12804 10 HOST_ARCH="i486 arm"
pankso@12804 11
pankso@12820 12 # Locales include by default, other locales are in: glibc-locale
pankso@12820 13 DEFAULT_LOCALE="de_DE en_US en_GB es_ES fr_FR it_IT pt_BR pt_PT ru_RU"
pankso@12820 14
pankso@12820 15 # Handle multiarch compilation.
pankso@12804 16 case "$ARCH" in
pankso@12820 17 arm) VERSION="2.13" WANTED="" ;;
pankso@12804 18 esac
pankso@2 19
pankso@2 20 # Rules to gen a SliTaz package suitable for Tazpkg.
pankso@2 21 #
pankso@2 22 # Full glibc is very long to compile (see package glibc for more
pankso@2 23 # informations). You can use the precompiled package available on
pankso@2 24 # SliTaz mirror to build a distro without recompiling glibc.
pankso@2 25 #
pankso@2 26 genpkg_rules()
pankso@2 27 {
pankso@12804 28 case "$ARCH" in
pankso@12804 29 arm)
pankso@12804 30 # EXPERIMENTAL: Glibc is cross compiled by cross to have a
pankso@12804 31 # toolchain so we can use these files instead of recooking it.
pankso@12804 32 # 20120514: Include just minal libs for Busybox so we can create
pankso@12804 33 # bootable Qemu image for ARM.
pankso@12820 34 echo "Using cross compiled Glibc..."
pankso@12804 35 mkdir -p $fs/lib $fs/etc $fs/usr/bin
pankso@12804 36 install=/usr/cross/$ARCH
pankso@12804 37 for bin in locale localedef
pankso@12804 38 do
pankso@12804 39 cp $install/bin/$bin $fs/usr/bin
pankso@12804 40 done
pankso@12804 41 for lib in libcrypt libm libc
pankso@12804 42 do
pankso@12814 43 cp -a $install/lib/${lib}-*.so $fs/lib
pankso@12814 44 cp -a $install/lib/${lib}.so* $fs/lib
pankso@12804 45 done
pankso@12814 46 cp -a $install/lib/ld-*.so* $fs/lib
pankso@12814 47 cp -a $install/lib/libnss_*.so* $fs/lib
pankso@12814 48 cp -a $install/lib/libc_nonshared.a $fs/lib
pankso@12804 49 cp $install/etc/rpc $fs/etc
pankso@12814 50 touch $fs/etc/ld.so.conf
pankso@12820 51 ## i18n
pankso@12820 52 #mkdir -p $fs/usr/share/i18n/locales
pankso@12820 53 #for i in $DEFAULT_LOCALE
pankso@12820 54 #do
pankso@12820 55 #cp $install/share/i18n/locales/$i \
pankso@12820 56 #$fs/usr/share/i18n/locales
pankso@12820 57 #done
pankso@12814 58 # Fix libraries search path
pankso@12814 59 sed -i s'|/usr/cross/arm||'g $fs/lib/libc.so ;;
pankso@12804 60 *)
pankso@12804 61 # Mkdir's.
pankso@12804 62 for dir in $(cat $stuff/mkdir.list)
pankso@12804 63 do
pankso@12804 64 mkdir -p ${fs}$dir
pankso@12804 65 done
pankso@12804 66 # Copy all files specified in stuff/files.list. We get the files
pankso@12804 67 # from glibc package.
pankso@12804 68 for file in $(cat $stuff/wanted-files.list)
pankso@12804 69 do
pankso@12804 70 cp -a ${_pkg}$file ${fs}$file
pankso@12804 71 done
pankso@12804 72 # i18n
pankso@12804 73 for i in $DEFAULT_LOCALE
pankso@12804 74 do
pankso@12804 75 cp $install/usr/share/i18n/locales/$i \
pankso@12804 76 $fs/usr/share/i18n/locales
pankso@12804 77 done
pankso@12804 78 esac
pankso@2 79 }
pankso@528 80
pankso@9715 81 # Remove an eventual locale-archive since we use directories.
pankso@2701 82 pre_install()
pankso@2701 83 {
pankso@12820 84 rm -f $root/usr/lib/locale/locale-archive
pankso@2701 85 }
pankso@12820 86
pankso@12820 87 # Glibc-base is auto-updated in chroot but when cross-compiling we need
pankso@12820 88 # to have /usr/cross/$ARCH search path in libc.so
pankso@12820 89 post_install()
pankso@12820 90 {
pankso@12820 91 if echo $root | grep -q /usr/cross; then
pankso@12820 92 echo "Fixing: $root/lib/libc.so"
pankso@12820 93 sed -i s"|/lib|$root/lib|"g $root/lib/libc.so
pankso@12820 94 fi
pankso@12820 95 }