diff options
author | root <root@rshg054.dnsready.net> | 2012-08-13 00:02:34 +0000 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2012-08-13 00:02:34 +0000 |
commit | ffd2d3e0b0ac6b10b12ddc1e8747a0fb8b847667 (patch) | |
tree | 6c6bdd1bdc03f88da9f7674d0ed0500d36e33e24 /staging/glibc | |
parent | 012c4b7f27441c85d7f9c46a619a3b356c94cab7 (diff) |
Mon Aug 13 00:02:34 UTC 2012
Diffstat (limited to 'staging/glibc')
-rw-r--r-- | staging/glibc/PKGBUILD | 24 | ||||
-rw-r--r-- | staging/glibc/glibc-2.16-rpcgen-cpp-path.patch | 68 |
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"); |