[csw-devel] SF.net SVN: gar:[15643] csw/mgar/pkg/rsync/branches/3.1.0dev
bdwalton at users.sourceforge.net
bdwalton at users.sourceforge.net
Sun Sep 18 19:35:20 CEST 2011
Revision: 15643
http://gar.svn.sourceforge.net/gar/?rev=15643&view=rev
Author: bdwalton
Date: 2011-09-18 17:35:19 +0000 (Sun, 18 Sep 2011)
Log Message:
-----------
rsync/branches/3.1.0dev: update tarball to current HEAD, sanitize patch stack to the one sent upstream
Modified Paths:
--------------
csw/mgar/pkg/rsync/branches/3.1.0dev/Makefile
csw/mgar/pkg/rsync/branches/3.1.0dev/checksums
Added Paths:
-----------
csw/mgar/pkg/rsync/branches/3.1.0dev/files/0001-change-xattr-tool-detection-to-use-uname-s.patch
csw/mgar/pkg/rsync/branches/3.1.0dev/files/0002-Testsuite-Honour-PATH-when-finding-fakeroot.patch
csw/mgar/pkg/rsync/branches/3.1.0dev/files/0003-Testsuite-Honour-PATH-when-finding-sh.patch
csw/mgar/pkg/rsync/branches/3.1.0dev/files/0003-Testsuite-Use-SHELL-instead-of-bin-sh.patch
csw/mgar/pkg/rsync/branches/3.1.0dev/files/0004-Testsuite-Extend-xattr-manipulation-for-Solaris.patch
csw/mgar/pkg/rsync/branches/3.1.0dev/files/0005-Modify-syscall.c-do_readlink-for-systems-without-O_N.patch
Removed Paths:
-------------
csw/mgar/pkg/rsync/branches/3.1.0dev/files/0001-fix-PATH-handling-for-test-suite.patch
csw/mgar/pkg/rsync/branches/3.1.0dev/files/0002-detect-O_NOFOLLOW-support.patch
csw/mgar/pkg/rsync/branches/3.1.0dev/files/0003-Add-conditional-handling-of-O_NOFOLLOW-in-syscall.c.patch
csw/mgar/pkg/rsync/branches/3.1.0dev/files/0004-change-xattr-tool-detection-to-use-uname-s.patch
csw/mgar/pkg/rsync/branches/3.1.0dev/files/0005-Testsuite-Honour-PATH-when-finding-fakeroot.patch
csw/mgar/pkg/rsync/branches/3.1.0dev/files/0006-Testsuite-Honour-PATH-when-finding-sh.patch
csw/mgar/pkg/rsync/branches/3.1.0dev/files/0007-Testsuite-Extend-xattr-manipulation-for-Solaris.patch
Modified: csw/mgar/pkg/rsync/branches/3.1.0dev/Makefile
===================================================================
--- csw/mgar/pkg/rsync/branches/3.1.0dev/Makefile 2011-09-18 15:04:07 UTC (rev 15642)
+++ csw/mgar/pkg/rsync/branches/3.1.0dev/Makefile 2011-09-18 17:35:19 UTC (rev 15643)
@@ -16,14 +16,13 @@
MASTER_SITES = http://samba.anu.edu.au/ftp/rsync/
DISTFILES = $(DISTNAME).tar.gz
-PATCHFILES += 0001-fix-PATH-handling-for-test-suite.patch
-PATCHFILES += 0002-detect-O_NOFOLLOW-support.patch
-PATCHFILES += 0003-Add-conditional-handling-of-O_NOFOLLOW-in-syscall.c.patch
-PATCHFILES += 0004-change-xattr-tool-detection-to-use-uname-s.patch
-PATCHFILES += 0005-Testsuite-Honour-PATH-when-finding-fakeroot.patch
-PATCHFILES += 0006-Testsuite-Honour-PATH-when-finding-sh.patch
-PATCHFILES += 0007-Testsuite-Extend-xattr-manipulation-for-Solaris.patch
+PATCHFILES += 0001-change-xattr-tool-detection-to-use-uname-s.patch
+PATCHFILES += 0002-Testsuite-Honour-PATH-when-finding-fakeroot.patch
+PATCHFILES += 0003-Testsuite-Honour-PATH-when-finding-sh.patch
+PATCHFILES += 0004-Testsuite-Extend-xattr-manipulation-for-Solaris.patch
+PATCHFILES += 0005-Modify-syscall.c-do_readlink-for-systems-without-O_N.patch
+
VENDOR_URL = http://rsync.samba.org/
RUNTIME_DEP_PKGS_CSWrsync = CSWiconv
Modified: csw/mgar/pkg/rsync/branches/3.1.0dev/checksums
===================================================================
--- csw/mgar/pkg/rsync/branches/3.1.0dev/checksums 2011-09-18 15:04:07 UTC (rev 15642)
+++ csw/mgar/pkg/rsync/branches/3.1.0dev/checksums 2011-09-18 17:35:19 UTC (rev 15643)
@@ -1 +1 @@
-034b484ad7ad027a511bd9b1fb7cc8b3 rsync-3.1.0dev.tar.gz
+1e5beb2479cec3c91d87a0302c373e6b rsync-3.1.0dev.tar.gz
Added: csw/mgar/pkg/rsync/branches/3.1.0dev/files/0001-change-xattr-tool-detection-to-use-uname-s.patch
===================================================================
--- csw/mgar/pkg/rsync/branches/3.1.0dev/files/0001-change-xattr-tool-detection-to-use-uname-s.patch (rev 0)
+++ csw/mgar/pkg/rsync/branches/3.1.0dev/files/0001-change-xattr-tool-detection-to-use-uname-s.patch 2011-09-18 17:35:19 UTC (rev 15643)
@@ -0,0 +1,60 @@
+From caf377045493be26506f83cb7abd4fbf12c15ce5 Mon Sep 17 00:00:00 2001
+From: Ben Walton <bwalton at opencsw.org>
+Date: Thu, 15 Sep 2011 04:26:00 +0200
+Subject: [PATCH 1/5] change xattr tool detection to use uname -s
+
+Signed-off-by: Ben Walton <bwalton at opencsw.org>
+---
+ testsuite/chown.test | 4 ++--
+ testsuite/devices.test | 4 ++--
+ testsuite/xattrs.test | 4 ++--
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/testsuite/chown.test b/testsuite/chown.test
+index d238a8f..ee1f020 100644
+--- a/testsuite/chown.test
++++ b/testsuite/chown.test
+@@ -18,8 +18,8 @@ case $0 in
+ $RSYNC --version | grep ", xattrs" >/dev/null || test_skipped "Rsync needs xattrs for fake device tests"
+ RSYNC="$RSYNC --fake-super"
+ TLS_ARGS="$TLS_ARGS --fake-super"
+- case "`xattr 2>&1 || true`" in
+- *--list:*)
++ case "`uname -s`" in
++ Darwin)
+ chown() {
+ own=$1
+ shift
+diff --git a/testsuite/devices.test b/testsuite/devices.test
+index a85954b..fcd3eb0 100644
+--- a/testsuite/devices.test
++++ b/testsuite/devices.test
+@@ -19,8 +19,8 @@ case $0 in
+ $RSYNC --version | grep ", xattrs" >/dev/null || test_skipped "Rsync needs xattrs for fake device tests"
+ RSYNC="$RSYNC --fake-super"
+ TLS_ARGS="$TLS_ARGS --fake-super"
+- case "`xattr 2>&1 || true`" in
+- *--list:*)
++ case "`uname -s`" in
++ Darwin)
+ mknod() {
+ fn="$1"
+ case "$2" in
+diff --git a/testsuite/xattrs.test b/testsuite/xattrs.test
+index c1846df..fd2957a 100644
+--- a/testsuite/xattrs.test
++++ b/testsuite/xattrs.test
+@@ -10,8 +10,8 @@ lnkdir="$tmpdir/lnk"
+
+ $RSYNC --version | grep ", xattrs" >/dev/null || test_skipped "Rsync is configured without xattr support"
+
+-case "`xattr 2>&1 || true`" in
+-*--list:*)
++case "`uname -s`" in
++Darwin)
+ xset() {
+ xnam="$1"
+ xval="$2"
+--
+1.7.4.1
+
Deleted: csw/mgar/pkg/rsync/branches/3.1.0dev/files/0001-fix-PATH-handling-for-test-suite.patch
===================================================================
--- csw/mgar/pkg/rsync/branches/3.1.0dev/files/0001-fix-PATH-handling-for-test-suite.patch 2011-09-18 15:04:07 UTC (rev 15642)
+++ csw/mgar/pkg/rsync/branches/3.1.0dev/files/0001-fix-PATH-handling-for-test-suite.patch 2011-09-18 17:35:19 UTC (rev 15643)
@@ -1,25 +0,0 @@
-From debc0397d5608430618ab8942dbeeee999c71a85 Mon Sep 17 00:00:00 2001
-From: Ben Walton <bwalton at opencsw.org>
-Date: Thu, 15 Sep 2011 03:46:16 +0200
-Subject: [PATCH] fix PATH handling for test suite
-
-Signed-off-by: Ben Walton <bwalton at opencsw.org>
----
- runtests.sh | 1 +
- 1 files changed, 1 insertions(+), 0 deletions(-)
-
-diff --git a/runtests.sh b/runtests.sh
-index 43732ce..8126c95 100755
---- a/runtests.sh
-+++ b/runtests.sh
-@@ -130,6 +130,7 @@ export RUNSHFLAGS
-
- # for Solaris
- [ -d /usr/xpg4/bin ] && PATH="/usr/xpg4/bin/:$PATH"
-+export PATH
-
- if [ "x$loglevel" != x ] && [ "$loglevel" -gt 8 ]; then
- if set -x; then
---
-1.7.6.1
-
Added: csw/mgar/pkg/rsync/branches/3.1.0dev/files/0002-Testsuite-Honour-PATH-when-finding-fakeroot.patch
===================================================================
--- csw/mgar/pkg/rsync/branches/3.1.0dev/files/0002-Testsuite-Honour-PATH-when-finding-fakeroot.patch (rev 0)
+++ csw/mgar/pkg/rsync/branches/3.1.0dev/files/0002-Testsuite-Honour-PATH-when-finding-fakeroot.patch 2011-09-18 17:35:19 UTC (rev 15643)
@@ -0,0 +1,60 @@
+From 636313b2b4bce8b8f6ce99d16258f10590ebf6d1 Mon Sep 17 00:00:00 2001
+From: Ben Walton <bwalton at opencsw.org>
+Date: Sat, 17 Sep 2011 15:14:23 +0200
+Subject: [PATCH 2/5] Testsuite: Honour PATH when finding fakeroot
+
+Some systems may have fakeroot, but not at /usr/bin. Use PATH to see
+if the tool is available. This will allow using fakeroot on a
+Solaris/OpenCSW stack where fakeroot is at /opt/csw/bin/fakeroot.
+
+Signed-off-by: Ben Walton <bwalton at opencsw.org>
+---
+ testsuite/chown.test | 6 ++++--
+ testsuite/devices.test | 6 ++++--
+ 2 files changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/testsuite/chown.test b/testsuite/chown.test
+index ee1f020..5631747 100644
+--- a/testsuite/chown.test
++++ b/testsuite/chown.test
+@@ -37,12 +37,14 @@ case $0 in
+ ;;
+ *)
+ RSYNC="$RSYNC --super"
++ # make fakeroot detection take path into account
++ fr="`which fakeroot 2>/dev/null`"
+ case `get_testuid` in
+ '') ;; # If "id" failed, try to continue...
+ 0) ;;
+- *) if [ -f /usr/bin/fakeroot ]; then
++ *) if [ -n "${fr}" ]; then
+ echo "Let's try re-running the script under fakeroot..."
+- exec /usr/bin/fakeroot /bin/sh "$0"
++ exec "${fr}" /bin/sh "$0"
+ fi
+ ;;
+ esac
+diff --git a/testsuite/devices.test b/testsuite/devices.test
+index fcd3eb0..30bc1c4 100644
+--- a/testsuite/devices.test
++++ b/testsuite/devices.test
+@@ -51,12 +51,14 @@ case $0 in
+ esac
+ ;;
+ *)
++ # make fakeroot detection take path into account
++ fr="`which fakeroot 2>/dev/null`"
+ case `get_testuid` in
+ '') ;; # If "id" failed, try to continue...
+ 0) ;;
+- *) if [ -f /usr/bin/fakeroot ]; then
++ *) if [ -n "${fr}" ]; then
+ echo "Let's try re-running the script under fakeroot..."
+- exec /usr/bin/fakeroot /bin/sh $RUNSHFLAGS "$0"
++ exec "${fr}" /bin/sh $RUNSHFLAGS "$0"
+ fi
+ test_skipped "Rsync needs root/fakeroot for device tests"
+ ;;
+--
+1.7.4.1
+
Deleted: csw/mgar/pkg/rsync/branches/3.1.0dev/files/0002-detect-O_NOFOLLOW-support.patch
===================================================================
--- csw/mgar/pkg/rsync/branches/3.1.0dev/files/0002-detect-O_NOFOLLOW-support.patch 2011-09-18 15:04:07 UTC (rev 15642)
+++ csw/mgar/pkg/rsync/branches/3.1.0dev/files/0002-detect-O_NOFOLLOW-support.patch 2011-09-18 17:35:19 UTC (rev 15643)
@@ -1,26 +0,0 @@
-From 50a80bb5e2c2705d5a354f4a22ce58408041d39b Mon Sep 17 00:00:00 2001
-From: Ben Walton <bwalton at opencsw.org>
-Date: Mon, 12 Sep 2011 03:56:58 +0200
-Subject: [PATCH] detect O_NOFOLLOW support
-
-Signed-off-by: Ben Walton <bwalton at opencsw.org>
----
- configure.ac | 2 ++
- 1 files changed, 2 insertions(+), 0 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 8962b15..1ecd66b 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -579,6 +579,8 @@ if test x"$ac_cv_func_aclsort" = x"no"; then
- AC_CHECK_LIB(sec, aclsort)
- fi
-
-+AC_CHECK_DECL(O_NOFOLLOW,[AC_DEFINE(FCNTL_DEFINES_O_NOFOLLOW, 1, [Define to 1 if your open() supports O_NOFOLLOW])], [], [[#include <fcntl.h>]])
-+
- dnl At the moment we don't test for a broken memcmp(), because all we
- dnl need to do is test for equality, not comparison, and it seems that
- dnl every platform has a memcmp that can do at least that.
---
-1.7.6
-
Deleted: csw/mgar/pkg/rsync/branches/3.1.0dev/files/0003-Add-conditional-handling-of-O_NOFOLLOW-in-syscall.c.patch
===================================================================
--- csw/mgar/pkg/rsync/branches/3.1.0dev/files/0003-Add-conditional-handling-of-O_NOFOLLOW-in-syscall.c.patch 2011-09-18 15:04:07 UTC (rev 15642)
+++ csw/mgar/pkg/rsync/branches/3.1.0dev/files/0003-Add-conditional-handling-of-O_NOFOLLOW-in-syscall.c.patch 2011-09-18 17:35:19 UTC (rev 15643)
@@ -1,56 +0,0 @@
-From 1cfac0638a8720d2e9351cdc52a3d5f0f1543358 Mon Sep 17 00:00:00 2001
-From: Ben Walton <bwalton at opencsw.org>
-Date: Tue, 13 Sep 2011 02:33:24 +0200
-Subject: [PATCH] Add conditional handling of O_NOFOLLOW in syscall.c
-
-To facilitate systems without O_NOFOLLOW (eg: Solaris 9), add
-conditional support for reading a symlink in do_readlink.
-
-Signed-off-by: Ben Walton <bwalton at opencsw.org>
----
- syscall.c | 27 +++++++++++++++++++++++++++
- 1 files changed, 27 insertions(+), 0 deletions(-)
-
-diff --git a/syscall.c b/syscall.c
-index c6c571a..224bc88 100644
---- a/syscall.c
-+++ b/syscall.c
-@@ -87,8 +87,35 @@ ssize_t do_readlink(const char *path, char *buf, size_t bufsiz)
- {
- /* For --fake-super, we read the link from the file. */
- if (am_root < 0) {
-+#ifndef FCNTL_DEFINES_O_NOFOLLOW
-+ /* Before and After stat to detect changes during race */
-+ struct stat b_st, a_st;
-+ if (lstat(path, &b_st) != 0)
-+ return -1;
-+
-+ if (!S_ISREG(b_st.st_mode))
-+ return -1;
-+
-+ int fd = open(path, O_RDONLY);
-+#else
- int fd = open(path, O_RDONLY|O_NOFOLLOW);
-+#endif
-+
- if (fd >= 0) {
-+#ifndef FCNTL_DEFINES_O_NOFOLLOW
-+ /* Handle the race condition...File may have been
-+ changed between lstat() and open(). Double check
-+ that device and inode are the same as the
-+ pre-flight test. */
-+ if (fstat(fd, &a_st) != 0)
-+ return -1;
-+
-+ /* If the file changed, bail out! */
-+ if (a_st.st_dev != b_st.st_dev ||
-+ a_st.st_ino != b_st.st_ino)
-+ return -1;
-+#endif
-+
- int len = read(fd, buf, bufsiz);
- close(fd);
- return len;
---
-1.7.6.1
-
Added: csw/mgar/pkg/rsync/branches/3.1.0dev/files/0003-Testsuite-Honour-PATH-when-finding-sh.patch
===================================================================
--- csw/mgar/pkg/rsync/branches/3.1.0dev/files/0003-Testsuite-Honour-PATH-when-finding-sh.patch (rev 0)
+++ csw/mgar/pkg/rsync/branches/3.1.0dev/files/0003-Testsuite-Honour-PATH-when-finding-sh.patch 2011-09-18 17:35:19 UTC (rev 15643)
@@ -0,0 +1,59 @@
+From a75afb3147f3be3378caeb1629611e6023b72a7b Mon Sep 17 00:00:00 2001
+From: Ben Walton <bwalton at opencsw.org>
+Date: Sat, 17 Sep 2011 15:17:39 +0200
+Subject: [PATCH 3/5] Testsuite: Honour PATH when finding sh
+
+This patch removes the hard coding of /bin/sh so that on Solaris where
+the test suite is run with /usr/xpg4/bin leading the PATH, the POSIX
+sh will be used instead of the default system shell. ($SHELL does not
+seem to be reliably set.)
+
+Signed-off-by: Ben Walton <bwalton at opencsw.org>
+---
+ testsuite/chown.test | 4 +++-
+ testsuite/devices.test | 4 +++-
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/testsuite/chown.test b/testsuite/chown.test
+index 5631747..7038550 100644
+--- a/testsuite/chown.test
++++ b/testsuite/chown.test
+@@ -39,12 +39,14 @@ case $0 in
+ RSYNC="$RSYNC --super"
+ # make fakeroot detection take path into account
+ fr="`which fakeroot 2>/dev/null`"
++ # for solaris so /usr/xpg4/bin is honoured in the path
++ shell=`which sh`
+ case `get_testuid` in
+ '') ;; # If "id" failed, try to continue...
+ 0) ;;
+ *) if [ -n "${fr}" ]; then
+ echo "Let's try re-running the script under fakeroot..."
+- exec "${fr}" /bin/sh "$0"
++ exec "${fr}" "${shell}" "$0"
+ fi
+ ;;
+ esac
+diff --git a/testsuite/devices.test b/testsuite/devices.test
+index 30bc1c4..14ed317 100644
+--- a/testsuite/devices.test
++++ b/testsuite/devices.test
+@@ -53,12 +53,14 @@ case $0 in
+ *)
+ # make fakeroot detection take path into account
+ fr="`which fakeroot 2>/dev/null`"
++ # for solaris so /usr/xpg4/bin is honoured in the path
++ shell=`which sh`
+ case `get_testuid` in
+ '') ;; # If "id" failed, try to continue...
+ 0) ;;
+ *) if [ -n "${fr}" ]; then
+ echo "Let's try re-running the script under fakeroot..."
+- exec "${fr}" /bin/sh $RUNSHFLAGS "$0"
++ exec "${fr}" "${shell}" $RUNSHFLAGS "$0"
+ fi
+ test_skipped "Rsync needs root/fakeroot for device tests"
+ ;;
+--
+1.7.4.1
+
Added: csw/mgar/pkg/rsync/branches/3.1.0dev/files/0003-Testsuite-Use-SHELL-instead-of-bin-sh.patch
===================================================================
--- csw/mgar/pkg/rsync/branches/3.1.0dev/files/0003-Testsuite-Use-SHELL-instead-of-bin-sh.patch (rev 0)
+++ csw/mgar/pkg/rsync/branches/3.1.0dev/files/0003-Testsuite-Use-SHELL-instead-of-bin-sh.patch 2011-09-18 17:35:19 UTC (rev 15643)
@@ -0,0 +1,45 @@
+From 6a031bf79b1944c19f2862d0703a9dd3864b68f6 Mon Sep 17 00:00:00 2001
+From: Ben Walton <bwalton at opencsw.org>
+Date: Sun, 18 Sep 2011 00:33:37 -0400
+Subject: [PATCH 3/5] Testsuite: Use SHELL instead of /bin/sh
+
+Use $SHELL from the environment instead of hard coding /bin/sh in the
+devices and chown tests. This likely isn't necessary, but prevents
+any issues from creeping in on solaris where /usr/xpg4/bin/sh is
+required for proper test execution.
+
+Signed-off-by: Ben Walton <bwalton at opencsw.org>
+---
+ testsuite/chown.test | 2 +-
+ testsuite/devices.test | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/testsuite/chown.test b/testsuite/chown.test
+index 5631747..b18db1d 100644
+--- a/testsuite/chown.test
++++ b/testsuite/chown.test
+@@ -44,7 +44,7 @@ case $0 in
+ 0) ;;
+ *) if [ -n "${fr}" ]; then
+ echo "Let's try re-running the script under fakeroot..."
+- exec "${fr}" /bin/sh "$0"
++ exec "${fr}" "${SHELL}" "$0"
+ fi
+ ;;
+ esac
+diff --git a/testsuite/devices.test b/testsuite/devices.test
+index 30bc1c4..349782f 100644
+--- a/testsuite/devices.test
++++ b/testsuite/devices.test
+@@ -58,7 +58,7 @@ case $0 in
+ 0) ;;
+ *) if [ -n "${fr}" ]; then
+ echo "Let's try re-running the script under fakeroot..."
+- exec "${fr}" /bin/sh $RUNSHFLAGS "$0"
++ exec "${fr}" "${SHELL}" $RUNSHFLAGS "$0"
+ fi
+ test_skipped "Rsync needs root/fakeroot for device tests"
+ ;;
+--
+1.7.4.1
+
Added: csw/mgar/pkg/rsync/branches/3.1.0dev/files/0004-Testsuite-Extend-xattr-manipulation-for-Solaris.patch
===================================================================
--- csw/mgar/pkg/rsync/branches/3.1.0dev/files/0004-Testsuite-Extend-xattr-manipulation-for-Solaris.patch (rev 0)
+++ csw/mgar/pkg/rsync/branches/3.1.0dev/files/0004-Testsuite-Extend-xattr-manipulation-for-Solaris.patch 2011-09-18 17:35:19 UTC (rev 15643)
@@ -0,0 +1,100 @@
+From 080d69057a366a9c8e542c9d94f4e86c4938fc28 Mon Sep 17 00:00:00 2001
+From: Ben Walton <bwalton at opencsw.org>
+Date: Sat, 17 Sep 2011 15:23:11 +0200
+Subject: [PATCH 4/5] Testsuite: Extend xattr manipulation for Solaris
+
+Add chown(), mknod(), xls() and xset() shell functions for Solaris so
+that we can capably test the xattr support in the rsync binary. The
+functions all use runat to manipulate the extended attribute space.
+
+Signed-off-by: Ben Walton <bwalton at opencsw.org>
+---
+ testsuite/chown.test | 11 +++++++++++
+ testsuite/devices.test | 16 ++++++++++++++++
+ testsuite/xattrs.test | 21 +++++++++++++++++++++
+ 3 files changed, 48 insertions(+), 0 deletions(-)
+
+diff --git a/testsuite/chown.test b/testsuite/chown.test
+index b18db1d..d48de75 100644
+--- a/testsuite/chown.test
++++ b/testsuite/chown.test
+@@ -26,6 +26,17 @@ case $0 in
+ xattr -s 'rsync.%stat' "100644 0,0 $own" "${@}"
+ }
+ ;;
++ SunOS)
++ chown() {
++ own=$1
++ shift
++ for f in "${@}"; do
++ runat "${f}" /usr/xpg4/bin/sh <<EOF
++echo "100644 0,0 $own" > rsync.%stat
++EOF
++ done
++ }
++ ;;
+ *)
+ chown() {
+ own=$1
+diff --git a/testsuite/devices.test b/testsuite/devices.test
+index 349782f..1846f2c 100644
+--- a/testsuite/devices.test
++++ b/testsuite/devices.test
+@@ -34,6 +34,22 @@ case $0 in
+ xattr -s 'rsync.%stat' "$mode $maj,$min 0:0" "$fn"
+ }
+ ;;
++ SunOS)
++ mknod() {
++ fn="$1"
++ case "$2" in
++ p) mode=10644 ;;
++ c) mode=20644 ;;
++ b) mode=60644 ;;
++ esac
++ maj="${3:-0}"
++ min="${4:-0}"
++ touch "$fn"
++ runat "${fn}" /usr/xpg4/bin/sh <<EOF
++echo "$mode $maj,$min 0:0" > rsync.%stat
++EOF
++ }
++ ;;
+ *)
+ mknod() {
+ fn="$1"
+diff --git a/testsuite/xattrs.test b/testsuite/xattrs.test
+index fd2957a..42492a7 100644
+--- a/testsuite/xattrs.test
++++ b/testsuite/xattrs.test
+@@ -24,6 +24,27 @@ Darwin)
+ RSYNC_PREFIX='rsync'
+ RUSR='rsync.nonuser'
+ ;;
++SunOS)
++ xset() {
++ xnam="$1"
++ xval="$2"
++ shift 2
++ for f in "${@}"; do
++ runat "${f}" /usr/xpg4/bin/sh <<EOF
++echo "${xval}" > "${xnam}"
++EOF
++ done
++ }
++ xls() {
++ for f in "${@}"; do
++ runat "${f}" /usr/xpg4/bin/sh <<EOF
++for x in *; do echo "\$x=\`cat \$x\`"; done
++EOF
++ done
++ }
++ RSYNC_PREFIX='rsync'
++ RUSR='rsync.nonuser'
++ ;;
+ *)
+ xset() {
+ xnam="$1"
+--
+1.7.4.1
+
Deleted: csw/mgar/pkg/rsync/branches/3.1.0dev/files/0004-change-xattr-tool-detection-to-use-uname-s.patch
===================================================================
--- csw/mgar/pkg/rsync/branches/3.1.0dev/files/0004-change-xattr-tool-detection-to-use-uname-s.patch 2011-09-18 15:04:07 UTC (rev 15642)
+++ csw/mgar/pkg/rsync/branches/3.1.0dev/files/0004-change-xattr-tool-detection-to-use-uname-s.patch 2011-09-18 17:35:19 UTC (rev 15643)
@@ -1,60 +0,0 @@
-From a8fde88e23a3d56e20027cd4cdb970edcb64168c Mon Sep 17 00:00:00 2001
-From: Ben Walton <bwalton at opencsw.org>
-Date: Thu, 15 Sep 2011 04:26:00 +0200
-Subject: [PATCH] change xattr tool detection to use uname -s
-
-Signed-off-by: Ben Walton <bwalton at opencsw.org>
----
- testsuite/chown.test | 4 ++--
- testsuite/devices.test | 4 ++--
- testsuite/xattrs.test | 4 ++--
- 3 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/testsuite/chown.test b/testsuite/chown.test
-index d238a8f..ee1f020 100644
---- a/testsuite/chown.test
-+++ b/testsuite/chown.test
-@@ -18,8 +18,8 @@ case $0 in
- $RSYNC --version | grep ", xattrs" >/dev/null || test_skipped "Rsync needs xattrs for fake device tests"
- RSYNC="$RSYNC --fake-super"
- TLS_ARGS="$TLS_ARGS --fake-super"
-- case "`xattr 2>&1 || true`" in
-- *--list:*)
-+ case "`uname -s`" in
-+ Darwin)
- chown() {
- own=$1
- shift
-diff --git a/testsuite/devices.test b/testsuite/devices.test
-index a85954b..fcd3eb0 100644
---- a/testsuite/devices.test
-+++ b/testsuite/devices.test
-@@ -19,8 +19,8 @@ case $0 in
- $RSYNC --version | grep ", xattrs" >/dev/null || test_skipped "Rsync needs xattrs for fake device tests"
- RSYNC="$RSYNC --fake-super"
- TLS_ARGS="$TLS_ARGS --fake-super"
-- case "`xattr 2>&1 || true`" in
-- *--list:*)
-+ case "`uname -s`" in
-+ Darwin)
- mknod() {
- fn="$1"
- case "$2" in
-diff --git a/testsuite/xattrs.test b/testsuite/xattrs.test
-index c1846df..fd2957a 100644
---- a/testsuite/xattrs.test
-+++ b/testsuite/xattrs.test
-@@ -10,8 +10,8 @@ lnkdir="$tmpdir/lnk"
-
- $RSYNC --version | grep ", xattrs" >/dev/null || test_skipped "Rsync is configured without xattr support"
-
--case "`xattr 2>&1 || true`" in
--*--list:*)
-+case "`uname -s`" in
-+Darwin)
- xset() {
- xnam="$1"
- xval="$2"
---
-1.7.6.1
-
Added: csw/mgar/pkg/rsync/branches/3.1.0dev/files/0005-Modify-syscall.c-do_readlink-for-systems-without-O_N.patch
===================================================================
--- csw/mgar/pkg/rsync/branches/3.1.0dev/files/0005-Modify-syscall.c-do_readlink-for-systems-without-O_N.patch (rev 0)
+++ csw/mgar/pkg/rsync/branches/3.1.0dev/files/0005-Modify-syscall.c-do_readlink-for-systems-without-O_N.patch 2011-09-18 17:35:19 UTC (rev 15643)
@@ -0,0 +1,58 @@
+From ad3aa8df6fae500f7b123de8fe80106e87510455 Mon Sep 17 00:00:00 2001
+From: Ben Walton <bwalton at opencsw.org>
+Date: Sat, 17 Sep 2011 12:42:39 -0400
+Subject: [PATCH 5/5] Modify syscall.c:do_readlink for systems without O_NOFOLLOW
+
+To facilitate systems without O_NOFOLLOW (eg: Solaris 9), add
+conditional handling of the open() call with two stat() checks
+bracketing it. This lets systems with extended attributes but no
+O_NOFOLLOW still support the xattr code paths.
+
+Signed-off-by: Ben Walton <bwalton at opencsw.org>
+---
+ syscall.c | 27 +++++++++++++++++++++++++++
+ 1 files changed, 27 insertions(+), 0 deletions(-)
+
+diff --git a/syscall.c b/syscall.c
+index c6c571a..974e4fa 100644
+--- a/syscall.c
++++ b/syscall.c
+@@ -87,8 +87,35 @@ ssize_t do_readlink(const char *path, char *buf, size_t bufsiz)
+ {
+ /* For --fake-super, we read the link from the file. */
+ if (am_root < 0) {
++#ifndef O_NOFOLLOW
++ /* Before and After stat to detect changes during race */
++ struct stat b_st, a_st;
++ if (lstat(path, &b_st) != 0)
++ return -1;
++
++ if (!S_ISREG(b_st.st_mode))
++ return -1;
++
++ int fd = open(path, O_RDONLY);
++#else
+ int fd = open(path, O_RDONLY|O_NOFOLLOW);
++#endif
++
+ if (fd >= 0) {
++#ifndef O_NOFOLLOW
++ /* Handle the race condition...File may have been
++ changed between lstat() and open(). Double check
++ that device and inode are the same as the
++ pre-flight test. */
++ if (fstat(fd, &a_st) != 0)
++ return -1;
++
++ /* If the file changed, bail out! */
++ if (a_st.st_dev != b_st.st_dev ||
++ a_st.st_ino != b_st.st_ino)
++ return -1;
++#endif
++
+ int len = read(fd, buf, bufsiz);
+ close(fd);
+ return len;
+--
+1.7.4.1
+
Deleted: csw/mgar/pkg/rsync/branches/3.1.0dev/files/0005-Testsuite-Honour-PATH-when-finding-fakeroot.patch
===================================================================
--- csw/mgar/pkg/rsync/branches/3.1.0dev/files/0005-Testsuite-Honour-PATH-when-finding-fakeroot.patch 2011-09-18 15:04:07 UTC (rev 15642)
+++ csw/mgar/pkg/rsync/branches/3.1.0dev/files/0005-Testsuite-Honour-PATH-when-finding-fakeroot.patch 2011-09-18 17:35:19 UTC (rev 15643)
@@ -1,60 +0,0 @@
-From 5c49cdab471a79c7bf72402aa4f14ba3b04a55e3 Mon Sep 17 00:00:00 2001
-From: Ben Walton <bwalton at opencsw.org>
-Date: Sat, 17 Sep 2011 15:14:23 +0200
-Subject: [PATCH] Testsuite: Honour PATH when finding fakeroot
-
-Some systems may have fakeroot, but not at /usr/bin. Use PATH to see
-if the tool is available. This will allow using fakeroot on a
-Solaris/OpenCSW stack where fakeroot is at /opt/csw/bin/fakeroot.
-
-Signed-off-by: Ben Walton <bwalton at opencsw.org>
----
- testsuite/chown.test | 6 ++++--
- testsuite/devices.test | 6 ++++--
- 2 files changed, 8 insertions(+), 4 deletions(-)
-
-diff --git a/testsuite/chown.test b/testsuite/chown.test
-index ee1f020..5631747 100644
---- a/testsuite/chown.test
-+++ b/testsuite/chown.test
-@@ -37,12 +37,14 @@ case $0 in
- ;;
- *)
- RSYNC="$RSYNC --super"
-+ # make fakeroot detection take path into account
-+ fr="`which fakeroot 2>/dev/null`"
- case `get_testuid` in
- '') ;; # If "id" failed, try to continue...
- 0) ;;
-- *) if [ -f /usr/bin/fakeroot ]; then
-+ *) if [ -n "${fr}" ]; then
- echo "Let's try re-running the script under fakeroot..."
-- exec /usr/bin/fakeroot /bin/sh "$0"
-+ exec "${fr}" /bin/sh "$0"
- fi
- ;;
- esac
-diff --git a/testsuite/devices.test b/testsuite/devices.test
-index fcd3eb0..30bc1c4 100644
---- a/testsuite/devices.test
-+++ b/testsuite/devices.test
-@@ -51,12 +51,14 @@ case $0 in
- esac
- ;;
- *)
-+ # make fakeroot detection take path into account
-+ fr="`which fakeroot 2>/dev/null`"
- case `get_testuid` in
- '') ;; # If "id" failed, try to continue...
- 0) ;;
-- *) if [ -f /usr/bin/fakeroot ]; then
-+ *) if [ -n "${fr}" ]; then
- echo "Let's try re-running the script under fakeroot..."
-- exec /usr/bin/fakeroot /bin/sh $RUNSHFLAGS "$0"
-+ exec "${fr}" /bin/sh $RUNSHFLAGS "$0"
- fi
- test_skipped "Rsync needs root/fakeroot for device tests"
- ;;
---
-1.7.6.1
-
Deleted: csw/mgar/pkg/rsync/branches/3.1.0dev/files/0006-Testsuite-Honour-PATH-when-finding-sh.patch
===================================================================
--- csw/mgar/pkg/rsync/branches/3.1.0dev/files/0006-Testsuite-Honour-PATH-when-finding-sh.patch 2011-09-18 15:04:07 UTC (rev 15642)
+++ csw/mgar/pkg/rsync/branches/3.1.0dev/files/0006-Testsuite-Honour-PATH-when-finding-sh.patch 2011-09-18 17:35:19 UTC (rev 15643)
@@ -1,58 +0,0 @@
-From 4c649bc6397314ec78cae47e206d477b16b0bf00 Mon Sep 17 00:00:00 2001
-From: Ben Walton <bwalton at opencsw.org>
-Date: Sat, 17 Sep 2011 15:17:39 +0200
-Subject: [PATCH] Testsuite: Honour PATH when finding sh
-
-This patch removes the hard coding of /bin/sh so that on Solaris where
-the test suite is run with /usr/xpg4/bin leading the PATH, the POSIX
-sh will be used instead of the default system shell.
-
-Signed-off-by: Ben Walton <bwalton at opencsw.org>
----
- testsuite/chown.test | 4 +++-
- testsuite/devices.test | 4 +++-
- 2 files changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/testsuite/chown.test b/testsuite/chown.test
-index 5631747..7038550 100644
---- a/testsuite/chown.test
-+++ b/testsuite/chown.test
-@@ -39,12 +39,14 @@ case $0 in
- RSYNC="$RSYNC --super"
- # make fakeroot detection take path into account
- fr="`which fakeroot 2>/dev/null`"
-+ # for solaris so /usr/xpg4/bin is honoured in the path
-+ shell=`which sh`
- case `get_testuid` in
- '') ;; # If "id" failed, try to continue...
- 0) ;;
- *) if [ -n "${fr}" ]; then
- echo "Let's try re-running the script under fakeroot..."
-- exec "${fr}" /bin/sh "$0"
-+ exec "${fr}" "${shell}" "$0"
- fi
- ;;
- esac
-diff --git a/testsuite/devices.test b/testsuite/devices.test
-index 30bc1c4..14ed317 100644
---- a/testsuite/devices.test
-+++ b/testsuite/devices.test
-@@ -53,12 +53,14 @@ case $0 in
- *)
- # make fakeroot detection take path into account
- fr="`which fakeroot 2>/dev/null`"
-+ # for solaris so /usr/xpg4/bin is honoured in the path
-+ shell=`which sh`
- case `get_testuid` in
- '') ;; # If "id" failed, try to continue...
- 0) ;;
- *) if [ -n "${fr}" ]; then
- echo "Let's try re-running the script under fakeroot..."
-- exec "${fr}" /bin/sh $RUNSHFLAGS "$0"
-+ exec "${fr}" "${shell}" $RUNSHFLAGS "$0"
- fi
- test_skipped "Rsync needs root/fakeroot for device tests"
- ;;
---
-1.7.6.1
-
Deleted: csw/mgar/pkg/rsync/branches/3.1.0dev/files/0007-Testsuite-Extend-xattr-manipulation-for-Solaris.patch
===================================================================
--- csw/mgar/pkg/rsync/branches/3.1.0dev/files/0007-Testsuite-Extend-xattr-manipulation-for-Solaris.patch 2011-09-18 15:04:07 UTC (rev 15642)
+++ csw/mgar/pkg/rsync/branches/3.1.0dev/files/0007-Testsuite-Extend-xattr-manipulation-for-Solaris.patch 2011-09-18 17:35:19 UTC (rev 15643)
@@ -1,100 +0,0 @@
-From e039547532622de2de3d742c3ded4189019e94e9 Mon Sep 17 00:00:00 2001
-From: Ben Walton <bwalton at opencsw.org>
-Date: Sat, 17 Sep 2011 15:23:11 +0200
-Subject: [PATCH] Testsuite: Extend xattr manipulation for Solaris
-
-Add chown(), mknod(), xls() and xset() shell functions for Solaris so
-that we can capably test the xattr support in the rsync binary. The
-functions all use runat to manipulate the extended attribute space.
-
-Signed-off-by: Ben Walton <bwalton at opencsw.org>
----
- testsuite/chown.test | 11 +++++++++++
- testsuite/devices.test | 16 ++++++++++++++++
- testsuite/xattrs.test | 21 +++++++++++++++++++++
- 3 files changed, 48 insertions(+), 0 deletions(-)
-
-diff --git a/testsuite/chown.test b/testsuite/chown.test
-index 7038550..2fa599d 100644
---- a/testsuite/chown.test
-+++ b/testsuite/chown.test
-@@ -26,6 +26,17 @@ case $0 in
- xattr -s 'rsync.%stat' "100644 0,0 $own" "${@}"
- }
- ;;
-+ SunOS)
-+ chown() {
-+ own=$1
-+ shift
-+ for f in "${@}"; do
-+ runat "${f}" /usr/xpg4/bin/sh <<EOF
-+echo "100644 0,0 $own" > rsync.%stat
-+EOF
-+ done
-+ }
-+ ;;
- *)
- chown() {
- own=$1
-diff --git a/testsuite/devices.test b/testsuite/devices.test
-index 14ed317..e6b74cd 100644
---- a/testsuite/devices.test
-+++ b/testsuite/devices.test
-@@ -34,6 +34,22 @@ case $0 in
- xattr -s 'rsync.%stat' "$mode $maj,$min 0:0" "$fn"
- }
- ;;
-+ SunOS)
-+ mknod() {
-+ fn="$1"
-+ case "$2" in
-+ p) mode=10644 ;;
-+ c) mode=20644 ;;
-+ b) mode=60644 ;;
-+ esac
-+ maj="${3:-0}"
-+ min="${4:-0}"
-+ touch "$fn"
-+ runat "${fn}" /usr/xpg4/bin/sh <<EOF
-+echo "$mode $maj,$min 0:0" > rsync.%stat
-+EOF
-+ }
-+ ;;
- *)
- mknod() {
- fn="$1"
-diff --git a/testsuite/xattrs.test b/testsuite/xattrs.test
-index fd2957a..42492a7 100644
---- a/testsuite/xattrs.test
-+++ b/testsuite/xattrs.test
-@@ -24,6 +24,27 @@ Darwin)
- RSYNC_PREFIX='rsync'
- RUSR='rsync.nonuser'
- ;;
-+SunOS)
-+ xset() {
-+ xnam="$1"
-+ xval="$2"
-+ shift 2
-+ for f in "${@}"; do
-+ runat "${f}" /usr/xpg4/bin/sh <<EOF
-+echo "${xval}" > "${xnam}"
-+EOF
-+ done
-+ }
-+ xls() {
-+ for f in "${@}"; do
-+ runat "${f}" /usr/xpg4/bin/sh <<EOF
-+for x in *; do echo "\$x=\`cat \$x\`"; done
-+EOF
-+ done
-+ }
-+ RSYNC_PREFIX='rsync'
-+ RUSR='rsync.nonuser'
-+ ;;
- *)
- xset() {
- xnam="$1"
---
-1.7.6.1
-
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the devel
mailing list