Skip to content
Permalink
Newer
Older
100755 124 lines (98 sloc) 3.63 KB
June 6, 2016 09:50
1
#!/bin/env beesh
2
3
# BEE_VERSION glibc-2.27-0
4
June 12, 2017 16:38
5
SRCURL[0]="https://ftp.gnu.org/gnu/glibc/glibc-${PKGVERSION}.tar.bz2"
June 6, 2016 09:50
6
7
PATCHURL=(
8
/src/mariux/patches/glibc-2.25-0001-ldconfig-don-t-generate-links-by-default-v2.patch
9
/src/mariux/patches/glibc-2.25-0002-ldconfig-don-t-remove-stale-symlinks-by-default-v2.patch
June 6, 2016 09:50
10
)
11
12
SYSCONFDIR=/etc
13
SBINDIR=/usr/sbin
14
LIBEXECDIR=/usr/lib/glibc
15
ROOTSBINDIR=/sbin
16
SLIBDIR=/lib
17
18
mee_patch_post() {
19
# set DL - cut /tools from dynloader in temporary system
20
DL=$(readelf -l /bin/sh | sed -n 's@.*interpret.*/tools\(.*\)]$@\1@p')
21
22
# if not temporary system just set DL to current dynloader
23
: ${DL:=$(readelf -l /bin/sh | sed -n 's@.*interpret.*\(/lib.*\)]$@\1@p')}
24
25
# replace dynloader in test-script..
26
echo "sed-ing scripts/test-installation.pl - dynloader => ${DL}"
27
sed -i "s|libs -o|libs -L/usr/lib -Wl,-dynamic-linker=$DL -o|" scripts/test-installation.pl
28
29
unset DL
30
31
# use /bin/bash instead of /bin/sh ..
32
echo "sed-ing elf/ldd.bash.in"
33
sed -i 's|@BASH@|/bin/bash|' elf/ldd.bash.in
34
35
# fix some binary issues when gzipping manpages..
36
echo "sed-ing manual/Makefile"
37
sed -i 's|gzip -9|gzip -n -9|' manual/Makefile
38
39
# those seds prevent installing glibc in /lib64 instead of /lib..
40
# echo "sed-ing sysdeps/unix/sysv/linux/configure"
41
# sed -i 's,x86_64 |,,' sysdeps/unix/sysv/linux/configure
42
43
# echo "sed-ing sysdeps/unix/sysv/linux/configure.in"
44
# sed -i 's,x86_64 |,,' sysdeps/unix/sysv/linux/configure.in
45
46
}
47
48
mee_configure() {
49
bee_configure \
50
--disable-profile \
51
--enable-add-ons \
52
--enable-obsolete-rpc \
53
--enable-obsolete-nsl \
54
--enable-kernel=4.4.34
June 6, 2016 09:50
55
}
56
57
mee_build_pre() {
58
echo "CFLAGS += -march=x86-64 -mtune=generic" > configparms
59
echo "slibdir=${SLIBDIR}" >> configparms
60
echo "rootsbindir=${ROOTSBINDIR}" >> configparms
61
}
62
63
mee_build_post() {
64
cp -v ${S}/iconvdata/gconv-modules iconvdata
65
}
66
67
mee_check() {
68
make -k check 2>&1 | tee glibc-check-log
69
grep Error glibc-check-log
70
echo grep Error glibc-check-log
71
bash
72
}
73
74
mee_install_pre() {
75
# create temporary ld.co.conf to build glibc..
76
mkdir -p ${D}${SYSCONFDIR}
77
touch ${D}${SYSCONFDIR}/ld.so.conf
78
}
79
80
mee_install() {
81
# install.. DESTDIR is called install_root in glibc..
82
make install install_root=${D}
83
}
84
85
mee_install_post() {
86
# remove temporary ld.so.* because this is not part of the package
87
rm -v ${D}${SYSCONFDIR}/ld.so.{conf,cache}
88
89
#mkdir -vp ${D}/usr/include/rpc{,svc}
90
#cp -v ${S}/sunrpc/rpc/*.h ${D}/usr/include/rpc
91
#cp -v ${S}/sunrpc/rpcsvc/*.h ${D}/usr/include/rpcsvc
92
#cp -v ${S}/nis/rpcsvc/*.h ${D}/usr/include/rpcsvc
93
94
# this has been moved to tzdata package since glibc dow not provide
95
# timezones anymore with glibc >= 2.16
96
# install Europe/Berlin as default Timezone
97
#rm -v ${D}${SYSCONFDIR}/localtime
98
#ln -v ${D}/${PREFIX}/share/zoneinfo/Europe/Berlin ${D}${SYSCONFDIR}/localtime
99
100
101
if [ "${SLIBDIR}" != "${LIBDIR}" ] ; then
102
cd ${D}${SLIBDIR}
103
for i in * ; do
104
start_cmd ln -v $i ${D}${LIBDIR}/$i
105
done
106
cd -
107
fi
108
109
if [ "${ROOTSBINDIR}" != "${SBINDIR}" ] ; then
110
cd ${D}${ROOTSBINDIR}
111
for i in * ; do
112
start_cmd mv -v $i ${D}${SBINDIR}/$i
113
start_cmd ln -sv ${SBINDIR}/$i ${D}${ROOTSBINDIR}/$i
114
done
115
cd -
116
fi
117
118
# "make install" created (e.g.) /lib64/ld-linux-x86-64.so.2 -> ../lib/ld-2.26.so
119
# we have /lib64 -> /lib , so remove the lib64 directory and create a new link
120
#
121
rm $D/lib64/ld-linux-x86-64.so.${PKGVERSION[1]}
122
rmdir $D/lib64
123
ln -s ld-$PKGVERSION.so $D/lib/ld-linux-x86-64.so.${PKGVERSION[1]}
June 6, 2016 09:50
124
}