summaryrefslogtreecommitdiffstats
path: root/perl-install/standalone/drakups
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/standalone/drakups')
-rwxr-xr-xperl-install/standalone/drakups14
1 files changed, 11 insertions, 3 deletions
diff --git a/perl-install/standalone/drakups b/perl-install/standalone/drakups
index 30f07ffa4..1e751c4e3 100755
--- a/perl-install/standalone/drakups
+++ b/perl-install/standalone/drakups
@@ -28,13 +28,19 @@ sub writeconf() {
log::explanations("Updating NUT configuration accordingly");
$struct->writeConf($files{devices});
- log::explanations("Updating NUT users configuration accordingly");
- $users->writeConf($files{users});
+ if ($users) {
+ log::explanations("Updating NUT users configuration accordingly");
+ $users->writeConf($files{users});
+ }
require services;
services::restart("upsd");
}
+sub read_nut_config() {
+ $struct = Libconf::Glueconf::NUT::Ups_conf->new($files{devices})
+}
+
sub readDriversList() {
my (%ups, @ups);
local $_;
@@ -251,7 +257,7 @@ my @pages = (
remove => sub { },
},
load => sub {
- $struct = Libconf::Glueconf::NUT::Ups_conf->new($files{devices});
+ read_nut_config();
map { [ $_, @{$struct->{$_}}{qw(driver port)} ] } keys %$struct;
},
id => "ups",
@@ -310,7 +316,9 @@ $ugtk2::wm_icon = "drakups";
$in->do_pkgs->ensure_is_installed('nut-server', '/etc/rc.d/init.d/upsd') if !$::testing;
if (any { $_ eq '--wizard' } @ARGV) {
+ read_nut_config();
add_device_wizard($in, $struct);
+ writeconf();
$in->exit($@ ? 1 : 0);
}