From 4a701d607c90ab5fdadbbe59b468df93e4293244 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 17 Aug 2012 00:02:31 +0000 Subject: Fri Aug 17 00:02:30 UTC 2012 --- core/glibc/PKGBUILD | 12 +++-- core/glibc/glibc-2.16-rpcgen-cpp-path.patch | 68 +++++++++++++++++++++++++++++ 2 files changed, 77 insertions(+), 3 deletions(-) create mode 100644 core/glibc/glibc-2.16-rpcgen-cpp-path.patch (limited to 'core/glibc') diff --git a/core/glibc/PKGBUILD b/core/glibc/PKGBUILD index 93a075106..b96b4a1a9 100644 --- a/core/glibc/PKGBUILD +++ b/core/glibc/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 163512 2012-07-14 13:07:15Z allan $ +# $Id: PKGBUILD 165343 2012-08-16 01:57:59Z allan $ # Maintainer: Allan McRae # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc @@ -6,13 +6,13 @@ pkgname=glibc pkgver=2.16.0 -pkgrel=2 +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 diff --git a/core/glibc/glibc-2.16-rpcgen-cpp-path.patch b/core/glibc/glibc-2.16-rpcgen-cpp-path.patch new file mode 100644 index 000000000..822b57294 --- /dev/null +++ b/core/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"); -- cgit v1.2.3-54-g00ecf