From: Wayne Davison Date: Tue, 20 Sep 2011 20:10:02 +0000 (-0700) Subject: Better fakeroot support helps Solaris. X-Git-Tag: v3.1.0pre1~73 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=439d5d89295a27ba57a11b17633601d8c5d7f8e6;p=thirdparty%2Frsync.git Better fakeroot support helps Solaris. --- diff --git a/configure.ac b/configure.ac index 8962b150..58aeea0f 100644 --- a/configure.ac +++ b/configure.ac @@ -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) diff --git a/shconfig.in b/shconfig.in index 9e5dd557..5d1fdc56 100755 --- a/shconfig.in +++ b/shconfig.in @@ -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 diff --git a/testsuite/chown.test b/testsuite/chown.test index d238a8fe..6f73a709 100644 --- a/testsuite/chown.test +++ b/testsuite/chown.test @@ -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 diff --git a/testsuite/devices.test b/testsuite/devices.test index a85954b1..1f6f068b 100644 --- a/testsuite/devices.test +++ b/testsuite/devices.test @@ -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" ;;