Updated to work with latest CVS source.
authorWayne Davison <wayned@samba.org>
Mon, 23 Feb 2004 19:02:58 +0000 (19:02 +0000)
committerWayne Davison <wayned@samba.org>
Mon, 23 Feb 2004 19:02:58 +0000 (19:02 +0000)
tru64.diff

index 4afdf59..2376aab 100644 (file)
@@ -1,172 +1,8 @@
-Hi Eckert,
+This is an adapted version of the original by Zoong Pham.
 
-On Thu, Mar 21, 2002 at 03:15:39PM -0500, Eckert, Robert D wrote:
-> Greetings, here is the output of the 'configure' step and
-> the compile step (using the Compaq cc compiler that comes 
-> with Tru64 V5.1A. The configure reported success and most of
-> the compile steps cam through error/warning free except for
-> the one that stumbled. Can someone help me out here? I am willing
-> to provide a binary for Tru64 V5.1A if we can swat this bug.
-
-I had the same problem. I managed to have rsync compiled OK on my
-Tru64 5.1 box with helps from couple of people from this list.
-Try with the patch I attach here. 
-I am not a C programmer so you'd better check to make sure it is
-correct.
-
-> We depend greatly on Rsync to keep a fresh backup of our 
-> 70gb storage system that is the backend of http://www.indiana.edu/,
-> Indiana University's main web site to the Internet. 
-
-I plan to do the same here instead of Tru64 vdump and vrestore
-once I am sure backups by rsync is as reliable as vdump/vrestore.
-Do you use rsync for root, usr partitions and and database files?
-Have you had any problem with rsync so far?
-
-Cheers,
--- 
-Zoong Pham                        zpham@mercy.com.au
-UNIX Systems Administrator        Mercy Health and Aged Care Inc.
-
-To get my PGP public key, email me with the subject:
-Request for Zoong Pham's PGP public key
-
-
-
-
-diff -u -r rsync-2.5.4/batch.c rsync-2.5.4.new/batch.c
---- rsync-2.5.4/batch.c        Thu Feb  7 08:20:48 2002
-+++ rsync-2.5.4.new/batch.c    Fri Mar 22 09:24:01 2002
-@@ -405,7 +405,15 @@
-       /* FIXME: This will break if s->count is ever not exactly an int. */
-       write_batch_csums_file(flist_entry, sizeof(int));
-+      if (s) {
-+              write_batch_csums_file(&s->count,  sizeof(int));
-+      }
-+      else if (!s) {
-+              write_batch_csums_file(&int_zero,  sizeof(int));
-+      }
-+      /*
-       write_batch_csums_file(s ? &s->count : &int_zero, sizeof(int));
-+      */
-       
-       if (s) {
-               for (i = 0; i < s->count; i++) {
-diff -u -r rsync-2.5.4/config.h.in rsync-2.5.4.new/config.h.in
---- rsync-2.5.4/config.h.in    Thu Feb 28 10:15:55 2002
-+++ rsync-2.5.4.new/config.h.in        Fri Mar 22 09:24:01 2002
-@@ -140,6 +140,9 @@
- /* Define if you have the `mknod' function. */
- #undef HAVE_MKNOD
-+/* Define if you have the `mkfifo' function. */
-+#undef HAVE_MKFIFO
-+
- /* Define if you have the `mtrace' function. */
- #undef HAVE_MTRACE
-@@ -244,6 +247,9 @@
- /* Define if you have the <sys/socket.h> header file. */
- #undef HAVE_SYS_SOCKET_H
-+
-+/* Define if you have the <sys/un.h> header file. */
-+#undef HAVE_SYS_UN_H
- /* Define if you have the <sys/stat.h> header file. */
- #undef HAVE_SYS_STAT_H
-diff -u -r rsync-2.5.4/configure rsync-2.5.4.new/configure
---- rsync-2.5.4/configure      Wed Mar 13 11:03:50 2002
-+++ rsync-2.5.4.new/configure  Fri Mar 22 09:24:01 2002
-@@ -3414,7 +3414,7 @@
- fi
- done
--for ac_header in sys/filio.h string.h stdlib.h sys/socket.h sys/mode.h
-+for ac_header in sys/filio.h string.h stdlib.h sys/socket.h sys/mode.h sys/un.h
- do
- as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
- echo "$as_me:3420: checking for $ac_header" >&5
-@@ -6165,7 +6165,7 @@
- fi
- rm -f conftest.data
--for ac_func in waitpid wait4 getcwd strdup strerror chown chmod mknod
-+for ac_func in waitpid wait4 getcwd strdup strerror chown chmod mknod mkfifo
- do
- as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
- echo "$as_me:6171: checking for $ac_func" >&5
-diff -u -r rsync-2.5.4/configure.in rsync-2.5.4.new/configure.in
---- rsync-2.5.4/configure.in   Wed Mar 13 11:03:34 2002
-+++ rsync-2.5.4.new/configure.in       Fri Mar 22 09:24:01 2002
-@@ -242,7 +242,7 @@
- AC_HEADER_SYS_WAIT
- AC_CHECK_HEADERS(sys/fcntl.h sys/select.h fcntl.h sys/time.h sys/unistd.h unistd.h utime.h grp.h)
- AC_CHECK_HEADERS(compat.h sys/param.h ctype.h sys/wait.h sys/ioctl.h)
--AC_CHECK_HEADERS(sys/filio.h string.h stdlib.h sys/socket.h sys/mode.h)
-+AC_CHECK_HEADERS(sys/filio.h string.h stdlib.h sys/socket.h sys/mode.h sys/un.h)
- AC_CHECK_HEADERS(glob.h alloca.h mcheck.h sys/sysctl.h arpa/inet.h arpa/nameser.h)
- AC_CHECK_HEADERS(netdb.h)
- AC_CHECK_HEADERS(malloc.h)
-@@ -315,7 +315,19 @@
- AC_CHECK_FUNCS(inet_ntop, , AC_LIBOBJ(lib/inet_ntop)) 
- AC_CHECK_FUNCS(inet_pton, , AC_LIBOBJ(lib/inet_pton))
--AC_CHECK_FUNCS(getaddrinfo, , AC_LIBOBJ(lib/getaddrinfo))
-+# Tru64 UNIX has getaddrinfo() but has it renamed in libc as
-+# something else so we must include <netdb.h> to get the
-+# redefinition.
-+AC_MSG_CHECKING([for getaddrinfo])
-+AC_TRY_LINK([#include <sys/types.h>
-+#include <sys/socket.h>
-+#include <netdb.h>],[getaddrinfo(NULL, NULL, NULL, NULL);],
-+       [AC_MSG_RESULT([yes])
-+       AC_DEFINE(HAVE_GETADDRINFO, 1,
-+               [Define if you have the `getaddrinfo' function.])],
-+       [AC_MSG_RESULT([no])
-+       AC_LIBOBJ(lib/getaddrinfo)])
-+
- AC_CHECK_FUNCS(getnameinfo, , AC_LIBOBJ(lib/getnameinfo))
- AC_CHECK_MEMBER([struct sockaddr.sa_len], 
-@@ -348,7 +360,7 @@
- dnl AC_FUNC_MEMCMP
- AC_FUNC_UTIME_NULL
--AC_CHECK_FUNCS(waitpid wait4 getcwd strdup strerror chown chmod mknod)
-+AC_CHECK_FUNCS(waitpid wait4 getcwd strdup strerror chown chmod mknod mkfifo)
- AC_CHECK_FUNCS(fchmod fstat strchr readlink link utime utimes strftime)
- AC_CHECK_FUNCS(memmove lchown vsnprintf snprintf asprintf setsid glob strpbrk)
- AC_CHECK_FUNCS(strlcat strlcpy mtrace mallinfo setgroups)
-diff -u -r rsync-2.5.4/lib/getaddrinfo.c rsync-2.5.4.new/lib/getaddrinfo.c
---- rsync-2.5.4/lib/getaddrinfo.c      Fri Dec 14 16:33:12 2001
-+++ rsync-2.5.4.new/lib/getaddrinfo.c  Fri Mar 22 09:24:10 2002
-@@ -41,6 +41,20 @@
- #include <rsync.h>
-+/****** Start Zoong added here */
-+
-+#define EAI_BADHINTS    12
-+#define EAI_PROTOCOL    13
-+#define EAI_MAX         14
-+
-+#define AI_PASSIVE      0x00000001 /* get address to use bind() */
-+#define AI_CANONNAME    0x00000002 /* fill ai_canonname */
-+#define AI_NUMERICHOST  0x00000004 /* prevent name resolution */
-+#define AI_MASK         (AI_PASSIVE | AI_CANONNAME | AI_NUMERICHOST)
-+
-+/****** End Zoong added here */
-+
-+
- #if defined(__KAME__) && defined(INET6)
- # define FAITH
- #endif
-diff -u -r rsync-2.5.4/rsync.h rsync-2.5.4.new/rsync.h
---- rsync-2.5.4/rsync.h        Sat Feb 23 11:17:50 2002
-+++ rsync-2.5.4.new/rsync.h    Fri Mar 22 09:24:01 2002
-@@ -109,6 +109,11 @@
+--- rsync.h    11 Feb 2004 08:01:21 -0000      1.186
++++ rsync.h    23 Feb 2004 18:56:02 -0000
+@@ -156,6 +156,11 @@ enum msgcode {
  #include <sys/socket.h>
  #endif
  
@@ -178,43 +14,58 @@ diff -u -r rsync-2.5.4/rsync.h rsync-2.5.4.new/rsync.h
  #ifdef HAVE_STRING_H
  #include <string.h>
  #endif
-diff -u -r rsync-2.5.4/syscall.c rsync-2.5.4.new/syscall.c
---- rsync-2.5.4/syscall.c      Tue Feb 19 09:44:23 2002
-+++ rsync-2.5.4.new/syscall.c  Fri Mar 22 09:24:01 2002
-@@ -67,6 +67,36 @@
+--- syscall.c  18 Feb 2004 22:33:21 -0000      1.30
++++ syscall.c  23 Feb 2004 18:56:02 -0000
+@@ -76,6 +76,29 @@ int do_mknod(char *pathname, mode_t mode
  {
        if (dry_run) return 0;
-       CHECK_RO
+       RETURN_ERROR_IF_RO_OR_LO;
++# if HAVE_MKFIFO
++      if (S_ISFIFO(mode))
++              return mkfifo(pathname, mode);
++# endif
++# if HAVE_SYS_UN_H
++      if (S_ISSOCK(mode)) {
++              int sock;
++              struct sockaddr_un saddr;
++              int len = strlen(pathname) + 1; /* include null */
 +
-+#if HAVE_MKFIFO
-+       if (S_ISFIFO(mode)) {
-+               return mkfifo(pathname, mode);
-+       }
-+#endif
++              saddr.sun_family = AF_UNIX;
++              strncpy(saddr.sun_path, pathname, sizeof saddr.sun_path);
++              saddr.sun_len = len > sizeof saddr.sun_path ? sizeof saddr.sun_path: len;
 +
-+#if HAVE_SYS_UN_H
-+       if (S_ISSOCK(mode)) {
-+               int sock;
-+               struct sockaddr_un saddr;
-+               int len = strlen(pathname) + 1; /* include null */
++              if ((sock = socket(PF_UNIX, SOCK_STREAM, 0)) < 0)
++                      return -1;
++              unlink(pathname);
++              if ((bind(sock, (struct sockaddr*)&saddr, sizeof saddr)) < 0)
++                      return -1;
++              close(sock);
++              return do_chmod(pathname, mode);
++      }
++# endif
+       return mknod(pathname, mode, dev);
+ }
+ #endif
+--- lib/getaddrinfo.c  10 Jan 2003 22:38:25 -0000      1.17
++++ lib/getaddrinfo.c  23 Feb 2004 18:56:02 -0000
+@@ -41,6 +41,20 @@
+ #include <rsync.h>
++/****** Start Zoong added here */
 +
-+               saddr.sun_family = AF_UNIX;
-+               strncpy(saddr.sun_path, pathname, sizeof(saddr.sun_path));
-+               saddr.sun_len = len > sizeof(saddr.sun_path) ?  sizeof(saddr.sun_path): len;
++#define EAI_BADHINTS  12
++#define EAI_PROTOCOL  13
++#define EAI_MAX       14
 +
-+               if ((sock = socket(PF_UNIX, SOCK_STREAM, 0)) < 0) {
-+                       return -1;
-+               }
-+               unlink(pathname);
-+               if ((bind(sock, (struct sockaddr*)&saddr, sizeof(saddr))) < 0) {
-+                       return -1;
-+               }
-+               close(sock);
-+               return do_chmod(pathname, mode);
-+       }
-+#endif
++#define AI_PASSIVE    0x00000001 /* get address to use bind() */
++#define AI_CANONNAME  0x00000002 /* fill ai_canonname */
++#define AI_NUMERICHOST        0x00000004 /* prevent name resolution */
++#define AI_MASK       (AI_PASSIVE | AI_CANONNAME | AI_NUMERICHOST)
 +
++/****** End Zoong added here */
 +
-       return mknod(pathname, mode, dev);
- }
++
+ #if defined(__KAME__) && defined(INET6)
+ # define FAITH
  #endif