wok-4.x annotate glibc/receipt @ rev 12477

Up openssl 1.1.1n (bump packages curl, git, wget, python), up cherokee 1.2.104 and bdeps (automake, openldap, cyrus-sasl)
author Stanislas Leduc <shann@slitaz.org>
date Sun Apr 02 14:34:44 2023 +0000 (18 months ago)
parents d97d1f60fc46
children
rev   line source
pankso@9 1 # SliTaz package receipt.
pankso@9 2
pankso@9 3 PACKAGE="glibc"
shann@12476 4 VERSION="2.22"
pankso@3475 5 CATEGORY="meta"
pankso@9 6 SHORT_DESC="The GNU C libraries. This package is used to compile the libc."
pankso@9 7 MAINTAINER="pankso@slitaz.org"
pankso@9 8 TARBALL="$PACKAGE-$VERSION.tar.gz"
pankso@9 9 WEB_SITE="http://www.gnu.org/software/libc/"
pankso@9 10 WGET_URL="$GNU_MIRROR/$PACKAGE/$TARBALL"
pankso@9713 11
pankso@9713 12 DEPENDS="glibc-base glibc-locale glibc-dev"
shann@12466 13 BUILD_DEPENDS="linux-api-headers autoconf bash advancecomp"
pankso@9713 14
pankso@9713 15 # Genpkg order for tazwok.
gokhlayeh@9253 16 COOK_OPT="genpkg=glibc-base:glibc-extra-samba:glib-locale:glibc-dev"
shann@12476 17
shann@12476 18 # Apply glibc patches CVE
shann@12476 19 apply_cve_patchs()
shann@12476 20 {
shann@12476 21 while read file; do
shann@12476 22 [ -f done.$file ] && continue
shann@12476 23 echo "Apply $file..."
shann@12476 24 patch -p1 < $stuff/patches/$PACKAGE-$VERSION-CVE-$file || return 1
shann@12476 25 touch done.$file
shann@12476 26 done <<EOT
shann@12476 27 2014-9761.patch
shann@12476 28 2015-5180.patch
shann@12476 29 2015-7547-getaddrinfo-stack-based-buffer-overflow.patch
shann@12476 30 2015-8776.patch
shann@12476 31 2015-8777.patch
shann@12476 32 2015-8778.patch
shann@12476 33 2015-8779.patch
shann@12476 34 2016-1234.patch
shann@12476 35 2016-3075.patch
shann@12476 36 2016-3706.patch
shann@12476 37 2016-4429.patch
shann@12476 38 2016-5417.patch
shann@12476 39 2016-6323.patch
shann@12476 40 2017-1000366.patch
shann@12476 41 2017-12133.patch
shann@12476 42 2017-15670.patch
shann@12476 43 2017-15671.patch
shann@12476 44 2017-15804.patch
shann@12476 45 2017-16997.patch
shann@12476 46 2017-18269.patch
shann@12476 47 2018-1000001.patch
shann@12476 48 2018-11236.patch
shann@12476 49 2018-6485.patch
shann@12476 50 EOT
shann@12476 51 }
gokhlayeh@8189 52
gokhlayeh@8189 53 # Rules to compile & install the temporary toolchain.
gokhlayeh@8189 54 cook_tmp_toolchain()
gokhlayeh@8189 55 {
gokhlayeh@8189 56 cd $src
gokhlayeh@8189 57
gokhlayeh@8189 58 # Build in a separate directory.
gokhlayeh@8189 59 mkdir ../glibc-build && cd ../glibc-build
gokhlayeh@8189 60
gokhlayeh@8189 61 # glibc no longer support i386, so use -march=i486 for better compatibility.
pankso@10024 62 # If i686 ???
slaxemulator@10420 63 unset CFLAGS CXXFLAGS
gokhlayeh@8189 64 case $ARCH in
slaxemulator@10420 65 i386|i486)
pankso@12008 66 echo "CFLAGS += -O2 -march=i486 -mtune=i486" > configparms ;;
slaxemulator@10420 67 *)
pankso@12006 68 echo "CFLAGS += -O2 -march=$ARCH -mtune=$ARCH" > configparms ;;
gokhlayeh@8189 69 esac
gokhlayeh@8189 70
gokhlayeh@8189 71 { $src/configure \
slaxemulator@10420 72 --host=$HOST_SYSTEM \
gokhlayeh@8189 73 --build=$($src/scripts/config.guess) \
gokhlayeh@8189 74 --disable-profile --enable-add-ons \
slaxemulator@10420 75 --enable-kernel=2.6.30 --with-headers=/tools/include \
gokhlayeh@8189 76 libc_cv_forced_unwind=yes libc_cv_c_cleanup=yes &&
gokhlayeh@8189 77 make &&
gokhlayeh@8189 78 make install
gokhlayeh@8189 79 } || return 1
gokhlayeh@8189 80
gokhlayeh@8189 81 # Link compiler to this new glibc.
slaxemulator@10420 82 SPECS=`dirname $($HOST_SYSTEM-gcc -print-libgcc-file-name)`/specs
slaxemulator@10420 83 $HOST_SYSTEM-gcc -dumpspecs | sed \
gokhlayeh@8189 84 -e 's@/lib\(64\)\?/ld@/tools&@g' \
gokhlayeh@8189 85 -e "/^\*cpp:$/{n;s,$, -isystem /tools/include,}" > $SPECS
gokhlayeh@8189 86 unset SPECS
gokhlayeh@8189 87 }
pankso@9 88
pankso@9 89 # Rules to configure and make the package.
pankso@9 90 compile_rules()
pankso@9 91 {
pankso@10031 92 cd $src
slaxemulator@10351 93
shann@12476 94 apply_cve_patchs
shann@12476 95
slaxemulator@10351 96 # SliTaz is a Busybox based OS, why we so small and fast. Using gawk by
slaxemulator@10351 97 # default to build package will not ensure package work with Busybox awk
slaxemulator@10351 98 # and so should NOT be use to cook.
slaxemulator@10351 99 if [ -x /usr/bin/cook ]; then
slaxemulator@10351 100 [ -d "/var/lib/tazpkg/installed/gawk" ] || tazpkg get-install gawk
slaxemulator@10351 101 fi
slaxemulator@10351 102
shann@12466 103 # Fixes and patches from LFS, Redhat
gokhlayeh@8748 104 sed -i -e 's/"db1"/& \&\& $name ne "nss_test1"/' scripts/test-installation.pl
gokhlayeh@8189 105 sed -i 's|@BASH@|/bin/bash|' elf/ldd.bash.in
gokhlayeh@8189 106
shann@12466 107 # Glibc misc Bug Fixes
shann@12466 108 # fix for {linux,sys}/xattr.h incompatibility - commit fdbe8eae
shann@12476 109 #patch -p1 -i $stuff/glibc-2.19-xattr_header.patch
gokhlayeh@8748 110
shann@12466 111 # fix issues in sin/cos slow path calculation - commit ffe768a9
shann@12476 112 #patch -p1 -i $stuff/glibc-2.19-fix-sign-in-bsloww1-input.patch
shann@12466 113
shann@12466 114 # fix tzselect with missing TZDIR - commit 893b4f37/c72399fb
shann@12476 115 #patch -p1 -i $stuff/glibc-2.19-tzselect-default.patch
shann@12466 116
shann@12466 117 # Revert commit causing issues with crappy DNS servers
shann@12476 118 #patch -Np1 -i $stuff/glibc-2.14-revert-4768ae77.patch
pascal@12445 119
gokhlayeh@8748 120 # Fix a stack imbalance that occurs under some conditions:
shann@12476 121 #sed -i '195,213 s/PRIVATE_FUTEX/FUTEX_CLOCK_REALTIME/' \
shann@12476 122 # nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S \
shann@12476 123 # nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S
gokhlayeh@8189 124
pankso@10031 125 # Glibc needs ld.so.conf in the install destdir.
gokhlayeh@8189 126 mkdir -p $WOK/$PACKAGE/install/etc
gokhlayeh@8189 127 touch $WOK/$PACKAGE/install/etc/ld.so.conf
pankso@10031 128 mkdir ../glibc-build && cd ../glibc-build
pankso@10031 129
pankso@10031 130 # Read the INSTALL file in glibc. Also Glibc dont build with -Os flag.
pankso@10031 131 # --enale-kernel use latest SliTaz Kernel version. From Glibc INSTALL:
pankso@10031 132 # "The higher the VERSION number is, the less compatibility code is
pankso@10031 133 # added, and the faster the code gets."
pankso@10031 134 unset CFLAGS CXXFLAGS
pankso@10031 135 case "$ARCH" in
pankso@10024 136 i386|i486)
pankso@12008 137 echo "CFLAGS += -O2 -march=i486 -mtune=i486" > configparms ;;
pankso@10024 138 *)
pankso@12008 139 echo "CFLAGS += -O2 -march=$ARCH -mtune=$ARCH" > configparms ;;
pankso@10024 140 esac
gokhlayeh@8189 141 { $src/configure \
pankso@1153 142 --disable-profile \
pankso@1153 143 --enable-add-ons \
pankso@10034 144 --enable-kernel=2.6.30 \
shann@12466 145 --enable-obsolete-rpc \
pankso@10024 146 --libexecdir=/usr/lib/glibc \
pankso@10147 147 --build=$HOST_SYSTEM \
pankso@10147 148 --host=$HOST_SYSTEM &&
pankso@10031 149 make && make install_root=$DESTDIR install
gokhlayeh@8189 150 } || return 1
gokhlayeh@8189 151
pankso@10031 152 # If temporary toolchain was previously used, switch to regular toolchain.
gokhlayeh@8189 153 [ -d /tools ] || return
gokhlayeh@8189 154 mv /tools/bin/ld /tools/bin/ld-old
gokhlayeh@8189 155 mv /tools/$(gcc -dumpmachine)/bin/ld /tools/$(gcc -dumpmachine)/bin/ld-old
gokhlayeh@8189 156 mv /tools/bin/ld-new /tools/bin/ld
gokhlayeh@8189 157 ln -s /tools/bin/ld /tools/$(gcc -dumpmachine)/bin/ld
gokhlayeh@8189 158 gcc -dumpspecs | sed -e 's@/tools@@g' \
gokhlayeh@8189 159 -e '/\*startfile_prefix_spec:/{n;s@.*@/usr/lib/ @}' \
gokhlayeh@8189 160 -e '/\*cpp:/{n;s@$@ -isystem /usr/include@}' > \
gokhlayeh@8189 161 `dirname $(gcc --print-libgcc-file-name)`/specs
pankso@9 162 }
pankso@9 163
pankso@9 164 # Rules to gen a SliTaz package suitable for Tazpkg.
pankso@9 165 genpkg_rules()
pankso@9 166 {
pankso@2701 167 LOCALE=""
pankso@9 168 mkdir -p $fs/var
gokhlayeh@8189 169
gokhlayeh@8189 170 # Remove build directory.
pankso@9713 171 rm -rf $WOK/$PACKAGE/source/$PACKAGE-build
pankso@9713 172 rm -rf $WOK/$PACKAGE/$PACKAGE-build
pankso@9 173 }