From a59ed4b39443eb788c15c65501898ca374387e2e Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Mon, 18 Jan 2021 06:56:18 +0000 Subject: Add a new runtime directory and move the pid file to it. The data directory is intended for persistent files whereas the pid file is ephemeral. This distinction doesn't matter by default but on system-wide installs ephemeral runtime files go in /var/run or /run instead. --- configure | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'configure') diff --git a/configure b/configure index 223fc4d14..724970cad 100755 --- a/configure +++ b/configure @@ -66,6 +66,7 @@ my ($opt_binary_dir, $opt_module_dir, $opt_portable, $opt_prefix, + $opt_runtime_dir, $opt_script_dir, $opt_socketengine, $opt_system, @@ -99,6 +100,7 @@ exit 1 unless GetOptions( 'module-dir=s' => \$opt_module_dir, 'portable' => \$opt_portable, 'prefix=s' => \$opt_prefix, + 'runtime-dir=s' => \$opt_runtime_dir, 'script-dir=s' => \$opt_script_dir, 'socketengine=s' => \$opt_socketengine, 'system' => \$opt_system, @@ -137,6 +139,7 @@ our $interactive = !( defined $opt_module_dir || defined $opt_portable || defined $opt_prefix || + defined $opt_runtime_dir || defined $opt_script_dir || defined $opt_socketengine || defined $opt_system || @@ -203,6 +206,7 @@ if (defined $opt_portable) { $config{LOG_DIR} = $opt_log_dir // 'logs'; $config{MANUAL_DIR} = $opt_manual_dir // 'manuals'; $config{MODULE_DIR} = $opt_module_dir // 'modules'; + $config{RUNTIME_DIR} = $opt_runtime_dir // $config{DATA_DIR}; $config{SCRIPT_DIR} = $opt_script_dir // $config{BASE_DIR}; } elsif (defined $opt_system) { $config{BASE_DIR} = $opt_prefix // '/var/lib/inspircd'; @@ -213,7 +217,8 @@ if (defined $opt_portable) { $config{LOG_DIR} = $opt_log_dir // '/var/log/inspircd'; $config{MANUAL_DIR} = $opt_manual_dir // '/usr/share/man/man1'; $config{MODULE_DIR} = $opt_module_dir // '/usr/lib/inspircd'; - $config{SCRIPT_DIR} = $opt_script_dir // '/usr/share/inspircd' + $config{RUNTIME_DIR} = $opt_runtime_dir // '/var/run'; + $config{SCRIPT_DIR} = $opt_script_dir // '/usr/share/inspircd'; } else { $config{BASE_DIR} = rel2abs $opt_prefix // $config{BASE_DIR} // catdir $RealDir, 'run'; $config{BINARY_DIR} = $opt_binary_dir // $config{BINARY_DIR} // catdir $config{BASE_DIR}, 'bin'; @@ -223,6 +228,7 @@ if (defined $opt_portable) { $config{LOG_DIR} = $opt_log_dir // $config{LOG_DIR} // catdir $config{BASE_DIR}, 'logs'; $config{MANUAL_DIR} = $opt_manual_dir // $config{MANUAL_DIR} // catdir $config{BASE_DIR}, 'manuals'; $config{MODULE_DIR} = $opt_module_dir // $config{MODULE_DIR} // catdir $config{BASE_DIR}, 'modules'; + $config{RUNTIME_DIR} = $opt_runtime_dir // $config{RUNTIME_DIR} // $config{DATA_DIR}; $config{SCRIPT_DIR} = $opt_script_dir // $config{SCRIPT_DIR} // $config{BASE_DIR}; } @@ -345,6 +351,7 @@ if (prompt_bool $interactive, $question, 0) { $config{MODULE_DIR} = prompt_dir $interactive, 'In what directory are modules to be placed?', $config{MODULE_DIR}; $config{SCRIPT_DIR} = prompt_dir $interactive, 'In what directory are scripts to be placed?', $config{SCRIPT_DIR}; $config{EXAMPLE_DIR} = $config{CONFIG_DIR} . '/examples'; + $config{RUNTIME_DIR} = $config{DATA_DIR}; } # Configure module settings. @@ -461,6 +468,7 @@ print_format <<"EOM"; <|GREEN Log:|> $config{LOG_DIR} <|GREEN Manual:|> $config{MANUAL_DIR} <|GREEN Module:|> $config{MODULE_DIR} + <|GREEN Runtime:|> $config{RUNTIME_DIR} <|GREEN Script:|> $config{SCRIPT_DIR} <|GREEN Execution Group:|> $config{GROUP} ($config{GID}) -- cgit v1.2.3