#!/usr/bin/perl # Copyright (C) 2003 Mandrakesoft # # Author: Florent Villard # 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;