summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorSadie Powell <sadie@witchery.services>2021-01-18 06:56:18 +0000
committerSadie Powell <sadie@witchery.services>2021-01-18 07:05:27 +0000
commita59ed4b39443eb788c15c65501898ca374387e2e (patch)
treea20c0bee867288e956d171ed733b3c7747c2a316 /configure
parent8b2f3980cc8e5bfb0153981b5ca6b08ca39392c2 (diff)
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.
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure10
1 files changed, 9 insertions, 1 deletions
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})