From 94fe5964a4c89834c010ef6822129d1084e2ac06 Mon Sep 17 00:00:00 2001 From: Martin Whitaker Date: Sun, 4 Jan 2026 17:21:15 +0000 Subject: drakclock: make sure we configure the currently installed ntp service. drakclock can install chrony, so the ntpd and ntp_conf strings provided by the imezone module should be dynamic, not static. --- perl-install/standalone/drakclock | 6 +++--- perl-install/timezone.pm | 17 +++++++++-------- 2 files changed, 12 insertions(+), 11 deletions(-) (limited to 'perl-install') diff --git a/perl-install/standalone/drakclock b/perl-install/standalone/drakclock index b05faaa63..15ef0bafa 100755 --- a/perl-install/standalone/drakclock +++ b/perl-install/standalone/drakclock @@ -106,7 +106,7 @@ $my_win->{window}->add( cancel_clicked => sub { ugtk3->exit(0) }, ok_clicked => sub { my $need_date = 1; - my $ntp_service = $timezone::ntpd . '.service'; + my $ntp_service = timezone::ntpd() . '.service'; any::disable_x_screensaver(); if ($check_ntp->get_active) { my $chosen_pool = $combo_ntp_pool->entry->get_text; @@ -177,7 +177,7 @@ $time_box->set_direction('ltr'); my $servers = get_servers(); $combo_ntp_pool->set_popdown_strings(@$servers); -if (-e $timezone::ntp_conf && is_ntp_daemon_running()) { +if (-e timezone::ntp_conf() && is_ntp_daemon_running()) { $ntp = timezone::ntp_pool(); $ntp and ntp_widget_state(1); my $fullntp = $ntp; @@ -240,7 +240,7 @@ sub install_ntp() { $my_win->{window}->set_sensitive(1); } sub is_ntp_daemon_running() { - my $ntp_service = $timezone::ntpd . '.service'; + my $ntp_service = timezone::ntpd() . '.service'; !system("systemctl is-active $ntp_service >/dev/null"); } sub get_servers() { diff --git a/perl-install/timezone.pm b/perl-install/timezone.pm index 1f4bbb419..fb4be35d3 100644 --- a/perl-install/timezone.pm +++ b/perl-install/timezone.pm @@ -26,26 +26,27 @@ sub read() { { timezone => $t{ZONE}, UTC => text2bool($t{UTC}) }; } -our $ntpd = 'chronyd'; -our $ntp_conf = '/etc/chrony.conf'; -unless (-f "$::prefix$ntp_conf") { - $ntpd = 'ntpd'; - $ntp_conf = '/etc/ntp.d/use-pool' +sub ntpd() { + -f "$::prefix/etc/chrony.conf" ? 'chronyd' : 'ntpd'; +} + +sub ntp_conf() { + -f "$::prefix/etc/chrony.conf" ? "$::prefix/etc/chrony.conf" : "$::prefix/etc/ntp.d/use-pool"; } sub ntp_pool() { - find { $_ ne '' } map { (/^\s*pool\s+(\S*)/, $1) } cat_("$::prefix$ntp_conf"); + find { $_ ne '' } map { (/^\s*pool\s+(\S*)/, $1) } cat_(ntp_conf()); } sub set_ntp_pool { my ($pool) = @_; - my $f = "$::prefix$ntp_conf"; + my $f = ntp_conf(); -f $f or return; substInFile { s/^#?\s*pool\s+.*/pool $pool iburst/ } $f if $pool; require services; - services::set_status($ntpd, to_bool($pool), $::isInstall); + services::set_status(ntpd(), to_bool($pool), $::isInstall); } sub write { -- cgit v1.2.1