diff --git a/configure b/configure index db3f34ae57d6a2a5f03b1b98cc3518b7036e41e9..b05d08835d70c70f45f8b0e46bf9f8aefd0b0f2a 100755 --- a/configure +++ b/configure @@ -36,21 +36,22 @@ Fine tuning of the installation directories: --with-system-dir=DIR 66 tools system working directory [/var/lib/66] --with-system-service=DIR system service frontend directory [DATAROOTDIR/66/service] --with-system-module=DIR system module directory [DATAROOTDIR/66/module] - + --with-system-script=DIR system script directory [DATAROOTDIR/66/script] + --with-sysadmin-service=DIR sysadmin service frontend directory [SYSDIR/66/service] --with-sysadmin-service-conf=DIR sysadmin service configuration file directory [SYSDIR/66/conf] - --with-sysadmin-module=DIR sysadmin module directory [SYSDIR/66/module] --with-user-dir=DIR 66 tools user working directory [.66] --with-user-log=DIR user service log directory [.66/log] --with-user-service=DIR user service directory [.66/service] --with-user-service-conf=DIR user service configuration directory [.66/conf] - - --with-user-module=DIR user module directory [.66/module] + --with-user-module=DIR user module directory [.66/module] + --with-user-script=DIR user script directory [.66/script] Do not set an absolute path but a \$HOME relative path for --with-user-dir, - --with-user-log, --with-user-service, --with-user-service-conf and --with-user-module. + --with-user-log, --with-user-service, --with-user-service-conf, --with-user-module + and --with-user-script. The \$HOME prefix will be appened at the pathname automatically in function of the user. For example , by default the final path for --with-user-dir will be \$HOME/.66. @@ -183,12 +184,14 @@ system_log='/var/log/66' s6log_user='root' service_system='$datarootdir/66/service' module_system='$datarootdir/66/module' +script_system='$datarootdir/66/script' service_adm='$sysconfdir/66/service' module_adm='$sysconfdir/66/module' service_admconf='$sysconfdir/66/conf' user_dir='.66' service_user='.66/service' module_user='.66/module' +script_user='.66/script' service_userconf='.66/conf' user_log='.66/log' sysdeps='$prefix/lib/skalibs/sysdeps' @@ -232,12 +235,14 @@ for arg ; do --with-s6-log-user=*) s6log_user=${arg#*=} ;; --with-system-service=*) service_system=${arg#*=} ;; --with-system-module=*) module_system=${arg#*=} ;; + --with-system-script=*) script_system=${arg#*=} ;; --with-sysadmin-service=*) service_adm=${arg#*=} ;; --with-sysadmin-module=*) module_adm=${arg#*=} ;; --with-sysadmin-service-conf=*) service_admconf=${arg#*=} ;; --with-user-dir=*) user_dir=${arg#*=} ;; --with-user-service=*) service_user=${arg#*=} ;; --with-user-module=*) module_user=${arg#*=} ;; + --with-user-script=*) script_user=${arg#*=} ;; --with-user-service-conf=*) service_userconf=${arg#*=} ;; --with-user-log=*) user_log=${arg#*=} ;; --with-sysdeps=*) sysdeps=${arg#*=} manualsysdeps=true ;; @@ -304,14 +309,14 @@ fi stripdir prefix for i in exec_prefix dynlibdir libexecdir bindir libdir includedir sysconfdir \ datarootdir mandir shebangdir livedir skel system_dir system_log \ - service_system module_system service_adm module_adm service_admconf sproot sysdeps ; do + service_system module_system script_module service_adm module_adm service_admconf sproot sysdeps ; do eval tmp=\${$i} eval $i=$tmp stripdir $i done stripdir datarootdir -for i in service_system module_system mandir; do +for i in service_system module_system script_module mandir; do eval tmp=\${$i} eval $i=$tmp stripdir $i @@ -361,6 +366,7 @@ if $slashpackage ; then system_log=${datarootdir}/${system_log} service_system=${home}/${service_system} module_system=${home}/${module_system} + script_system=${home}/${script_system} service_adm=${home}/${sysconfdir}/${service_adm} module_adm=${home}/${sysconfdir}/${module_adm} service_admconf=${home}/${sysconfdir}/${service_admconf} @@ -524,12 +530,14 @@ system_log := $system_log s6log_user := $s6log_user service_system := $service_system module_system := $module_system +script_system := $script_system service_adm := $service_adm module_adm := $module_adm service_admconf := $service_admconf user_dir := $user_dir service_user := $service_user module_user := $module_user +script_user := $script_user service_userconf := $service_userconf user_log := $user_log sysdeps := $sysdeps @@ -608,6 +616,7 @@ All rights reserved.*/ #define ${package_macro_name}_SERVICE_ADMCONFDIR "$service_admconf/" #define ${package_macro_name}_MODULE_SYSDIR "$module_system/" #define ${package_macro_name}_MODULE_ADMDIR "$module_adm/" +#define ${package_macro_name}_SCRIPT_SYSDIR "$script_system/" /** Do not use absolute path but a \$HOME relative path * The /home/name_of_user prefix will be automatically added to the pathname */ @@ -616,6 +625,7 @@ All rights reserved.*/ #define ${package_macro_name}_SERVICE_USERDIR "$service_user/" #define ${package_macro_name}_SERVICE_USERCONFDIR "$service_userconf/" #define ${package_macro_name}_MODULE_USERDIR "$module_user/" +#define ${package_macro_name}_SCRIPT_USERDIR "$script_user/" EOF if $slashpackage ; then diff --git a/src/66/66-tree.c b/src/66/66-tree.c index 13e94630e1e92c76ae81fc3e315a6e52e4849c08..d0937d0460fa351ff0406786b0d03bedf4f78344 100644 --- a/src/66/66-tree.c +++ b/src/66/66-tree.c @@ -153,6 +153,7 @@ int sanitize_tree(stralloc *dstree, char const *base, char const *tree,uid_t own auto_check_one(SS_SERVICE_ADMCONFDIR,0755) ; auto_check_one(SS_MODULE_SYSDIR,0755) ; auto_check_one(SS_MODULE_ADMDIR,0755) ; + auto_check_one(SS_SCRIPT_SYSDIR,0755) ; } else { @@ -176,6 +177,9 @@ int sanitize_tree(stralloc *dstree, char const *base, char const *tree,uid_t own extra.len = extralen ; auto_stralloc_0(&extra,SS_MODULE_USERDIR) ; auto_check_one(extra.s,0755) ; + extra.len = extralen ; + auto_stralloc_0(&extra,SS_SCRIPT_USERDIR) ; + auto_check_one(extra.s,0755) ; stralloc_free(&extra) ; }