From 2cf6f9e5bddd10917979dc77279a8eaf6773c7f5 Mon Sep 17 00:00:00 2001 From: Max Date: Thu, 24 Jun 2021 17:52:03 +0200 Subject: [PATCH] nixos/systemd-boot: Use os.path.realpath to fully resolve symlinks os.readlink only resolves one layer of symlinks. This script explicitly relies on the real path of a file for deduplication, hence symlink resolution should recurse. --- .../system/boot/loader/systemd-boot/systemd-boot-builder.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py index 63e01dd054a5..7134b4321630 100644 --- a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py +++ b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py @@ -61,7 +61,7 @@ def write_loader_conf(profile: Optional[str], generation: int) -> None: def profile_path(profile: Optional[str], generation: int, name: str) -> str: - return os.readlink("%s/%s" % (system_dir(profile, generation), name)) + return os.path.realpath("%s/%s" % (system_dir(profile, generation), name)) def copy_from_profile(profile: Optional[str], generation: int, name: str, dry_run: bool = False) -> str: