Merge pull request #150922 from ncfavier/systemd-tzdir

nixos/systemd: set TZDIR for PID 1
This commit is contained in:
Florian Klink 2021-12-22 11:52:27 +01:00 committed by GitHub
commit 60e571fa40
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 0 deletions

1
nixos/modules/system/boot/stage-2-init.sh Normal file → Executable file
View File

@ -172,4 +172,5 @@ echo "starting systemd..."
PATH=/run/current-system/systemd/lib/systemd:@fsPackagesPath@ \
LOCALE_ARCHIVE=/run/current-system/sw/lib/locale/locale-archive @systemdUnitPathEnvVar@ \
TZDIR=/etc/zoneinfo \
exec @systemdExecutable@

View File

@ -31,6 +31,13 @@ import ./make-test-python.nix ({ pkgs, ... }: {
umount /tmp/shared
'';
systemd.services.oncalendar-test = {
description = "calendar test";
# Japan does not have DST which makes the test a little bit simpler
startAt = "Wed 10:00 Asia/Tokyo";
script = "true";
};
systemd.services.testservice1 = {
description = "Test Service 1";
wantedBy = [ "multi-user.target" ];
@ -69,6 +76,11 @@ import ./make-test-python.nix ({ pkgs, ... }: {
# wait for user services
machine.wait_for_unit("default.target", "alice")
# Regression test for https://github.com/NixOS/nixpkgs/issues/105049
with subtest("systemd reads timezone database in /etc/zoneinfo"):
timer = machine.succeed("TZ=UTC systemctl show --property=TimersCalendar oncalendar-test.timer")
assert re.search("next_elapse=Wed ....-..-.. 01:00:00 UTC", timer), f"got {timer.strip()}"
# Regression test for https://github.com/NixOS/nixpkgs/issues/35415
with subtest("configuration files are recognized by systemd"):
machine.succeed("test -e /system_conf_read")