Fix to consider var directory and bootscript upon upgrades

This commit is contained in:
iliajie
2022-08-11 22:40:35 +03:00
parent 6a5b605024
commit ea03e5a338
2 changed files with 28 additions and 2 deletions

View File

@@ -122,8 +122,17 @@ if ($upgrading) {
open(VAR, "$config_directory/var-path");
chop($var_dir = <VAR>);
$var_directory = $var_dir;
$ENV{'WEBMIN_VAR'} = $var_directory;
close(VAR);
# Get current bootscript name
if (-r "$config_directory/bootscript-name") {
open(BOOTVAR, "$config_directory/bootscript-name");
chop($bootscript = <BOOTVAR>);
close(BOOTVAR);
$bootscript ||= ($ENV{'bootscript'} || "webmin");
}
# Force creation if non-existant
mkdir($var_dir, 0755);
@@ -189,7 +198,8 @@ else {
}
# Ask for log directory
print "Log file directory [/var/webmin]: ";
my $envvardir = $ENV{'var_dir'} || "/var/webmin";
print "Log file directory [$envvardir]: ";
if ($ENV{'var_dir'}) {
$var_dir = $ENV{'var_dir'};
}
@@ -376,6 +386,9 @@ else {
open(VAR, ">$config_directory/var-path");
print VAR $var_dir,"\n";
close(VAR);
open(BOOTS, ">$config_directory/bootscript-name");
print BOOTS $bootscript,"\n";
close(BOOTS);
print "Creating web server config files ..\n";
$ufile = "$config_directory/miniserv.users";

View File

@@ -143,6 +143,14 @@ if [ "$upgrading" = 1 ]; then
# Get current var path
var_dir=`cat $config_dir/var-path`
# Get current bootscript
if [ -r "$config_dir/bootscript-name" ]; then
bootscript=`cat $config_dir/bootscript-name`
if [ "$bootscript" = "" ]; then
bootscript="webmin"
fi
fi
# Force creation if non-existant
mkdir -p $var_dir >/dev/null 2>&1
@@ -216,7 +224,11 @@ else
fi
# Ask for log directory
printf "Log file directory [/var/webmin]: "
envvardir="$var_dir"
if [ "$envvardir" = "" ]; then
envvardir=/var/webmin
fi
printf "Log file directory [$envvardir]: "
if [ "$var_dir" = "" ]; then
read var_dir
fi
@@ -484,6 +496,7 @@ else
# Create webserver config file
echo $perl > $config_dir/perl-path
echo $var_dir > $config_dir/var-path
echo $bootscript > $config_dir/bootscript-name
echo "Creating web server config files .."
cfile=$config_dir/miniserv.conf
echo "port=$port" >> $cfile