mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-02-11 19:02:42 +01:00
204 lines
5.8 KiB
Plaintext
204 lines
5.8 KiB
Plaintext
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
|
|
# Maintainer:
|
|
pkgname=eglibc
|
|
pkgver=2.17_svn20121226
|
|
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"
|
|
arch="all"
|
|
license="GPL"
|
|
depends="linux-headers=>3.2.7"
|
|
depends_dev=""
|
|
makedepends="$depends_dev gawk perl bash"
|
|
install=""
|
|
options="!strip ldpath-recursive"
|
|
triggers="$pkgname-utils.trigger=/lib:/usr/lib"
|
|
subpackages="$pkgname-dev $pkgname-lang $pkgname-locales $pkgname-scripts $pkgname-pic
|
|
$pkgname-nscd libthread_db $pkgname-gconv $pkgname-mtrace $pkgname-utils"
|
|
source="http://dev.alpinelinux.org/archive/$pkgname/$pkgname-$pkgver.tar.bz2
|
|
ld.so.conf nscd.initd ldd-sh.patch"
|
|
svnurl="svn://svn.eglibc.org/branches/eglibc-2_17/libc"
|
|
disturl="dev.alpinelinux.org:/archive/$pkgname/"
|
|
verbase="2.17"
|
|
|
|
[ "$ALPINE_LIBC" != "eglibc" ] && arch=
|
|
|
|
_builddir="$srcdir"/eglibc-$pkgver
|
|
|
|
prepare() {
|
|
local i
|
|
cd "$_builddir"
|
|
for i in $source; do
|
|
case $i in
|
|
*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
|
|
esac
|
|
done
|
|
# set lib dir
|
|
echo "slibdir=/lib" >> configparms
|
|
# ldconfig does not need to look in lib64 or libx32
|
|
sed -i "s#add_system_dir#do_not_add_system_dir#" \
|
|
sysdeps/unix/sysv/linux/x86_64/dl-cache.h || return 1
|
|
mkdir -p eglibc-build
|
|
}
|
|
|
|
build() {
|
|
cd "$_builddir"/eglibc-build
|
|
export CFLAGS="$CFLAGS -fno-stack-protector"
|
|
../configure \
|
|
--build=$CBUILD \
|
|
--host=$CHOST \
|
|
--build $CBUILD \
|
|
--host $CHOST \
|
|
--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=3.2.7 \
|
|
--enable-add-ons=nptl,libidn \
|
|
--disable-profile \
|
|
--enable-bind-now \
|
|
--without-gd \
|
|
--enable-stackguard-randomization \
|
|
--enable-obsolete-rpc \
|
|
--with-bugurl=http://bugs.alpinelinux.org \
|
|
|| return 1
|
|
make || return 1
|
|
}
|
|
|
|
package() {
|
|
cd "$_builddir"/eglibc-build
|
|
local i
|
|
|
|
install -D -m644 "$srcdir"/ld.so.conf \
|
|
"$pkgdir"/etc/ld.so.conf || return 1
|
|
|
|
make -j1 install_root="$pkgdir" install
|
|
|
|
# multiarch compat (not working on current apk-tools)
|
|
if [ "$CARCH" = "x86_64" ]; then
|
|
cd $pkgdir
|
|
# multiarch compat (not working on current apk-tools)
|
|
ln -sf /lib "$pkgdir"/lib64
|
|
# fix ldd to use /lib dir
|
|
sed -i '/RTLDLIST/s%lib64%lib%' \
|
|
"$pkgdir"/usr/bin/ldd || return 1
|
|
fi
|
|
|
|
# strip all
|
|
for i in ldconfig sln gencat getconf getent iconv locale localedef makedb \
|
|
pcprofiledump pldd rpcgen sprof iconvconfig nscd; do
|
|
find "$pkgdir" -type f -name "$i" -exec strip --strip-all '{}' \;
|
|
done
|
|
strip --strip-all "$pkgdir"/usr/lib/getconf/*
|
|
|
|
# strip unneeded
|
|
for i in libanl-*.so libBrokenLocale-*.so libcidn-*.so libcrypt-*.so \
|
|
libnss_compat-*.so libnss_db-*.so libnss_dns-*.so libnss_files-*.so \
|
|
libnss_hesiod-*.so libnss_nis-*.so libnss_nisplus-*.so \
|
|
libdl-*.so libm-*.so libnsl-*.so libresolv-*.so librt-*.so libutil-*.so \
|
|
libmemusage.so libpcprofile.so libSegFault.so sotruss-lib.so pt_chown; do
|
|
find "$pkgdir" -type f -name "$i" -exec strip --strip-unneeded '{}' \;
|
|
done
|
|
strip --strip-unneeded "$pkgdir"/usr/lib/gconv/*.so
|
|
|
|
# strip debug
|
|
strip --strip-debug "$pkgdir"/usr/lib/*.a
|
|
}
|
|
|
|
gconv() {
|
|
pkgdesc="gconv character modules"
|
|
mkdir -p "$subpkgdir"/usr/lib/
|
|
mv "$pkgdir"/usr/lib/gconv \
|
|
"$subpkgdir"/usr/lib/ || return 1
|
|
}
|
|
|
|
scripts() {
|
|
pkgdesc="eglibc scripts sotruss tzselect and xtrace based on bash"
|
|
depends="bash"
|
|
local i
|
|
mkdir -p "$subpkgdir"/usr/bin
|
|
for i in sotruss xtrace; do
|
|
mv "$pkgdir"/usr/bin/$i \
|
|
"$subpkgdir"/usr/bin/ || return 1
|
|
done
|
|
}
|
|
|
|
mtrace() {
|
|
pkgdesc="eglibc mtrace based on perl"
|
|
depends="perl"
|
|
mkdir -p "$subpkgdir"/usr/bin
|
|
mv "$pkgdir"/usr/bin/mtrace \
|
|
"$subpkgdir"/usr/bin/ || return 1
|
|
}
|
|
|
|
utils() {
|
|
pkgdesc="eglibc utility programs"
|
|
replaces="uclibc-utils libiconv eglibc"
|
|
mkdir -p "$subpkgdir"/usr/bin \
|
|
"$subpkgdir"/sbin \
|
|
"$subpkgdir"/usr/sbin \
|
|
"$subpkgdir"/usr/lib
|
|
mv "$pkgdir"/sbin/* \
|
|
"$subpkgdir"/sbin/ || return 1
|
|
mv "$pkgdir"/usr/bin/* \
|
|
"$subpkgdir"/usr/bin/ || return 1
|
|
mv "$pkgdir"/usr/sbin/* \
|
|
"$subpkgdir"/usr/sbin/ || return 1
|
|
mv "$pkgdir"/usr/lib/pt_chown \
|
|
"$subpkgdir"/usr/lib/ || return 1
|
|
# remove tzselect in favor of tzdata implementation
|
|
rm -f "$subpkgdir"/usr/bin/tzselect
|
|
}
|
|
|
|
pic() {
|
|
pkgdesc="eglibc PIC archive library"
|
|
mkdir -p "$subpkgdir"/usr/lib
|
|
mv "$pkgdir"/usr/lib/*pic.map \
|
|
"$subpkgdir"/usr/lib/ || return 1
|
|
}
|
|
|
|
locales() {
|
|
pkgdesc="Common files for locale support"
|
|
mkdir -p "$subpkgdir"/usr/share
|
|
mv "$pkgdir"/usr/share/* \
|
|
"$subpkgdir"/usr/share/ || return 1
|
|
}
|
|
|
|
nscd() {
|
|
pkgdesc="eglibc name service cache daemon"
|
|
mkdir -p "$subpkgdir"/var/db/nscd \
|
|
"$subpkgdir"/var/run/nscd \
|
|
"$subpkgdir"/usr/sbin || return 1
|
|
install -Dm 755 "$srcdir"/nscd.initd \
|
|
"$subpkgdir"/etc/init.d/nscd || return 1
|
|
install -Dm 644 "$_builddir"/nscd/nscd.conf \
|
|
"$subpkgdir"/etc/nscd.conf || return 1
|
|
mv "$pkgdir"/usr/sbin/nscd \
|
|
"$subpkgdir"/usr/sbin/ || return 1
|
|
}
|
|
|
|
libthread_db() {
|
|
pkgdesc="eglibc thread debugging library"
|
|
mkdir -p "$subpkgdir"/lib
|
|
mv "$pkgdir"/lib/libthread_db* \
|
|
"$subpkgdir"/lib/ || return 1
|
|
}
|
|
|
|
dev() {
|
|
default_dev
|
|
# do not depends on $pkgname-scripts and $pkgname-mtrace
|
|
# so we do not pull in bash and perl with eglibc-dev
|
|
depends="$pkgname $pkgname-lang $pkgname-locales $pkgname-nscd
|
|
libthread_db $pkgname-gconv $pkgname-utils $pkgname-pic"
|
|
}
|
|
|
|
md5sums="41acb18d9024e1bc4a576bdebaf989ce eglibc-2.17_svn20121226.tar.bz2
|
|
08ec272b104e35cd420e26ad09b63bad ld.so.conf
|
|
137fe99a6bc1786da759fb99bfeddb1f nscd.initd
|
|
340a91bc354854bc70a5bb4973367e6a ldd-sh.patch"
|