X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/4177f09b83e3ac2e2556d1db04568ab2d600852c..fdd10da6f7995296f6bb5ee3dd7231d6dbc20b5e:/configure.in diff --git a/configure.in b/configure.in index 5f93bc25..63b66d01 100644 --- a/configure.in +++ b/configure.in @@ -5,7 +5,7 @@ AC_CONFIG_SRCDIR([byteorder.h]) AC_CONFIG_HEADER(config.h) AC_PREREQ(2.59) -RSYNC_VERSION=2.6.8 +RSYNC_VERSION=2.6.9pre2 AC_SUBST(RSYNC_VERSION) AC_MSG_NOTICE([Configuring rsync $RSYNC_VERSION]) @@ -123,15 +123,23 @@ else fi AC_DEFINE_UNQUOTED(RSYNC_RSH, "$RSYNC_RSH", [default -e command]) -AC_MSG_CHECKING([the group for user "nobody"]) -if grep '^nobody:' /etc/group >/dev/null 2>&1; then - NOBODY_GROUP=nobody -elif grep '^nogroup:' /etc/group >/dev/null 2>&1; then - NOBODY_GROUP=nogroup -else - NOBODY_GROUP=nobody # test for others? +AC_ARG_WITH(nobody-group, + AC_HELP_STRING([--with-nobody-group=GROUP], + [set the default unprivileged group (default nobody or nogroup)]), + [ NOBODY_GROUP="$with_nobody_group" ]) + +if test x"$with_nobody_group" = x; then + AC_MSG_CHECKING([the group for user "nobody"]) + if grep '^nobody:' /etc/group >/dev/null 2>&1; then + NOBODY_GROUP=nobody + elif grep '^nogroup:' /etc/group >/dev/null 2>&1; then + NOBODY_GROUP=nogroup + else + NOBODY_GROUP=nobody # test for others? + fi + AC_MSG_RESULT($NOBODY_GROUP) fi -AC_MSG_RESULT($NOBODY_GROUP) + AC_DEFINE_UNQUOTED(NOBODY_USER, "nobody", [unprivileged user--e.g. nobody]) AC_DEFINE_UNQUOTED(NOBODY_GROUP, "$NOBODY_GROUP", [unprivileged group for unprivileged user]) @@ -302,6 +310,31 @@ AC_CHECK_HEADERS(sys/fcntl.h sys/select.h fcntl.h sys/time.h sys/unistd.h \ netdb.h malloc.h float.h limits.h iconv.h libcharset.h langinfo.h) AC_HEADER_MAJOR +AC_CACHE_CHECK([if makedev takes 3 args],rsync_cv_MAKEDEV_TAKES_3_ARGS,[ +AC_TRY_RUN([ +#include +#ifdef MAJOR_IN_MKDEV +#include +# if !defined makedev && (defined mkdev || defined _WIN32 || defined __WIN32__) +# define makedev mkdev +# endif +#elif defined MAJOR_IN_SYSMACROS +#include +#endif + +int main(void) +{ + dev_t dev = makedev(0, 5, 7); + if (major(dev) != 5 || minor(dev) != 7) + exit(1); + return 0; +} +], +rsync_cv_MAKEDEV_TAKES_3_ARGS=yes,rsync_cv_MAKEDEV_TAKES_3_ARGS=no,rsync_cv_MAKEDEV_TAKES_3_ARGS=no)]) +if test x"$rsync_cv_MAKEDEV_TAKES_3_ARGS" = x"yes"; then + AC_DEFINE(MAKEDEV_TAKES_3_ARGS, 1, [Define to 1 if makedev() takes 3 args]) +fi + AC_CHECK_SIZEOF(int) AC_CHECK_SIZEOF(long) AC_CHECK_SIZEOF(long long)