* added a patch for rsync-3.0.6 - seems to be working ok on haiku

This commit is contained in:
Oliver Tappe
2009-05-25 19:02:58 +00:00
parent 7c5a0e6a3d
commit f14b3e8409
2 changed files with 102 additions and 0 deletions

View File

@@ -0,0 +1,84 @@
diff -ruaw rsync-3.0.6/configure.in rsync-3.0.6-haiku/configure.in
--- rsync-3.0.6/configure.in 2009-05-08 19:07:14.000000000 +0200
+++ rsync-3.0.6-haiku/configure.in 2009-05-25 19:46:42.000000000 +0200
@@ -408,6 +408,8 @@
fi
AC_SEARCH_LIBS(inet_ntop, resolv)
+AC_SEARCH_LIBS(socket, network)
+AC_SEARCH_LIBS(getpass, bsd)
# Solaris and HP-UX weirdness:
# Search for libiconv_open (not iconv_open) to discover if -liconv is needed!
diff -ruaw rsync-3.0.6/options.c rsync-3.0.6-haiku/options.c
--- rsync-3.0.6/options.c 2009-04-12 22:01:14.000000000 +0200
+++ rsync-3.0.6-haiku/options.c 2009-05-25 19:45:29.000000000 +0200
@@ -337,7 +337,9 @@
rprintf(F," --safe-links ignore symlinks that point outside the source tree\n");
rprintf(F," -k, --copy-dirlinks transform symlink to a dir into referent dir\n");
rprintf(F," -K, --keep-dirlinks treat symlinked dir on receiver as dir\n");
+#ifndef __HAIKU__
rprintf(F," -H, --hard-links preserve hard links\n");
+#endif
rprintf(F," -p, --perms preserve permissions\n");
rprintf(F," -E, --executability preserve the file's executability\n");
rprintf(F," --chmod=CHMOD affect file and/or directory permissions\n");
@@ -1086,7 +1088,9 @@
break;
case 'H':
+#ifndef __HAIKU__
preserve_hard_links++;
+#endif
break;
case 'i':
diff -ruaw rsync-3.0.6/rsync.h rsync-3.0.6-haiku/rsync.h
--- rsync-3.0.6/rsync.h 2009-02-14 16:57:50.000000000 +0100
+++ rsync-3.0.6-haiku/rsync.h 2009-05-25 19:45:29.000000000 +0200
@@ -385,7 +385,9 @@
#ifdef MAKEDEV_TAKES_3_ARGS
#define MAKEDEV(devmajor,devminor) makedev(0,devmajor,devminor)
#else
-#define MAKEDEV(devmajor,devminor) makedev(devmajor,devminor)
+#define MAKEDEV(devmajor,devminor) ((dev_t)0)
+#define major(dev) (0)
+#define minor(dev) (0)
#endif
#ifdef HAVE_COMPAT_H
@@ -957,7 +959,7 @@
#ifdef HAVE_READLINK
#define SUPPORT_LINKS 1
#endif
-#ifdef HAVE_LINK
+#if defined HAVE_LINK && !defined __HAIKU__
#define SUPPORT_HARD_LINKS 1
#endif
diff -ruaw rsync-3.0.6/testsuite/hands.test rsync-3.0.6-haiku/testsuite/hands.test
--- rsync-3.0.6/testsuite/hands.test 2007-03-18 21:40:01.000000000 +0100
+++ rsync-3.0.6-haiku/testsuite/hands.test 2009-05-25 20:32:35.000000000 +0200
@@ -13,7 +13,7 @@
runtest "basic operation" 'checkit "$RSYNC -av \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"'
-ln "$fromdir/filelist" "$fromdir/dir"
+cp -p "$fromdir/filelist" "$fromdir/dir"
runtest "hard links" 'checkit "$RSYNC -avH \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"'
rm "$todir/text"
diff -ruaw rsync-3.0.6/testsuite/relative.test rsync-3.0.6-haiku/testsuite/relative.test
--- rsync-3.0.6/testsuite/relative.test 2007-09-23 04:18:57.000000000 +0200
+++ rsync-3.0.6-haiku/testsuite/relative.test 2009-05-25 20:33:16.000000000 +0200
@@ -31,8 +31,8 @@
sleep 1
runtest "basic relative" 'checkit "$RSYNC -avR ./$deepstr \"$todir\"" "$chkdir" "$todir"'
-ln $deepstr/filelist $deepstr/dir
-ln ../chk/$deepstr/filelist ../chk/$deepstr/dir
+cp -p $deepstr/filelist $deepstr/dir
+cp -p ../chk/$deepstr/filelist ../chk/$deepstr/dir
runtest "hard links" 'checkit "$RSYNC -avHR ./$deepstr/ \"$todir\"" "$chkdir" "$todir"'
cp "$deepdir/text" "$todir/$deepstr/ThisShouldGo"

View File

@@ -0,0 +1,18 @@
DESCRIPTION="Rsync"
HOMEPAGE="http://www.samba.org/rsync"
SRC_URI="http://www.samba.org/ftp/rsync/src/rsync-3.0.6.tar.gz"
REVISION="1"
STATUS_R5="untested"
STATUS_BONE="untested"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd rsync-3.0.6
./configure --prefix=/boot/common
make
}
INSTALL {
cd rsync-3.0.6
make install
}