wok-next annotate glibc-base/receipt @ rev 19712

Up backuppc (3.3.2)
author Pascal Bellard <pascal.bellard@slitaz.org>
date Fri May 12 11:26:54 2017 +0200 (2017-05-12)
parents 6b0977689017
children
rev   line source
pankso@2 1 # SliTaz package receipt.
pankso@2 2
pankso@2 3 PACKAGE="glibc-base"
al@19561 4 VERSION="2.24"
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"
pascal@15000 9 LICENSE="GPL2"
al@19561 10 HOST_ARCH="i486 arm x86_64"
al@19561 11
pankso@12820 12 WANTED="glibc"
pankso@12804 13
al@16451 14 # Locales include by default, other locales are in: locale-** and glibc-locale
al@16451 15 DEFAULT_LOCALE="en_US en_GB"
pankso@12820 16
pankso@12820 17 # Handle multiarch compilation.
pankso@12804 18 case "$ARCH" in
pankso@16528 19 arm*|x86_64) VERSION="2.13" WANTED="" ;;
pankso@12916 20 esac
pankso@12916 21
pankso@12916 22 # Handle multiarch installation.
pankso@12916 23 case "$SLITAZ_ARCH" in
pankso@16528 24 arm*|x86_64) VERSION="2.13" WANTED="" ;;
pankso@12804 25 esac
pankso@2 26
pankso@2 27 # Rules to gen a SliTaz package suitable for Tazpkg.
pankso@2 28 #
pankso@2 29 # Full glibc is very long to compile (see package glibc for more
pankso@2 30 # informations). You can use the precompiled package available on
pankso@2 31 # SliTaz mirror to build a distro without recompiling glibc.
pankso@2 32 #
pankso@12881 33
pankso@12881 34 # i18n
pankso@12881 35 get_locales()
pankso@12881 36 {
pankso@12881 37 local path=$1
al@19561 38 for i in $DEFAULT_LOCALE; do
pankso@12881 39 cp $install/$path/i18n/locales/$i $fs/usr/share/i18n/locales
pankso@12881 40 done
pankso@12881 41 }
pankso@12881 42
pankso@2 43 genpkg_rules()
pankso@2 44 {
pankso@12804 45 case "$ARCH" in
pankso@16528 46 arm*)
al@19561 47 # Mkdir's.
al@19561 48 for dir in $(cat $stuff/mkdir.list)
al@19561 49 do
al@19561 50 mkdir -p ${fs}$dir
al@19561 51 done
al@19561 52
pankso@12911 53 # Eglibc is cross compiled by cross to have a toolchain so we can
pankso@12911 54 # use these files instead of recooking it. ARM use Eglibc
pankso@12911 55 echo "Using cross compiled Eglibc..."
pankso@12911 56 install=/cross/$ARCH/sysroot
pankso@12911 57
pankso@12911 58 # /usr/{bin,share} /usr/lib/gconv
pankso@12911 59 for file in $(cat $stuff/arm-files.list)
al@16433 60 do
al@16433 61 cp -a ${install}$file ${fs}$file
al@16433 62 done
pankso@12911 63
pankso@12911 64 # libs
pankso@12911 65 for lib in libcrypt libm libc libresolv librt libutil libpthread \
pankso@12911 66 libnss_* libnsl libanl libdl
pankso@12911 67 do
pankso@12911 68 cp -a $install/lib/${lib}-*.so $fs/lib
pankso@12911 69 cp -a $install/lib/${lib}.so* $fs/lib
pankso@12911 70 cp -a $install/usr/lib/${lib}.so $fs/usr/lib
pankso@12911 71 done
pankso@12911 72 cp -a $install/lib/ld-*.so* $fs/lib
pankso@12911 73 cp -a $install/usr/lib/libc_nonshared.a $fs/usr/lib
pankso@12911 74 cp -a $install/usr/lib/libpthread_nonshared.a $fs/usr/lib
pankso@12911 75 cp $install/etc/rpc $fs/etc
pankso@12911 76 touch $fs/etc/ld.so.conf
pankso@12911 77 touch $fs/etc/ld.so.cache
pankso@12911 78 get_locales "usr/share" ;;
pankso@12911 79 x86_64)
al@19561 80 # Mkdir's.
al@19561 81 for dir in $(cat $stuff/mkdir.list)
al@19561 82 do
al@19561 83 mkdir -p ${fs}$dir
al@19561 84 done
al@19561 85
pankso@12804 86 # EXPERIMENTAL: Glibc is cross compiled by cross to have a
pankso@12804 87 # toolchain so we can use these files instead of recooking it.
pankso@12820 88 echo "Using cross compiled Glibc..."
pankso@12804 89 install=/usr/cross/$ARCH
pankso@12881 90
pankso@12881 91 # /usr/{bin,share} /usr/lib/gconv
pankso@12881 92 for file in $(cat $stuff/arm-files.list)
al@16433 93 do
al@16433 94 cp -a ${install}$file ${fs}/usr/$file
al@16433 95 done
pankso@12881 96
pankso@12829 97 # /lib
pankso@12881 98 for lib in libcrypt libm libc libresolv librt libutil libpthread \
pankso@12881 99 libnss_* libnsl libanl libdl
pankso@12804 100 do
pankso@12814 101 cp -a $install/lib/${lib}-*.so $fs/lib
pankso@12814 102 cp -a $install/lib/${lib}.so* $fs/lib
pankso@12804 103 done
pankso@12814 104 cp -a $install/lib/ld-*.so* $fs/lib
pankso@12814 105 cp -a $install/lib/libc_nonshared.a $fs/lib
pankso@12881 106 cp -a $install/lib/libpthread_nonshared.a $fs/lib
pankso@12804 107 cp $install/etc/rpc $fs/etc
pankso@12814 108 touch $fs/etc/ld.so.conf
pankso@12881 109 get_locales "share"
pankso@12814 110 # Fix libraries search path
pankso@12881 111 sed -i s"|/usr/cross/$ARCH||"g $fs/lib/libc.so
pankso@12881 112 sed -i s"|/usr/cross/$ARCH||"g $fs/lib/libpthread.so ;;
pankso@12804 113 *)
al@19561 114 cook_copy_files \
al@19561 115 ld-*.so* ld.so* \
al@19561 116 libanl-*.so* libanl.so* \
al@19561 117 libc-*.so* libc.so* \
al@19561 118 libcrypt-*.so* libcrypt.so* \
al@19561 119 libdl-*.so* libdl.so* \
al@19561 120 libm-*.so* libm.so* \
al@19561 121 libnsl-*.so* libnsl.so* \
al@19561 122 libnss_compat-*.so* libnss_compat.so* \
al@19561 123 libnss_dns-*.so* libnss_dns.so* \
al@19561 124 libnss_files-*.so* libnss_files.so* \
al@19561 125 libpthread-*.so* libpthread.so* \
al@19561 126 libresolv-*.so* libresolv.so* \
al@19561 127 librt-*.so* librt.so* \
al@19561 128 libthread_db-*.so* libthread_db.so* \
al@19561 129 libutil-*.so* libutil.so* \
al@19561 130 \
al@19561 131 UNICODE.so gconv-modules ANSI_X3.110.so ISO8859-1.so \
al@19561 132 ISO8859-15.so UTF-16.so CP1252.so IBM437.so IBM850.so \
al@19561 133 \
al@19561 134 i18n iso14651_t1 iso14651_t1_common translit_neutral \
al@19561 135 translit_combining translit_circle translit_cjk_compat \
al@19561 136 translit_compat translit_font translit_fraction translit_narrow \
al@19561 137 translit_small translit_wide \
al@19561 138 \
al@19561 139 locale localedef locale.alias UTF-8.gz UTC rpc \
al@19561 140 $DEFAULT_LOCALE
al@19581 141 mkdir -p $fs/etc
al@19581 142 cp $stuff/nsswitch.conf $fs/etc
pankso@12804 143 esac
pankso@2 144 }
pankso@528 145
pankso@9715 146 # Remove an eventual locale-archive since we use directories.
pankso@2701 147 pre_install()
pankso@2701 148 {
pankso@12820 149 rm -f $root/usr/lib/locale/locale-archive
pankso@2701 150 }
pankso@12820 151
pankso@12820 152 # Glibc-base is auto-updated in chroot but when cross-compiling we need
pankso@12820 153 # to have /usr/cross/$ARCH search path in libc.so
pankso@12820 154 post_install()
pankso@12820 155 {
pankso@12835 156 # x86_64
pankso@12835 157 if echo $root | grep -q /usr/cross/x86_64; then
pankso@12835 158 echo "Fixing x86_64: $root/lib/libc.so"
pankso@12835 159 cat > $root/lib/libc.so << EOT
pankso@12835 160 OUTPUT_FORMAT(elf64-x86-64)
pankso@12835 161 GROUP ( $root/lib/libc.so.6 $root/lib/libc_nonshared.a AS_NEEDED ( $root/lib/ld-linux-x86-64.so.2 ) )
pankso@12835 162 EOT
pankso@12835 163 fi
pankso@12820 164 }