summaryrefslogtreecommitdiff
path: root/xibuilds/glibc.xibuild
blob: cc943dee00b70551074237c47be21d0b4dd3e884 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#!/bin/bash

DEPS=(glibc)

SOURCE=https://ftp.gnu.org/gnu/glibc/glibc-2.34.tar.xz
DESC="The main gnu C library providing basic routines and procedures"

build () {
    # patches as recommended by lfs
    sed -e '/NOTIFY_REMOVED)/s/)/ \&\& data.attr != NULL)/' -i sysdeps/unix/sysv/linux/mq_notify.c

    mkdir -v build
    cd build

    # ensure that the ldconfig and sln utilities are installed into /usr/sbin
    echo "rootsbindir=/usr/sbin" > configparms

    ../configure --prefix=/usr \
 --disable-werror \
 --enable-kernel=3.2 \
 --enable-stack-protector=strong \
 --with-headers=/usr/include \
 libc_cv_slibdir=/usr/lib

    make
    make check

    sed '/test-installation/s@$(PERL)@echo not running@' -i ../Makefile
    make DESTDIR=$PKG_DEST install
    

    # fix hardcoded path to the excutable in ldd script
    sed '/RTLDLIST=/s@/usr@@g' -i $PKG_DEST/usr/bin/ldd

    cp -v ../nscd/nscd.conf $PKG_DEST/etc/nscd.conf
    mkdir -pv $PKG_DEST/var/cache/nscd
}

package () {
    cat > $PKG_DEST/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

    wget https://mirrors.slackware.com/slackware/slackware64-current/source/a/glibc-zoneinfo/tzdata2021a.tar.gz

    tar -xf tzdata2021a.tar.gz

    ZONEINFO=$PKG_DEST/usr/share/zoneinfo
    mkdir -pv $ZONEINFO/{posix,right}
    for tz in etcetera southamerica northamerica europe africa antarctica \
     asia australasia backward; do
     zic -L /dev/null -d $ZONEINFO ${tz}
     zic -L /dev/null -d $ZONEINFO/posix ${tz}
     zic -L leapseconds -d $ZONEINFO/right ${tz}
    done
    cp -v zone.tab zone1970.tab iso3166.tab $ZONEINFO
    zic -d $ZONEINFO -p America/New_York
    unset ZONEINFO
    

    # configure the dynamic loader

    cat > $PKG_DEST/etc/ld.so.conf << "EOF"
# Begin /etc/ld.so.conf
/usr/local/lib
/opt/lib
EOF
}