diff options
author | Martin Weinelt <hexa@darmstadt.ccc.de> | 2023-04-18 15:06:30 +0200 |
---|---|---|
committer | Martin Weinelt <hexa@darmstadt.ccc.de> | 2023-04-18 16:03:00 +0200 |
commit | 140e352d0a483446947c4d93f7ff94995170b2cf (patch) | |
tree | f3c614e28eb5ddefe37bb15e25480428c2704050 /pkgs/servers/home-assistant | |
parent | 7c9dac2bf2989045a7df084c5e15c297d101f630 (diff) |
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.
Diffstat (limited to 'pkgs/servers/home-assistant')
-rw-r--r-- | pkgs/servers/home-assistant/component-packages.nix | 1 | ||||
-rwxr-xr-x | pkgs/servers/home-assistant/parse-requirements.py | 13 |
2 files changed, 14 insertions, 0 deletions
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 05bb3ab0f302..5e47d3cbf3b3 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 ef65e795ed34..142f09163428 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 |