wok-undigest annotate glibc-base/receipt @ rev 1223

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