Skip to content

Commit

Permalink
Merge pull request #3300 from travier/main-static-config-null
Browse files Browse the repository at this point in the history
bootloader/grub2: Handle empty static configs
  • Loading branch information
cgwalters committed Sep 15, 2024
2 parents 6a337d6 + 508a8b6 commit 558f260
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 4 deletions.
10 changes: 7 additions & 3 deletions src/libostree/ostree-bootloader-grub2.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
#define BOOTUPD_CONFIG "boot/bootupd-state.json"
// Horrible hack, to avoid including a JSON parser we just grep for this
#define BOOTUPD_CONFIG_STATIC_JSON_FRAGMENT "\"static-configs\""
#define BOOTUPD_CONFIG_STATIC_JSON_FRAGMENT_NULL "\"static-configs\":null"

/* Maintain backwards compatibility with legacy GRUB
* installations that might rely on the -16 suffix
Expand Down Expand Up @@ -90,9 +91,12 @@ _ostree_bootloader_grub2_query (OstreeBootloader *bootloader, gboolean *out_is_a
return glnx_prefix_error (error, "Failed to read bootupd config");
if (strstr (bootupd_config_contents, BOOTUPD_CONFIG_STATIC_JSON_FRAGMENT) != NULL)
{
g_debug ("Found static bootupd config");
*out_is_active = FALSE;
return TRUE;
if (strstr (bootupd_config_contents, BOOTUPD_CONFIG_STATIC_JSON_FRAGMENT_NULL) == NULL)
{
g_debug ("Found static bootupd config");
*out_is_active = FALSE;
return TRUE;
}
}
}

Expand Down
2 changes: 1 addition & 1 deletion tests/kolainst/destructive/bootupd-static.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ bootupd_state=/boot/bootupd-state.json
mount -o remount,rw /boot
if grep -qFe "\"static-configs\"" "${bootupd_state}"; then
echo "Host is using static configs already, overriding this"
jq 'del(.["static-configs"])' < "${bootupd_state}" > "${bootupd_state}".new
jq --compact-output '.["static-configs"] = null' < "${bootupd_state}" > "${bootupd_state}".new
mv "${bootupd_state}.new" "${bootupd_state}"
fi

Expand Down

0 comments on commit 558f260

Please sign in to comment.