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 } |