Merge pull request #3189 from alexlarsson/composefs-config-with-no-key

deploy: Don't fail if loading composefs configuration fails due to mi…
This commit is contained in:
Eric Curtin 2024-02-21 12:34:09 +00:00 committed by GitHub
commit 1a3d1792f3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 9 additions and 5 deletions

View File

@ -683,8 +683,10 @@ checkout_deployment_tree (OstreeSysroot *sysroot, OstreeRepo *repo, OstreeDeploy
return glnx_prefix_error (error, "Parsing prepare-root config");
// We always parse the composefs config, because we want to detect and error
// out if it's enabled, but not supported at compile time.
// However, we don't load the keys here, because they may not exist, such
// as in the initial deploy
g_autoptr (ComposefsConfig) composefs_config
= otcore_load_composefs_config (prepare_root_config, error);
= otcore_load_composefs_config (prepare_root_config, FALSE, error);
if (!composefs_config)
return glnx_prefix_error (error, "Reading composefs config");

View File

@ -154,7 +154,7 @@ otcore_free_composefs_config (ComposefsConfig *config)
// Parse the [composefs] section of the prepare-root.conf.
ComposefsConfig *
otcore_load_composefs_config (GKeyFile *config, GError **error)
otcore_load_composefs_config (GKeyFile *config, gboolean load_keys, GError **error)
{
GLNX_AUTO_PREFIX_ERROR ("Loading composefs config", error);
@ -178,7 +178,7 @@ otcore_load_composefs_config (GKeyFile *config, GError **error)
&ret->signature_pubkey, error))
return NULL;
if (ret->is_signed)
if (ret->is_signed && load_keys)
{
ret->pubkeys = g_ptr_array_new_with_free_func ((GDestroyNotify)g_bytes_unref);

View File

@ -58,7 +58,8 @@ typedef struct
void otcore_free_composefs_config (ComposefsConfig *config);
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ComposefsConfig, otcore_free_composefs_config)
ComposefsConfig *otcore_load_composefs_config (GKeyFile *config, GError **error);
ComposefsConfig *otcore_load_composefs_config (GKeyFile *config, gboolean load_keys,
GError **error);
// Our directory with transient state (eventually /run/ostree-booted should be a link to
// /run/ostree/booted)

View File

@ -277,7 +277,8 @@ main (int argc, char *argv[])
// We always parse the composefs config, because we want to detect and error
// out if it's enabled, but not supported at compile time.
g_autoptr (ComposefsConfig) composefs_config = otcore_load_composefs_config (config, &error);
g_autoptr (ComposefsConfig) composefs_config
= otcore_load_composefs_config (config, TRUE, &error);
if (!composefs_config)
errx (EXIT_FAILURE, "%s", error->message);