diff --git a/aclocal.m4 b/aclocal.m4 index 6aa2643868..7251783569 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1063,3 +1063,26 @@ fi AC_LANG_RESTORE ])dnl ACX_PTHREAD + +dnl $Id$ + +AC_DEFUN([AC_CHECK_MYSQL],[ +AC_ARG_VAR([MYSQL_CONFIG], [mysql_config program]) +if test -z "$MYSQL_CONFIG"; then +AC_PATH_PROG(MYSQL_CONFIG,mysql_config,,[$PATH:/usr/local/mysql/bin]) +fi +if test -z "$MYSQL_CONFIG" +then + AC_MSG_ERROR([mysql_config executable not found]) +else + AC_MSG_CHECKING(mysql libraries) + MYSQL_LIBS=`${MYSQL_CONFIG} --libs` + AC_MSG_RESULT($MYSQL_LIBS) + AC_MSG_CHECKING(mysql includes) + MYSQL_CFLAGS=`${MYSQL_CONFIG} --cflags` + AC_MSG_RESULT($MYSQL_CFLAGS) +fi +AC_SUBST(MYSQL_LIBS) +AC_SUBST(MYSQL_CFLAGS) +]) + diff --git a/api/Makefile.in b/api/Makefile.in index d29b227f50..ffc0b43aaa 100644 --- a/api/Makefile.in +++ b/api/Makefile.in @@ -14,15 +14,6 @@ @SET_MAKE@ -# MYSQL_INCLUDES = /usr/local/mysql/include -# MYSQL_INCLUDES2 = /usr/local/mysql/include/mysql -# MYSQL_INCLUDES3 = /usr/include/mysql - -# MYSQL_LIBS = \ -# -L/usr/local/mysql/lib -L/sw/lib/mysql -L/usr/local/lib/mysql \ -# -lmysqlclient -L/usr/local/lib -lz \ -# -lm $(NETLIBS) - # Note: MYSQL_CFLAGS and MYSQL_LIBS set by configure from mysql_config srcdir = @srcdir@ diff --git a/apps/Makefile.in b/apps/Makefile.in index 132af377fb..8eecca76f5 100644 --- a/apps/Makefile.in +++ b/apps/Makefile.in @@ -14,15 +14,6 @@ @SET_MAKE@ -# MYSQL_INCLUDES = /usr/local/mysql/include -# MYSQL_INCLUDES2 = /usr/local/mysql/include/mysql -# MYSQL_INCLUDES3 = /usr/include/mysql - -# MYSQL_LIBS = \ -# -L/usr/local/mysql/lib -L/sw/lib/mysql -L/usr/local/lib/mysql \ -# -lmysqlclient -L/usr/local/lib -lz \ -# -lm $(NETLIBS) - # Note: MYSQL_CFLAGS and MYSQL_LIBS set by configure from mysql_config srcdir = @srcdir@ diff --git a/client/Makefile.in b/client/Makefile.in index 1bc262b829..09dbe83ddb 100644 --- a/client/Makefile.in +++ b/client/Makefile.in @@ -14,15 +14,6 @@ @SET_MAKE@ -# MYSQL_INCLUDES = /usr/local/mysql/include -# MYSQL_INCLUDES2 = /usr/local/mysql/include/mysql -# MYSQL_INCLUDES3 = /usr/include/mysql - -# MYSQL_LIBS = \ -# -L/usr/local/mysql/lib -L/sw/lib/mysql -L/usr/local/lib/mysql \ -# -lmysqlclient -L/usr/local/lib -lz \ -# -lm $(NETLIBS) - # Note: MYSQL_CFLAGS and MYSQL_LIBS set by configure from mysql_config srcdir = @srcdir@ diff --git a/configure b/configure index e01baef700..a8ca2018a8 100755 --- a/configure +++ b/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.ac Revision: 1.32 . +# From configure.ac Revision: 1.33 . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.57 for BOINC 1.11. # @@ -329,7 +329,7 @@ ac_includes_default="\ # include #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE am__leading_dot MAJOR_VERSION MINOR_VERSION BUILD_TOP_DIR MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT MYSQL_LIBS MYSQL_CFLAGS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CPP RANLIB ac_ct_RANLIB PTHREAD_CC PTHREAD_LIBS PTHREAD_CFLAGS MYSQL_CONFIG EGREP CLIENT_BIN_FILENAME STATIC_FLAGS LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE am__leading_dot MAJOR_VERSION MINOR_VERSION BUILD_TOP_DIR MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CPP RANLIB ac_ct_RANLIB PTHREAD_CC PTHREAD_LIBS PTHREAD_CFLAGS MYSQL_CONFIG MYSQL_LIBS MYSQL_CFLAGS EGREP CLIENT_BIN_FILENAME STATIC_FLAGS LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -1881,10 +1881,6 @@ fi - - - - ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -4760,6 +4756,8 @@ fi + + ac_header_dirent=no for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` @@ -5274,6 +5272,62 @@ _ACEOF fi +echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5 +echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6 +if test "${ac_cv_header_time+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include + +int +main () +{ +if ((struct tm *) 0) +return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_header_time=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_header_time=no +fi +rm -f conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5 +echo "${ECHO_T}$ac_cv_header_time" >&6 +if test $ac_cv_header_time = yes; then + +cat >>confdefs.h <<\_ACEOF +#define TIME_WITH_SYS_TIME 1 +_ACEOF + +fi + # On IRIX 5.3, sys/types and inttypes.h are conflicting. @@ -5357,7 +5411,13 @@ done -for ac_header in fcntl.h malloc.h strings.h sys/time.h unistd.h sys/systeminfo.h sys/swap.h sys/sysctl.h sys/resource.h sys/types.h dirent.h sys/utsname.h netdb.h netinet/in.h arpa/inet.h signal.h sys/wait.h sys/file.h sys/ipc.h sys/shm.h + + + + + + +for ac_header in arpa/inet.h dirent.h fcntl.h malloc.h netdb.h netinet/in.h netinet/tcp.h signal.h strings.h sys/file.h sys/ipc.h sys/mount.h sys/resource.h sys/select.h sys/shm.h sys/socket.h sys/statvfs.h sys/swap.h sys/sysctl.h sys/systeminfo.h sys/time.h sys/types.h sys/utsname.h sys/vmmeter.h sys/wait.h unistd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if eval "test \"\${$as_ac_Header+set}\" = set"; then @@ -5499,161 +5559,6 @@ fi done -echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 -echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6 -if test "${ac_cv_c_const+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -/* FIXME: Include the comments suggested by Paul. */ -#ifndef __cplusplus - /* Ultrix mips cc rejects this. */ - typedef int charset[2]; - const charset x; - /* SunOS 4.1.1 cc rejects this. */ - char const *const *ccp; - char **p; - /* NEC SVR4.0.2 mips cc rejects this. */ - struct point {int x, y;}; - static struct point const zero = {0,0}; - /* AIX XL C 1.02.0.0 rejects this. - It does not let you subtract one const X* pointer from another in - an arm of an if-expression whose if-part is not a constant - expression */ - const char *g = "string"; - ccp = &g + (g ? g-g : 0); - /* HPUX 7.0 cc rejects these. */ - ++ccp; - p = (char**) ccp; - ccp = (char const *const *) p; - { /* SCO 3.2v4 cc rejects this. */ - char *t; - char const *s = 0 ? (char *) 0 : (char const *) 0; - - *t++ = 0; - } - { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ - int x[] = {25, 17}; - const int *foo = &x[0]; - ++foo; - } - { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ - typedef const int *iptr; - iptr p = 0; - ++p; - } - { /* AIX XL C 1.02.0.0 rejects this saying - "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; }; - struct s *b; b->j = 5; - } - { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; - } -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_c_const=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_c_const=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 -echo "${ECHO_T}$ac_cv_c_const" >&6 -if test $ac_cv_c_const = no; then - -cat >>confdefs.h <<\_ACEOF -#define const -_ACEOF - -fi - -echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5 -echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6 -if test "${ac_cv_header_time+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include - -int -main () -{ -if ((struct tm *) 0) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_header_time=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_header_time=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5 -echo "${ECHO_T}$ac_cv_header_time" >&6 -if test $ac_cv_header_time = yes; then - -cat >>confdefs.h <<\_ACEOF -#define TIME_WITH_SYS_TIME 1 -_ACEOF - -fi - - case "$target" in *-linux-* | *-sun-*) @@ -6067,613 +5972,6 @@ fi done - - - - - -ac_header_dirent=no -for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do - as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5 -echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include <$ac_hdr> - -int -main () -{ -if ((DIR *) 0) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -eval "$as_ac_Header=no" -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 -_ACEOF - -ac_header_dirent=$ac_hdr; break -fi - -done -# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. -if test $ac_header_dirent = dirent.h; then - echo "$as_me:$LINENO: checking for library containing opendir" >&5 -echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6 -if test "${ac_cv_search_opendir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_func_search_save_LIBS=$LIBS -ac_cv_search_opendir=no -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char opendir (); -int -main () -{ -opendir (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_search_opendir="none required" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -if test "$ac_cv_search_opendir" = no; then - for ac_lib in dir; do - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char opendir (); -int -main () -{ -opendir (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_search_opendir="-l$ac_lib" -break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - done -fi -LIBS=$ac_func_search_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 -echo "${ECHO_T}$ac_cv_search_opendir" >&6 -if test "$ac_cv_search_opendir" != no; then - test "$ac_cv_search_opendir" = "none required" || LIBS="$ac_cv_search_opendir $LIBS" - -fi - -else - echo "$as_me:$LINENO: checking for library containing opendir" >&5 -echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6 -if test "${ac_cv_search_opendir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_func_search_save_LIBS=$LIBS -ac_cv_search_opendir=no -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char opendir (); -int -main () -{ -opendir (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_search_opendir="none required" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -if test "$ac_cv_search_opendir" = no; then - for ac_lib in x; do - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char opendir (); -int -main () -{ -opendir (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_search_opendir="-l$ac_lib" -break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - done -fi -LIBS=$ac_func_search_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 -echo "${ECHO_T}$ac_cv_search_opendir" >&6 -if test "$ac_cv_search_opendir" != no; then - test "$ac_cv_search_opendir" = "none required" || LIBS="$ac_cv_search_opendir $LIBS" - -fi - -fi - -echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 -if test "${ac_cv_header_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_header_stdc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_header_stdc=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - exit(2); - exit (0); -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_header_stdc=no -fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -fi -echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 -echo "${ECHO_T}$ac_cv_header_stdc" >&6 -if test $ac_cv_header_stdc = yes; then - -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF - -fi - - - - - - - - - - - - - - - - - - - - - - - - - -for ac_header in fcntl.h malloc.h sys/time.h unistd.h sys/select.h sys/statvfs.h sys/swap.h sys/systeminfo.h sys/sysctl.h sys/vmmeter.h sys/socket.h sys/types.h dirent.h sys/utsname.h netdb.h netinet/in.h netinet/tcp.h arpa/inet.h sys/resource.h signal.h sys/wait.h sys/mount.h sys/ipc.h sys/shm.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc in - yes:no ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------ ## -## Report this to bug-autoconf@gnu.org. ## -## ------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; - no:yes ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------ ## -## Report this to bug-autoconf@gnu.org. ## -## ------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=$ac_header_preproc" -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6 if test "${ac_cv_c_const+set}" = set; then @@ -6829,62 +6127,6 @@ _ACEOF fi -echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5 -echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6 -if test "${ac_cv_header_time+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include - -int -main () -{ -if ((struct tm *) 0) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_header_time=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_header_time=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5 -echo "${ECHO_T}$ac_cv_header_time" >&6 -if test $ac_cv_header_time = yes; then - -cat >>confdefs.h <<\_ACEOF -#define TIME_WITH_SYS_TIME 1 -_ACEOF - -fi - echo "$as_me:$LINENO: checking whether struct tm is in sys/time.h or time.h" >&5 echo $ECHO_N "checking whether struct tm is in sys/time.h or time.h... $ECHO_C" >&6 if test "${ac_cv_struct_tm+set}" = set; then @@ -7818,8 +7060,6 @@ s,@BUILD_TOP_DIR@,$BUILD_TOP_DIR,;t t s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t s,@MAINT@,$MAINT,;t t -s,@MYSQL_LIBS@,$MYSQL_LIBS,;t t -s,@MYSQL_CFLAGS@,$MYSQL_CFLAGS,;t t s,@CC@,$CC,;t t s,@CFLAGS@,$CFLAGS,;t t s,@LDFLAGS@,$LDFLAGS,;t t @@ -7849,6 +7089,8 @@ s,@PTHREAD_CC@,$PTHREAD_CC,;t t s,@PTHREAD_LIBS@,$PTHREAD_LIBS,;t t s,@PTHREAD_CFLAGS@,$PTHREAD_CFLAGS,;t t s,@MYSQL_CONFIG@,$MYSQL_CONFIG,;t t +s,@MYSQL_LIBS@,$MYSQL_LIBS,;t t +s,@MYSQL_CFLAGS@,$MYSQL_CFLAGS,;t t s,@EGREP@,$EGREP,;t t s,@CLIENT_BIN_FILENAME@,$CLIENT_BIN_FILENAME,;t t s,@STATIC_FLAGS@,$STATIC_FLAGS,;t t diff --git a/lib/Makefile.in b/lib/Makefile.in index 51ffdaebbd..057a6b24fb 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -14,15 +14,6 @@ @SET_MAKE@ -# MYSQL_INCLUDES = /usr/local/mysql/include -# MYSQL_INCLUDES2 = /usr/local/mysql/include/mysql -# MYSQL_INCLUDES3 = /usr/include/mysql - -# MYSQL_LIBS = \ -# -L/usr/local/mysql/lib -L/sw/lib/mysql -L/usr/local/lib/mysql \ -# -lmysqlclient -L/usr/local/lib -lz \ -# -lm $(NETLIBS) - # Note: MYSQL_CFLAGS and MYSQL_LIBS set by configure from mysql_config srcdir = @srcdir@ diff --git a/py/Makefile.in b/py/Makefile.in index 7ac6efc2fe..bb50f44fd2 100644 --- a/py/Makefile.in +++ b/py/Makefile.in @@ -14,15 +14,6 @@ @SET_MAKE@ -# MYSQL_INCLUDES = /usr/local/mysql/include -# MYSQL_INCLUDES2 = /usr/local/mysql/include/mysql -# MYSQL_INCLUDES3 = /usr/include/mysql - -# MYSQL_LIBS = \ -# -L/usr/local/mysql/lib -L/sw/lib/mysql -L/usr/local/lib/mysql \ -# -lmysqlclient -L/usr/local/lib -lz \ -# -lm $(NETLIBS) - # Note: MYSQL_CFLAGS and MYSQL_LIBS set by configure from mysql_config srcdir = @srcdir@ diff --git a/py/boinc.py b/py/boinc.py index cbfe4fe21b..77a27b4c22 100644 --- a/py/boinc.py +++ b/py/boinc.py @@ -245,6 +245,11 @@ def query_noyes(str): print str, "[y/N] ", return raw_input().strip().lower().startswith('y') +def build_command_line(cmd, **kwargs): + for (key, value) in kwargs.items(): + cmd += " -%s '%s'" %(key,value) + return cmd + class Platform: def __init__(self, name, user_friendly_name=None): self.name = name @@ -287,6 +292,8 @@ class Project: self.shmem_key = generate_shmem_key() self.resource_share = resource_share or 1 self.redundancy = redundancy or 2 + # this 'redundancy' number is used to set WU's min_quorum, + # target_nresults, etc. self.output_level = 3 self.master_url = master_url or os.path.join(options.html_url , self.short_name , '') @@ -413,8 +420,7 @@ class Project: map(lambda (s): install(builddir('sched',s), self.dir('cgi-bin',s)), [ 'cgi', 'file_upload_handler']) map(lambda (s): install(builddir('sched',s), self.dir('bin',s)), - [ 'make_work', - 'feeder', 'timeout_check', 'validate_test', + [ 'make_work', 'feeder', 'transitioner', 'validate_test', 'file_deleter', 'assimilator' ]) map(lambda (s): install(srcdir('sched',s), self.dir('bin',s)), [ 'start', 'stop', 'status', @@ -439,20 +445,23 @@ class Project: db.close() for platform in self.platforms: - run_tool("add platform -db_name %s -platform_name %s -user_friendly_name '%s'" %( - self.db_name, platform.name, platform.user_friendly_name)) + cmd = build_command_line("add platform", + db_name = self.db_name, + platform_name = platform.name, + user_friendly_name = platform.user_friendly_name) + run_tool(cmd) verbose_echo(1, "Setting up database: adding %d core version(s)" % len(self.core_versions)) for core_version in self.core_versions: - run_tool(("add core_version -db_name %s -platform_name %s" + - " -version %s -download_dir %s -download_url %s -exec_dir %s" + - " -exec_files %s") % - (self.db_name, core_version.platform.name, - core_version.version, - self.download_dir, - self.download_url, - core_version.exec_dir, - core_version.exec_name)) + cmd = build_command_line("add core_version", + db_name = self.db_name, + platform_name = core_version.platform.name, + version = core_version.version, + download_dir = self.download_dir, + download_url = self.download_url, + exec_dir = core_version.exec_dir, + exec_files = core_version.exec_name) + run_tool(cmd) verbose_echo(1, "Setting up database: adding %d app version(s)" % len(self.app_versions)) for app_version in self.app_versions: @@ -527,15 +536,15 @@ class Project: each_app = False if progname == 'feeder': _check_vars(kwargs) - elif progname == 'timeout_check': - _check_vars(kwargs, app=self.app.name, nerror=5, ndet=5, nredundancy=5) + elif progname == 'transitioner': + _check_vars(kwargs) elif progname == 'make_work': work = kwargs.get('work', self.work) _check_vars(kwargs, cushion=None, redundancy=self.redundancy, result_template=os.path.realpath(work.result_template), wu_name=work.wu_template) elif progname == 'validate_test': - _check_vars(kwargs, quorum=self.redundancy) + _check_vars(kwargs) each_app = True elif progname == 'file_deleter': _check_vars(kwargs) @@ -544,7 +553,7 @@ class Project: each_app = True else: raise SystemExit("test script error: invalid progname '%s'"%progname) - cmdline = ' '.join(map(lambda k: '-%s %s'%(k,kwargs[k]), kwargs.keys())) + cmdline = apply(build_command_line, [''], kwargs) if each_app: return map(lambda av: '-app %s %s'%(av.app.name,cmdline), self.app_versions) else: diff --git a/test/Makefile.in b/test/Makefile.in index 4c992adb80..f717cbebfe 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -14,15 +14,6 @@ @SET_MAKE@ -# MYSQL_INCLUDES = /usr/local/mysql/include -# MYSQL_INCLUDES2 = /usr/local/mysql/include/mysql -# MYSQL_INCLUDES3 = /usr/include/mysql - -# MYSQL_LIBS = \ -# -L/usr/local/mysql/lib -L/sw/lib/mysql -L/usr/local/lib/mysql \ -# -lmysqlclient -L/usr/local/lib -lz \ -# -lm $(NETLIBS) - # Note: MYSQL_CFLAGS and MYSQL_LIBS set by configure from mysql_config srcdir = @srcdir@ diff --git a/test/test_backend.py b/test/test_backend.py index 207e064915..24fa5fc046 100755 --- a/test/test_backend.py +++ b/test/test_backend.py @@ -3,7 +3,7 @@ ## $Id$ # End to end test. Tests make_work, feeder, scheduling server, client, -# file_upload_handler, validator, assimilator, timeout_check, and file_deleter +# file_upload_handler, validator, assimilator, transitioner, and file_deleter # on a large batch of workunits. Confirms that credit is correctly granted # and that unneeded files are deleted @@ -11,12 +11,12 @@ from test_uc import * import time, os class ProjectBackend(ProjectUC): - def __init__(self, num): - self.num = num - ProjectUC.__init__(self, redundancy = 5, short_name = 'test_backend') + def __init__(self, num_wu, redundancy) + self.num_wu = num_wu + ProjectUC.__init__(self, redundancy = redundancy, short_name = 'test_backend') def run(self): self.install() - self.sched_install('make_work', cushion=self.num-1) + self.sched_install('make_work', cushion=self.num_wu-1) self.start_servers() # wait for 500 results to be generated @@ -37,7 +37,7 @@ class ProjectBackend(ProjectUC): self.sched_install('file_deleter') self.sched_install('validate_test') self.sched_install('feeder') - # self.sched_install('timeout_check', nredundancy=0) + self.sched_install('transitioner') self.start_servers() def check(self): @@ -47,7 +47,8 @@ class ProjectBackend(ProjectUC): self.check_results(ResultUC(), self.num) if __name__ == '__main__': - num = sys.argv[1:] and get_int(sys.argv[1]) or 100 - test_msg("entire backend (with %d results)" % num); - ProjectBackend(num) + num_wu = sys.argv[1:] and get_int(sys.argv[1]) or 100 + redundancy = sys.argv[2:] and get_int(sys.argv[2]) or 5 + test_msg("entire backend (with %d workunits * %d results each)" % num_wu, redundancy); + ProjectBackend(num_wu = num_wu, redundancy = redundancy) run_check_all() diff --git a/test/test_concat.py b/test/test_concat.py index f8c5c4ebe6..a438bd17ec 100755 --- a/test/test_concat.py +++ b/test/test_concat.py @@ -12,13 +12,12 @@ class WorkConcat(Work): self.wu_template = "concat_wu" self.result_template = "concat_result" self.input_files = ['input']*2 - self.delay_bound = 86400*3 class ProjectConcat(TestProject): def __init__(self, works=None, users=None, hosts=None, redundancy=2): TestProject.__init__(self, appname = 'concat', - works = works or [WorkConcat()], + works = works or [WorkConcat(redundancy=redundancy)], users = users, hosts = hosts, redundancy=redundancy) diff --git a/test/test_uc.py b/test/test_uc.py index ee0755416a..e26f1894fd 100755 --- a/test/test_uc.py +++ b/test/test_uc.py @@ -21,20 +21,12 @@ class UserUC(User): """ class WorkUC(Work): - def __init__(self, redundancy=2): + def __init__(self, **kwargs): Work.__init__(self) self.wu_template = "uc_wu" self.result_template = "uc_result" - self.redundancy = redundancy - self.delay_bound = 86400*3 # 5*redundancy self.input_files = ['input'] - # # Say that 1 WU takes 1 day on a ref comp - # - note: for test_1sec these values are too high so if you want to - # add these back, make them smaller of make test_1sec - # request more work - # self.rsc_fpops = 86400*1e9/2 - # self.rsc_iops = 86400*1e9/2 - # self.rsc_disk = 10e8 + self.__dict__.update(kwargs) class ResultUC: def __init__(self): @@ -74,6 +66,7 @@ class ProjectUC(TestProject): self.check_results(result) self.check_files_match("upload/uc_wu_%d_0", "uc_correct_output", count=self.redundancy) self.sched_run('assimilator') + self.sched_run('transitioner') self.sched_run('file_deleter') self.check_deleted("download/input") self.check_deleted("upload/uc_wu_%d_0", count=self.redundancy) diff --git a/test/testbase.py b/test/testbase.py index cefd83370c..bf1fe7bb62 100644 --- a/test/testbase.py +++ b/test/testbase.py @@ -356,7 +356,7 @@ class Host: self.log_flags = 'log_flags.xml' self.host_dir = os.path.join(options.hosts_dir, self.name) self.defargs = "-exit_when_idle -skip_cpu_benchmarks -debug_fake_exponential_backoff -return_results_immediately" - # self.defargs = "-exit_when_idle -skip_cpu_benchmarks -sched_retry_delay_min 1" + # self.defargs = "-exit_when_idle -skip_cpu_benchmarks -sched_retry_delay_bin 1" def add_user(self, user, project): self.users.append(user) @@ -414,15 +414,21 @@ class Host: filename)) class Work: - def __init__(self, redundancy=1): + def __init__(self, redundancy=None, **kwargs): self.input_files = [] self.rsc_iops = 1.8e12 self.rsc_fpops = 1e13 self.rsc_memory = 1e7 self.rsc_disk = 1e7 - self.delay_bound = 1000 - self.redundancy = redundancy + self.delay_bound = 86400 + redundancy = redundancy or 2 + self.min_quorum = redundancy + self.target_nresults = redundancy + self.max_error_results = redundancy * 2 + self.max_total_results = redundancy * 4 + self.max_success_results = redundancy * 2 self.app = None + self.__dict__.update(kwargs) def install(self, project): verbose_echo(1, "Installing work <%s> in project '%s'" %( @@ -453,12 +459,25 @@ class Work: verbose_echo(2, "Linking "+newhandler) os.symlink(handler, newhandler) - cmd = "create_work -db_name %s -download_dir %s -upload_url %s -download_url %s -keyfile %s -appname %s -rsc_iops %.0f -rsc_fpops %.0f -rsc_disk %.0f -wu_template %s -result_template %s -redundancy %s -wu_name %s -delay_bound %d" % ( - project.db_name, project.download_dir, project.upload_url, - project.download_url, os.path.join(project.key_dir,'upload_private'), - self.app.name, self.rsc_iops, self.rsc_fpops, self.rsc_disk, - self.wu_template, self.result_template, self.redundancy, self.wu_template, - self.delay_bound) + cmd = build_command_line("create_work", + db_name = project.db_name, + download_dir = project.download_dir, + upload_url = project.upload_url, + download_url = project.download_url, + keyfile = os.path.join(project.key_dir,'upload_private'), + appname = self.app.name, + rsc_iops = self.rsc_iops, + rsc_fpops = self.rsc_fpops, + rsc_disk = self.rsc_disk, + wu_template = self.wu_template, + result_template = self.result_template, + min_quorum = self.min_quorum, + target_nresults = self.target_nresults, + max_error_results = self.max_error_results, + max_total_results = self.max_total_results, + max_success_results = self.max_success_results, + wu_name = self.wu_template, + delay_bound = self.delay_bound) for input_file in self.input_files: cmd += ' ' + input_file diff --git a/tools/Makefile.in b/tools/Makefile.in index 5c5fae261f..0ad827adb1 100644 --- a/tools/Makefile.in +++ b/tools/Makefile.in @@ -14,15 +14,6 @@ @SET_MAKE@ -# MYSQL_INCLUDES = /usr/local/mysql/include -# MYSQL_INCLUDES2 = /usr/local/mysql/include/mysql -# MYSQL_INCLUDES3 = /usr/include/mysql - -# MYSQL_LIBS = \ -# -L/usr/local/mysql/lib -L/sw/lib/mysql -L/usr/local/lib/mysql \ -# -lmysqlclient -L/usr/local/lib -lz \ -# -lm $(NETLIBS) - # Note: MYSQL_CFLAGS and MYSQL_LIBS set by configure from mysql_config srcdir = @srcdir@ diff --git a/tools/add.C b/tools/add.C index 84346fe095..30df9d06c6 100644 --- a/tools/add.C +++ b/tools/add.C @@ -2,18 +2,18 @@ // Version 1.0 (the "License"); you may not use this file except in // compliance with the License. You may obtain a copy of the License at // http://boinc.berkeley.edu/license_1.0.txt -// +// // Software distributed under the License is distributed on an "AS IS" // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the // License for the specific language governing rights and limitations -// under the License. -// -// The Original Code is the Berkeley Open Infrastructure for Network Computing. -// +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// // The Initial Developer of the Original Code is the SETI@home project. // Portions created by the SETI@home project are Copyright (C) 2002 -// University of California at Berkeley. All Rights Reserved. -// +// University of California at Berkeley. All Rights Reserved. +// // Contributor(s): // @@ -30,7 +30,7 @@ // add app_version // -app_name x -platform_name y -version a // -download_dir d -download_url e -// -exec_dir b +// -exec_dir b // [ -exec_files file1 file2 ... ] // [ -signed_exec_files file1 sign1 file2 sign2 ... ] // create DB record @@ -334,6 +334,7 @@ int main(int argc, char** argv) { int i, retval; for (i=2; i