* [pve-devel] [PATCH manager/common 0/1] Fix #7175: switch API to timedatectl @ 2025-12-25 8:05 Stefan Mayr 2025-12-25 8:05 ` [pve-devel] [PATCH common 1/1] Fix #7175: remove deprecated timezone file Stefan Mayr 2025-12-25 8:05 ` [pve-devel] [PATCH manager 1/1] Fix #7175: use timedatectl for timezone handling Stefan Mayr 0 siblings, 2 replies; 4+ messages in thread From: Stefan Mayr @ 2025-12-25 8:05 UTC (permalink / raw) To: pve-devel Using /etc/timezone is deprecated by the Debian tzdata package. The Proxmox installer does not use it anymore. This switches the API to use timedatectl as recommended by the tzdata maintainers. pve-manager: Stefan Mayr (1): Fix #7175: use timedatectl for timezone handling PVE/API2/Nodes.pm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) pve-common: Stefan Mayr (1): Fix #7175: remove deprecated timezone file src/PVE/INotify.pm | 29 ----------------------------- 1 file changed, 29 deletions(-) -- 2.34.1 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel ^ permalink raw reply [flat|nested] 4+ messages in thread
* [pve-devel] [PATCH common 1/1] Fix #7175: remove deprecated timezone file 2025-12-25 8:05 [pve-devel] [PATCH manager/common 0/1] Fix #7175: switch API to timedatectl Stefan Mayr @ 2025-12-25 8:05 ` Stefan Mayr 2025-12-29 12:03 ` Maximiliano Sandoval 2025-12-25 8:05 ` [pve-devel] [PATCH manager 1/1] Fix #7175: use timedatectl for timezone handling Stefan Mayr 1 sibling, 1 reply; 4+ messages in thread From: Stefan Mayr @ 2025-12-25 8:05 UTC (permalink / raw) To: pve-devel Suggested-by: Fabian Grünbichler <f.gruenbichler@proxmox.com> Signed-off-by: Stefan Mayr <stefan@mayr-stefan.de> --- src/PVE/INotify.pm | 29 ----------------------------- 1 file changed, 29 deletions(-) diff --git a/src/PVE/INotify.pm b/src/PVE/INotify.pm index 62b3ca8..03c871c 100644 --- a/src/PVE/INotify.pm +++ b/src/PVE/INotify.pm @@ -651,35 +651,6 @@ register_file( \&update_etc_resolv_conf, ); -sub read_etc_timezone { - my ($filename, $fd) = @_; - - my $timezone = <$fd>; - - chomp $timezone; - - return $timezone; -} - -sub write_etc_timezone { - my ($filename, $fh, $timezone) = @_; - - my $tzinfo = "/usr/share/zoneinfo/$timezone"; - - raise_param_exc({ 'timezone' => "No such timezone" }) - if (!-f $tzinfo); - - ($timezone) = $timezone =~ m/^(.*)$/; # untaint - - print $fh "$timezone\n"; - - unlink("/etc/localtime"); - symlink("/usr/share/zoneinfo/$timezone", "/etc/localtime"); - -} - -register_file('timezone', "/etc/timezone", \&read_etc_timezone, \&write_etc_timezone); - sub read_active_workers { my ($filename, $fh) = @_; -- 2.34.1 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [pve-devel] [PATCH common 1/1] Fix #7175: remove deprecated timezone file 2025-12-25 8:05 ` [pve-devel] [PATCH common 1/1] Fix #7175: remove deprecated timezone file Stefan Mayr @ 2025-12-29 12:03 ` Maximiliano Sandoval 0 siblings, 0 replies; 4+ messages in thread From: Maximiliano Sandoval @ 2025-12-29 12:03 UTC (permalink / raw) To: Stefan Mayr; +Cc: pve-devel Stefan Mayr <stefan@mayr-stefan.de> writes: Thanks for submitting a patch. A comment below. > Suggested-by: Fabian Grünbichler <f.gruenbichler@proxmox.com> > Signed-off-by: Stefan Mayr <stefan@mayr-stefan.de> > --- > src/PVE/INotify.pm | 29 ----------------------------- > 1 file changed, 29 deletions(-) > > diff --git a/src/PVE/INotify.pm b/src/PVE/INotify.pm > index 62b3ca8..03c871c 100644 > --- a/src/PVE/INotify.pm > +++ b/src/PVE/INotify.pm > @@ -651,35 +651,6 @@ register_file( > \&update_etc_resolv_conf, > ); > > -sub read_etc_timezone { > - my ($filename, $fd) = @_; > - > - my $timezone = <$fd>; > - > - chomp $timezone; > - > - return $timezone; > -} > - > -sub write_etc_timezone { > - my ($filename, $fh, $timezone) = @_; > - > - my $tzinfo = "/usr/share/zoneinfo/$timezone"; > - > - raise_param_exc({ 'timezone' => "No such timezone" }) > - if (!-f $tzinfo); > - > - ($timezone) = $timezone =~ m/^(.*)$/; # untaint > - > - print $fh "$timezone\n"; > - > - unlink("/etc/localtime"); > - symlink("/usr/share/zoneinfo/$timezone", "/etc/localtime"); > - > -} > - > -register_file('timezone', "/etc/timezone", \&read_etc_timezone, \&write_etc_timezone); > At least pmg-api and pve-container use this. I would recommend to only add a comment here instead of removing the helper since this is a shared library. Alternatively, one could port all existing users to, e.g. timedatectl. > - > sub read_active_workers { > my ($filename, $fh) = @_; -- Maximiliano _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel ^ permalink raw reply [flat|nested] 4+ messages in thread
* [pve-devel] [PATCH manager 1/1] Fix #7175: use timedatectl for timezone handling 2025-12-25 8:05 [pve-devel] [PATCH manager/common 0/1] Fix #7175: switch API to timedatectl Stefan Mayr 2025-12-25 8:05 ` [pve-devel] [PATCH common 1/1] Fix #7175: remove deprecated timezone file Stefan Mayr @ 2025-12-25 8:05 ` Stefan Mayr 1 sibling, 0 replies; 4+ messages in thread From: Stefan Mayr @ 2025-12-25 8:05 UTC (permalink / raw) To: pve-devel Suggested-by: Fabian Grünbichler <f.gruenbichler@proxmox.com> Signed-off-by: Stefan Mayr <stefan@mayr-stefan.de> --- PVE/API2/Nodes.pm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/PVE/API2/Nodes.pm b/PVE/API2/Nodes.pm index 6a6465b6..54ed712e 100644 --- a/PVE/API2/Nodes.pm +++ b/PVE/API2/Nodes.pm @@ -1582,10 +1582,15 @@ __PACKAGE__->register_method({ code => sub { my ($param) = @_; + my $timezone; my $ctime = time(); my $ltime = timegm_nocheck(localtime($ctime)); + PVE::Tools::run_command( + ['timedatectl', 'show', '--property=Timezone', '--value'], + outfunc => sub { $timezone //= shift }, + ); my $res = { - timezone => PVE::INotify::read_file('timezone'), + timezone => $timezone, time => $ctime, localtime => $ltime, }; @@ -1619,7 +1624,7 @@ __PACKAGE__->register_method({ code => sub { my ($param) = @_; - PVE::INotify::write_file('timezone', $param->{timezone}); + PVE::Tools::run_command(['timedatectl', 'set-timezone', $param->{timezone}]); return; }, -- 2.34.1 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-12-29 12:02 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2025-12-25 8:05 [pve-devel] [PATCH manager/common 0/1] Fix #7175: switch API to timedatectl Stefan Mayr 2025-12-25 8:05 ` [pve-devel] [PATCH common 1/1] Fix #7175: remove deprecated timezone file Stefan Mayr 2025-12-29 12:03 ` Maximiliano Sandoval 2025-12-25 8:05 ` [pve-devel] [PATCH manager 1/1] Fix #7175: use timedatectl for timezone handling Stefan Mayr
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.