wok-backports annotate glibc-base/receipt @ rev 55

Remove ashism ==
author Pascal Bellard <pascal.bellard@slitaz.org>
date Wed Feb 27 17:46:33 2019 +0100 (2019-02-27)
parents
children
rev   line source
pascal@19 1 # SliTaz package receipt.
pascal@19 2
pascal@19 3 PACKAGE="glibc-base"
pascal@19 4 VERSION="2.14.1"
pascal@19 5 CATEGORY="base-system"
pascal@19 6 SHORT_DESC="GNU libc minimal libraries and UTF-8 support for SliTaz."
pascal@19 7 WEB_SITE="http://www.gnu.org/software/libc/"
pascal@19 8 MAINTAINER="pankso@slitaz.org"
pascal@19 9 LICENSE="GPL2"
pascal@19 10 WANTED="glibc"
pascal@19 11 HOST_ARCH="i486 arm x86_64"
pascal@19 12
pascal@19 13 # Locales include by default, other locales are in: glibc-locale
pascal@19 14 DEFAULT_LOCALE="de_DE en_US en_GB es_ES fr_FR it_IT pt_BR pt_PT ru_RU"
pascal@19 15
pascal@19 16 # Handle multiarch compilation.
pascal@19 17 case "$ARCH" in
pascal@19 18 arm|x86_64) VERSION="2.13" WANTED="" ;;
pascal@19 19 esac
pascal@19 20
pascal@19 21 # Handle multiarch installation.
pascal@19 22 case "$SLITAZ_ARCH" in
pascal@19 23 arm|x86_64) VERSION="2.13" WANTED="" ;;
pascal@19 24 esac
pascal@19 25
pascal@19 26 # Rules to gen a SliTaz package suitable for Tazpkg.
pascal@19 27 #
pascal@19 28 # Full glibc is very long to compile (see package glibc for more
pascal@19 29 # informations). You can use the precompiled package available on
pascal@19 30 # SliTaz mirror to build a distro without recompiling glibc.
pascal@19 31 #
pascal@19 32
pascal@19 33 # i18n
pascal@19 34 get_locales()
pascal@19 35 {
pascal@19 36 local path=$1
pascal@19 37 for i in $DEFAULT_LOCALE
pascal@19 38 do
pascal@19 39 cp $install/$path/i18n/locales/$i $fs/usr/share/i18n/locales
pascal@19 40 done
pascal@19 41 }
pascal@19 42
pascal@19 43 genpkg_rules()
pascal@19 44 {
pascal@19 45 # Mkdir's.
pascal@19 46 for dir in $(cat $stuff/mkdir.list)
pascal@19 47 do
pascal@19 48 mkdir -p ${fs}$dir
pascal@19 49 done
pascal@19 50
pascal@19 51 case "$ARCH" in
pascal@19 52 arm)
pascal@19 53 # Eglibc is cross compiled by cross to have a toolchain so we can
pascal@19 54 # use these files instead of recooking it. ARM use Eglibc
pascal@19 55 echo "Using cross compiled Eglibc..."
pascal@19 56 install=/cross/$ARCH/sysroot
pascal@19 57
pascal@19 58 # /usr/{bin,share} /usr/lib/gconv
pascal@19 59 for file in $(cat $stuff/arm-files.list)
pascal@19 60 do
pascal@19 61 cp -a ${install}$file ${fs}$file
pascal@19 62 done
pascal@19 63
pascal@19 64 # libs
pascal@19 65 for lib in libcrypt libm libc libresolv librt libutil libpthread \
pascal@19 66 libnss_* libnsl libanl libdl
pascal@19 67 do
pascal@19 68 cp -a $install/lib/${lib}-*.so $fs/lib
pascal@19 69 cp -a $install/lib/${lib}.so* $fs/lib
pascal@19 70 cp -a $install/usr/lib/${lib}.so $fs/usr/lib
pascal@19 71 done
pascal@19 72 cp -a $install/lib/ld-*.so* $fs/lib
pascal@19 73 cp -a $install/usr/lib/libc_nonshared.a $fs/usr/lib
pascal@19 74 cp -a $install/usr/lib/libpthread_nonshared.a $fs/usr/lib
pascal@19 75 cp $install/etc/rpc $fs/etc
pascal@19 76 touch $fs/etc/ld.so.conf
pascal@19 77 touch $fs/etc/ld.so.cache
pascal@19 78 get_locales "usr/share" ;;
pascal@19 79 x86_64)
pascal@19 80 # EXPERIMENTAL: Glibc is cross compiled by cross to have a
pascal@19 81 # toolchain so we can use these files instead of recooking it.
pascal@19 82 echo "Using cross compiled Glibc..."
pascal@19 83 install=/usr/cross/$ARCH
pascal@19 84
pascal@19 85 # /usr/{bin,share} /usr/lib/gconv
pascal@19 86 for file in $(cat $stuff/arm-files.list)
pascal@19 87 do
pascal@19 88 cp -a ${install}$file ${fs}/usr/$file
pascal@19 89 done
pascal@19 90
pascal@19 91 # /lib
pascal@19 92 for lib in libcrypt libm libc libresolv librt libutil libpthread \
pascal@19 93 libnss_* libnsl libanl libdl
pascal@19 94 do
pascal@19 95 cp -a $install/lib/${lib}-*.so $fs/lib
pascal@19 96 cp -a $install/lib/${lib}.so* $fs/lib
pascal@19 97 done
pascal@19 98 cp -a $install/lib/ld-*.so* $fs/lib
pascal@19 99 cp -a $install/lib/libc_nonshared.a $fs/lib
pascal@19 100 cp -a $install/lib/libpthread_nonshared.a $fs/lib
pascal@19 101 cp $install/etc/rpc $fs/etc
pascal@19 102 touch $fs/etc/ld.so.conf
pascal@19 103 get_locales "share"
pascal@19 104 # Fix libraries search path
pascal@19 105 sed -i s"|/usr/cross/$ARCH||"g $fs/lib/libc.so
pascal@19 106 sed -i s"|/usr/cross/$ARCH||"g $fs/lib/libpthread.so ;;
pascal@19 107 *)
pascal@19 108 # Copy all files specified in stuff/files.list. We get the files
pascal@19 109 # from glibc package.
pascal@19 110 for file in $(cat $stuff/wanted-files.list)
pascal@19 111 do
pascal@19 112 cp -a ${install}$file ${fs}$file
pascal@19 113 done
pascal@19 114 get_locales "usr/share"
pascal@19 115 esac
pascal@19 116 }
pascal@19 117
pascal@19 118 # Remove an eventual locale-archive since we use directories.
pascal@19 119 pre_install()
pascal@19 120 {
pascal@19 121 rm -f $root/usr/lib/locale/locale-archive
pascal@19 122 }
pascal@19 123
pascal@19 124 # Glibc-base is auto-updated in chroot but when cross-compiling we need
pascal@19 125 # to have /usr/cross/$ARCH search path in libc.so
pascal@19 126 post_install()
pascal@19 127 {
pascal@19 128 # x86_64
pascal@19 129 if echo $root | grep -q /usr/cross/x86_64; then
pascal@19 130 echo "Fixing x86_64: $root/lib/libc.so"
pascal@19 131 cat > $root/lib/libc.so << EOT
pascal@19 132 OUTPUT_FORMAT(elf64-x86-64)
pascal@19 133 GROUP ( $root/lib/libc.so.6 $root/lib/libc_nonshared.a AS_NEEDED ( $root/lib/ld-linux-x86-64.so.2 ) )
pascal@19 134 EOT
pascal@19 135 fi
pascal@19 136 }