1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
#!/usr/bin/perl
# Copyright (C) 2003 Mandrakesoft
#
# Author: Florent Villard <warly@mandrakesoft.com>
# A Ginies
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
package MDK::Wizard::Wizcommon;
use strict;
use standalone;
use common;
use services;
use MDK::Common;
use MDK::Wizard::IFCFG;
our @ISA = qw(Exporter);
our @EXPORT = qw(check_started check_starts_on_boot test_host_domain reload_or_restart);
sub check_dhcp {
my ($wiz) = @_;
$wiz->{net}->is_dhcp and return 'dhcp_warning';
}
sub new {
my ($class) = @_;
bless {
net => MDK::Wizard::IFCFG->new,
}, $class;
}
sub check_started {
my ($service) = @_;
my ($isrunning) = services::is_service_running($service);
return 'error_end' if !$isrunning;
}
sub reload_or_restart {
my ($service) = @_;
run_program::rooted($::prefix, '/bin/systemctl', 'reload-or-restart', "$service.service");
}
sub check_starts_on_boot($$) {
my ($in, $servicename) = @_;
if (!services::starts_on_boot($servicename)) {
my $start_service = $in->ask_yesorno(N("Start %s server on boot", $servicename), N("Would you like to start the %s service automatically on every boot?", $servicename), 1);
if ($start_service) {
services::start_service_on_boot($servicename);
}
}
}
sub test_host_domain {
my ($SHORTHOSTNAME, $DOMAINNAME) = @_;
if ($SHORTHOSTNAME =~ /localhost/) {
return 0, N("You need to readjust your hostname. 'localhost' is not a correct hostname for a DNS server. Hostname must be a FQDN: Fully Qualified Domain Name");
}
if (member($DOMAINNAME, qw(localdomain (none)), '')) {
return 0, N("You need to readjust your domainname. For a DNS server you need a correct domainname, not equal to localdomain or none. Hostname must be a FQDN: Fully Qualified Domain Name. Launch drakconnect to adjust it.");
}
return 1;
}
1;
|