X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/1d4c743d20b1e6f3312c1dcfbf5074f9ef80a219..5e86105184edb12bfd304fe264b39880f4cea23c:/configure.ac diff --git a/configure.ac b/configure.ac index be58c5e..04034d4 100644 --- a/configure.ac +++ b/configure.ac @@ -1,8 +1,8 @@ # Configure script for Ganeti m4_define([gnt_version_major], [2]) -m4_define([gnt_version_minor], [1]) -m4_define([gnt_version_revision], [5]) -m4_define([gnt_version_suffix], []) +m4_define([gnt_version_minor], [4]) +m4_define([gnt_version_revision], [0]) +m4_define([gnt_version_suffix], [~beta1]) m4_define([gnt_version_full], m4_format([%d.%d.%d%s], gnt_version_major, gnt_version_minor, @@ -135,6 +135,54 @@ AC_ARG_WITH([lvm-stripecount], [lvm_stripecount="1"]) AC_SUBST(LVM_STRIPECOUNT, $lvm_stripecount) +# --with-user-prefix=... +AC_ARG_WITH([user-prefix], + [AS_HELP_STRING([--with-user-prefix=PREFIX], + [prefix for daemon users] + [ (default is to run all daemons as root)] + )], + [user_masterd="${withval}masterd"; + user_rapi="${withval}rapi"; + user_confd="${withval}confd"; + user_noded="root"], + [user_masterd="root"; + user_rapi="root"; + user_confd="root"; + user_noded="root"]) +AC_SUBST(MASTERD_USER, $user_masterd) +AC_SUBST(RAPI_USER, $user_rapi) +AC_SUBST(CONFD_USER, $user_confd) +AC_SUBST(NODED_USER, $user_noded) + +# --with-group-prefix=... +AC_ARG_WITH([group-prefix], + [AS_HELP_STRING([--with-group-prefix=PREFIX], + [prefix for daemon POSIX groups] + [ (default is to run all daemons under group root)] + )], + [group_rapi="${withval}rapi"; + group_admin="${withval}admin"; + group_confd="${withval}confd"; + group_masterd="${withval}masterd"; + group_daemons="${withval}daemons";], + [group_rapi="root"; + group_admin="root"; + group_confd="root"; + group_masterd="root"; + group_daemons="root"]) +AC_SUBST(RAPI_GROUP, $group_rapi) +AC_SUBST(ADMIN_GROUP, $group_admin) +AC_SUBST(CONFD_GROUP, $group_confd) +AC_SUBST(MASTERD_GROUP, $group_masterd) +AC_SUBST(DAEMONS_GROUP, $group_daemons) + +# Print the config to the user +AC_MSG_NOTICE([Running ganeti-masterd as $group_masterd:$group_masterd]) +AC_MSG_NOTICE([Running ganeti-rapi as $user_rapi:$group_rapi]) +AC_MSG_NOTICE([Running ganeti-confd as $user_confd:$group_confd]) +AC_MSG_NOTICE([Group for daemons is $group_daemons]) +AC_MSG_NOTICE([Group for clients is $group_admin]) + # --enable-drbd-barriers AC_ARG_ENABLE([drbd-barriers], [AS_HELP_STRING([--enable-drbd-barriers], @@ -175,23 +223,25 @@ then fi AC_SUBST(SYSLOG_USAGE, $SYSLOG) +# --with-disk-separator=... +AC_ARG_WITH([disk-separator], + [AS_HELP_STRING([--with-disk-separator=STRING], + [Disk index separator, useful if the default of ':' is handled specially by the hypervisor] + )], + [disk_separator="$withval"], + [disk_separator=":"]) +AC_SUBST(DISK_SEPARATOR, $disk_separator) + # Check common programs AC_PROG_INSTALL AC_PROG_LN_S -# Check for docbook programs -AC_ARG_VAR(DOCBOOK2MAN, [docbook2man path]) -AC_PATH_PROG(DOCBOOK2MAN, [docbook2man], []) -if test -z "$DOCBOOK2MAN" +# Check for pandoc +AC_ARG_VAR(PANDOC, [pandoc path]) +AC_PATH_PROG(PANDOC, [pandoc], []) +if test -z "$PANDOC" then - AC_MSG_WARN([docbook2man not found, man pages rebuild will not be possible]) -fi - -AC_ARG_VAR(DOCBOOK2HTML, [docbook2html path]) -AC_PATH_PROG(DOCBOOK2HTML, [docbook2html], []) -if test -z "$DOCBOOK2HTML" -then - AC_MSG_WARN([docbook2html not found, man pages rebuild will not be possible]) + AC_MSG_WARN([pandoc not found, man pages rebuild will not be possible]) fi # Check for python-sphinx @@ -249,6 +299,40 @@ fi AC_SUBST(SOCAT_USE_ESCAPE) +SOCAT_USE_COMPRESS= +AC_ARG_ENABLE([socat-compress], + [AS_HELP_STRING([--enable-socat-compress], + [use OpenSSL compression option available in patched socat builds + (see INSTALL for details; default: detect automatically)])], + [[if test "$enableval" = yes; then + SOCAT_USE_COMPRESS=True + else + SOCAT_USE_COMPRESS=False + fi + ]]) + +if test -z "$SOCAT_USE_COMPRESS" +then + if $SOCAT -hhh | grep -w -q openssl-compress; then + SOCAT_USE_COMPRESS=True + else + SOCAT_USE_COMPRESS=False + fi +fi + +AC_SUBST(SOCAT_USE_COMPRESS) + +if man --help | grep -q -e --warnings +then + MAN_HAS_WARNINGS=1 +else + MAN_HAS_WARNINGS= + AC_MSG_WARN([man doesn't support --warnings, man pages checks + will not be possible]) +fi + +AC_SUBST(MAN_HAS_WARNINGS) + # Check for Python AM_PATH_PYTHON(2.4) @@ -256,6 +340,14 @@ AC_PYTHON_MODULE(OpenSSL, t) AC_PYTHON_MODULE(simplejson, t) AC_PYTHON_MODULE(pyparsing, t) AC_PYTHON_MODULE(pyinotify, t) +AC_PYTHON_MODULE(pycurl, t) + +# This is optional but then we've limited functionality +AC_PYTHON_MODULE(paramiko) +if test "$HAVE_PYMOD_PARAMIKO" = "no"; then + AC_MSG_WARN([You do not have paramiko installed. While this is optional you + have to setup SSH and noded on the joining nodes yourself.]) +fi AC_CONFIG_FILES([ Makefile ])