3.3. glibc-2.35
#!/bin/sh # Copyright © 1999-2022 Gerard Beekmans # Copyright © 2017-2022 Random Crew # Distributed under the terms of MIT License.
Configuration
src_config() { mkdir build cd build echo "rootsbindir=${PREFIX}/sbin" > configparms ../configure \ --prefix=${PREFIX} \ --disable-werror \ --enable-kernel=3.2 \ --enable-stack-protector=strong \ --with-headers=${PREFIX}/include \ libc_cv_slibdir=${PREFIX}/lib }
Compilation
src_compile() { make ${MAKEOPTS} sed '/test-installation/s@$(PERL)@echo not running@' -i ../Makefile }
Unit testing
Symlinks before the check procedure are not created, as we should not touch the filesystem directly. Tests can be run after glibc installation.
src_check() { make check || nonfail }
Installation
Time zone data are installed in separate package tzdata.
Additional compatibility links:
- ld-lsb*.so.3 link is created for LSB compatibility.
- /lib/ld-linux* is created, pointing to actual $PREFIX/lib/ld-linux*.
src_install() { make install ${MAKEOPTS} DESTDIR=${D} # real and expected loader location mkdir -p ${D}/lib ln -sf ../usr/lib/ld-linux-x86-64.so.2 ${D}/lib/ld-linux-x86-64.so.2 case $(uname -m) in i?86) ln -sf ld-linux.so.2 ${D}/lib/ld-lsb.so.3 ;; x86_64) mkdir -p ${D}/lib64 ln -sf ../lib/ld-linux-x86-64.so.2 ${D}/lib64 ln -sf ../lib/ld-linux-x86-64.so.2 ${D}/lib64/ld-lsb-x86-64.so.3 ;; esac sed '/RTLDLIST=/s@/usr@@g' -i ${D}${PREFIX}/bin/ldd cp ../nscd/nscd.conf ${D}/etc/nscd.conf mkdir -p ${D}/var/cache/nscd/ mkdir -p ${D}${PREFIX}/lib/locale/ localedef -i POSIX -f UTF-8 ${D}${PREFIX}/lib/locale/C.UTF-8 2> /dev/null || true localedef -i cs_CZ -f UTF-8 ${D}${PREFIX}/lib/locale/cs_CZ.UTF-8 localedef -i de_DE -f ISO-8859-1 ${D}${PREFIX}/lib/locale/de_DE localedef -i de_DE@euro -f ISO-8859-15 ${D}${PREFIX}/lib/locale/de_DE@euro localedef -i de_DE -f UTF-8 ${D}${PREFIX}/lib/locale/de_DE.UTF-8 localedef -i el_GR -f ISO-8859-7 ${D}${PREFIX}/lib/locale/el_GR localedef -i en_GB -f ISO-8859-1 ${D}${PREFIX}/lib/locale/en_GB localedef -i en_GB -f UTF-8 ${D}${PREFIX}/lib/locale/en_GB.UTF-8 localedef -i en_HK -f ISO-8859-1 ${D}${PREFIX}/lib/locale/en_HK localedef -i en_PH -f ISO-8859-1 ${D}${PREFIX}/lib/locale/en_PH localedef -i en_US -f ISO-8859-1 ${D}${PREFIX}/lib/locale/en_US localedef -i en_US -f UTF-8 ${D}${PREFIX}/lib/locale/en_US.UTF-8 localedef -i es_ES -f ISO-8859-15 ${D}${PREFIX}/lib/locale/es_ES@euro localedef -i es_MX -f ISO-8859-1 ${D}${PREFIX}/lib/locale/es_MX localedef -i fa_IR -f UTF-8 ${D}${PREFIX}/lib/locale/fa_IR localedef -i fr_FR -f ISO-8859-1 ${D}${PREFIX}/lib/locale/fr_FR localedef -i fr_FR@euro -f ISO-8859-15 ${D}${PREFIX}/lib/locale/fr_FR@euro localedef -i fr_FR -f UTF-8 ${D}${PREFIX}/lib/locale/fr_FR.UTF-8 localedef -i is_IS -f ISO-8859-1 ${D}${PREFIX}/lib/locale/is_IS localedef -i is_IS -f UTF-8 ${D}${PREFIX}/lib/locale/is_IS.UTF-8 localedef -i it_IT -f ISO-8859-1 ${D}${PREFIX}/lib/locale/it_IT localedef -i it_IT -f ISO-8859-15 ${D}${PREFIX}/lib/locale/it_IT@euro localedef -i it_IT -f UTF-8 ${D}${PREFIX}/lib/locale/it_IT.UTF-8 localedef -i ja_JP -f EUC-JP ${D}${PREFIX}/lib/locale/ja_JP localedef -i ja_JP -f SHIFT_JIS ${D}${PREFIX}/lib/locale/ja_JP.SJIS 2> /dev/null || true localedef -i ja_JP -f UTF-8 ${D}${PREFIX}/lib/locale/ja_JP.UTF-8 localedef -i nl_NL@euro -f ISO-8859-15 ${D}${PREFIX}/lib/locale/nl_NL@euro localedef -i ru_RU -f KOI8-R ${D}${PREFIX}/lib/locale/ru_RU.KOI8-R localedef -i ru_RU -f UTF-8 ${D}${PREFIX}/lib/locale/ru_RU.UTF-8 localedef -i se_NO -f UTF-8 ${D}${PREFIX}/lib/locale/se_NO.UTF-8 localedef -i ta_IN -f UTF-8 ${D}${PREFIX}/lib/locale/ta_IN.UTF-8 localedef -i tr_TR -f UTF-8 ${D}${PREFIX}/lib/locale/tr_TR.UTF-8 localedef -i zh_CN -f GB18030 ${D}${PREFIX}/lib/locale/zh_CN.GB18030 localedef -i zh_HK -f BIG5-HKSCS ${D}${PREFIX}/lib/locale/zh_HK.BIG5-HKSCS localedef -i zh_TW -f UTF-8 ${D}${PREFIX}/lib/locale/zh_TW.UTF-8 cat > ${D}/etc/nsswitch.conf << "EOF" # Begin /etc/nsswitch.conf passwd: files group: files shadow: files hosts: files dns networks: files protocols: files services: files ethers: files rpc: files # End /etc/nsswitch.conf EOF mkdir -p ${D}/etc/ld.so.conf.d/ cat > /etc/ld.so.conf << "EOF" # Begin /etc/ld.so.conf /usr/local/lib /opt/lib # Add an include directory include /etc/ld.so.conf.d/*.conf EOF }
Patches
Build code
Other files
Links
- url.lfs: https://linuxfromscratch.org/lfs/view/11.1/chapter08/glibc.html
- url.lfs.stage1: https://linuxfromscratch.org/lfs/view/11.1/chapter05/glibc.html