!UNVBThoJtlIiVwiDjU:nixos.org

Staging

404 Members
Staging merges | Running staging cycles: https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+is%3Aopen+head%3Astaging-next+head%3Astaging-next-25.11 | Review Reports: https://malob.github.io/nix-review-tools-reports/131 Servers

Load older messages


SenderMessageTime
30 Jun 2026
@elvishjerricco:matrix.orgElvishJerricco Why is this bad? What does bootctl have to do if we don't think we need an update? And why would using varlink fix things? 15:09:57
@k900:0upti.meK900 Because bootctl already has a code path for "update only if necessary" 15:10:20
@k900:0upti.meK900 And that's something it knows how to do better than us 15:10:32
@elvishjerricco:matrix.orgElvishJerriccoright but it exits with failure if that happens15:10:38
@k900:0upti.meK900 And varlink is seemingly the only way for an outside observer to differentiate "failed to do a thing" and "didn't need to do anything" 15:10:56
@elvishjerricco:matrix.orgElvishJerriccoooooh I see15:11:10
@k900:0upti.meK900 Because via varlink it returns the right exit code for the latter 15:11:13
@elvishjerricco:matrix.orgElvishJerricco I was just going to patch systemd to add a bootctl check command 15:11:34
@k900:0upti.meK900 Unfortunately, it only works when there is a varlink 15:11:38
@elvishjerricco:matrix.orgElvishJerriccobecause that should exist15:11:41
@k900:0upti.meK900
In reply to @elvishjerricco:matrix.org
I was just going to patch systemd to add a bootctl check command
You can patch it to instead return a better exit code
15:11:49
@k900:0upti.meK900 For update 15:11:51
@k900:0upti.meK900 But then people will complain probably 15:12:05
@k900:0upti.meK900 But yes initially I thought it broke because update started returning 1 on nothing to do 15:12:33
@k900:0upti.meK900 But turns out that's always been there 15:12:38
@k900:0upti.meK900 And we're calling update when we shouldn't 15:12:48
@k900:0upti.meK900 But ideally we'd just call update and it'll tell us if it did nothing 15:12:59
@k900:0upti.meK900 And then we can probably just drop all the bootctl status parsing nonsense 15:14:09
@elvishjerricco:matrix.orgElvishJerricco yea so options are: 1) fix our check so it doesn't look at that fallback binary, 2) patch bootctl to have a check command 3) patch bootctl update to let you know if it did nothing, but that seems less generally useful than having check too, 4) use varlink to tell the same thing, but that won't work in chroot 15:14:23
@k900:0upti.meK900We just call varlink if it exists and otherwise we call update --graceful15:14:29
@elvishjerricco:matrix.orgElvishJerriccooh15:14:41
@k900:0upti.meK900 In chroot it never exits 1 15:14:42
@elvishjerricco:matrix.orgElvishJerriccothat's a good point15:14:43
@k900:0upti.meK900 Because it's graceful 15:14:46
@elvishjerricco:matrix.orgElvishJerriccograceful on the fallback15:14:49
@k900:0upti.meK900 Because it's a stupid chroot check 15:14:53
@elvishjerricco:matrix.orgElvishJerriccogood idea15:14:55
@k900:0upti.meK900So I think varlink and fall back to update --graceful is noop for chroots15:15:14
@elvishjerricco:matrix.orgElvishJerricco I mean, bootctl is the kinda tool where I'm not happy for it to require varlink. So I don't actually like us using the varlink 15:15:23
@k900:0upti.meK900 And improvement for most other things 15:15:24

Show newer messages


Back to Room ListRoom Version: 6