blob: 557a53331fef4eb83b7be673ffefc8db5dcefd6c (
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
#!/bin/bash
DEPS=(glibc)
PKG_VER=2.34
SOURCE=https://ftp.gnu.org/gnu/glibc/glibc-$PKG_VER.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
curl https://www.linuxfromscratch.org/patches/lfs/development/glibc-$PKG_VER-fhs-1.patch > glibc-$PKG_VER-fhs-1.patch
patch -Np1 -i glibc-$PKG_VER-fhs-1.patch
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
# some check failures are 'expected'
#make check || true
}
package () {
mkdir -pv $PKG_DEST/etc
touch $PKG_DEST/etc/ld.so.conf
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
# create locales for the system
# note, this should be moved to a better place
make DESTDIR=$PKG_DEST localedata/install-locales
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
curl https://raw.githubusercontent.com/archlinux/svntogit-packages/packages/glibc/trunk/locale-gen > locale-gen
install -m755 locale-gen "$PKG_DEST/usr/bin"
#curl https://data.iana.org/time-zones/releases/tzdata2021e.tar.gz > tzdata2021e.tar.gz
#tar -xf tzdata2021e.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 dynamic loader
cat > $PKG_DEST/etc/ld.so.conf << "EOF"
# Begin /etc/ld.so.conf
/usr/local/lib
/opt/lib
include /etc/ld.so.conf.d/*.conf
EOF
mkdir -pv $PKG_DEST/etc/ld.so.conf.d
}
|