* [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; 3+ 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] 3+ 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-25 8:05 ` [pve-devel] [PATCH manager 1/1] Fix #7175: use timedatectl for timezone handling Stefan Mayr
1 sibling, 0 replies; 3+ 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] 3+ 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; 3+ 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] 3+ messages in thread
end of thread, other threads:[~2025-12-25 8:05 UTC | newest]
Thread overview: 3+ 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-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.