From 1d5ffa8cac35c4d1dbae6506ac10913deb1320b5 Mon Sep 17 00:00:00 2001 From: Josh Robson Chase Date: Thu, 30 Sep 2021 10:25:40 -0400 Subject: [PATCH] nixos/systemd-boot: Fix installed version regexp The regexp was only matching numbers and not the '.', so everyone using systemd-boot would always see `could not find any previously installed systemd-boot` on a `nixos-rebuild`. --- .../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 7134b4321630..27b2abc1eabc 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 @@ -218,7 +218,7 @@ def main() -> None: sdboot_status = subprocess.check_output(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@", "status"], universal_newlines=True) # See status_binaries() in systemd bootctl.c for code which generates this - m = re.search("^\W+File:.*/EFI/(BOOT|systemd)/.*\.efi \(systemd-boot (\d+)\)$", + m = re.search("^\W+File:.*/EFI/(BOOT|systemd)/.*\.efi \(systemd-boot ([\d.]+)[^)]*\)$", sdboot_status, re.IGNORECASE | re.MULTILINE) if m is None: print("could not find any previously installed systemd-boot")