Hello, Here is an updated 38_kbsd.dpatch that includes both the fix for #433126 and fixes for GNU/Hurd.
Also, a rediffed 80_uname.dpatch because of the GNU changes. Eventually, for GNU/Hurd, a patch that just defines MAXPATHLEN and PATH_MAX to 1024 from the CPPFLAGS. Could you please apply them? Samuel
#! /bin/sh /usr/share/dpatch/dpatch-run ## 38_kbsd.dpatch by Petr Salinger <[EMAIL PROTECTED]> ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: GNU/kFreeBSD support. bz#356011 @DPATCH@ diff -ur mozilla/xpcom/glue/standalone/Makefile.in mozilla/xpcom/glue/standalone/Makefile.in --- mozilla/xpcom/glue/standalone/Makefile.in 2007-07-14 16:24:55.000000000 +0200 +++ mozilla/xpcom/glue/standalone/Makefile.in 2007-07-14 16:24:55.000000000 +0200 @@ -62,7 +62,7 @@ ifeq (WINNT,$(OS_ARCH)) LINKSRC = nsGlueLinkingWin.cpp endif -ifneq (,$(filter AIX DragonFly FreeBSD Linux NetBSD OpenBSD SunOS,$(OS_ARCH))) +ifneq (,$(filter AIX DragonFly FreeBSD GNU GNU_% Linux NetBSD OpenBSD SunOS,$(OS_ARCH))) LINKSRC = nsGlueLinkingDlopen.cpp endif ifeq (OS2,$(OS_ARCH)) diff -ur mozilla/directory/c-sdk/config/nsinstall.c mozilla/directory/c-sdk/config/nsinstall.c --- mozilla/directory/c-sdk/config/nsinstall.c 2002-03-27 11:06:18.000000000 +0100 +++ mozilla/directory/c-sdk/config/nsinstall.c 2006-11-20 23:14:53.000000000 +0100 @@ -106,7 +106,7 @@ } #endif /* NEXTSTEP */ -#ifdef LINUX +#if defined(LINUX) || defined(__GLIBC__) || defined(__GNU__) #include <getopt.h> #endif --- mozilla/directory/c-sdk/ldap/libraries/libldap/Makefile.client 2002-03-26 22:53:26.000000000 +0100 +++ mozilla/directory/c-sdk/ldap/libraries/libldap/Makefile.client 2006-11-20 23:00:17.000000000 +0100 @@ -161,7 +161,7 @@ EXTRA_LIBS += -L$(NSCP_DISTDIR)/lib endif -ifeq ($(OS_ARCH), Linux) +ifneq (,$(filter Linux GNU GNU_%, $(OS_ARCH))) EXTRA_LIBS = -L$(NSCP_DISTDIR)/$(OBJDIR_NAME)/lib -l$(LBER_LIBNAME) EXTRA_LIBS += -L$(NSCP_DISTDIR)/lib endif @@ -237,7 +237,7 @@ ifeq ($(OS_ARCH), AIX) $(LINK_LIB) ../liblber/$(OBJDIR_NAME)/*.a else -ifeq ($(OS_ARCH), Linux) +ifneq (,$(filter Linux GNU GNU_%, $(OS_ARCH))) $(LINK_LIB) ../liblber/$(OBJDIR_NAME)/*.a else $(LINK_LIB) $(EXTRA_LIBS) --- mozilla/directory/c-sdk/configure.in 2006-02-23 00:58:25.000000000 +0100 +++ mozilla/directory/c-sdk/configure.in 2006-11-20 23:08:37.000000000 +0100 @@ -560,6 +560,8 @@ OS_TEST="${target_cpu}" case "${target_os}" in linux*) OS_ARCH=Linux ;; + kfreebsd*-gnu) OS_ARCH=GNU_kFreeBSD ;; + gnu*) OS_ARCH=GNU ;; solaris*) OS_ARCH=SunOS OS_RELEASE=5 ;; mingw*) OS_ARCH=WINNT ;; darwin*) OS_ARCH=Darwin ;; @@ -1260,7 +1262,7 @@ esac ;; -*-linux*) +*-linux*|*-kfreebsd*-gnu|*-gnu*) if test -z "$USE_NSPR_THREADS"; then USE_PTHREADS=1 IMPL_STRATEGY=_PTH @@ -1271,8 +1273,12 @@ AC_DEFINE(_SVID_SOURCE) AC_DEFINE(_LARGEFILE64_SOURCE) AC_DEFINE(HAVE_FCNTL_FILE_LOCKING) - AC_DEFINE(LINUX) - AC_DEFINE(linux) + case "${target_os}" in + linux*) + AC_DEFINE(LINUX) + AC_DEFINE(linux) + ;; + esac LD='$(CC)' CFLAGS="$CFLAGS -ansi -Wall" CXXFLAGS="$CXXFLAGS -ansi -Wall" @@ -2186,7 +2192,7 @@ _PTHREAD_LDFLAGS= fi ;; - *-linux*) + *-linux*|*-kfreebsd*-gnu|*-gnu*) AC_DEFINE(_REENTRANT) ;; esac @@ -2262,7 +2268,7 @@ fi fi ;; -*-linux*) +*-linux*|*-kfreebsd*-gnu|*-gnu*) if test -n "$USE_NSPR_THREADS"; then AC_DEFINE(_PR_LOCAL_THREADS_ONLY) fi --- mozilla/directory/c-sdk/configure 2006-02-23 00:58:25.000000000 +0100 +++ mozilla/directory/c-sdk/configure 2006-11-20 23:08:42.000000000 +0100 @@ -2753,6 +2754,8 @@ OS_TEST="${target_cpu}" case "${target_os}" in linux*) OS_ARCH=Linux ;; + kfreebsd*-gnu) OS_ARCH=GNU_kFreeBSD ;; + gnu*) OS_ARCH=GNU ;; solaris*) OS_ARCH=SunOS OS_RELEASE=5 ;; mingw*) OS_ARCH=WINNT ;; darwin*) OS_ARCH=Darwin ;; @@ -3766,7 +3769,7 @@ esac ;; -*-linux*) +*-linux*|*-kfreebsd*-gnu|*-gnu*) if test -z "$USE_NSPR_THREADS"; then USE_PTHREADS=1 IMPL_STRATEGY=_PTH @@ -3795,14 +3798,18 @@ #define HAVE_FCNTL_FILE_LOCKING 1 EOF - cat >> confdefs.h <<\EOF + case "${target_os}" in + linux*) + cat >> confdefs.h <<\EOF #define LINUX 1 EOF - cat >> confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define linux 1 EOF + ;; + esac LD='$(CC)' CFLAGS="$CFLAGS -ansi -Wall" CXXFLAGS="$CXXFLAGS -ansi -Wall" @@ -5281,7 +5288,7 @@ _PTHREAD_LDFLAGS= fi ;; - *-linux*) + *-linux*|*-kfreebsd*-gnu|*-gnu*) cat >> confdefs.h <<\EOF #define _REENTRANT 1 EOF @@ -5404,7 +5411,7 @@ fi fi ;; -*-linux*) +*-linux*|*-kfreebsd*-gnu|*-gnu*) if test -n "$USE_NSPR_THREADS"; then cat >> confdefs.h <<\EOF #define _PR_LOCAL_THREADS_ONLY 1 --- mozilla/directory/c-sdk/ldap/include/portable.h 2003-09-17 05:18:10.000000000 +0200 +++ mozilla/directory/c-sdk/ldap/include/portable.h 2006-11-20 22:10:27.000000000 +0100 @@ -116,7 +116,7 @@ * some systems don't have the BSD re_comp and re_exec routines */ #ifndef NEED_BSDREGEX -#if ( defined( SYSV ) || defined( NETBSD ) || defined( freebsd ) || defined( linux ) || defined( DARWIN )) && !defined(sgi) +#if ( defined( SYSV ) || defined( NETBSD ) || defined( freebsd ) || defined( linux ) || defined(__GNU__) || defined(__GLIBC__) || defined( DARWIN )) && !defined(sgi) #define NEED_BSDREGEX #endif #endif @@ -145,7 +145,7 @@ * Is snprintf() part of the standard C runtime library? */ #if !defined(HAVE_SNPRINTF) -#if defined(SOLARIS) || defined(LINUX) || defined(HPUX) +#if defined(SOLARIS) || defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) || defined(HPUX) #define HAVE_SNPRINTF #endif #endif @@ -165,7 +165,7 @@ * for select() */ #if !defined(WINSOCK) && !defined(_WINDOWS) && !defined(macintosh) && !defined(XP_OS2) -#if defined(hpux) || defined(LINUX) || defined(SUNOS4) || defined(XP_BEOS) +#if defined(hpux) || defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) || defined(SUNOS4) || defined(XP_BEOS) #include <sys/time.h> #else #include <sys/select.h> @@ -252,15 +252,14 @@ #define HAVE_GETGRNAM_R #endif -#if defined(SNI) || defined(LINUX1_2) +#if defined(SNI) || defined(LINUX1_2) || defined(__GNU__) || defined(__GLIBC__) int strcasecmp(const char *, const char *); #ifdef SNI int strncasecmp(const char *, const char *, int); -#endif /* SNI */ -#ifdef LINUX1_2 +#else /* SNI */ int strncasecmp(const char *, const char *, size_t); -#endif /* LINUX1_2 */ -#endif /* SNI || LINUX1_2 */ +#endif +#endif /* SNI || LINUX1_2 || __GNU__ || __GLIBC__ */ #if defined(_WINDOWS) || defined(macintosh) || defined(XP_OS2) || defined(DARWIN) #define GETHOSTBYNAME( n, r, b, l, e ) gethostbyname( n ) @@ -276,7 +275,7 @@ defined(UNIXWARE) || defined(SUNOS4) || defined(SNI) || defined(BSDI) || \ defined(NCR) || defined(OSF1) || defined(NEC) || defined(VMS) || \ ( defined(HPUX10) && !defined(_REENTRANT)) || defined(HPUX11) || \ - defined(UnixWare) || defined(LINUX) || defined(NETBSD) || \ + defined(UnixWare) || defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) || defined(NETBSD) || \ defined(FREEBSD) || defined(OPENBSD) || \ (defined(AIX) && !defined(USE_REENTRANT_LIBC)) #define GETHOSTBYNAME( n, r, b, l, e ) gethostbyname( n ) @@ -300,7 +299,7 @@ #define GETHOSTBYNAME( n, r, b, l, e ) gethostbyname_r( n, r, b, l, e ) #endif #if defined(HPUX9) || defined(LINUX1_2) || defined(LINUX2_0) || \ - defined(LINUX2_1) || defined(SUNOS4) || defined(SNI) || \ + defined(LINUX2_1) || defined(__GNU__) || defined(__GLIBC__) || defined(SUNOS4) || defined(SNI) || \ defined(SCOOS) || defined(BSDI) || defined(NCR) || \ defined(NEC) || ( defined(HPUX10) && !defined(_REENTRANT)) || \ (defined(AIX) && !defined(USE_REENTRANT_LIBC)) @@ -320,7 +319,7 @@ #endif #if defined(hpux9) || defined(LINUX1_2) || defined(SUNOS4) || defined(SNI) || \ defined(SCOOS) || defined(BSDI) || defined(NCR) || defined(VMS) || \ - defined(NEC) || defined(LINUX) || (defined(AIX) && !defined(USE_REENTRANT_LIBC)) + defined(NEC) || defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) || (defined(AIX) && !defined(USE_REENTRANT_LIBC)) #define STRTOK( s1, s2, l ) strtok( s1, s2 ) #else #define HAVE_STRTOK_R --- mozilla/directory/c-sdk/ldap/libraries/libldap/Makefile.in 2005-06-02 06:00:33.000000000 +0200 +++ mozilla/directory/c-sdk/ldap/libraries/libldap/Makefile.in 2006-11-20 22:10:27.000000000 +0100 @@ -168,7 +168,7 @@ EXTRA_LIBS = -L$(dist_libdir) -l$(LBER_LIBNAME) $(OS_LIBS) -lc endif -ifeq ($(OS_ARCH), Linux) +ifneq (,$(filter Linux GNU GNU_%, $(OS_ARCH))) EXTRA_LIBS = -L$(dist_libdir) -l$(LBER_LIBNAME) endif @@ -286,7 +286,7 @@ ifdef SO_FILES_TO_REMOVE -$(RM) $(SO_FILES_TO_REMOVE) endif -ifneq (,$(filter AIX Linux HP-UX Darwin BeOS QNX NetBSD OSF1 OpenBSD, $(OS_ARCH))) +ifneq (,$(filter AIX Linux GNU GNU_% HP-UX Darwin BeOS QNX NetBSD OSF1 OpenBSD, $(OS_ARCH))) $(LINK_LIB) ../liblber/$(OBJDIR_NAME)/*.a else ifeq ($(OS_ARCH),OS2) --- mozilla/directory/c-sdk/ldap/libraries/libprldap/ldappr-error.c 2003-03-25 14:57:38.000000000 +0100 +++ mozilla/directory/c-sdk/ldap/libraries/libprldap/ldappr-error.c 2006-11-20 22:10:27.000000000 +0100 @@ -218,7 +218,7 @@ #if defined(__hpux) || defined(_AIX) || defined(OSF1) || defined(DARWIN) || \ defined(BEOS) || defined(FREEBSD) || defined(BSDI) || defined(VMS) || \ - defined(OPENBSD) || defined(NETBSD) + defined(OPENBSD) || defined(NETBSD) || defined(__FreeBSD_kernel__) #define EDEADLOCK -1 #endif --- mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in 2006-11-20 22:20:44.000000000 +0100 +++ mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in 2006-11-20 22:10:27.000000000 +0100 @@ -70,7 +70,7 @@ # New code for Linux, et. al., with gcc # Migrate other platforms here after testing # -ifneq (,$(filter Linux,$(OS_ARCH))) +ifneq (,$(filter Linux GNU_%,$(OS_ARCH))) # Linux/x86-64 ifeq (x86_64,$(OS_TEST)) CPPSRCS := xptcinvoke_x86_64_linux.cpp xptcstubs_x86_64_linux.cpp --- mozilla/xpcom/reflect/xptcall/src/md/unix/xptc_platforms_unixish_x86.h 2006-02-23 20:37:11.000000000 +0100 +++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptc_platforms_unixish_x86.h 2006-11-20 22:10:27.000000000 +0100 @@ -67,7 +67,7 @@ * */ -#if defined(LINUX) +#if defined(LINUX) || (defined(__GLIBC__) && defined(__FreeBSD_kernel__)) #if (__GNUC__ == 2) && (__GNUC_MINOR__ <= 7) /* Old gcc 2.7.x.x. What does gcc 2.8.x do?? */ --- mozilla/configure.in 2006-11-20 22:20:44.000000000 +0100 +++ mozilla/configure.in 2006-11-20 22:10:27.000000000 +0100 @@ -812,6 +812,8 @@ OS_TEST="${target_cpu}" case "${target_os}" in linux*) OS_ARCH=Linux ;; + kfreebsd*-gnu) OS_ARCH=GNU_kFreeBSD ;; + gnu*) OS_ARCH=GNU ;; solaris*) OS_ARCH=SunOS OS_RELEASE=5 ;; mingw*) OS_ARCH=WINNT ;; wince*) OS_ARCH=WINCE ;; @@ -1261,7 +1263,7 @@ LIBXUL_LIBS='$(XPCOM_FROZEN_LDOPTS) $(DIST)/bin/XUL -lobjc' ;; -*-linux*) +*-linux*|*-kfreebsd*-gnu|*-gnu*) HOST_CFLAGS="$HOST_CFLAGS -DXP_UNIX" HOST_NSPR_MDCPUCFG='\"md/_linux.cfg\"' HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O3}" @@ -2169,7 +2171,7 @@ dnl = Flags to strip unused symbols from .so components dnl ======================================================== case "$target" in - *-linux*) + *-linux*|*-kfreebsd*-gnu|*-gnu*) MOZ_COMPONENTS_VERSION_SCRIPT_LDFLAGS='-Wl,--version-script -Wl,$(BUILD_TOOLS)/gnu-ld-scripts/components-version-script' ;; *-solaris*) @@ -2735,7 +2737,7 @@ fi ;; - *-*-linux*) + *-*-linux*|*-*-kfreebsd*-gnu|*-*-gnu*) AC_DEFINE(_REENTRANT) ;;
#! /bin/sh /usr/share/dpatch/dpatch-run ## 80_uname.dpatch by Mike Hommey <[EMAIL PROTECTED]> ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Use ${host_*} variables instead of uname in configure.in. Closes: ## DP: #377418. ## DP: This is a minimalist patch to solve the particular bad assembler ## DP: choice issue. It would need a much greater work to actually do ## DP: something totally clean, but the current patch should be enough ## DP: for Linux builds. ## DP: Also incorporates fix for bz#363263. @DPATCH@ === configure.in ================================================================== --- xulrunner/configure.in (revision 151) +++ xulrunner/configure.in (local) @@ -811,19 +811,28 @@ OS_RELEASE= OS_TEST="${target_cpu}" case "${target_os}" in - linux*) OS_ARCH=Linux ;; + linux*) OS_ARCH=Linux OS_TARGET=Linux;; kfreebsd*-gnu) OS_ARCH=GNU_kFreeBSD ;; gnu*) OS_ARCH=GNU ;; solaris*) OS_ARCH=SunOS OS_RELEASE=5 ;; mingw*) OS_ARCH=WINNT ;; wince*) OS_ARCH=WINCE ;; darwin*) OS_ARCH=Darwin OS_TARGET=Darwin ;; esac else - OS_TARGET=`uname -s` - OS_ARCH=`uname -s | sed -e 's|/|_|g'` + OS_TARGET="${host_os}" + OS_ARCH=`echo $host_os | sed -e 's|/|_|g'` OS_RELEASE=`uname -r` - OS_TEST=`uname -m` + OS_TEST="${host_cpu}" + case "${host_os}" in + linux*) OS_ARCH=Linux OS_TARGET=Linux;; + kfreebsd*-gnu) OS_ARCH=GNU_kFreeBSD ;; + gnu*) OS_ARCH=GNU ;; + solaris*) OS_ARCH=SunOS OS_RELEASE=5 ;; + mingw*) OS_ARCH=WINNT ;; + wince*) OS_ARCH=WINCE ;; + darwin*) OS_ARCH=Darwin OS_TARGET=Darwin ;; + esac fi _COMPILER_PREFIX= === xpcom/reflect/xptcall/src/md/unix/Makefile.in --- xulrunner/xpcom/reflect/xptcall/src/md/unix/Makefile.in (revision 123) +++ xulrunner/xpcom/reflect/xptcall/src/md/unix/Makefile.in (local) @@ -262,7 +262,7 @@ # # Linux/PPC # -ifeq ($(OS_ARCH)$(OS_TEST),Linuxppc) +ifeq ($(OS_ARCH)$(OS_TEST),Linuxpowerpc) CPPSRCS := xptcinvoke_ppc_linux.cpp xptcstubs_ppc_linux.cpp ASFILES := xptcinvoke_asm_ppc_linux.s xptcstubs_asm_ppc_linux.s AS := $(CC) -c -x assembler-with-cpp
#! /bin/sh /usr/share/dpatch/dpatch-run ## 38_gnu.dpatch by Samuel Thibault <[EMAIL PROTECTED]> ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: GNU/Hurd support. bz#408745 @DPATCH@ --- mozilla/config/rules.mk 2007-12-30 20:47:00.120197000 +0000 +++ mozilla/config/rules.mk 2007-12-30 20:47:27.127970000 +0000 @@ -506,6 +506,14 @@ endif # +# GNU doesn't have path length limitation +# + +ifeq ($(OS_ARCH),GNU) +OS_CPPFLAGS += -DPATH_MAX=1024 -DMAXPATHLEN=1024 +endif + +# # BeOS: add -Bsymbolic flag for components # ifeq ($(OS_ARCH),BeOS)