diff options
-rw-r--r-- | main/eglibc/APKBUILD | 130 | ||||
-rw-r--r-- | main/eglibc/glibc-2.10-bz4781.patch | 42 | ||||
-rw-r--r-- | main/eglibc/glibc-__i686.patch | 13 | ||||
-rw-r--r-- | main/eglibc/nscd.initd | 19 | ||||
-rw-r--r-- | main/gcc/APKBUILD | 2 | ||||
-rw-r--r-- | main/make/APKBUILD | 4 |
6 files changed, 207 insertions, 3 deletions
diff --git a/main/eglibc/APKBUILD b/main/eglibc/APKBUILD new file mode 100644 index 000000000..7079766f8 --- /dev/null +++ b/main/eglibc/APKBUILD @@ -0,0 +1,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" diff --git a/main/eglibc/glibc-2.10-bz4781.patch b/main/eglibc/glibc-2.10-bz4781.patch new file mode 100644 index 000000000..cf1a97a18 --- /dev/null +++ b/main/eglibc/glibc-2.10-bz4781.patch @@ -0,0 +1,42 @@ +diff -Naur glibc-old/sysdeps/unix/sysv/linux/i386/clone.S glibc/sysdeps/unix/sysv/linux/i386/clone.S +--- glibc-old/sysdeps/unix/sysv/linux/i386/clone.S 2009-05-09 13:35:30.000000000 +1000 ++++ glibc/sysdeps/unix/sysv/linux/i386/clone.S 2009-05-23 13:27:46.000000000 +1000 +@@ -120,9 +120,6 @@ + ret + + L(thread_start): +- cfi_startproc; +- /* Clearing frame pointer is insufficient, use CFI. */ +- cfi_undefined (eip); + /* Note: %esi is zero. */ + movl %esi,%ebp /* terminate the stack frame */ + #ifdef RESET_PID +@@ -155,7 +152,6 @@ + jmp L(haspid) + .previous + #endif +- cfi_endproc; + + cfi_startproc + PSEUDO_END (BP_SYM (__clone)) +diff -Naur glibc-old/sysdeps/unix/sysv/linux/x86_64/clone.S glibc/sysdeps/unix/sysv/linux/x86_64/clone.S +--- glibc-old/sysdeps/unix/sysv/linux/x86_64/clone.S 2009-05-09 13:35:30.000000000 +1000 ++++ glibc/sysdeps/unix/sysv/linux/x86_64/clone.S 2009-05-23 13:27:46.000000000 +1000 +@@ -89,9 +89,6 @@ + ret + + L(thread_start): +- cfi_startproc; +- /* Clearing frame pointer is insufficient, use CFI. */ +- cfi_undefined (rip); + /* Clear the frame pointer. The ABI suggests this be done, to mark + the outermost frame obviously. */ + xorl %ebp, %ebp +@@ -116,7 +113,6 @@ + /* Call exit with return value from function call. */ + movq %rax, %rdi + call HIDDEN_JUMPTARGET (_exit) +- cfi_endproc; + + cfi_startproc; + PSEUDO_END (BP_SYM (__clone)) diff --git a/main/eglibc/glibc-__i686.patch b/main/eglibc/glibc-__i686.patch new file mode 100644 index 000000000..28d5dd424 --- /dev/null +++ b/main/eglibc/glibc-__i686.patch @@ -0,0 +1,13 @@ +diff -Naur glibc-old//sysdeps/i386/Makefile glibc//sysdeps/i386/Makefile +--- glibc-old//sysdeps/i386/Makefile 2010-03-18 11:52:30.000000000 +1000 ++++ glibc//sysdeps/i386/Makefile 2010-04-16 15:05:50.000000000 +1000 +@@ -1,6 +1,7 @@ + # The mpn functions need a #define for asm syntax flavor. +-# Every i386 port in use uses gas syntax (I think). +-asm-CPPFLAGS += -DGAS_SYNTAX ++# Every i386 port in use uses gas syntax (I think). Don't replace ++# __i686 in __i686.get_pc_thunk.bx. ++asm-CPPFLAGS += -DGAS_SYNTAX -U __i686 + + # The i386 `long double' is a distinct type we support. + long-double-fcts = yes diff --git a/main/eglibc/nscd.initd b/main/eglibc/nscd.initd new file mode 100644 index 000000000..7087dcf4c --- /dev/null +++ b/main/eglibc/nscd.initd @@ -0,0 +1,19 @@ +#!/sbin/runscript + +DAEMON=/usr/sbin/nscd + +start() { + ebegin "Starting nscd" + # remove stale files + rm -f /var/db/nscd/* /var/run/nscd/* 2>/dev/null + start-stop-daemon --start --exec $DAEMON + eend $? +} + +stop () { + ebegin "Stopping nscd" + start-stop-daemon --stop --quiet \ + --pidfile=/var/run/nscd/nscd.pid + eend $? +} + diff --git a/main/gcc/APKBUILD b/main/gcc/APKBUILD index e4d64eca1..ff1dd75eb 100644 --- a/main/gcc/APKBUILD +++ b/main/gcc/APKBUILD @@ -32,7 +32,7 @@ source="ftp://gcc.gnu.org/pub/gcc/releases/gcc-$pkgver/gcc-core-$pkgver.tar.bz2 gcc-dynamic-linker.patch PR32219.patch " -# ftp://gcc.gnu.org/pub/gcc/releases/gcc-$pkgver/gcc-objc-$pkgver.tar.bz2 1 +# ftp://gcc.gnu.org/pub/gcc/releases/gcc-$pkgver/gcc-objc-$pkgver.tar.bz2 build () { diff --git a/main/make/APKBUILD b/main/make/APKBUILD index e81b32920..08634217b 100644 --- a/main/make/APKBUILD +++ b/main/make/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=make -pkgver=3.82 +pkgver=3.81 pkgrel=0 pkgdesc="GNU make utility to maintain groups of programs" url="http://www.gnu.org/software/make" @@ -24,4 +24,4 @@ package() { make DESTDIR="$pkgdir" install } -md5sums="7f7c000e3b30c6840f2e9cf86b254fac make-3.82.tar.gz" +md5sums="a4e9494ac6dc3f6b0c5ff75c5d52abba make-3.81.tar.gz" |