diff options
14 files changed, 1845 insertions, 240 deletions
diff --git a/patches/samba-3.0.33/samba-3.0.33-autogen.diff b/patches/samba-3.0.33/samba-3.0.33-autogen.diff deleted file mode 100644 index b341f73ac..000000000 --- a/patches/samba-3.0.33/samba-3.0.33-autogen.diff +++ /dev/null @@ -1,45 +0,0 @@ -diff -ur samba-3.0.33-orig/source/configure samba-3.0.33/source/configure ---- samba-3.0.33-orig/source/configure 2008-11-20 15:13:46.000000000 +0100 -+++ samba-3.0.33/source/configure 2009-01-02 15:34:24.000000000 +0100 -@@ -34672,18 +34672,9 @@ - *linux*) - # glibc <= 2.3.2 has a broken getgrouplist - if test "$cross_compiling" = yes; then -- { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling --See \`config.log' for more details." >&5 --echo "$as_me: error: cannot run test program while cross compiling --See \`config.log' for more details." >&2;} -- { (exit 1); exit 1; }; } -+ linux_getgrouplist_ok=maybe - else - cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ - - #include <unistd.h> - #include <sys/utsname.h> -@@ -34735,6 +34726,7 @@ - fi - - -+ - if test x"$linux_getgrouplist_ok" = x"yes"; then - - cat >>confdefs.h <<\_ACEOF -@@ -34742,6 +34734,13 @@ - _ACEOF - - fi -+ if test x"$linux_getgrouplist_ok" = x"maybe"; then -+ -+cat >>confdefs.h <<\_ACEOF -+#define HAVE_GETGROUPLIST 1 -+_ACEOF -+ -+ fi - ;; - *) - diff --git a/patches/samba-3.0.33/samba-3.0.33-linux_set_lease_sighandler.diff b/patches/samba-3.0.33/samba-3.0.33-linux_set_lease_sighandler.diff deleted file mode 100644 index e85023689..000000000 --- a/patches/samba-3.0.33/samba-3.0.33-linux_set_lease_sighandler.diff +++ /dev/null @@ -1,25 +0,0 @@ - -http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=23962 - ---- - source/modules/vfs_default.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -Index: samba-3.0.33/source/modules/vfs_default.c -=================================================================== ---- samba-3.0.33.orig/source/modules/vfs_default.c -+++ samba-3.0.33/source/modules/vfs_default.c -@@ -813,10 +813,11 @@ static int vfswrap_linux_setlease(vfs_ha - - START_PROFILE(syscall_linux_setlease); - --#ifdef LINUX -+#ifdef HAVE_KERNEL_OPLOCKS_LINUX - /* first set the signal handler */ -- if(linux_set_lease_sighandler(fd) == -1) -+ if(linux_set_lease_sighandler(fd) == -1) { - return -1; -+ } - - result = linux_setlease(fd, leasetype); - #else diff --git a/patches/samba-3.0.33/series b/patches/samba-3.0.33/series deleted file mode 100644 index aef004e50..000000000 --- a/patches/samba-3.0.33/series +++ /dev/null @@ -1,3 +0,0 @@ -samba-3.0.23-configure.diff -p0 -samba-3.0.33-linux_set_lease_sighandler.diff -samba-3.0.33-autogen.diff diff --git a/patches/samba-3.0.35/0001-Linux-oplock-support-is-conditional-on-HAVE_KERNEL_O.patch b/patches/samba-3.0.35/0001-Linux-oplock-support-is-conditional-on-HAVE_KERNEL_O.patch new file mode 100644 index 000000000..ee4c6f2a8 --- /dev/null +++ b/patches/samba-3.0.35/0001-Linux-oplock-support-is-conditional-on-HAVE_KERNEL_O.patch @@ -0,0 +1,31 @@ +From d8d84cd7082a95e673a7efc285879dd412b78b4c Mon Sep 17 00:00:00 2001 +From: Robert Schwebel <r.schwebel@pengutronix.de> +Date: Tue, 7 Jul 2009 15:56:56 +0200 +Subject: [PATCH 1/8] Linux oplock support is conditional on HAVE_KERNEL_OPLOCKS_LINUX, not plain old LINUX. + +http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=23962 +--- + source/modules/vfs_default.c | 5 +++-- + 1 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/source/modules/vfs_default.c b/source/modules/vfs_default.c +index 4cc6e88..1f8fb63 100644 +--- a/source/modules/vfs_default.c ++++ b/source/modules/vfs_default.c +@@ -813,10 +813,11 @@ static int vfswrap_linux_setlease(vfs_handle_struct *handle, files_struct *fsp, + + START_PROFILE(syscall_linux_setlease); + +-#ifdef LINUX ++#ifdef HAVE_KERNEL_OPLOCKS_LINUX + /* first set the signal handler */ +- if(linux_set_lease_sighandler(fd) == -1) ++ if(linux_set_lease_sighandler(fd) == -1) { + return -1; ++ } + + result = linux_setlease(fd, leasetype); + #else +-- +1.6.3.3 + diff --git a/patches/samba-3.0.33/samba-3.0.23-configure.diff b/patches/samba-3.0.35/0002-configure.in-make-getgrouplist_ok-test-cross-compile.patch index 4bf7bf77e..0043cee20 100644 --- a/patches/samba-3.0.33/samba-3.0.23-configure.diff +++ b/patches/samba-3.0.35/0002-configure.in-make-getgrouplist_ok-test-cross-compile.patch @@ -1,12 +1,18 @@ +From 9130b57a196e2cf316230409b7e1d4a4eab56fed Mon Sep 17 00:00:00 2001 +From: Robert Schwebel <r.schwebel@pengutronix.de> +Date: Tue, 7 Jul 2009 15:56:55 +0200 +Subject: [PATCH 2/8] [configure.in] make getgrouplist_ok test cross compile save + +Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> --- source/configure.in | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) + 1 files changed, 6 insertions(+), 2 deletions(-) -Index: source/configure.in -=================================================================== ---- source/configure.in.orig -+++ source/configure.in -@@ -1386,7 +1386,7 @@ AC_DEFINE(HAVE_PRCTL, 1, [Whether prctl +diff --git a/source/configure.in b/source/configure.in +index 1e4ea0f..192a9d9 100644 +--- a/source/configure.in ++++ b/source/configure.in +@@ -1389,7 +1389,7 @@ AC_DEFINE(HAVE_PRCTL, 1, [Whether prctl is available]),[]) case "$host_os" in *linux*) # glibc <= 2.3.2 has a broken getgrouplist @@ -15,7 +21,7 @@ Index: source/configure.in #include <unistd.h> #include <sys/utsname.h> main() { -@@ -1402,10 +1402,14 @@ main() { +@@ -1405,10 +1405,14 @@ main() { #endif exit(0); } @@ -31,3 +37,6 @@ Index: source/configure.in ;; *) AC_CHECK_FUNCS(getgrouplist) +-- +1.6.3.3 + diff --git a/patches/samba-3.0.35/0003-configure.in-make-LINUX_LFS_SUPPORT-cacheable.patch b/patches/samba-3.0.35/0003-configure.in-make-LINUX_LFS_SUPPORT-cacheable.patch new file mode 100644 index 000000000..fb8f7e00e --- /dev/null +++ b/patches/samba-3.0.35/0003-configure.in-make-LINUX_LFS_SUPPORT-cacheable.patch @@ -0,0 +1,45 @@ +From 793f69e2c8a23e202e0155e5341a3c756e573c6e Mon Sep 17 00:00:00 2001 +From: Marc Kleine-Budde <mkl@pengutronix.de> +Date: Tue, 7 Jul 2009 17:09:09 +0200 +Subject: [PATCH 3/8] [configure.in] make LINUX_LFS_SUPPORT cacheable + +Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> +--- + source/configure.in | 9 ++++----- + 1 files changed, 4 insertions(+), 5 deletions(-) + +diff --git a/source/configure.in b/source/configure.in +index 192a9d9..701622d 100644 +--- a/source/configure.in ++++ b/source/configure.in +@@ -768,7 +768,7 @@ exit(1); + # Tests for linux LFS support. Need kernel 2.4 and glibc2.2 or greater support. + # + *linux*) +- AC_MSG_CHECKING([for LFS support]) ++ AC_CACHE_CHECK([for LFS support], [samba_cv_LINUX_LFS_SUPPORT],[ + old_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE $CPPFLAGS" + AC_TRY_RUN([ +@@ -807,15 +807,14 @@ main() { + exit(1); + #endif + } +-], [LINUX_LFS_SUPPORT=yes], [LINUX_LFS_SUPPORT=no], [LINUX_LFS_SUPPORT=cross]) +- CPPFLAGS="$old_CPPFLAGS" +- if test x$LINUX_LFS_SUPPORT = xyes ; then ++], [samba_cv_LINUX_LFS_SUPPORT=yes], [samba_cv_LINUX_LFS_SUPPORT=no], [samba_cv_LINUX_LFS_SUPPORT=cross]) ++ CPPFLAGS="$old_CPPFLAGS"]) ++ if test x$samba_cv_LINUX_LFS_SUPPORT = xyes ; then + CPPFLAGS="-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE $CPPFLAGS" + AC_DEFINE(_LARGEFILE64_SOURCE, 1, [Whether to enable large file support]) + AC_DEFINE(_FILE_OFFSET_BITS, 64, [File offset bits]) + AC_DEFINE(_GNU_SOURCE, 1, [Whether to use GNU libc extensions]) + fi +- AC_MSG_RESULT([$LINUX_LFS_SUPPORT]) + ;; + + # +-- +1.6.3.3 + diff --git a/patches/samba-3.0.35/0004-configure.in-fix-test-for-negative-enum-values.patch b/patches/samba-3.0.35/0004-configure.in-fix-test-for-negative-enum-values.patch new file mode 100644 index 000000000..aa599aaff --- /dev/null +++ b/patches/samba-3.0.35/0004-configure.in-fix-test-for-negative-enum-values.patch @@ -0,0 +1,62 @@ +From 6d2c30e32e551ba84bb9967d6fd48e21c7ad714c Mon Sep 17 00:00:00 2001 +From: Marc Kleine-Budde <mkl@pengutronix.de> +Date: Tue, 7 Jul 2009 18:21:00 +0200 +Subject: [PATCH 4/8] [configure.in] fix test for negative enum values + +Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> +--- + source/configure.in | 28 ++++++++-------------------- + 1 files changed, 8 insertions(+), 20 deletions(-) + +diff --git a/source/configure.in b/source/configure.in +index 701622d..85b0bd7 100644 +--- a/source/configure.in ++++ b/source/configure.in +@@ -493,6 +493,8 @@ else + fi + AC_SUBST(BROKEN_CC) + ++AC_TRY_COMPILE([],[(void)sizeof(char[-1])],AC_MSG_ERROR([configure's compilation assert doesn't work with $CC])) ++ + dnl Check if the C compiler understands -Werror + AC_CACHE_CHECK([that the C compiler understands -Werror],samba_cv_HAVE_Werror, [ + AC_TRY_RUN_STRICT([ +@@ -530,29 +532,15 @@ fi + # and don't truncate the values to INT_MAX + # a runtime test is needed here + AC_SUBST(PIDL_ARGS) +-AC_CACHE_CHECK([that the C compiler understands negative enum values],SMB_BUILD_CC_NEGATIVE_ENUM_VALUES, [ +- AC_TRY_RUN( ++AC_CACHE_CHECK([that the C compiler understands negative enum values], [samba_cv_BUILD_CC_NEGATIVE_ENUM_VALUES], [ ++ AC_TRY_COMPILE([], + [ +- #include <stdio.h> + enum negative_values { NEGATIVE_VALUE = 0xFFFFFFFF }; +- int main(void) { +- enum negative_values v1 = NEGATIVE_VALUE; +- unsigned v2 = NEGATIVE_VALUE; +- +- if (v1 != 0xFFFFFFFF) { +- printf("%u != 0xFFFFFFFF\n", v1); +- return 1; +- } +- if (v2 != 0xFFFFFFFF) { +- printf("%u != 0xFFFFFFFF\n", v2); +- return 1; +- } +- +- return 0; +- } ++ (void)sizeof(char[1-2*( (unsigned)NEGATIVE_VALUE != 0xFFFFFFFF)]); ++ (void)sizeof(char[1-2*((enum negative_values)NEGATIVE_VALUE != 0xFFFFFFFF)]); + ], +- SMB_BUILD_CC_NEGATIVE_ENUM_VALUES=yes,SMB_BUILD_CC_NEGATIVE_ENUM_VALUES=no)]) +-if test x"$SMB_BUILD_CC_NEGATIVE_ENUM_VALUES" != x"yes"; then ++ samba_cv_BUILD_CC_NEGATIVE_ENUM_VALUES=yes,samba_cv_BUILD_CC_NEGATIVE_ENUM_VALUES=no)]) ++if test x"$samba_cv_BUILD_CC_NEGATIVE_ENUM_VALUES" != x"yes"; then + AC_MSG_WARN([using --unit-enums for pidl]) + PIDL_ARGS="$PIDL_ARGS --uint-enums" + fi +-- +1.6.3.3 + diff --git a/patches/samba-3.0.35/0005-configure.in-fix-time_t-detection.patch b/patches/samba-3.0.35/0005-configure.in-fix-time_t-detection.patch new file mode 100644 index 000000000..6e01f6780 --- /dev/null +++ b/patches/samba-3.0.35/0005-configure.in-fix-time_t-detection.patch @@ -0,0 +1,34 @@ +From 6f48413916d3575a1f12bc14e0990f40606e894a Mon Sep 17 00:00:00 2001 +From: Marc Kleine-Budde <mkl@pengutronix.de> +Date: Tue, 7 Jul 2009 18:57:16 +0200 +Subject: [PATCH 5/8] [configure.in] fix time_t detection + +Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> +--- + source/configure.in | 9 ++++++--- + 1 files changed, 6 insertions(+), 3 deletions(-) + +diff --git a/source/configure.in b/source/configure.in +index 85b0bd7..164dbcb 100644 +--- a/source/configure.in ++++ b/source/configure.in +@@ -1951,10 +1951,13 @@ if test x"$samba_cv_compiler_supports_ll" = x"yes"; then + fi + + ++AC_CHECK_SIZEOF(time_t) + AC_CACHE_CHECK([for 64 bit time_t],samba_cv_SIZEOF_TIME_T,[ +-AC_TRY_RUN([#include <time.h> +-main() { exit((sizeof(time_t) == 8) ? 0 : 1); }], +-samba_cv_SIZEOF_TIME_T=yes,samba_cv_SIZEOF_TIME_T=no,samba_cv_SIZEOF_TIME_T=cross)]) ++if test $ac_cv_sizeof_time_t -eq 8; then ++ samba_cv_SIZEOF_TIME_T=yes ++else ++ samba_cv_SIZEOF_TIME_T=no ++fi]) + if test x"$samba_cv_SIZEOF_TIME_T" = x"yes"; then + AC_DEFINE(SIZEOF_TIME_T,8,[The size of the 'time_t' type]) + fi +-- +1.6.3.3 + diff --git a/patches/samba-3.0.35/0006-configure.in-fix-off_t-test.patch b/patches/samba-3.0.35/0006-configure.in-fix-off_t-test.patch new file mode 100644 index 000000000..9777d64c8 --- /dev/null +++ b/patches/samba-3.0.35/0006-configure.in-fix-off_t-test.patch @@ -0,0 +1,37 @@ +From 6daf3aad32f86549e2c5033e67d8541a20b89b2f Mon Sep 17 00:00:00 2001 +From: Marc Kleine-Budde <mkl@pengutronix.de> +Date: Tue, 7 Jul 2009 19:17:40 +0200 +Subject: [PATCH 6/8] [configure.in] fix off_t test + +Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> +--- + source/configure.in | 12 ++++++++---- + 1 files changed, 8 insertions(+), 4 deletions(-) + +diff --git a/source/configure.in b/source/configure.in +index 164dbcb..6094b87 100644 +--- a/source/configure.in ++++ b/source/configure.in +@@ -1962,11 +1962,15 @@ if test x"$samba_cv_SIZEOF_TIME_T" = x"yes"; then + AC_DEFINE(SIZEOF_TIME_T,8,[The size of the 'time_t' type]) + fi + ++ ++AC_CHECK_SIZEOF(off_t) + AC_CACHE_CHECK([for 64 bit off_t],samba_cv_SIZEOF_OFF_T,[ +-AC_TRY_RUN([#include <stdio.h> +-#include <sys/stat.h> +-main() { exit((sizeof(off_t) == 8) ? 0 : 1); }], +-samba_cv_SIZEOF_OFF_T=yes,samba_cv_SIZEOF_OFF_T=no,samba_cv_SIZEOF_OFF_T=cross)]) ++if test $ac_cv_sizeof_off_t -eq 8; then ++ samba_cv_SIZEOF_OFF_T=yes ++else ++ samba_cv_SIZEOF_OFF_T=no ++fi ++]) + if test x"$samba_cv_SIZEOF_OFF_T" = x"yes"; then + AC_DEFINE(SIZEOF_OFF_T,8,[The size of the 'off_t' type]) + fi +-- +1.6.3.3 + diff --git a/patches/samba-3.0.35/0007-configure.in-fix-dev_t-test.patch b/patches/samba-3.0.35/0007-configure.in-fix-dev_t-test.patch new file mode 100644 index 000000000..875a89beb --- /dev/null +++ b/patches/samba-3.0.35/0007-configure.in-fix-dev_t-test.patch @@ -0,0 +1,39 @@ +From 803cbd7cf45052396ef929167bfa15ad6e8fc7bc Mon Sep 17 00:00:00 2001 +From: Marc Kleine-Budde <mkl@pengutronix.de> +Date: Tue, 7 Jul 2009 19:17:52 +0200 +Subject: [PATCH 7/8] [configure.in] fix dev_t test + +Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> +--- + source/configure.in | 14 ++++++-------- + 1 files changed, 6 insertions(+), 8 deletions(-) + +diff --git a/source/configure.in b/source/configure.in +index 6094b87..8b01ed4 100644 +--- a/source/configure.in ++++ b/source/configure.in +@@ -2014,15 +2014,13 @@ if test x"$samba_cv_HAVE_INO64_T" = x"yes"; then + AC_DEFINE(HAVE_INO64_T,1,[Whether the 'ino64_t' type is available]) + fi + ++AC_CHECK_SIZEOF(dev_t) + AC_CACHE_CHECK([for 64 bit dev_t],samba_cv_SIZEOF_DEV_T,[ +-AC_TRY_RUN([ +-#if defined(HAVE_UNISTD_H) +-#include <unistd.h> +-#endif +-#include <stdio.h> +-#include <sys/stat.h> +-main() { exit((sizeof(dev_t) == 8) ? 0 : 1); }], +-samba_cv_SIZEOF_DEV_T=yes,samba_cv_SIZEOF_DEV_T=no,samba_cv_SIZEOF_DEV_T=cross)]) ++if test $ac_cv_sizeof_dev_t -eq 8; then ++ samba_cv_SIZEOF_DEV_T=yes ++else ++ samba_cv_SIZEOF_DEV_T=no ++fi]) + if test x"$samba_cv_SIZEOF_DEV_T" = x"yes"; then + AC_DEFINE(SIZEOF_DEV_T,8,[The size of the 'dev_t' type]) + fi +-- +1.6.3.3 + diff --git a/patches/samba-3.0.35/0008-configure-autoreconf-i-f-I-lib-replace.patch b/patches/samba-3.0.35/0008-configure-autoreconf-i-f-I-lib-replace.patch new file mode 100644 index 000000000..6857a9e56 --- /dev/null +++ b/patches/samba-3.0.35/0008-configure-autoreconf-i-f-I-lib-replace.patch @@ -0,0 +1,1396 @@ +From 559fef6746e085d3f80879f64c261e2e3eb64912 Mon Sep 17 00:00:00 2001 +From: Marc Kleine-Budde <mkl@pengutronix.de> +Date: Tue, 7 Jul 2009 18:02:43 +0200 +Subject: [PATCH 8/8] [configure] autoreconf -i -f -I lib/replace + +Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> +--- + source/configure | 1168 +++++++++++++++++++++++++++++++++++++++++++++++++----- + 1 files changed, 1067 insertions(+), 101 deletions(-) + +diff --git a/source/configure b/source/configure +index 9e5558d..a7088d3 100755 +--- a/source/configure ++++ b/source/configure +@@ -11256,6 +11256,51 @@ else + fi + + ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++(void)sizeof(char[-1]) ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" ++$as_echo "$ac_try_echo") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ { { $as_echo "$as_me:$LINENO: error: configure's compilation assert doesn't work with $CC" >&5 ++$as_echo "$as_me: error: configure's compilation assert doesn't work with $CC" >&2;} ++ { (exit 1); exit 1; }; } ++else ++ $as_echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ + { $as_echo "$as_me:$LINENO: checking that the C compiler understands -Werror" >&5 + $as_echo_n "checking that the C compiler understands -Werror... " >&6; } + if test "${samba_cv_HAVE_Werror+set}" = set; then +@@ -11490,85 +11535,60 @@ fi + + { $as_echo "$as_me:$LINENO: checking that the C compiler understands negative enum values" >&5 + $as_echo_n "checking that the C compiler understands negative enum values... " >&6; } +-if test "${SMB_BUILD_CC_NEGATIVE_ENUM_VALUES+set}" = set; then ++if test "${samba_cv_BUILD_CC_NEGATIVE_ENUM_VALUES+set}" = set; then + $as_echo_n "(cached) " >&6 + else + +- if test "$cross_compiling" = yes; then +- { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +-{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling +-See \`config.log' for more details." >&5 +-$as_echo "$as_me: error: cannot run test program while cross compiling +-See \`config.log' for more details." >&2;} +- { (exit 1); exit 1; }; }; } +-else +- cat >conftest.$ac_ext <<_ACEOF ++ cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF + cat confdefs.h >>conftest.$ac_ext + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ + +- #include <stdio.h> +- enum negative_values { NEGATIVE_VALUE = 0xFFFFFFFF }; +- int main(void) { +- enum negative_values v1 = NEGATIVE_VALUE; +- unsigned v2 = NEGATIVE_VALUE; +- +- if (v1 != 0xFFFFFFFF) { +- printf("%u != 0xFFFFFFFF\n", v1); +- return 1; +- } +- if (v2 != 0xFFFFFFFF) { +- printf("%u != 0xFFFFFFFF\n", v2); +- return 1; +- } ++int ++main () ++{ + +- return 0; +- } ++ enum negative_values { NEGATIVE_VALUE = 0xFFFFFFFF }; ++ (void)sizeof(char[1-2*( (unsigned)NEGATIVE_VALUE != 0xFFFFFFFF)]); ++ (void)sizeof(char[1-2*((enum negative_values)NEGATIVE_VALUE != 0xFFFFFFFF)]); + ++ ; ++ return 0; ++} + _ACEOF +-rm -f conftest$ac_exeext +-if { (ac_try="$ac_link" ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" + case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; + esac + eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" + $as_echo "$ac_try_echo") >&5 +- (eval "$ac_link") 2>&5 +- ac_status=$? +- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && { ac_try='./conftest$ac_exeext' +- { (case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +-$as_echo "$ac_try_echo") >&5 +- (eval "$ac_try") 2>&5 ++ (eval "$ac_compile") 2>conftest.er1 + ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- SMB_BUILD_CC_NEGATIVE_ENUM_VALUES=yes ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ samba_cv_BUILD_CC_NEGATIVE_ENUM_VALUES=yes + else +- $as_echo "$as_me: program exited with status $ac_status" >&5 +-$as_echo "$as_me: failed program was:" >&5 ++ $as_echo "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + +-( exit $ac_status ) +-SMB_BUILD_CC_NEGATIVE_ENUM_VALUES=no +-fi +-rm -rf conftest.dSYM +-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext ++ samba_cv_BUILD_CC_NEGATIVE_ENUM_VALUES=no + fi + +- ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi +-{ $as_echo "$as_me:$LINENO: result: $SMB_BUILD_CC_NEGATIVE_ENUM_VALUES" >&5 +-$as_echo "$SMB_BUILD_CC_NEGATIVE_ENUM_VALUES" >&6; } +-if test x"$SMB_BUILD_CC_NEGATIVE_ENUM_VALUES" != x"yes"; then ++{ $as_echo "$as_me:$LINENO: result: $samba_cv_BUILD_CC_NEGATIVE_ENUM_VALUES" >&5 ++$as_echo "$samba_cv_BUILD_CC_NEGATIVE_ENUM_VALUES" >&6; } ++if test x"$samba_cv_BUILD_CC_NEGATIVE_ENUM_VALUES" != x"yes"; then + { $as_echo "$as_me:$LINENO: WARNING: using --unit-enums for pidl" >&5 + $as_echo "$as_me: WARNING: using --unit-enums for pidl" >&2;} + PIDL_ARGS="$PIDL_ARGS --uint-enums" +@@ -12206,10 +12226,14 @@ $as_echo "$SINIX_LFS_SUPPORT" >&6; } + *linux*) + { $as_echo "$as_me:$LINENO: checking for LFS support" >&5 + $as_echo_n "checking for LFS support... " >&6; } ++if test "${samba_cv_LINUX_LFS_SUPPORT+set}" = set; then ++ $as_echo_n "(cached) " >&6 ++else ++ + old_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE $CPPFLAGS" + if test "$cross_compiling" = yes; then +- LINUX_LFS_SUPPORT=cross ++ samba_cv_LINUX_LFS_SUPPORT=cross + else + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ +@@ -12277,14 +12301,14 @@ $as_echo "$ac_try_echo") >&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then +- LINUX_LFS_SUPPORT=yes ++ samba_cv_LINUX_LFS_SUPPORT=yes + else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + + ( exit $ac_status ) +-LINUX_LFS_SUPPORT=no ++samba_cv_LINUX_LFS_SUPPORT=no + fi + rm -rf conftest.dSYM + rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +@@ -12292,7 +12316,10 @@ fi + + + CPPFLAGS="$old_CPPFLAGS" +- if test x$LINUX_LFS_SUPPORT = xyes ; then ++fi ++{ $as_echo "$as_me:$LINENO: result: $samba_cv_LINUX_LFS_SUPPORT" >&5 ++$as_echo "$samba_cv_LINUX_LFS_SUPPORT" >&6; } ++ if test x$samba_cv_LINUX_LFS_SUPPORT = xyes ; then + CPPFLAGS="-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE $CPPFLAGS" + + cat >>confdefs.h <<\_ACEOF +@@ -12310,8 +12337,6 @@ cat >>confdefs.h <<\_ACEOF + _ACEOF + + fi +- { $as_echo "$as_me:$LINENO: result: $LINUX_LFS_SUPPORT" >&5 +-$as_echo "$LINUX_LFS_SUPPORT" >&6; } + ;; + + # +@@ -37001,20 +37026,9 @@ case "$host_os" in + *linux*) + # glibc <= 2.3.2 has a broken getgrouplist + if test "$cross_compiling" = yes; then +- { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +-{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling +-See \`config.log' for more details." >&5 +-$as_echo "$as_me: error: cannot run test program while cross compiling +-See \`config.log' for more details." >&2;} +- { (exit 1); exit 1; }; }; } ++ linux_getgrouplist_ok=maybe + else + cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ + + #include <unistd.h> + #include <sys/utsname.h> +@@ -37069,6 +37083,7 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$a + fi + + ++ + if test x"$linux_getgrouplist_ok" = x"yes"; then + + cat >>confdefs.h <<\_ACEOF +@@ -37076,6 +37091,13 @@ cat >>confdefs.h <<\_ACEOF + _ACEOF + + fi ++ if test x"$linux_getgrouplist_ok" = x"maybe"; then ++ ++cat >>confdefs.h <<\_ACEOF ++#define HAVE_GETGROUPLIST 1 ++_ACEOF ++ ++ fi + ;; + *) + +@@ -42998,23 +43020,308 @@ _ACEOF + fi + + +-{ $as_echo "$as_me:$LINENO: checking for 64 bit time_t" >&5 +-$as_echo_n "checking for 64 bit time_t... " >&6; } +-if test "${samba_cv_SIZEOF_TIME_T+set}" = set; then ++# The cast to long int works around a bug in the HP C Compiler ++# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects ++# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. ++# This bug is HP SR number 8606223364. ++{ $as_echo "$as_me:$LINENO: checking size of time_t" >&5 ++$as_echo_n "checking size of time_t... " >&6; } ++if test "${ac_cv_sizeof_time_t+set}" = set; then + $as_echo_n "(cached) " >&6 + else ++ if test "$cross_compiling" = yes; then ++ # Depending upon the size, compute the lo and hi bounds. ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++int ++main () ++{ ++static int test_array [1 - 2 * !(((long int) (sizeof (time_t))) >= 0)]; ++test_array [0] = 0 + +-if test "$cross_compiling" = yes; then +- samba_cv_SIZEOF_TIME_T=cross ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" ++$as_echo "$ac_try_echo") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_lo=0 ac_mid=0 ++ while :; do ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++int ++main () ++{ ++static int test_array [1 - 2 * !(((long int) (sizeof (time_t))) <= $ac_mid)]; ++test_array [0] = 0 ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" ++$as_echo "$ac_try_echo") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_hi=$ac_mid; break ++else ++ $as_echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_lo=`expr $ac_mid + 1` ++ if test $ac_lo -le $ac_mid; then ++ ac_lo= ac_hi= ++ break ++ fi ++ ac_mid=`expr 2 '*' $ac_mid + 1` ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ done ++else ++ $as_echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++int ++main () ++{ ++static int test_array [1 - 2 * !(((long int) (sizeof (time_t))) < 0)]; ++test_array [0] = 0 ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" ++$as_echo "$ac_try_echo") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_hi=-1 ac_mid=-1 ++ while :; do ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++int ++main () ++{ ++static int test_array [1 - 2 * !(((long int) (sizeof (time_t))) >= $ac_mid)]; ++test_array [0] = 0 ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" ++$as_echo "$ac_try_echo") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_lo=$ac_mid; break ++else ++ $as_echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_hi=`expr '(' $ac_mid ')' - 1` ++ if test $ac_mid -le $ac_hi; then ++ ac_lo= ac_hi= ++ break ++ fi ++ ac_mid=`expr 2 '*' $ac_mid` ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ done + else ++ $as_echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_lo= ac_hi= ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++# Binary search between lo and hi bounds. ++while test "x$ac_lo" != "x$ac_hi"; do ++ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF + cat confdefs.h >>conftest.$ac_ext + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ +-#include <time.h> +-main() { exit((sizeof(time_t) == 8) ? 0 : 1); } ++$ac_includes_default ++int ++main () ++{ ++static int test_array [1 - 2 * !(((long int) (sizeof (time_t))) <= $ac_mid)]; ++test_array [0] = 0 ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" ++$as_echo "$ac_try_echo") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_hi=$ac_mid ++else ++ $as_echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_lo=`expr '(' $ac_mid ')' + 1` ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++done ++case $ac_lo in ++?*) ac_cv_sizeof_time_t=$ac_lo;; ++'') if test "$ac_cv_type_time_t" = yes; then ++ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 ++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (time_t) ++See \`config.log' for more details." >&5 ++$as_echo "$as_me: error: cannot compute sizeof (time_t) ++See \`config.log' for more details." >&2;} ++ { (exit 77); exit 77; }; }; } ++ else ++ ac_cv_sizeof_time_t=0 ++ fi ;; ++esac ++else ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++static long int longval () { return (long int) (sizeof (time_t)); } ++static unsigned long int ulongval () { return (long int) (sizeof (time_t)); } ++#include <stdio.h> ++#include <stdlib.h> ++int ++main () ++{ ++ ++ FILE *f = fopen ("conftest.val", "w"); ++ if (! f) ++ return 1; ++ if (((long int) (sizeof (time_t))) < 0) ++ { ++ long int i = longval (); ++ if (i != ((long int) (sizeof (time_t)))) ++ return 1; ++ fprintf (f, "%ld", i); ++ } ++ else ++ { ++ unsigned long int i = ulongval (); ++ if (i != ((long int) (sizeof (time_t)))) ++ return 1; ++ fprintf (f, "%lu", i); ++ } ++ /* Do not output a trailing newline, as this causes \r\n confusion ++ on some platforms. */ ++ return ferror (f) || fclose (f) != 0; ++ ++ ; ++ return 0; ++} + _ACEOF + rm -f conftest$ac_exeext + if { (ac_try="$ac_link" +@@ -43038,20 +43345,51 @@ $as_echo "$ac_try_echo") >&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then +- samba_cv_SIZEOF_TIME_T=yes ++ ac_cv_sizeof_time_t=`cat conftest.val` + else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + + ( exit $ac_status ) +-samba_cv_SIZEOF_TIME_T=no ++if test "$ac_cv_type_time_t" = yes; then ++ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 ++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (time_t) ++See \`config.log' for more details." >&5 ++$as_echo "$as_me: error: cannot compute sizeof (time_t) ++See \`config.log' for more details." >&2;} ++ { (exit 77); exit 77; }; }; } ++ else ++ ac_cv_sizeof_time_t=0 ++ fi + fi + rm -rf conftest.dSYM + rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + fi ++rm -f conftest.val ++fi ++{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_time_t" >&5 ++$as_echo "$ac_cv_sizeof_time_t" >&6; } ++ + + ++cat >>confdefs.h <<_ACEOF ++#define SIZEOF_TIME_T $ac_cv_sizeof_time_t ++_ACEOF ++ ++ ++{ $as_echo "$as_me:$LINENO: checking for 64 bit time_t" >&5 ++$as_echo_n "checking for 64 bit time_t... " >&6; } ++if test "${samba_cv_SIZEOF_TIME_T+set}" = set; then ++ $as_echo_n "(cached) " >&6 ++else ++ ++if test $ac_cv_sizeof_time_t -eq 8; then ++ samba_cv_SIZEOF_TIME_T=yes ++else ++ samba_cv_SIZEOF_TIME_T=no ++fi + fi + { $as_echo "$as_me:$LINENO: result: $samba_cv_SIZEOF_TIME_T" >&5 + $as_echo "$samba_cv_SIZEOF_TIME_T" >&6; } +@@ -43063,24 +43401,309 @@ _ACEOF + + fi + +-{ $as_echo "$as_me:$LINENO: checking for 64 bit off_t" >&5 +-$as_echo_n "checking for 64 bit off_t... " >&6; } +-if test "${samba_cv_SIZEOF_OFF_T+set}" = set; then ++ ++# The cast to long int works around a bug in the HP C Compiler ++# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects ++# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. ++# This bug is HP SR number 8606223364. ++{ $as_echo "$as_me:$LINENO: checking size of off_t" >&5 ++$as_echo_n "checking size of off_t... " >&6; } ++if test "${ac_cv_sizeof_off_t+set}" = set; then + $as_echo_n "(cached) " >&6 + else ++ if test "$cross_compiling" = yes; then ++ # Depending upon the size, compute the lo and hi bounds. ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++int ++main () ++{ ++static int test_array [1 - 2 * !(((long int) (sizeof (off_t))) >= 0)]; ++test_array [0] = 0 + +-if test "$cross_compiling" = yes; then +- samba_cv_SIZEOF_OFF_T=cross ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" ++$as_echo "$ac_try_echo") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_lo=0 ac_mid=0 ++ while :; do ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++int ++main () ++{ ++static int test_array [1 - 2 * !(((long int) (sizeof (off_t))) <= $ac_mid)]; ++test_array [0] = 0 ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" ++$as_echo "$ac_try_echo") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_hi=$ac_mid; break ++else ++ $as_echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_lo=`expr $ac_mid + 1` ++ if test $ac_lo -le $ac_mid; then ++ ac_lo= ac_hi= ++ break ++ fi ++ ac_mid=`expr 2 '*' $ac_mid + 1` ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ done ++else ++ $as_echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++int ++main () ++{ ++static int test_array [1 - 2 * !(((long int) (sizeof (off_t))) < 0)]; ++test_array [0] = 0 ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" ++$as_echo "$ac_try_echo") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_hi=-1 ac_mid=-1 ++ while :; do ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++int ++main () ++{ ++static int test_array [1 - 2 * !(((long int) (sizeof (off_t))) >= $ac_mid)]; ++test_array [0] = 0 ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" ++$as_echo "$ac_try_echo") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_lo=$ac_mid; break + else ++ $as_echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_hi=`expr '(' $ac_mid ')' - 1` ++ if test $ac_mid -le $ac_hi; then ++ ac_lo= ac_hi= ++ break ++ fi ++ ac_mid=`expr 2 '*' $ac_mid` ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ done ++else ++ $as_echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_lo= ac_hi= ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++# Binary search between lo and hi bounds. ++while test "x$ac_lo" != "x$ac_hi"; do ++ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF + cat confdefs.h >>conftest.$ac_ext + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ ++$ac_includes_default ++int ++main () ++{ ++static int test_array [1 - 2 * !(((long int) (sizeof (off_t))) <= $ac_mid)]; ++test_array [0] = 0 ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" ++$as_echo "$ac_try_echo") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_hi=$ac_mid ++else ++ $as_echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_lo=`expr '(' $ac_mid ')' + 1` ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++done ++case $ac_lo in ++?*) ac_cv_sizeof_off_t=$ac_lo;; ++'') if test "$ac_cv_type_off_t" = yes; then ++ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 ++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (off_t) ++See \`config.log' for more details." >&5 ++$as_echo "$as_me: error: cannot compute sizeof (off_t) ++See \`config.log' for more details." >&2;} ++ { (exit 77); exit 77; }; }; } ++ else ++ ac_cv_sizeof_off_t=0 ++ fi ;; ++esac ++else ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++static long int longval () { return (long int) (sizeof (off_t)); } ++static unsigned long int ulongval () { return (long int) (sizeof (off_t)); } + #include <stdio.h> +-#include <sys/stat.h> +-main() { exit((sizeof(off_t) == 8) ? 0 : 1); } ++#include <stdlib.h> ++int ++main () ++{ ++ ++ FILE *f = fopen ("conftest.val", "w"); ++ if (! f) ++ return 1; ++ if (((long int) (sizeof (off_t))) < 0) ++ { ++ long int i = longval (); ++ if (i != ((long int) (sizeof (off_t)))) ++ return 1; ++ fprintf (f, "%ld", i); ++ } ++ else ++ { ++ unsigned long int i = ulongval (); ++ if (i != ((long int) (sizeof (off_t)))) ++ return 1; ++ fprintf (f, "%lu", i); ++ } ++ /* Do not output a trailing newline, as this causes \r\n confusion ++ on some platforms. */ ++ return ferror (f) || fclose (f) != 0; ++ ++ ; ++ return 0; ++} + _ACEOF + rm -f conftest$ac_exeext + if { (ac_try="$ac_link" +@@ -43104,20 +43727,52 @@ $as_echo "$ac_try_echo") >&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then +- samba_cv_SIZEOF_OFF_T=yes ++ ac_cv_sizeof_off_t=`cat conftest.val` + else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + + ( exit $ac_status ) +-samba_cv_SIZEOF_OFF_T=no ++if test "$ac_cv_type_off_t" = yes; then ++ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 ++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (off_t) ++See \`config.log' for more details." >&5 ++$as_echo "$as_me: error: cannot compute sizeof (off_t) ++See \`config.log' for more details." >&2;} ++ { (exit 77); exit 77; }; }; } ++ else ++ ac_cv_sizeof_off_t=0 ++ fi + fi + rm -rf conftest.dSYM + rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + fi ++rm -f conftest.val ++fi ++{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_off_t" >&5 ++$as_echo "$ac_cv_sizeof_off_t" >&6; } ++ ++ ++ ++cat >>confdefs.h <<_ACEOF ++#define SIZEOF_OFF_T $ac_cv_sizeof_off_t ++_ACEOF + + ++{ $as_echo "$as_me:$LINENO: checking for 64 bit off_t" >&5 ++$as_echo_n "checking for 64 bit off_t... " >&6; } ++if test "${samba_cv_SIZEOF_OFF_T+set}" = set; then ++ $as_echo_n "(cached) " >&6 ++else ++ ++if test $ac_cv_sizeof_off_t -eq 8; then ++ samba_cv_SIZEOF_OFF_T=yes ++else ++ samba_cv_SIZEOF_OFF_T=no ++fi ++ + fi + { $as_echo "$as_me:$LINENO: result: $samba_cv_SIZEOF_OFF_T" >&5 + $as_echo "$samba_cv_SIZEOF_OFF_T" >&6; } +@@ -43339,28 +43994,308 @@ _ACEOF + + fi + +-{ $as_echo "$as_me:$LINENO: checking for 64 bit dev_t" >&5 +-$as_echo_n "checking for 64 bit dev_t... " >&6; } +-if test "${samba_cv_SIZEOF_DEV_T+set}" = set; then ++# The cast to long int works around a bug in the HP C Compiler ++# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects ++# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. ++# This bug is HP SR number 8606223364. ++{ $as_echo "$as_me:$LINENO: checking size of dev_t" >&5 ++$as_echo_n "checking size of dev_t... " >&6; } ++if test "${ac_cv_sizeof_dev_t+set}" = set; then + $as_echo_n "(cached) " >&6 + else ++ if test "$cross_compiling" = yes; then ++ # Depending upon the size, compute the lo and hi bounds. ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++int ++main () ++{ ++static int test_array [1 - 2 * !(((long int) (sizeof (dev_t))) >= 0)]; ++test_array [0] = 0 + +-if test "$cross_compiling" = yes; then +- samba_cv_SIZEOF_DEV_T=cross ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" ++$as_echo "$ac_try_echo") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_lo=0 ac_mid=0 ++ while :; do ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++int ++main () ++{ ++static int test_array [1 - 2 * !(((long int) (sizeof (dev_t))) <= $ac_mid)]; ++test_array [0] = 0 ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" ++$as_echo "$ac_try_echo") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_hi=$ac_mid; break ++else ++ $as_echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_lo=`expr $ac_mid + 1` ++ if test $ac_lo -le $ac_mid; then ++ ac_lo= ac_hi= ++ break ++ fi ++ ac_mid=`expr 2 '*' $ac_mid + 1` ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ done ++else ++ $as_echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++int ++main () ++{ ++static int test_array [1 - 2 * !(((long int) (sizeof (dev_t))) < 0)]; ++test_array [0] = 0 ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" ++$as_echo "$ac_try_echo") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_hi=-1 ac_mid=-1 ++ while :; do ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++int ++main () ++{ ++static int test_array [1 - 2 * !(((long int) (sizeof (dev_t))) >= $ac_mid)]; ++test_array [0] = 0 ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" ++$as_echo "$ac_try_echo") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_lo=$ac_mid; break + else ++ $as_echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_hi=`expr '(' $ac_mid ')' - 1` ++ if test $ac_mid -le $ac_hi; then ++ ac_lo= ac_hi= ++ break ++ fi ++ ac_mid=`expr 2 '*' $ac_mid` ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ done ++else ++ $as_echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_lo= ac_hi= ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++# Binary search between lo and hi bounds. ++while test "x$ac_lo" != "x$ac_hi"; do ++ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF + cat confdefs.h >>conftest.$ac_ext + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ ++$ac_includes_default ++int ++main () ++{ ++static int test_array [1 - 2 * !(((long int) (sizeof (dev_t))) <= $ac_mid)]; ++test_array [0] = 0 + +-#if defined(HAVE_UNISTD_H) +-#include <unistd.h> +-#endif ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" ++$as_echo "$ac_try_echo") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_hi=$ac_mid ++else ++ $as_echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_lo=`expr '(' $ac_mid ')' + 1` ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++done ++case $ac_lo in ++?*) ac_cv_sizeof_dev_t=$ac_lo;; ++'') if test "$ac_cv_type_dev_t" = yes; then ++ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 ++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (dev_t) ++See \`config.log' for more details." >&5 ++$as_echo "$as_me: error: cannot compute sizeof (dev_t) ++See \`config.log' for more details." >&2;} ++ { (exit 77); exit 77; }; }; } ++ else ++ ac_cv_sizeof_dev_t=0 ++ fi ;; ++esac ++else ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++static long int longval () { return (long int) (sizeof (dev_t)); } ++static unsigned long int ulongval () { return (long int) (sizeof (dev_t)); } + #include <stdio.h> +-#include <sys/stat.h> +-main() { exit((sizeof(dev_t) == 8) ? 0 : 1); } ++#include <stdlib.h> ++int ++main () ++{ ++ ++ FILE *f = fopen ("conftest.val", "w"); ++ if (! f) ++ return 1; ++ if (((long int) (sizeof (dev_t))) < 0) ++ { ++ long int i = longval (); ++ if (i != ((long int) (sizeof (dev_t)))) ++ return 1; ++ fprintf (f, "%ld", i); ++ } ++ else ++ { ++ unsigned long int i = ulongval (); ++ if (i != ((long int) (sizeof (dev_t)))) ++ return 1; ++ fprintf (f, "%lu", i); ++ } ++ /* Do not output a trailing newline, as this causes \r\n confusion ++ on some platforms. */ ++ return ferror (f) || fclose (f) != 0; ++ ++ ; ++ return 0; ++} + _ACEOF + rm -f conftest$ac_exeext + if { (ac_try="$ac_link" +@@ -43384,20 +44319,51 @@ $as_echo "$ac_try_echo") >&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then +- samba_cv_SIZEOF_DEV_T=yes ++ ac_cv_sizeof_dev_t=`cat conftest.val` + else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + + ( exit $ac_status ) +-samba_cv_SIZEOF_DEV_T=no ++if test "$ac_cv_type_dev_t" = yes; then ++ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 ++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (dev_t) ++See \`config.log' for more details." >&5 ++$as_echo "$as_me: error: cannot compute sizeof (dev_t) ++See \`config.log' for more details." >&2;} ++ { (exit 77); exit 77; }; }; } ++ else ++ ac_cv_sizeof_dev_t=0 ++ fi + fi + rm -rf conftest.dSYM + rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + fi ++rm -f conftest.val ++fi ++{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_dev_t" >&5 ++$as_echo "$ac_cv_sizeof_dev_t" >&6; } ++ ++ ++ ++cat >>confdefs.h <<_ACEOF ++#define SIZEOF_DEV_T $ac_cv_sizeof_dev_t ++_ACEOF + + ++{ $as_echo "$as_me:$LINENO: checking for 64 bit dev_t" >&5 ++$as_echo_n "checking for 64 bit dev_t... " >&6; } ++if test "${samba_cv_SIZEOF_DEV_T+set}" = set; then ++ $as_echo_n "(cached) " >&6 ++else ++ ++if test $ac_cv_sizeof_dev_t -eq 8; then ++ samba_cv_SIZEOF_DEV_T=yes ++else ++ samba_cv_SIZEOF_DEV_T=no ++fi + fi + { $as_echo "$as_me:$LINENO: result: $samba_cv_SIZEOF_DEV_T" >&5 + $as_echo "$samba_cv_SIZEOF_DEV_T" >&6; } +-- +1.6.3.3 + diff --git a/patches/samba-3.0.35/series b/patches/samba-3.0.35/series new file mode 100644 index 000000000..d0d0a028e --- /dev/null +++ b/patches/samba-3.0.35/series @@ -0,0 +1,8 @@ +0001-Linux-oplock-support-is-conditional-on-HAVE_KERNEL_O.patch +0002-configure.in-make-getgrouplist_ok-test-cross-compile.patch +0003-configure.in-make-LINUX_LFS_SUPPORT-cacheable.patch +0004-configure.in-fix-test-for-negative-enum-values.patch +0005-configure.in-fix-time_t-detection.patch +0006-configure.in-fix-off_t-test.patch +0007-configure.in-fix-dev_t-test.patch +0008-configure-autoreconf-i-f-I-lib-replace.patch diff --git a/rules/samba.in b/rules/samba.in index 9c5c18aed..f41b8c820 100644 --- a/rules/samba.in +++ b/rules/samba.in @@ -1,11 +1,11 @@ ## SECTION=disk_and_file -# samba configuration menuconfig SAMBA tristate prompt "samba " select LIBC_NSL select LIBC_RESOLV + select READLINE select BUSYBOX_START_STOP_DAEMON if SAMBA_STARTSCRIPT help Samba is an Open Source/Free Software suite that has, since @@ -84,86 +84,71 @@ menuconfig SAMBA if SAMBA - config SAMBA_COMMON - bool - default y - prompt "Samba common files" - help - Install smbd daemon on target. - - config ROOTFS_ETC_SAMBA_CONFIG - bool - depends on SAMBA_SERVER - choice - prompt "Kind of samba config file" - depends on SAMBA_COMMON - default ROOTFS_ETC_SAMBA_CONFIG_DEFAULT - - config ROOTFS_ETC_SAMBA_CONFIG_DEFAULT - bool - prompt "Use generic" - help - Installs a generic /etc/samba/smb.conf file. - - config ROOTFS_ETC_SAMBA_CONFIG_USER - bool - prompt "User defined" - help - This uses a user defined config file. Will use - the file out of projectroot/etc/samba/smb.conf - endchoice - - config SAMBA_SERVER - bool - select SAMBA_COMMON - prompt "Samba server" - help - Installs samba server. ATTENTION: You need rw access to your - rootfs before starting the samba server! - - config ROOTFS_ETC_SAMBA_SECRETS_USER - bool - depends on SAMBA_SERVER - prompt "User defined smb password Database" - help - This will install the /etc/samba/secrets.tdb from - projectroot/etc/samba/secrets.tdb. If you wish to run samba - in user security level and use you own userdatabase. You will - have to enable this. If you say n here. The samba server will - generates his own secrets.tdb after initialisation. - - config SAMBA_CLIENT - bool - select SAMBA_COMMON - prompt "Samba client" - help - Installs some client components of the Samba suite. - - config SAMBA_LIBCLIENT - bool - select SAMBA_COMMON - prompt "Samba client library" - help - Installs the libsmbclient shared library. - - config SAMBA_SMBFS - bool - select SAMBA_COMMON - prompt "Samba file system" - help - Enables the sytem to mount windows share via SMB protocol - - config SAMBA_CUPS - bool - depends on BROKEN - prompt "cups support" - help - Turn on CUPS support - - config SAMBA_STARTSCRIPT - bool - default y - depends on SAMBA_SERVER - prompt "install /etc/init.d/samba" +config SAMBA_COMMON + bool + default y + prompt "Samba common files" + help + Install common samba files. + +config SAMBA_SMB_CONF + bool + default y + prompt "install /etc/samba/smb.conf" + +config SAMBA_SERVER + bool + select SAMBA_COMMON + prompt "Samba server" + help + Installs samba server. ATTENTION: You need rw access to your + rootfs before starting the samba server! + +if SAMBA_SERVER + +config SAMBA_SECRETS_USER + bool + prompt "User defined smb password Database" + help + This will install the /etc/samba/secrets.tdb from + projectroot/etc/samba/secrets.tdb. If you wish to run samba + in user security level and use you own userdatabase. You will + have to enable this. If you say n here. The samba server will + generates his own secrets.tdb after initialisation. +endif + +config SAMBA_CLIENT + bool + select SAMBA_COMMON + prompt "Samba client" + help + Installs some client components of the Samba suite. + +config SAMBA_LIBCLIENT + bool + select SAMBA_COMMON + prompt "Samba client library" + help + Installs the libsmbclient shared library. + +config SAMBA_SMBFS + bool + select SAMBA_COMMON + prompt "Samba file system" + help + Enables the sytem to mount windows share via SMB protocol + +config SAMBA_CUPS + bool + depends on BROKEN + prompt "cups support" + help + Turn on CUPS support + +config SAMBA_STARTSCRIPT + bool + default y + depends on SAMBA_SERVER + prompt "install /etc/init.d/samba" endif diff --git a/rules/samba.make b/rules/samba.make index 28e52f602..fd9d340e8 100644 --- a/rules/samba.make +++ b/rules/samba.make @@ -1,7 +1,7 @@ # -*-makefile-*- -# $Id: template 6487 2006-12-07 20:55:55Z rsc $ # # Copyright (C) 2006 by Robert Schwebel +# 2009 by Marc Kleine-Budde <mkl@pengutronix.de> # # See CREDITS for details about who has contributed to this project. # @@ -17,12 +17,16 @@ PACKAGES-$(PTXCONF_SAMBA) += samba # # Paths and names # -SAMBA_VERSION := 3.0.33 +SAMBA_VERSION := 3.0.35 SAMBA := samba-$(SAMBA_VERSION) SAMBA_SUFFIX := tar.gz -SAMBA_URL := http://us5.samba.org/samba/ftp/old-versions/$(SAMBA).$(SAMBA_SUFFIX) SAMBA_SOURCE := $(SRCDIR)/$(SAMBA).$(SAMBA_SUFFIX) SAMBA_DIR := $(BUILDDIR)/$(SAMBA) +SAMBA_LICENSE := GPLv2 + +SAMBA_URL := \ + http://www.samba.org/samba/ftp/stable/$(SAMBA).$(SAMBA_SUFFIX) \ + http://www.samba.org/samba/ftp/old-versions/$(SAMBA).$(SAMBA_SUFFIX) # ---------------------------------------------------------------------------- # Get @@ -39,25 +43,64 @@ $(SAMBA_SOURCE): SAMBA_PATH := PATH=$(CROSS_PATH) SAMBA_ENV := \ $(CROSS_ENV) \ - SMB_BUILD_CC_NEGATIVE_ENUM_VALUES=no \ + CFLAGS=-O2 \ + libreplace_cv_READDIR_NEEDED=no \ + samba_cv_HAVE_BROKEN_FCNTL64_LOCKS=no \ + samba_cv_HAVE_BROKEN_GETGROUPS=no \ + samba_cv_HAVE_C99_VSNPRINTF=yes \ + samba_cv_HAVE_DEVICE_MAJOR_FN=yes \ + samba_cv_HAVE_DEVICE_MINOR_FN=yes \ + samba_cv_HAVE_FCNTL_LOCK=yes \ + samba_cv_HAVE_FTRUNCATE_EXTEND=yes \ samba_cv_HAVE_GETTIMEOFDAY_TZ=yes \ - samba_cv_USE_SETRESUID=yes \ + samba_cv_HAVE_IFACE_AIX=no \ samba_cv_HAVE_IFACE_IFCONF=yes \ - samba_cv_HAVE_IFACE_IFREQ=yes + samba_cv_HAVE_IFACE_IFREQ=yes \ + samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=yes \ + samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=yes \ + samba_cv_HAVE_KERNEL_SHARE_MODES=yes \ + samba_cv_HAVE_MAKEDEV=yes \ + samba_cv_HAVE_MMAP=yes \ + samba_cv_HAVE_NATIVE_ICONV=yes \ + samba_cv_HAVE_SECURE_MKSTEMP=yes \ + samba_cv_HAVE_STRUCT_FLOCK64=yes \ + samba_cv_HAVE_TRUNCATED_SALT=no \ + samba_cv_HAVE_WORKING_AF_LOCAL=yes \ + samba_cv_LINUX_LFS_SUPPORT=yes \ + samba_cv_REALPATH_TAKES_NULL=yes \ + samba_cv_REPLACE_INET_NTOA=no \ + samba_cv_USE_SETRESUID=yes \ + samba_cv_USE_SETREUID=yes \ + samba_cv_have_longlong=yes \ + samba_cv_have_setresgid=yes \ + samba_cv_have_setresuid=yes # # autoconf # SAMBA_AUTOCONF := \ $(CROSS_AUTOCONF_USR) \ - --sysconfdir=/etc/samba \ - --libdir=/etc/samba \ - --with-lockdir=/var/lock \ - --with-piddir=/var/lock \ + --disable-pie \ + --libdir=/usr/lib/samba \ + --localstatedir=/var \ + --sysconfdir=/etc \ --with-configdir=/etc/samba \ + --with-libdir=/usr/lib \ + --with-libsmbclient \ + --with-lockdir=/var/lock \ --with-logfilebase=/var/log \ - --with-libdir=/etc/samba \ - --with-privatedir=/etc/samba + --with-piddir=/var/run \ + --with-privatedir=/etc/samba \ + --with-readline \ + --with-rootsbindir=/sbin \ + --with-syslog \ + --without-ads \ + --without-automount \ + --without-krb5 \ + --without-ldap \ + --without-pam \ + --without-utmp \ + --without-winbind ifdef PTXCONF_SAMBA_CUPS SAMBA_AUTOCONF += --enable-cups @@ -70,38 +113,13 @@ SAMBA_AUTOCONF += --with-smbmount endif ifdef PTXCONF_ICONV -SAMBA_AUTOCONF += --with-libiconv=yes +SAMBA_AUTOCONF += --with-libiconv=$(SYSROOT)/usr else SAMBA_AUTOCONF += --without-libiconv endif -$(STATEDIR)/samba.prepare: - @$(call targetinfo) - @$(call clean, $(SAMBA_DIR)/config.cache) - cd $(SAMBA_DIR)/source && \ - $(SAMBA_PATH) $(SAMBA_ENV) \ - ./configure $(SAMBA_AUTOCONF) - @$(call touch, $@) - -# ---------------------------------------------------------------------------- -# Compile -# ---------------------------------------------------------------------------- - -$(STATEDIR)/samba.compile: - @$(call targetinfo) - cd $(SAMBA_DIR)/source && $(SAMBA_PATH) $(MAKE) $(PARALLELMFLAGS_BROKEN) - @$(call touch) - - -# ---------------------------------------------------------------------------- -# Install -# ---------------------------------------------------------------------------- - -$(STATEDIR)/samba.install: - @$(call targetinfo) - cd $(SAMBA_DIR)/source && $(SAMBA_PATH) $(MAKE) install DESTDIR=$(SYSROOT) - cd $(SAMBA_DIR)/source && $(SAMBA_PATH) $(MAKE) install DESTDIR=$(PKGDIR)/$(SAMBA) - @$(call touch) +SAMBA_SUBDIR := source +SAMBA_MAKE_PAR := NO # ---------------------------------------------------------------------------- # Target-Install @@ -115,45 +133,52 @@ $(STATEDIR)/samba.targetinstall: @$(call install_fixup, samba,PRIORITY,optional) @$(call install_fixup, samba,VERSION,$(SAMBA_VERSION)) @$(call install_fixup, samba,SECTION,base) - @$(call install_fixup, samba,AUTHOR,"Robert Schwebel <r.schwebel\@pengutronix.de>") + @$(call install_fixup, samba,AUTHOR,"Robert Schwebel <r.schwebel@pengutronix.de>") @$(call install_fixup, samba,DEPENDS,) @$(call install_fixup, samba,DESCRIPTION,missing) @$(call install_copy, samba, 0, 0, 0755, /etc/samba) ifdef PTXCONF_SAMBA_COMMON - @$(call install_copy, samba, 0, 0, 0755, $(SAMBA_DIR)/source/bin/nmblookup, /usr/bin/nmblookup) - @$(call install_copy, samba, 0, 0, 0755, $(SAMBA_DIR)/source/bin/net, /usr/bin/net) - @$(call install_copy, samba, 0, 0, 0755, $(SAMBA_DIR)/source/bin/smbpasswd, /usr/bin/smbpasswd) - @$(call install_copy, samba, 0, 0, 0755, $(SAMBA_DIR)/source/bin/testparm, /usr/bin/testparm) - @$(call install_copy, samba, 0, 0, 0644, $(SAMBA_DIR)/source/codepages/lowcase.dat, /etc/samba/lowcase.dat,n) - @$(call install_copy, samba, 0, 0, 0644, $(SAMBA_DIR)/source/codepages/upcase.dat, /etc/samba/upcase.dat,n) - @$(call install_copy, samba, 0, 0, 0644, $(SAMBA_DIR)/source/codepages/valid.dat, /etc/samba/valid.dat,n) + @$(call install_copy, samba, 0, 0, 0755, -, \ + /usr/bin/nmblookup) + @$(call install_copy, samba, 0, 0, 0755, -, \ + /usr/bin/net) + @$(call install_copy, samba, 0, 0, 0755, -, \ + /usr/bin/smbpasswd) + @$(call install_copy, samba, 0, 0, 0755, -, \ + /usr/bin/testparm) + @$(call install_copy, samba, 0, 0, 0644, -, \ + /usr/lib/lowcase.dat) + @$(call install_copy, samba, 0, 0, 0644, -, \ + /usr/lib/upcase.dat) + @$(call install_copy, samba, 0, 0, 0644, -, \ + /usr/lib/valid.dat) endif -ifdef PTXCONF_ROOTFS_ETC_SAMBA_CONFIG_DEFAULT - @$(call install_copy, rootfs, 0, 0, 0644, \ - $(PTXDIST_TOPDIR)/generic/etc/samba/smb.conf, \ - /etc/samba/smb.conf, n) -endif -ifdef PTXCONF_ROOTFS_ETC_SAMBA_CONFIG_USER - @$(call install_copy, rootfs, 0, 0, 0644, \ - $(PTXDIST_WORKSPACE)/projectroot/etc/samba/smb.conf,\ - /etc/samba/smb.conf, n) +ifdef PTXCONF_SAMBA_SERVER + @$(call install_copy, samba, 0, 0, 0755, -, \ + /usr/sbin/smbd) + @$(call install_copy, samba, 0, 0, 0755, -, \ + /usr/sbin/nmbd) + @$(call install_copy, samba, 0, 0, 0755, -, \ + /usr/bin/pdbedit) + @$(call install_copy, samba, 0, 0, 0755, -, \ + /usr/bin/smbcontrol) + @$(call install_copy, samba, 0, 0, 0755, -, \ + /usr/bin/smbstatus) + @$(call install_copy, samba, 0, 0, 0755, -, \ + /usr/bin/tdbbackup) endif -ifdef PTXCONF_SAMBA_SERVER - @$(call install_copy, samba, 0, 0, 0755, $(SAMBA_DIR)/source/bin/smbd, /usr/sbin/smbd) - @$(call install_copy, samba, 0, 0, 0755, $(SAMBA_DIR)/source/bin/nmbd, /usr/sbin/nmbd) - @$(call install_copy, samba, 0, 0, 0755, $(SAMBA_DIR)/source/bin/pdbedit, /usr/sbin/pdbedit) - @$(call install_copy, samba, 0, 0, 0755, $(SAMBA_DIR)/source/bin/smbcontrol, /usr/sbin/smbcontrol) - @$(call install_copy, samba, 0, 0, 0755, $(SAMBA_DIR)/source/bin/smbstatus, /usr/sbin/smbstatus) - @$(call install_copy, samba, 0, 0, 0755, $(SAMBA_DIR)/source/bin/tdbbackup, /usr/sbin/tdbbackup) +ifdef PTXCONF_SAMBA_SMB_CONF + @$(call install_alternative, samba, 0, 0, 0644, \ + /etc/samba/smb.conf) endif -ifdef PTXCONF_ROOTFS_ETC_SAMBA_SECRETS_USER - @$(call install_copy, rootfs, 0, 0, 0600, \ - $(PTXDIST_WORKSPACE)/projectroot/etc/samba/secrets.tdb,\ - /etc/samba/secrets.tdb, n) + +ifdef PTXCONF_SAMBA_SECRETS_USER + @$(call install_alternative, samba, 0, 0, 0600, \ + /etc/samba/secrets.tdb) endif # # @@ -161,26 +186,33 @@ endif # # ifdef PTXCONF_INITMETHOD_BBINIT ifdef PTXCONF_SAMBA_STARTSCRIPT - @$(call install_alternative, samba, 0, 0, 0755, /etc/init.d/samba, n) + @$(call install_alternative, samba, 0, 0, 0755, /etc/init.d/samba) endif endif ifdef PTXCONF_SAMBA_CLIENT - @$(call install_copy, samba, 0, 0, 0755, $(SAMBA_DIR)/source/bin/smbcacls, /usr/bin/smbcacls) - @$(call install_copy, samba, 0, 0, 0755, $(SAMBA_DIR)/source/bin/smbcquotas, /usr/bin/smbcquotas) - @$(call install_copy, samba, 0, 0, 0755, $(SAMBA_DIR)/source/bin/smbtree, /usr/bin/smbtree) - @$(call install_copy, samba, 0, 0, 0755, $(SAMBA_DIR)/source/bin/smbclient, /usr/bin/smbclient) - @$(call install_copy, samba, 0, 0, 0755, $(SAMBA_DIR)/source/bin/rpcclient, /usr/bin/rpcclient) + @$(call install_copy, samba, 0, 0, 0755, -, \ + /usr/bin/smbcacls) + @$(call install_copy, samba, 0, 0, 0755, -, \ + /usr/bin/smbcquotas) + @$(call install_copy, samba, 0, 0, 0755, -, \ + /usr/bin/smbtree) + @$(call install_copy, samba, 0, 0, 0755, -, \ + /usr/bin/smbclient) + @$(call install_copy, samba, 0, 0, 0755, -, \ + /usr/bin/rpcclient) endif ifdef PTXCONF_SAMBA_LIBCLIENT - @$(call install_copy, samba, 0, 0, 0644, $(SAMBA_DIR)/source/bin/libsmbclient.so, /usr/lib/libsmbclient.so.0) - @$(call install_link, samba, libsmbclient.so.0, /usr/lib/libsmbclient.so.0.1) + @$(call install_copy, samba, 0, 0, 0644, -, \ + /usr/lib/libsmbclient.so) endif ifdef PTXCONF_SAMBA_SMBFS - @$(call install_copy, samba, 0, 0, 0755, $(SAMBA_DIR)/source/bin/smbmount, /usr/bin/smbmount) - @$(call install_copy, samba, 0, 0, 0755, $(SAMBA_DIR)/source/bin/smbumount, /usr/bin/smbumount) + @$(call install_copy, samba, 0, 0, 0755, -, \ + /usr/bin/smbmount) + @$(call install_copy, samba, 0, 0, 0755, -, \ + /usr/bin/smbumount) endif @$(call install_finish, samba) |