#!/bin/sh #@(#) Configuration script for sysstat # (C) 2000-2020 Sebastien GODARD (sysstat orange.fr) ASK="sh build/Ask.sh" echo ; echo echo Welcome to sysstat\'s Interactive Configuration script! echo echo This script enables you to set the parameters value used by ./configure. echo Please enter the value for the parameters listed below. echo Press Return to tell ./configure to use the default value or to try to guess the proper one. echo "Defaut value for yes/no questions is no (parameter is NOT set)." echo You can enter a ? to display a help message at any time... echo # Syntax: Ask # Installation directory PREFIX=`${ASK} 'Installation directory:' "--prefix" "prefix"` if [ "${PREFIX}" != "" ]; then PREFIX="--prefix=${PREFIX} " fi # sadc directory SA_LIB_DIR=`${ASK} 'sadc directory:' "sa_lib_dir" "sa_lib_dir"` if [ "${SA_LIB_DIR}" != "" ]; then SA_LIB_DIR="sa_lib_dir=${SA_LIB_DIR} " fi # System Activity directory SA_DIR=`${ASK} 'System activity directory:' "sa_dir" "sa_dir"` if [ "${SA_DIR}" != "" ]; then SA_DIR="sa_dir=${SA_DIR} " fi # sysstat configuration directory SYSCONFIG_DIR=`${ASK} 'sysstat configuration directory:' "conf_dir" "conf_dir"` if [ "${SYSCONFIG_DIR}" != "" ]; then SYSCONFIG_DIR="conf_dir=${SYSCONFIG_DIR} " fi # sysstat configuration file SYSCONFIG_FILE=`${ASK} 'sysstat configuration file:' "conf_file" "conf_file"` if [ "${SYSCONFIG_FILE}" != "" ]; then SYSCONFIG_FILE="conf_file=${SYSCONFIG_FILE} " fi # Clean sa directory CLEAN_SA_DIR=`${ASK} 'Clean system activity directory? (y/n)' "--enable-clean-sa-dir" "clean-sa-dir"` if [ "${CLEAN_SA_DIR}" = "y" ]; then CLEAN_SA_DIR="--enable-clean-sa-dir " else CLEAN_SA_DIR="" echo "Parameter --enable-clean-sa-dir is NOT set" fi # National Language Support NLS=`${ASK} 'Disable National Language Support (NLS)? (y/n)' "--disable-nls" "nls"` if [ "${NLS}" = "y" ]; then NLS="--disable-nls " else NLS="" echo "Parameter --disable-nls is NOT set" fi # Link Time Optimization support LTO=`${ASK} 'Compile with Link Time Optimizations (LTO)? (y/n)' "--enable-lto" "lto"` if [ "${LTO}" = "y" ]; then LTO="--enable-lto " else LTO="" echo "Parameter --enable-lto is NOT set" fi # Sensors support SENSORS=`${ASK} 'Disable sensors support? (y/n)' "--disable-sensors" "sensors"` if [ "${SENSORS}" = "y" ]; then SENSORS="--disable-sensors " else SENSORS="" echo "Parameter --disable-sensors is NOT set" fi # PCP support PCP=`${ASK} 'Disable PCP support? (y/n)' "--disable-pcp" "pcp"` if [ "${PCP}" = "y" ]; then PCP="--disable-pcp " else PCP="" echo "Parameter --disable-pcp is NOT set" fi # Data history to keep by sa2 HISTORY=`${ASK} 'Number of daily data files to keep:' "history" "history"` if [ "${HISTORY}" != "" ]; then HISTORY="history=${HISTORY} " fi # Random delay before sa2 script generates its reports files DELAY_RANGE=`${ASK} 'Maximum delay in seconds to wait before sa2 script runs:' "delay_range" "delay_range"` if [ "${DELAY_RANGE}" != "" ]; then DELAY_RANGE="delay_range=${DELAY_RANGE} " fi # Delay after which datafiles are to be compressed COMPRESSAFTER=`${ASK} 'Number of days after which sar datafiles must be compressed:' "compressafter" "compressafter"` if [ "${COMPRESSAFTER}" != "" ]; then COMPRESSAFTER="compressafter=${COMPRESSAFTER} " fi # Manual page group MAN=`${ASK} 'Group for manual pages:' "man_group" "man_group"` if [ "${MAN}" != "" ]; then MAN="man_group=${MAN} " fi # Don't set attributes on files being installed IGNORE_FILE_ATTR=`${ASK} 'Do not set attributes on files being installed? (y/n)' "--disable-file-attr" "ignore-file-attr"` if [ "${IGNORE_FILE_ATTR}" = "y" ]; then IGNORE_FILE_ATTR="--disable-file-attr " else IGNORE_FILE_ATTR="" echo "Parameter --disable-file-attr is NOT set" fi # Crontab CRON=`${ASK} 'Set crontab to start sar automatically? (y/n)' "--enable-install-cron" "install-cron"` if [ "${CRON}" = "y" ]; then CRON="--enable-install-cron " else CRON="" echo "Parameter --enable-install-cron is NOT set" fi if [ "${CRON}" != "" ]; then CRON_OWNER=`${ASK} 'Crontab owner:' "cron_owner" "cron_owner"` if [ "${CRON_OWNER}" != "" ]; then CRON="${CRON}cron_owner=${CRON_OWNER} " fi fi if [ "${CRON}" != "" ]; then USE_CROND=`${ASK} 'Use standard cron daemon? (y/n)' "--enable-use-crond" "use-crond"` if [ "${USE_CROND}" = "y" ]; then USE_CROND="--enable-use-crond " else USE_CROND="" echo "Parameter --enable-use-crond is NOT set" fi fi if [ "${CRON}" != "" ]; then CRON_INTERVAL=`${ASK} 'Crontab sampling interval (in minutes):' "cron_interval" "cron_interval"` if [ "${CRON_INTERVAL}" != "" ]; then CRON="${CRON}cron_interval=${CRON_INTERVAL} " fi fi if [ "${CRON}" != "" ]; then COLL_ALL=`${ASK} 'Should sadc collect optional activities? (y/n)' "--enable-collect-all" "collect-all"` if [ "${COLL_ALL}" = "y" ]; then CRON="${CRON}--enable-collect-all " else echo "Parameter --enable-collect-all is NOT set" fi fi if [ "${CRON}" != "" -a "${COLL_ALL}" != "y" ]; then # Optional args for sadc SADC_OPT=`${ASK} 'Options to be passed to sadc:' "sadc_options" "sadc_options"` else SADC_OPT= fi if [ "${CRON}" != "" ]; then # rc directory RCDIR=`${ASK} 'rc directory:' "rcdir" "rcdir"` if [ "${RCDIR}" != "" ]; then RCDIR="rcdir=${RCDIR} " fi fi if [ "${CRON}" != "" ]; then # Only copy files COPY_ONLY=`${ASK} 'Only copy files when installing sysstat? (y/n)' "--enable-copy-only" "copy-only"` if [ "${COPY_ONLY}" = "y" ]; then COPY_ONLY="--enable-copy-only " else COPY_ONLY="" echo "Parameter --enable-copy-only is NOT set" fi fi # Compress manual pages COMPRESSMANPG=`${ASK} 'Do not compress manual pages? (y/n)' "--disable-compress-manpg" "compress-manpg"` if [ "${COMPRESSMANPG}" = "y" ]; then COMPRESSMANPG="--disable-compress-manpg " else COMPRESSMANPG="" echo "Parameter --disable-compress-manpg is NOT set" fi # Install documentation INSTALL_DOC=`${ASK} 'Skip documentation installation? (y/n)' "--disable-documentation" "install-doc"` if [ "${INSTALL_DOC}" = "y" ]; then INSTALL_DOC="--disable-documentation " else INSTALL_DOC="" echo "Parameter --disable-documentation is NOT set" fi # Debug mode DEBUGINFO=`${ASK} 'Debug mode support? (y/n)' "--enable-debuginfo" "debuginfo"` if [ "${DEBUGINFO}" = "y" ]; then DEBUGINFO="--enable-debuginfo " else DEBUGINFO="" echo "Parameter --enable-debuginfo is NOT set" fi # Strip object files STRIP=`${ASK} 'Do not strip object files? (y/n)' "--disable-stripping" "stripping"` if [ "${STRIP}" = "y" ]; then STRIP="--disable-stripping " else STRIP="" echo "Parameter --disable-stripping is NOT set" fi echo echo -n "./configure ${PREFIX}${SA_LIB_DIR}${SA_DIR}${SYSCONFIG_DIR}${SYSCONFIG_FILE} \ ${CLEAN_SA_DIR}${NLS}${LTO}${HISTORY}${DELAY_RANGE}${COMPRESSAFTER}${MAN}${IGNORE_FILE_ATTR} \ ${CRON}${USE_CROND}${RCDIR}" if [ "${SADC_OPT}" != "" ]; then echo -n "sadc_options=\"${SADC_OPT}\"" fi echo "${COMPRESSMANPG}${INSTALL_DOC}${DEBUGINFO}${SENSORS}${PCP}${STRIP}${COPY_ONLY}" echo ./configure ${PREFIX}${SA_LIB_DIR}${SA_DIR}${SYSCONFIG_DIR}${SYSCONFIG_FILE} \ ${CLEAN_SA_DIR}${NLS}${LTO} \ ${HISTORY}${DELAY_RANGE}${COMPRESSAFTER}${MAN}${IGNORE_FILE_ATTR}${CRON}${USE_CROND}${RCDIR} \ sadc_options="${SADC_OPT}" ${COMPRESSMANPG}${INSTALL_DOC}${DEBUGINFO}${SENSORS} \ ${PCP}${STRIP}${COPY_ONLY}