Hi, the build failure results from changed string functions of the newer eglibc (which to my knowledge are now iso conformant for c++).
Please find my intended NMU attached. Cheers, and thanks for maintaining pearpc, Stefan.
diff -u pearpc-0.4.0/debian/changelog pearpc-0.4.0/debian/changelog --- pearpc-0.4.0/debian/changelog +++ pearpc-0.4.0/debian/changelog @@ -1,3 +1,11 @@ +pearpc (0.4.0-3.2) unstable; urgency=low + + * Non-maintainer upload. + * Added debian/patches/04-eglibc-build.errors.dpatch to fix a FTBFS + with the newer/stricter eglibc (Closes: #560441, LP: #495772). + + -- Stefan Potyra <sistp...@ubuntu.com> Sat, 09 Jan 2010 21:23:14 +0100 + pearpc (0.4.0-3.1) unstable; urgency=low * Non-maintainer upload. diff -u pearpc-0.4.0/debian/patches/00list pearpc-0.4.0/debian/patches/00list --- pearpc-0.4.0/debian/patches/00list +++ pearpc-0.4.0/debian/patches/00list @@ -1,0 +2 @@ +04-eglibc-build.errors.dpatch only in patch2: unchanged: --- pearpc-0.4.0.orig/debian/patches/04-eglibc-build.errors.dpatch +++ pearpc-0.4.0/debian/patches/04-eglibc-build.errors.dpatch @@ -0,0 +1,65 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 04-eglibc-build.errors.dpatch by Stefan Potyra <sistp...@ubuntu.com> +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: fix build failures with stricter eglibc string functions. + +...@dpatch@ +diff -urNad pearpc-0.4.0~/src/system/file.cc pearpc-0.4.0/src/system/file.cc +--- pearpc-0.4.0~/src/system/file.cc 2004-08-04 16:22:42.000000000 +0200 ++++ pearpc-0.4.0/src/system/file.cc 2010-01-09 21:21:44.000000000 +0100 +@@ -127,9 +127,9 @@ + int sys_basename(char *result, const char *filename) + { + // FIXME: use is_path_delim +- char *slash1 = strrchr(filename, '/'); +- char *slash2 = strrchr(filename, '\\'); +- char *slash=(slash1>slash2) ? slash1 : slash2; ++ const char *slash1 = strrchr(filename, '/'); ++ const char *slash2 = strrchr(filename, '\\'); ++ const char *slash=(slash1>slash2) ? slash1 : slash2; + if (slash) { + int l=strlen(filename); + strncpy(result, slash+1, l-(slash-filename)-1); +@@ -143,9 +143,9 @@ + int sys_dirname(char *result, const char *filename) + { + // FIXME: use is_path_delim +- char *slash1 = strrchr(filename, '/'); +- char *slash2 = strrchr(filename, '\\'); +- char *slash = (slash1>slash2) ? slash1 : slash2; ++ const char *slash1 = strrchr(filename, '/'); ++ const char *slash2 = strrchr(filename, '\\'); ++ const char *slash = (slash1>slash2) ? slash1 : slash2; + if (slash) { + strncpy(result, filename, slash-filename); + result[slash-filename] = 0; +@@ -264,14 +264,14 @@ + return (k == 0) ? 0 : EINVAL; + } + +-char *sys_filename_suffix(const char *fn) ++const char *sys_filename_suffix(const char *fn) + { + const char *s = NULL; + while (fn && *fn) { + if (sys_is_path_delim(*fn)) s = fn+1; + fn++; + } +- char *p = s ? strrchr(s, '.') : NULL; ++ const char *p = s ? strrchr(s, '.') : NULL; + return p ? p+1 : NULL; + } + +diff -urNad pearpc-0.4.0~/src/system/file.h pearpc-0.4.0/src/system/file.h +--- pearpc-0.4.0~/src/system/file.h 2004-08-04 16:22:42.000000000 +0200 ++++ pearpc-0.4.0/src/system/file.h 2010-01-09 21:21:44.000000000 +0100 +@@ -138,7 +138,7 @@ + int sys_dirname(char *result, const char *filename); + int sys_relname(char *result, const char *filename, const char *cwd); + int sys_common_canonicalize(char *result, const char *in_name, const char *cwd, is_path_delim delim); +-char * sys_filename_suffix(const char *fn); ++const char * sys_filename_suffix(const char *fn); + int sys_tmpfile_fd(); + + /* system-dependent (implementation in $MYSYSTEM/ *.cc) */
signature.asc
Description: This is a digitally signed message part.