blob: 7079766f8e3ac03392bd0a62327d78b8b586af56 (
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
# Contributor: Carlo Landmeter
# Maintainer:
pkgname=eglibc
pkgver=2.12
pkgrel=3
pkgdesc="Embedded GLIBC is a variant of the GNU C Library that is designed to work well on embedded systems"
url="http://www.eglibc.org"
license="GPL"
depends=""
depends_dev="linux-headers=>2.6.32"
makedepends="gawk"
options="!strip"
subpackages="$pkgname-dev $pkgname-gconv $pkgname-locales $pkgname-nscd"
source="http://alpine.nethq.org/clandmeter/src/eglibc-2.12-svn-11364.tar.bz2
glibc-2.10-bz4781.patch
glibc-__i686.patch
nscd.initd
"
_builddir="$srcdir"/libc
prepare() {
cd "$_builddir"
# http://sources.redhat.com/bugzilla/show_bug.cgi?id=4781
patch -Np1 -i ${srcdir}/glibc-2.10-bz4781.patch
# http://sources.redhat.com/bugzilla/show_bug.cgi?id=411
# http://sourceware.org/ml/libc-alpha/2009-07/msg00072.html
patch -Np1 -i ${srcdir}/glibc-__i686.patch
# Don not build timezones
sed -i 's/timezone rt/rt/' Makeconfig
echo "slibdir=/lib" >> configparms
# we need to build in a seperate dir
mkdir eglibc-build
}
build() {
cd "$_builddir"/eglibc-build
export CFLAGS="$CFLAGS -fno-stack-protector"
../configure --prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--mandir=/usr/share/info \
--infodir=/usr/share/info \
--libdir=/usr/lib \
--libexecdir=/usr/lib \
--with-headers=/usr/include \
--enable-kernel=2.6.32 \
--enable-add-ons=nptl,libidn \
--disable-profile \
--enable-bind-now \
--with-tls \
--with-__thread \
--without-cvs \
--without-gd
make || return 1
}
package() {
cd "$_builddir"/eglibc-build
install -dm755 "$pkgdir"/etc && touch "$pkgdir"/etc/ld.so.conf
make -j1 install_root="$pkgdir" install
# provided by kernel-headers
rm "$pkgdir"/usr/include/scsi/scsi.h
rm "$pkgdir"/etc/ld.so.conf
# strip all
for i in ldconfig sln gencat getconf getent iconv locale localedef \
pcprofiledump rpcgen sprof lddlibc4 iconvconfig nscd rpcinfo; do
find "$pkgdir" -type f -name "$i" -exec strip --strip-all '{}' \;
done
strip --strip-all "$pkgdir"/usr/lib/gconv/*.so
# strip debug
for i in ld-2.12.1.so libpthread-2.12.1.so libthread_db-1.0.so; do
strip --strip-debug "$pkgdir"/lib/"$i"
done
strip --strip-debug "$pkgdir"/usr/lib/*.a
# strip uneeded
for i in libanl-2.12.1.so libBrokenLocale-2.12.1.so libc-2.12.1.so \
libcidn-2.12.1.so libcrypt-2.12.1.so libnss_*-2.12.1.so \
libdl-2.12.so libm-2.12.so libnsl-2.12.so libresolv-2.12.so \
librt-2.12.so libutil-2.12.so libmemusage.so libpcprofile.so \
libSegFault.so pt_chown; do
find "$pkgdir" -type f -name "$i" -exec strip --strip-unneeded '{}' \;
done
strip --strip-unneeded "$pkgdir"/usr/lib/gconv/*.so
}
gconv() {
pkgdesc="gconv character modules"
mkdir -p "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/lib/gconv "$subpkgdir"/usr/lib/
}
locales() {
pkgdesc="Common files for locale support"
mkdir -p "$subpkgdir"/usr/share
mv "$pkgdir"/usr/share/* "$subpkgdir"/usr/share/
}
nscd() {
pkgdesc="eglibc name service cache daemon"
mkdir -p "$subpkgdir"/var/db/nscd "$subpkgdir"/var/run/nscd
install -Dm 755 "$srcdir"/nscd.initd "$subpkgdir"/etc/init.d/nscd
install -Dm 644 "$srcdir"/libc/nscd/nscd.conf "$subpkgdir"/etc/nscd.conf
mkdir -p "$subpkgdir"/usr/sbin
mv "$pkgdir"/usr/sbin/nscd "$subpkgdir"/usr/sbin/
}
md5sums="4deed2a0761d90a8e33643874fb54b41 eglibc-2.12-svn-11364.tar.bz2
0c5540efc51c0b93996c51b57a8540ae glibc-2.10-bz4781.patch
40cd342e21f71f5e49e32622b25acc52 glibc-__i686.patch
137fe99a6bc1786da759fb99bfeddb1f nscd.initd"
|