From 1105da2368bdbf9b9ce54641d5d5e4dd6ef1fed2 Mon Sep 17 00:00:00 2001 From: Carlos Nihelton Date: Fri, 24 Mar 2023 11:39:27 -0300 Subject: [PATCH] Falls back to seeded l-s-c UDI snap ships the package, thus its data dir is part of the snap subiquity snap does not. This tries l-s-c data dir in the base system, outside of the snap and gives up if the dir does not exits. --- system_setup/server/controllers/configure.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/system_setup/server/controllers/configure.py b/system_setup/server/controllers/configure.py index f0886e65..ea7b39de 100644 --- a/system_setup/server/controllers/configure.py +++ b/system_setup/server/controllers/configure.py @@ -154,11 +154,16 @@ class ConfigureController(SubiquityController): # ever by just '.'. On the other hand in dry-run we want it pointing to # '/' if not properly set. snap_dir = snap_dir if snap_dir != '.' else '/' - data_dir = os.path.join(snap_dir, "usr/share/language-selector") + data_dir_base = "usr/share/language-selector" + data_dir = os.path.join(snap_dir, data_dir_base) if not os.path.exists(data_dir): - log.error("Misconfigured snap environment pointed L-S-C data dir" - " to %s", data_dir) - return None + log.error("Language selector data dir %s seems not to be part" + " of the snap.", data_dir) + # Try seeded L-S-C + data_dir = os.path.join(self.model.root, data_dir_base) + if not os.path.exists(data_dir): + log.error("Cannot find language selector data directory.") + return None cp = await arun_command([clsCommand, "-d", data_dir, "-l", clsLang]) if cp.returncode != 0: