Просмотр исходного кода

initial port to Tru64/OSF1 4.0F and IRIX 6.5.21m (still unfinished, because Tru64 still has one more problem and on IRIX RPM segfaults although it now builds)

Ralf S. Engelschall 21 лет назад
Родитель
Сommit
d51d6d4f8a

+ 1 - 0
openpkg/HISTORY

@@ -2,6 +2,7 @@
 2004
 ====
 
+20040415 initial port to Tru64/OSF1 4.0F and IRIX 6.5.21m
 20040412 remove RPM's "lib64" hack to port to NetBSD/sparc64
 20040410 fix GNU tar patch
 20040408 upgraded to GNU shtool 2.0b3

+ 6 - 3
openpkg/openpkg.spec

@@ -39,7 +39,7 @@
 #   o any cc(1)
 
 #   the package version/release
-%define       V_openpkg  20040512
+%define       V_openpkg  20040515
 
 #   the used software versions
 %define       V_rpm      4.2.1
@@ -239,7 +239,6 @@ Provides:     openpkg = 2.0.3-2.0.3
     echo >>.buildenv '    fi'
     echo >>.buildenv '}'
     echo >>.buildenv 'VERBOSE () {'
-    echo >>.buildenv '    set +x'
     echo >>.buildenv '    if [ -f "%{_specdir}/rpmtool" ]; then'
     echo >>.buildenv '        echo "$*" | sh %{_specdir}/rpmtool msg'
     echo >>.buildenv '    else'
@@ -491,6 +490,10 @@ Provides:     openpkg = 2.0.3-2.0.3
     ) || exit $?
     ( cd beecrypt-%{V_beecrypt}
       ${l_patch} -p0 <`SOURCE beecrypt.patch`
+      sh $shtool subst \
+          -e 's;^[ 	][ 	]*#;#;' \
+          aes.c base64.c blowfish.c entropy.c fips186.c fips186.h md5.c \
+          md5.h mp.c mtprng.c mtprng.h sha1.c sha1.h sha256.c sha256.h timestamp.c
     ) || exit $?
 
     #   display verbosity header
@@ -583,7 +586,7 @@ Provides:     openpkg = 2.0.3-2.0.3
     #   build ZLIB library
     ( cd zlib-%{V_zlib}
       CC="${l_cc}" CFLAGS="-O" ./configure
-      ${l_make} CC="${l_cc}" CFLAGS="-O" libz.a || exit $?
+      ${l_make} CC="${l_cc}" libz.a || exit $? # intentionally do not pass CFLAGS here
     ) || exit $?
 
     #   display verbosity header

+ 3 - 3
openpkg/rpm.patch.bugfix

@@ -10,7 +10,7 @@
 ##  'patch' tool to upgrade those files. Each patch snippet is annotated
 ##  with a short description.
 ##
-##  Created on: 12-May-2004
+##  Created on: 15-May-2004
 ##
 ##  ATTENTION: THIS PATCH FILE WAS AUTO-GENERATED FROM AN OPENPKG
 ##             RPM CVS REPOSITORY, HENCE DO NOT EDIT THIS FILE.
@@ -50,7 +50,7 @@ Index: build/parsePrep.c
 +---------------------------------------------------------------------------
 Index: configure.ac
 --- configure.ac	2 Jul 2003 19:20:52 -0000	1.1.1.4
-+++ configure.ac	11 May 2004 07:14:52 -0000
++++ configure.ac	12 May 2004 14:34:30 -0000	1.3
 @@ -416,7 +417,7 @@
  AC_CHECK_HEADER([beecrypt/beecrypt.h], [
  	AC_CHECK_LIB(beecrypt, mpfprintln, [
@@ -67,7 +67,7 @@ Index: configure.ac
 +---------------------------------------------------------------------------
 Index: configure.ac
 --- configure.ac	2 Jul 2003 19:20:52 -0000	1.1.1.4
-+++ configure.ac	11 May 2004 07:14:52 -0000
++++ configure.ac	12 May 2004 14:34:30 -0000	1.3
 @@ -1274,7 +1299,6 @@
  	python/rpmdb/Makefile
  	python/test/Makefile

+ 5 - 5
openpkg/rpm.patch.feature

@@ -10,7 +10,7 @@
 ##  'patch' tool to upgrade those files. Each patch snippet is annotated
 ##  with a short description.
 ##
-##  Created on: 12-May-2004
+##  Created on: 15-May-2004
 ##
 ##  ATTENTION: THIS PATCH FILE WAS AUTO-GENERATED FROM AN OPENPKG
 ##             RPM CVS REPOSITORY, HENCE DO NOT EDIT THIS FILE.
@@ -837,7 +837,7 @@ Index: build/spec.c
 +---------------------------------------------------------------------------
 Index: configure.ac
 --- configure.ac	2 Jul 2003 19:20:52 -0000	1.1.1.4
-+++ configure.ac	11 May 2004 07:14:52 -0000
++++ configure.ac	12 May 2004 14:34:30 -0000	1.3
 @@ -53,7 +53,7 @@
  AS=${AS-as}
  AC_SUBST(AS)
@@ -871,7 +871,7 @@ Index: configure.ac
 +---------------------------------------------------------------------------
 Index: configure.ac
 --- configure.ac	2 Jul 2003 19:20:52 -0000	1.1.1.4
-+++ configure.ac	11 May 2004 07:14:52 -0000
++++ configure.ac	12 May 2004 14:34:30 -0000	1.3
 @@ -310,7 +311,7 @@
  WITH_ZLIB_SUBDIR=
  WITH_ZLIB_INCLUDE=
@@ -889,7 +889,7 @@ Index: configure.ac
 +---------------------------------------------------------------------------
 Index: configure.ac
 --- configure.ac	2 Jul 2003 19:20:52 -0000	1.1.1.4
-+++ configure.ac	11 May 2004 07:14:52 -0000
++++ configure.ac	12 May 2004 14:34:30 -0000	1.3
 @@ -324,38 +325,38 @@
  
  localdone=
@@ -967,7 +967,7 @@ Index: configure.ac
 +---------------------------------------------------------------------------
 Index: configure.ac
 --- configure.ac	2 Jul 2003 19:20:52 -0000	1.1.1.4
-+++ configure.ac	11 May 2004 07:14:52 -0000
++++ configure.ac	12 May 2004 14:34:30 -0000	1.3
 @@ -1200,12 +1199,12 @@
  AC_SUBST(LOCALEDIR)
  LIBDIR="`echo $libdir | sed 's-/lib$-/%{_lib}-'`"

+ 174 - 21
openpkg/rpm.patch.porting

@@ -10,7 +10,7 @@
 ##  'patch' tool to upgrade those files. Each patch snippet is annotated
 ##  with a short description.
 ##
-##  Created on: 12-May-2004
+##  Created on: 15-May-2004
 ##
 ##  ATTENTION: THIS PATCH FILE WAS AUTO-GENERATED FROM AN OPENPKG
 ##             RPM CVS REPOSITORY, HENCE DO NOT EDIT THIS FILE.
@@ -38,7 +38,7 @@ Index: ltconfig
 +---------------------------------------------------------------------------
 Index: configure.ac
 --- configure.ac	2 Jul 2003 19:20:52 -0000	1.1.1.4
-+++ configure.ac	11 May 2004 07:14:52 -0000
++++ configure.ac	12 May 2004 14:34:30 -0000	1.3
 @@ -446,14 +447,14 @@
      AC_CHECK_LIB(socket, socket)
  ])
@@ -68,7 +68,7 @@ Index: configure.ac
 +---------------------------------------------------------------------------
 Index: configure.ac
 --- configure.ac	2 Jul 2003 19:20:52 -0000	1.1.1.4
-+++ configure.ac	11 May 2004 07:14:52 -0000
++++ configure.ac	12 May 2004 14:34:30 -0000	1.3
 @@ -963,12 +964,13 @@
  AC_CHECK_FUNCS(getpassphrase)
  
@@ -91,7 +91,7 @@ Index: configure.ac
 +---------------------------------------------------------------------------
 Index: configure.ac
 --- configure.ac	2 Jul 2003 19:20:52 -0000	1.1.1.4
-+++ configure.ac	11 May 2004 07:14:52 -0000
++++ configure.ac	12 May 2004 14:34:30 -0000	1.3
 @@ -1141,9 +1143,6 @@
  
  dnl XXX Choose /usr/lib or /usr/lib64 for library installs.
@@ -113,7 +113,7 @@ Index: configure.ac
 +---------------------------------------------------------------------------
 Index: configure.ac
 --- configure.ac	2 Jul 2003 19:20:52 -0000	1.1.1.4
-+++ configure.ac	11 May 2004 07:14:52 -0000
++++ configure.ac	12 May 2004 14:34:30 -0000	1.3
 @@ -1249,11 +1248,37 @@
  
  AC_SUBST(OBJDUMP)
@@ -160,7 +160,7 @@ Index: configure.ac
 +---------------------------------------------------------------------------
 Index: popt/configure.ac
 --- popt/configure.ac	27 Mar 2003 17:23:18 -0000	1.1.1.3
-+++ popt/configure.ac	12 May 2004 13:26:31 -0000
++++ popt/configure.ac	12 May 2004 14:34:35 -0000	1.2
 @@ -53,9 +53,6 @@
  
  dnl XXX Choose /usr/lib or /usr/lib64 for library installs.
@@ -351,10 +351,11 @@ Index: tools/Makefile.in
 +---------------------------------------------------------------------------
 | Drop GCC "inline" attribute if not compiling with GCC.
 | Workaround some other GCC'isms, too.
+| Do not take over "const" replacements from Zlib.
 +---------------------------------------------------------------------------
 Index: file/system.h
 --- file/system.h	24 Jan 2003 19:41:56 -0000	1.1.1.1
-+++ file/system.h	18 Apr 2004 11:17:25 -0000
++++ file/system.h	14 May 2004 20:36:49 -0000
 @@ -13,6 +13,9 @@
  #endif
  
@@ -374,7 +375,15 @@ Index: file/system.h
  #endif
  #endif
  
-@@ -246,7 +251,11 @@
+@@ -194,6 +199,7 @@
+ 
+ #ifdef HAVE_LIBZ
+ #include <zlib.h>
++#undef const
+ #endif
+ 
+ #ifndef HAVE_STRERROR
+@@ -246,7 +252,11 @@
   */
  /*@-shadow@*/
  /*@unused@*/ /*@exits@*/ /*@only@*/
@@ -386,7 +395,7 @@ Index: file/system.h
  	/*@globals fileSystem @*/
  	/*@modifies fileSystem @*/
  {
-@@ -286,9 +295,33 @@
+@@ -286,9 +296,33 @@
  
  #if !defined(__LCLINT__)
  /* Memory allocation via macro defs to get meaningful locations from mtrace() */
@@ -420,7 +429,7 @@ Index: file/system.h
  #define	xstrdup(_str)	(strcpy(xmalloc(strlen(_str)+1), (_str)))
  #endif
  
-@@ -314,9 +347,14 @@
+@@ -314,9 +348,14 @@
  
  #if defined(__LCLINT__)
  #define FILE_RCSID(id)
@@ -456,6 +465,140 @@ Index: file/file.h
  #define BIT(A)   (1 << (A))
  #define STRING_IGNORE_LOWERCASE		BIT(0)
 
++---------------------------------------------------------------------------
+| Add int32_t detection and automatic fallback support.
++---------------------------------------------------------------------------
+Index: file/config.h.in
+--- file/config.h.in	7 Mar 2003 19:39:18 -0000	1.1.1.1
++++ file/config.h.in	14 May 2004 20:40:17 -0000
+@@ -106,6 +106,9 @@
+ /* Define to 1 if you have the <unistd.h> header file. */
+ #undef HAVE_UNISTD_H
+ 
++/* Define to 1 if you have the `vsnprintf' function. */
++#undef HAVE_VSNPRINTF
++
+ /* Define to 1 if `major', `minor', and `makedev' are declared in <mkdev.h>.
+    */
+ #undef MAJOR_IN_MKDEV
+@@ -162,6 +165,9 @@
+ /* Define to empty if `const' does not conform to ANSI C. */
+ #undef const
+ 
++/* int32_t */
++#undef int32_t
++
+ /* Define to `long' if <sys/types.h> does not define. */
+ #undef off_t
+ 
+
++---------------------------------------------------------------------------
+| Add int32_t detection and automatic fallback support.
++---------------------------------------------------------------------------
+Index: file/configure.ac
+--- file/configure.ac	1 Dec 2002 21:34:06 -0000	1.1.1.1
++++ file/configure.ac	14 May 2004 20:39:10 -0000
+@@ -92,6 +92,7 @@
+ AC_CHECK_TYPE_STDC(uint8_t, unsigned char)
+ AC_CHECK_TYPE_STDC(uint16_t, unsigned short)
+ AC_CHECK_TYPE_STDC(uint32_t, unsigned int)
++AC_CHECK_TYPE_STDC(int32_t, int)
+ AC_C_LONG_LONG
+ if test $ac_cv_c_long_long = yes; then
+   long64='unsigned long long';
+@@ -107,7 +108,7 @@
+ AC_CHECK_SIZEOF_STDC_HEADERS(uint64_t, 0)
+ 
+ dnl Checks for functions
+-AC_CHECK_FUNCS(error mtrace mkstemp mmap strdup strerror strtoul)
++AC_CHECK_FUNCS(error mtrace mkstemp mmap strdup strerror strtoul vsnprintf)
+ 
+ dnl Checks for libraries
+ AC_CHECK_LIB(z, gzopen)
+
++---------------------------------------------------------------------------
+| Add int32_t detection and automatic fallback support.
++---------------------------------------------------------------------------
+Index: file/configure
+--- file/configure	16 Jul 2003 17:05:25 -0000	1.1.1.2
++++ file/configure	14 May 2004 20:40:04 -0000
+@@ -10847,6 +10847,46 @@
+ 
+ fi
+ 
++echo "$as_me:$LINENO: checking for int32_t" >&5
++echo $ECHO_N "checking for int32_t... $ECHO_C" >&6
++if test "${ac_cv_type_int32_t+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++#line $LINENO "configure"
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#if HAVE_STDINT_H
++#include <stdint.h>
++#endif
++#include <sys/types.h>
++#if STDC_HEADERS
++#include <stdlib.h>
++#include <stddef.h>
++#endif
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++  $EGREP "(^|[^a-zA-Z_0-9])int32_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
++  ac_cv_type_int32_t=yes
++else
++  ac_cv_type_int32_t=no
++fi
++rm -f conftest*
++
++fi
++echo "$as_me:$LINENO: result: $ac_cv_type_int32_t" >&5
++echo "${ECHO_T}$ac_cv_type_int32_t" >&6
++if test $ac_cv_type_int32_t = no; then
++
++cat >>confdefs.h <<\_ACEOF
++#define int32_t int
++_ACEOF
++
++fi
++
+ echo "$as_me:$LINENO: checking for long long" >&5
+ echo $ECHO_N "checking for long long... $ECHO_C" >&6
+ if test "${ac_cv_c_long_long+set}" = set; then
+@@ -11220,7 +11260,8 @@
+ 
+ 
+ 
+-for ac_func in error mtrace mkstemp mmap strdup strerror strtoul
++
++for ac_func in error mtrace mkstemp mmap strdup strerror strtoul vsnprintf
+ do
+ as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ echo "$as_me:$LINENO: checking for $ac_func" >&5
+
++---------------------------------------------------------------------------
+| Fallback to vsprintf(3) if vsnprintf(3) does not exist.
++---------------------------------------------------------------------------
+Index: file/print.c
+--- file/print.c	24 Jan 2003 19:41:56 -0000	1.1.1.1
++++ file/print.c	14 May 2004 20:39:45 -0000
+@@ -187,7 +187,11 @@
+ 
+ 	va_start(va, f);
+ /*@-boundswrite@*/
++#ifdef HAVE_VSNPRINTF
+ 	rc = vsnprintf(fm->obp, fm->nob, f, va);
++#else
++	rc = vsprintf(fm->obp, f, va);
++#endif
+ /*@=boundswrite@*/
+ 	va_end(va);
+ 
+
 +---------------------------------------------------------------------------
 | Use GNU libtool's weaker -static (link with own static libraries)
 | instead of the strong -all-static (link even with static libc, etc),
@@ -640,7 +783,7 @@ Index: rpmio/fts.h
 +---------------------------------------------------------------------------
 Index: rpmio/fts.c
 --- rpmio/fts.c	18 Jan 2003 16:13:17 -0000	1.1.1.3
-+++ rpmio/fts.c	18 Apr 2004 11:16:24 -0000
++++ rpmio/fts.c	14 May 2004 20:53:39 -0000
 @@ -34,6 +34,8 @@
  static char sccsid[] = "@(#)fts.c	8.6 (Berkeley) 8/14/94";
  #endif /* LIBC_SCCS and not lint */
@@ -650,7 +793,7 @@ Index: rpmio/fts.c
  #if defined(_LIBC)
  #include <sys/param.h>
  #include <include/sys/stat.h>
-@@ -53,12 +55,27 @@
+@@ -53,12 +55,33 @@
  #   define _STAT_VER		0
  #   define __fxstat64(_stat_ver, _fd, _sbp)	fstat((_fd), (_sbp))
  #endif
@@ -675,11 +818,17 @@ Index: rpmio/fts.c
 +#   define _STAT_VER            0
 +#   define __fxstat64(_stat_ver, _fd, _sbp)     fstat((_fd), (_sbp))
 +#   define _D_EXACT_NAMLEN(d) ((d)->d_namlen)
++#endif
++#if defined(OPENPKG_IRIX64)
++#   define __errno_location()   (&errno)
++#   define dirfd(dirp)          -1
++#   define __fxstat64(_stat_ver, _fd, _sbp)     fstat((_fd), (_sbp))
++#   define _D_EXACT_NAMLEN(d) ((d)->d_reclen)
 +#endif
  #include "system.h"
  #include "fts.h"
  #include "rpmio.h"
-@@ -73,7 +90,12 @@
+@@ -73,7 +96,12 @@
  /* Largest alignment size needed, minus one.
     Usually long double is the worst case.  */
  #ifndef ALIGNBYTES
@@ -692,7 +841,7 @@ Index: rpmio/fts.c
  #endif
  /* Align P to that size.  */
  #ifndef ALIGN
-@@ -107,9 +129,13 @@
+@@ -107,9 +135,13 @@
  	/*@modifies fileSystem, internalState @*/;
  
  #ifndef MAX
@@ -733,7 +882,7 @@ Index: rpmio/rpmio.h
 +---------------------------------------------------------------------------
 Index: rpmio/rpmrpc.c
 --- rpmio/rpmrpc.c	29 May 2003 22:14:04 -0000	1.1.1.8
-+++ rpmio/rpmrpc.c	18 Apr 2004 11:15:27 -0000
++++ rpmio/rpmrpc.c	14 May 2004 20:53:59 -0000
 @@ -1079,6 +1079,8 @@
      return rc;
  }
@@ -777,7 +926,7 @@ Index: rpmio/rpmrpc.c
  /*@unchecked@*/
  static int ftpmagicdir = 0x8440291;
 -#define	ISFTPMAGIC(_dir) (!memcmp((_dir), &ftpmagicdir, sizeof(ftpmagicdir)))
-+#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(sun) && !defined(OPENPKG_UNIXWARE) && !defined(OPENPKG_DARWIN) && !defined(__osf__)
++#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(sun) && !defined(OPENPKG_UNIXWARE) && !defined(OPENPKG_DARWIN) && !defined(__osf__) && !defined(OPENPKG_IRIX64)
 +#define SETFTPMAGIC(_dir) ((_dir)->fd) = ftpmagicdir
 +#define ISFTPMAGIC(_dir) ((_dir)->fd == ftpmagicdir)
 +#else
@@ -930,7 +1079,7 @@ Index: rpmio/rpmrpc.c
 +    strncpy(dp->d_name, av[i].name, sizeof(dp->d_name) - 1);
 +    dp->d_name[sizeof(dp->d_name)-1] = '\0';
 +    dp->d_namlen = strlen(dp->d_name);
-+#elif defined(hpux) || defined(sun) || defined(OPENPKG_UNIXWARE) || defined(__osf__)
++#elif defined(hpux) || defined(sun) || defined(OPENPKG_UNIXWARE) || defined(__osf__) || defined(OPENPKG_IRIX64)
 +    /* XXX glob(3) uses REAL_DIR_ENTRY(dp) test on d_ino */
 +    dp->d_ino = i + 1;		/* W2DO? */
 +    dp->d_reclen = 0;		/* W2DO? */
@@ -970,7 +1119,7 @@ Index: rpmio/rpmrpc.c
 +---------------------------------------------------------------------------
 Index: system.h
 --- system.h	1 Mar 2003 19:53:08 -0000	1.1.1.10
-+++ system.h	22 Jan 2004 21:42:11 -0000	1.2
++++ system.h	15 May 2004 10:47:24 -0000
 @@ -256,10 +256,6 @@
  #include <err.h>
  #endif
@@ -988,7 +1137,7 @@ Index: system.h
 +---------------------------------------------------------------------------
 Index: system.h
 --- system.h	1 Mar 2003 19:53:08 -0000	1.1.1.10
-+++ system.h	22 Jan 2004 21:42:11 -0000	1.2
++++ system.h	15 May 2004 10:47:24 -0000
 @@ -550,7 +546,7 @@
  #define lchown chown
  #endif
@@ -1004,8 +1153,8 @@ Index: system.h
 +---------------------------------------------------------------------------
 Index: system.h
 --- system.h	1 Mar 2003 19:53:08 -0000	1.1.1.10
-+++ system.h	22 Jan 2004 21:42:11 -0000	1.2
-@@ -603,11 +599,16 @@
++++ system.h	15 May 2004 10:47:24 -0000
+@@ -603,11 +599,20 @@
  
  #if defined(__LCLINT__)
  #define FILE_RCSID(id)
@@ -1020,6 +1169,10 @@ Index: system.h
 +static const char *rcsid(const char *p) { \
 +        return rcsid(p = id); \
 +}
++#endif
++
++#ifndef HAVE_BASENAME
++extern char *basename(const char *);
  #endif
  
  #endif	/* H_SYSTEM */

+ 3 - 3
openpkg/rpm.patch.regen

@@ -10,7 +10,7 @@
 ##  'patch' tool to upgrade those files. Each patch snippet is annotated
 ##  with a short description.
 ##
-##  Created on: 12-May-2004
+##  Created on: 15-May-2004
 ##
 ##  ATTENTION: THIS PATCH FILE WAS AUTO-GENERATED FROM AN OPENPKG
 ##             RPM CVS REPOSITORY, HENCE DO NOT EDIT THIS FILE.
@@ -105,7 +105,7 @@ Index: config.h.in
 +---------------------------------------------------------------------------
 Index: configure
 --- configure	16 Jul 2003 17:05:55 -0000	1.1.1.23
-+++ configure	11 May 2004 12:06:15 -0000
++++ configure	12 May 2004 14:34:31 -0000	1.22
 @@ -467,7 +467,7 @@
  # include <unistd.h>
  #endif"
@@ -1150,7 +1150,7 @@ Index: configure
 +---------------------------------------------------------------------------
 Index: popt/configure
 --- popt/configure	16 Jul 2003 17:04:51 -0000	1.1.1.16
-+++ popt/configure	12 May 2004 13:27:20 -0000
++++ popt/configure	12 May 2004 14:34:35 -0000	1.18
 @@ -9359,9 +9359,6 @@
  
  

+ 1 - 1
openpkg/rpmtool

@@ -1339,7 +1339,7 @@ EOT
             echo . | awk '{ printf("\r"); }'
         fi
         echo "+----------------------------------${title}------------------------------------+"
-        expand -8 | sed -e 's; *$;;' | awk '{ printf("| %-75s |\n", substr($0, 0, 75)); }'
+        expand -t 8 | sed -e 's; *$;;' | awk '{ printf("| %-75s |\n", substr($0, 0, 75)); }'
         echo "+-----------------------------------------------------------------------------+"
         ;;
     check-class )

+ 11 - 0
openpkg/tar.patch

@@ -23,3 +23,14 @@ Index: src/utf8.c
  #endif
  
  struct langtab
+Index: src/xheader.c
+--- src/xheader.c.orig	2004-04-04 11:53:30.000000000 +0200
++++ src/xheader.c	2004-05-14 16:17:02.000000000 +0200
+@@ -21,6 +21,7 @@
+ #include <hash.h>
+ #include <quotearg.h>
+ #include <xstrtol.h>
++#include <stpcpy.h>
+ 
+ #include "common.h"
+