summaryrefslogtreecommitdiffstats
path: root/pkgs/servers/home-assistant
diff options
context:
space:
mode:
authorMartin Weinelt <hexa@darmstadt.ccc.de>2023-04-18 15:06:30 +0200
committerMartin Weinelt <hexa@darmstadt.ccc.de>2023-04-18 16:03:00 +0200
commit140e352d0a483446947c4d93f7ff94995170b2cf (patch)
treef3c614e28eb5ddefe37bb15e25480428c2704050 /pkgs/servers/home-assistant
parent7c9dac2bf2989045a7df084c5e15c297d101f630 (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.nix1
-rwxr-xr-xpkgs/servers/home-assistant/parse-requirements.py13
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