mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-06-05 21:03:40 +00:00
nixos/weblate: ensure ssh wrappers are up to date
Weblate generates an SSH wrapper with some preset options that uses the absolute path of the ssh binary internally. As the wrapper is only regenerated when the generator itself is changed, this absolute nix store path becomes unusable once ssh is updated and the path is garbage collected. As generating the wrappers is a quick operation, simply deleting the wrapper directory before service start ensures they are up to date.
This commit is contained in:
@@ -9,6 +9,7 @@ let
|
||||
cfg = config.services.weblate;
|
||||
|
||||
dataDir = "/var/lib/weblate";
|
||||
cacheDir = "${dataDir}/cache";
|
||||
settingsDir = "${dataDir}/settings";
|
||||
|
||||
finalPackage = cfg.package.overridePythonAttrs (old: {
|
||||
@@ -362,6 +363,18 @@ in
|
||||
];
|
||||
inherit environment;
|
||||
path = weblatePath;
|
||||
# Weblate generates SSH wrappers with some preset options that use the
|
||||
# absolute paths of the ssh and scp binaries internally.
|
||||
# As the wrapper is only regenerated when the generator itself is changed,
|
||||
# this absolute nix store path becomes unusable once ssh is updated and
|
||||
# the path is garbage collected.
|
||||
# As generating the wrappers is a quick operation, simply deleting the
|
||||
# wrapper directory before service start ensures they are up to date.
|
||||
preStart = ''
|
||||
if [ -d "${cacheDir}/ssh" ]; then
|
||||
rm -r "${cacheDir}/ssh"
|
||||
fi
|
||||
'';
|
||||
serviceConfig = {
|
||||
Type = "notify";
|
||||
NotifyAccess = "all";
|
||||
|
||||
Reference in New Issue
Block a user