From 140e352d0a483446947c4d93f7ff94995170b2cf Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Tue, 18 Apr 2023 15:06:30 +0200 Subject: [PATCH] home-assistant: Add backup dependency to default_config manifest Upstream loads and installs it dynamically at runtime and as such mentions it in the default_config documentation, but not in the manifest, which we use as the source of truth for generating our component dependencies. --- pkgs/servers/home-assistant/component-packages.nix | 1 + pkgs/servers/home-assistant/parse-requirements.py | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 05bb3ab0f30..5e47d3cbf3b 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -671,6 +671,7 @@ pyserial pyudev scapy + securetar sqlalchemy zeroconf ]; diff --git a/pkgs/servers/home-assistant/parse-requirements.py b/pkgs/servers/home-assistant/parse-requirements.py index ef65e795ed3..142f0916342 100755 --- a/pkgs/servers/home-assistant/parse-requirements.py +++ b/pkgs/servers/home-assistant/parse-requirements.py @@ -46,6 +46,17 @@ PKG_PREFERENCES = { "youtube_dl": "youtube-dl-light", } +# Some dependencies are loaded dynamically at runtime, and are not +# mentioned in the manifest files. +EXTRA_COMPONENT_DEPS = { + "conversation": [ + "intent" + ], + "default_config": [ + "backup", + ], +} + def run_sync(cmd: List[str]) -> None: @@ -88,6 +99,8 @@ def parse_components(version: str = "master"): ) for domain in sorted(integrations): integration = integrations[domain] + if extra_deps := EXTRA_COMPONENT_DEPS.get(integration.domain): + integration.dependencies.extend(extra_deps) if not integration.disabled: components[domain] = integration.manifest