summaryrefslogtreecommitdiff
path: root/staging/glibc
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-08-13 00:02:34 +0000
committerroot <root@rshg054.dnsready.net>2012-08-13 00:02:34 +0000
commitffd2d3e0b0ac6b10b12ddc1e8747a0fb8b847667 (patch)
tree6c6bdd1bdc03f88da9f7674d0ed0500d36e33e24 /staging/glibc
parent012c4b7f27441c85d7f9c46a619a3b356c94cab7 (diff)
Mon Aug 13 00:02:34 UTC 2012
Diffstat (limited to 'staging/glibc')
-rw-r--r--staging/glibc/PKGBUILD24
-rw-r--r--staging/glibc/glibc-2.16-rpcgen-cpp-path.patch68
2 files changed, 84 insertions, 8 deletions
diff --git a/staging/glibc/PKGBUILD b/staging/glibc/PKGBUILD
index 69a502a4c..4331b76b5 100644
--- a/staging/glibc/PKGBUILD
+++ b/staging/glibc/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 162892 2012-07-02 22:56:58Z allan $
+# $Id: PKGBUILD 165122 2012-08-11 08:27:45Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
@@ -6,13 +6,13 @@
pkgname=glibc
pkgver=2.16.0
-pkgrel=1
+pkgrel=3
pkgdesc="GNU C Library"
arch=('i686' 'x86_64')
url="http://www.gnu.org/software/libc"
license=('GPL' 'LGPL')
groups=('base')
-depends=('linux-api-headers>=3.4' 'tzdata')
+depends=('linux-api-headers>=3.5' 'tzdata')
makedepends=('gcc>=4.7')
backup=(etc/gai.conf
etc/locale.gen
@@ -22,6 +22,7 @@ install=glibc.install
source=(http://ftp.gnu.org/gnu/libc/${pkgname}-${pkgver}.tar.xz{,.sig}
glibc-2.15-fix-res_query-assert.patch
glibc-2.15-revert-c5a0802a.patch
+ glibc-2.16-rpcgen-cpp-path.patch
nscd.rcd
nscd.service
nscd.tmpfiles
@@ -31,6 +32,7 @@ md5sums=('80b181b02ab249524ec92822c0174cf7'
'2a1221a15575820751c325ef4d2fbb90'
'31f415b41197d85d3bbee3d1eecd06a3'
'0a0383d50d63f1c02919fe9943b82014'
+ 'ea6a43915474e8276e9361eed6a01280'
'589d79041aa767a5179eaa4e2737dd3f'
'ad8a9af15ab7eeaa23dc7ee85024af9f'
'bccbe5619e75cf1d97312ec3681c605c'
@@ -48,6 +50,10 @@ build() {
# https://bugzilla.redhat.com/show_bug.cgi?id=552960
patch -p1 -i ${srcdir}/glibc-2.15-revert-c5a0802a.patch
+ # prevent need for /lib/cpp symlink
+ # http://sourceware.org/git/?p=glibc.git;a=commit;h=bf9b740a
+ patch -p1 -i ${srcdir}/glibc-2.16-rpcgen-cpp-path.patch
+
cd ${srcdir}
mkdir glibc-build
cd glibc-build
@@ -96,6 +102,8 @@ check() {
package() {
cd ${srcdir}/glibc-build
+ ln -s usr/lib ${pkgdir}/lib
+
install -dm755 ${pkgdir}/etc
touch ${pkgdir}/etc/ld.so.conf
@@ -123,7 +131,7 @@ package() {
if [[ ${CARCH} = "x86_64" ]]; then
# fix paths and compliance with binary blobs...
sed -i '/RTLDLIST/s%lib64%lib%' ${pkgdir}/usr/bin/ldd
- ln -s /lib ${pkgdir}/lib64
+ ln -s usr/lib ${pkgdir}/lib64
fi
# Do not strip the following files for improved debugging support
@@ -143,9 +151,9 @@ package() {
strip $STRIP_STATIC usr/lib/*.a
- strip $STRIP_SHARED lib/{libanl,libBrokenLocale,libcidn,libcrypt}-*.so \
- lib/libnss_{compat,db,dns,files,hesiod,nis,nisplus}-*.so \
- lib/{libdl,libm,libnsl,libresolv,librt,libutil}-*.so \
- lib/{libmemusage,libpcprofile,libSegFault}.so \
+ strip $STRIP_SHARED usr/lib/{libanl,libBrokenLocale,libcidn,libcrypt}-*.so \
+ usr/lib/libnss_{compat,db,dns,files,hesiod,nis,nisplus}-*.so \
+ usr/lib/{libdl,libm,libnsl,libresolv,librt,libutil}-*.so \
+ usr/lib/{libmemusage,libpcprofile,libSegFault}.so \
usr/lib/{pt_chown,{audit,gconv}/*.so}
}
diff --git a/staging/glibc/glibc-2.16-rpcgen-cpp-path.patch b/staging/glibc/glibc-2.16-rpcgen-cpp-path.patch
new file mode 100644
index 000000000..822b57294
--- /dev/null
+++ b/staging/glibc/glibc-2.16-rpcgen-cpp-path.patch
@@ -0,0 +1,68 @@
+diff --git a/sunrpc/rpc_main.c b/sunrpc/rpc_main.c
+index 06d951a..2103b10 100644
+--- a/sunrpc/rpc_main.c
++++ b/sunrpc/rpc_main.c
+@@ -75,12 +75,9 @@ struct commandline
+
+ static const char *cmdname;
+
+-#define SVR4_CPP "/usr/ccs/lib/cpp"
+-#define SUNOS_CPP "/lib/cpp"
+-
+ static const char *svcclosetime = "120";
+ static int cppDefined; /* explicit path for C preprocessor */
+-static const char *CPP = SUNOS_CPP;
++static const char *CPP = "/lib/cpp";
+ static const char CPPFLAGS[] = "-C";
+ static char *pathbuf;
+ static int cpp_pid;
+@@ -327,23 +324,17 @@ find_cpp (void)
+ {
+ struct stat buf;
+
+- if (stat (CPP, &buf) < 0)
+- { /* /lib/cpp or explicit cpp does not exist */
+- if (cppDefined)
+- {
+- fprintf (stderr, _ ("cannot find C preprocessor: %s \n"), CPP);
+- crash ();
+- }
+- else
+- { /* try the other one */
+- CPP = SVR4_CPP;
+- if (stat (CPP, &buf) < 0)
+- { /* can't find any cpp */
+- fputs (_ ("cannot find any C preprocessor (cpp)\n"), stdout);
+- crash ();
+- }
+- }
++ if (stat (CPP, &buf) == 0)
++ return;
++
++ if (cppDefined) /* user specified cpp but it does not exist */
++ {
++ fprintf (stderr, _ ("cannot find C preprocessor: %s\n"), CPP);
++ crash ();
+ }
++
++ /* fall back to system CPP */
++ CPP = "cpp";
+ }
+
+ /*
+@@ -374,8 +365,13 @@ open_input (const char *infile, const char *define)
+ close (1);
+ dup2 (pd[1], 1);
+ close (pd[0]);
+- execv (arglist[0], (char **) arglist);
+- perror ("execv");
++ execvp (arglist[0], (char **) arglist);
++ if (errno == ENOENT)
++ {
++ fprintf (stderr, _ ("cannot find C preprocessor: %s\n"), CPP);
++ exit (1);
++ }
++ perror ("execvp");
+ exit (1);
+ case -1:
+ perror ("fork");