install: add --with-logger{,-opts} configure options

Introduce the --with-logger and --with-logger-opts configure options to
choose at installation time the default logger command and its options
to use to log information. Default logger is 'logger' and its default
options are '-t modules'.
This commit is contained in:
Xavier Delaruelle
2024-04-21 09:31:16 +02:00
parent d910e48287
commit 8d44da1b3e
5 changed files with 46 additions and 2 deletions

View File

@@ -287,6 +287,12 @@ else
pagercmd := $(pager)
endif
ifneq ($(loggeropts),)
loggercmd := $(logger) $(loggeropts)
else
loggercmd := $(logger)
endif
ifeq ($(color),y)
setcolor := auto
else
@@ -396,6 +402,7 @@ sed -e 's|@prefix@|$(prefix)|g' \
-e 's|@TCLSHDIR@/tclsh|$(TCLSH)|g' \
-e 's|@TCLSH@|$(TCLSH)|g' \
-e 's|@PYTHON@|$(PYTHON)|g' \
-e 's|@loggercmd@|$(loggercmd)|g' \
-e 's|@pagercmd@|$(pagercmd)|g' \
-e 's|@verbosity@|$(verbosity)|g' \
-e 's|@color@|$(setcolor)|g' \

View File

@@ -62,6 +62,10 @@ builddoc := @builddoc@
# able to use manpath cmd to get currently set manpath
usemanpath := @usemanpath@
# logger setup
logger := @logger@
loggeropts := @loggeropts@
# pager setup
pager := @pager@
pageropts := @pageropts@

28
configure vendored
View File

@@ -39,11 +39,12 @@ windowssupport nearlyforbiddendays implicitrequirement tagabbrev \
tagcolorname mcookieversioncheck availoutput availterseoutput listoutput \
listterseoutput editor variantshortcut bashcompletiondir fishcompletiondir \
zshcompletiondir tcllinter tcllinteropts nagelfardatadir nagelfaraddons \
stickypurge uniquenameloaded abortonerror sourcecache"
stickypurge uniquenameloaded abortonerror sourcecache logger loggeropts"
libarglist=()
# flags to know if argument has been specified on command-line
defpageropts=1
defloggeropts=1
# set argument default values
prefix=/usr/local/Modules
@@ -87,6 +88,8 @@ SED_ERE='sed -E'
VERSION=
RELEASE=
initconfin=etcdir
logger='logger'
loggeropts='-t modules'
pager=less
pageropts='-eFKRX'
verbosity=normal
@@ -316,6 +319,12 @@ Optional Packages:
configuration files. Either \`initdir' or \`etcdir'
[etcdir]
--with-tclsh=BIN name or full path of Tcl interpreter shell [tclsh]
--with-logger=BIN name or full path of default logger program to use
to log some evaluation information (can be super-
seeded at run-time by environment variable) [$logger]
--with-logger-opts=OPTLIST
settings to apply to default logger program
[$loggeropts]
--with-pager=BIN name or full path of default pager program to use to
paginate informational message output (can be super-
seeded at run-time by environment variable) [$pager]
@@ -703,6 +712,11 @@ for arg in "$@"; do
fi ;;
--with-tclsh=*|--without-tclsh)
tclshbin=$(get_package_value "$arg") ;;
--with-logger=*|--without-logger)
logger=$(get_package_value "$arg") ;;
--with-logger-opts=*|--without-logger-opts)
loggeropts=$(get_package_value "$arg")
defloggeropts=0 ;;
--with-pager=*|--without-pager)
pager=$(get_package_value "$arg") ;;
--with-pager-opts=*|--without-pager-opts)
@@ -1025,6 +1039,18 @@ check_requirement 'basename' '' "PATH=$binsearchpath"
# shellcheck disable=SC2034
BASENAME=$reqpath
# get logger program location from standard PATHs or /usr/local/bin
# or validate location passed as argument
if [ -n "$logger" ]; then
check_requirement "$logger" '' "PATH=$binsearchpath"
logger=$reqpath
fi
# adapt logger program settings dependings of specified args
if [ $defloggeropts -eq 1 ] && [ "${logger##*/}" != 'logger' ]; then
loggeropts=''
echo_warning "As chosen logger is not \`logger', default logger options are cleared"
fi
# get pager program location from standard PATHs or /usr/local/bin
# or validate location passed as argument
if [ -n "$pager" ]; then

View File

@@ -47,6 +47,13 @@ if {$install_pageropts ne {}} {
append install_pagercmd " $install_pageropts"
}
set install_logger "@logger@"
set install_loggeropts "@loggeropts@"
set install_loggercmd $install_logger
if {$install_loggeropts ne {}} {
append install_loggercmd " $install_loggeropts"
}
set install_verbosity "@verbosity@"
set install_color "@color@"

View File

@@ -113,7 +113,7 @@ array set g_config_defs [list\
ml {MODULES_ML @ml@ 0 b {0 1}}\
nearly_forbidden_days {MODULES_NEARLY_FORBIDDEN_DAYS @nearlyforbiddendays@\
0 i {0 365} {} {} intbe}\
pager {MODULES_PAGER {logger -t modules} 0 s}\
pager {MODULES_PAGER {@pagercmd@} 0 s}\
protected_envvars {MODULES_PROTECTED_ENVVARS <undef> 0 l}\
rcfile {MODULERCFILE <undef> 0 l}\
redirect_output {MODULES_REDIRECT_OUTPUT 1 0 b {0 1}}\