]> git.ipfire.org Git - thirdparty/rsync.git/commitdiff
Better fakeroot support helps Solaris.
authorWayne Davison <wayned@samba.org>
Tue, 20 Sep 2011 20:10:02 +0000 (13:10 -0700)
committerWayne Davison <wayned@samba.org>
Tue, 20 Sep 2011 20:17:42 +0000 (13:17 -0700)
configure.ac
shconfig.in
testsuite/chown.test
testsuite/devices.test

index 8962b1500b1a0c6cc1f7cce8d047a96937cd7ca4..58aeea0fb087764b73e14185652b90b1c117d62f 100644 (file)
@@ -134,6 +134,10 @@ else
     MAKE_MAN=man-copy
 fi
 
+# Some programs on solaris are only found in /usr/xpg4/bin (or work better than others versions).
+AC_PATH_PROG(SHELL_PATH, sh, /bin/sh, [/usr/xpg4/bin$PATH_SEPARATOR$PATH])
+AC_PATH_PROG(FAKEROOT_PATH, fakeroot, /usr/bin/fakeroot, [/usr/xpg4/bin$PATH_SEPARATOR$PATH])
+
 AC_ARG_WITH(nobody-group,
     AC_HELP_STRING([--with-nobody-group=GROUP],
                   [set the default unprivileged group (default nobody or nogroup)]),
@@ -942,7 +946,7 @@ else
        AC_DEFINE(HAVE_UNIXWARE_ACLS, 1, [true if you have UnixWare ACLs])
        AC_DEFINE(SUPPORT_ACLS, 1, [Define to 1 to add support for ACLs])
        ;;
-    *solaris*|*cygwin*)
+    solaris*|*cygwin*)
        AC_MSG_RESULT(Using solaris ACLs)
        AC_DEFINE(HAVE_SOLARIS_ACLS, 1, [true if you have solaris ACLs])
        AC_DEFINE(SUPPORT_ACLS, 1)
index 9e5dd5575c87c116477b169023ba817efa1c0710..5d1fdc568d8aa65e6952c3e46027ec341a732231 100755 (executable)
@@ -8,5 +8,8 @@
 ECHO_T="@ECHO_T@"
 ECHO_N="@ECHO_N@"
 ECHO_C="@ECHO_C@"
+HOST_OS="@host_os@"
+SHELL_PATH="@SHELL_PATH@"
+FAKEROOT_PATH="@FAKEROOT_PATH@"
 
-export ECHO_T ECHO_N ECHO_C
+export ECHO_T ECHO_N ECHO_C HOST_OS SHELL_PATH FAKEROOT_PATH
index d238a8fe979e2c50e122a67c4ed17f2491f8889f..6f73a7094a17308459ae62cee996c882053d7836 100644 (file)
@@ -40,9 +40,9 @@ case $0 in
     case `get_testuid` in
     '') ;; # If "id" failed, try to continue...
     0)  ;;
-    *)  if [ -f /usr/bin/fakeroot ]; then
+    *)  if [ -e "$FAKEROOT_PATH" ]; then
            echo "Let's try re-running the script under fakeroot..."
-           exec /usr/bin/fakeroot /bin/sh "$0"
+           exec "$FAKEROOT_PATH" "$SHELL_PATH" "$0"
        fi
        ;;
     esac
index a85954b1747d0919daf5ccab7414be938048397e..1f6f068b3e4f211b93de578418adcd6e606e56b7 100644 (file)
@@ -54,9 +54,9 @@ case $0 in
     case `get_testuid` in
     '') ;; # If "id" failed, try to continue...
     0)  ;;
-    *)  if [ -f /usr/bin/fakeroot ]; then
+    *)  if [ -e "$FAKEROOT_PATH" ]; then
            echo "Let's try re-running the script under fakeroot..."
-           exec /usr/bin/fakeroot /bin/sh $RUNSHFLAGS "$0"
+           exec "$FAKEROOT_PATH" "$SHELL_PATH" $RUNSHFLAGS "$0"
        fi
        test_skipped "Rsync needs root/fakeroot for device tests"
        ;;