diff --git a/configure b/configure index 36f66a4b542c76bcd5482cf3215daace20163944..d5365ff9adcf2ff064580f55e83643370e086ab4 100755 --- a/configure +++ b/configure @@ -29,7 +29,10 @@ Fine tuning of the installation directories: --shebangdir=DIR absolute path for execline #\! invocations [BINDIR] --livedir=DIR default live directory [/run/66] - --max-svscan-service=NUMBER default maximum number of service handled by s6-svscan [500] + --max-service=NUMBER default maximum number of services handled by s6-svscan [500] + --max-path-size=KB default maximum size of a path[1024KB] + --max-service-size=KB default maximum size of a frontend service name[256KB] + --max-tree-name-size=KB default maximum size of a tree name[256KB] --with-skeleton=DIR skeleton files directory installation [SYSDIR/66] --with-system-log=DIR system service log directory [/var/log/66] --with-s6-log-user=USER user for running s6-log program [root] @@ -68,6 +71,14 @@ Fine tuning of the installation directories: Valid FORMAT for --with-s6-log-timestamp are tai,iso,none. + --max-path-size correspond to the maximum size of the path of per specified options for the + configuration installation. Each --with-*-*=DIR can not exceed --max-path-size=. Also, please + consider to incorporate service_adm the size of the $HOME path. + + --max-service-size= correspond to the maximum size of a frontend service name. Note: an + initiated service name can not exceed this size. For a frontend file with name foo@, the final name + of the runtime service (e.g. foo@bar) can not exceed --max-service-size=. + Dependencies: --with-sysdeps=DIR use sysdeps in DIR [PREFIX/lib/skalibs/sysdeps] --with-include=DIR add DIR to the list of searched directories for headers @@ -185,6 +196,9 @@ mandir='$datarootdir/man' shebangdir='$bindir' livedir='/run/66' max_service='500' +max_path='1024' +max_service_size='256' +max_treename='256' skel='$sysconfdir/66' system_dir='/var/lib/66' system_log='/var/log/66' @@ -236,7 +250,10 @@ for arg ; do --mandir=*) mandir=${arg#*=} ;; --shebangdir=*) shebangisdefault=false ; shebangdir=${arg#*=} ;; --livedir=*) livedir=${arg#*=} ;; - --max-svscan-service=*) max_service=${arg#*=} ;; + --max-service=*) max_service=${arg#*=} ;; + --max-path-size=*) max_path=${arg#*=} ;; + --max-service-size=*) max_service_size=${arg#*=} ;; + --max-tree-name-size=*) max_treename=${arg#*=} ;; --with-skeleton=*) skel=${arg#*=} ;; --with-system-dir=*) system_dir=${arg#*=} ;; --with-system-log=*) system_log=${arg#*=} ;; @@ -351,16 +368,39 @@ else fail "$0: invalid --with-s6-log-timestamp value -- valid value are: tai, iso or none" fi -# check valid max_service -case $max_service in - ''|*[!0-9]*) fail "$0: invalid number for --max-svscan-service" ;; - *) break ;; -esac +# check valid integer +for i in $max_service $max_path $max_service_size $max_treename; do + case $i in + ''|*[!0-9]*) fail "$0: invalid number for $i" ;; + *) break ;; + esac +done if [ $max_service -lt 2 ]; then - fail "$0: lower limit for --max-svscan-service is 2" + fail "$0: lower limit for --max-service is 2" +fi + +if [ $max_path -lt 2 ]; then + fail "$0: lower limit for --max-path-size is 2" +fi + +if [ $max_service_size -lt 2 ]; then + fail "$0: lower limit for --max-service-size is 2" +fi + +if [ $max_treename -lt 2 ]; then + fail "$0: lower limit for --max-tree-name-size is 2" fi +for i in $skel $system_dir $system_log $service_system $module_system $script_system \ + $seed_system $service_adm $module_adm $service_admconf $seed_adm $user_dir $service_user \ + $module_user $script_user $service_userconf $user_log $seed_user; do + + if [ ${#i} -ge $max_path ]; then + fail "$0: higher length for $i is $max_path" + fi +done + ## logger notification if $s6log_notify; then s6log_notify='0' @@ -521,6 +561,9 @@ datarootdir := $datarootdir mandir := $mandir livedir := $livedir max_service := $max_service +max_path := $max_path +max_service_size := $max_service_size +max_treename := $max_treename skel := $skel system_dir := $system_dir system_log := $system_log @@ -607,6 +650,9 @@ All rights reserved.*/ #define ${package_macro_name}_VERSION "$version" #define ${package_macro_name}_LIVE "$livedir/" #define ${package_macro_name}_MAX_SERVICE $max_service +#define ${package_macro_name}_MAX_PATH $max_path +#define ${package_macro_name}_MAX_SERVICE_NAME $max_service_size +#define ${package_macro_name}_MAX_TREENAME $max_treename #define ${package_macro_name}_SYSTEM_DIR "$system_dir/" #define ${package_macro_name}_SKEL_DIR "$skel/" #define ${package_macro_name}_LOGGER_SYSDIR "$system_log/"