[arch-commits] Commit in glibc/trunk (PKGBUILD glibc-2.16-rpcgen-cpp-path.patch)

Allan McRae allan at archlinux.org
Sat Aug 11 08:25:30 UTC 2012


    Date: Saturday, August 11, 2012 @ 04:25:30
  Author: allan
Revision: 165121

upgpkg: glibc 2.16.0-3

linux-api-header-3.5 toolchain rebuild, have rpcgen fall back to system cpp

Added:
  glibc/trunk/glibc-2.16-rpcgen-cpp-path.patch
Modified:
  glibc/trunk/PKGBUILD

----------------------------------+
 PKGBUILD                         |   10 ++++-
 glibc-2.16-rpcgen-cpp-path.patch |   68 +++++++++++++++++++++++++++++++++++++
 2 files changed, 76 insertions(+), 2 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2012-08-11 08:23:19 UTC (rev 165120)
+++ PKGBUILD	2012-08-11 08:25:30 UTC (rev 165121)
@@ -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 @@
 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 @@
          '2a1221a15575820751c325ef4d2fbb90'
          '31f415b41197d85d3bbee3d1eecd06a3'
          '0a0383d50d63f1c02919fe9943b82014'
+         'ea6a43915474e8276e9361eed6a01280'
          '589d79041aa767a5179eaa4e2737dd3f'
          'ad8a9af15ab7eeaa23dc7ee85024af9f'
          'bccbe5619e75cf1d97312ec3681c605c'
@@ -48,6 +50,10 @@
   # 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

Added: glibc-2.16-rpcgen-cpp-path.patch
===================================================================
--- glibc-2.16-rpcgen-cpp-path.patch	                        (rev 0)
+++ glibc-2.16-rpcgen-cpp-path.patch	2012-08-11 08:25:30 UTC (rev 165121)
@@ -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");




More information about the arch-commits mailing list