Merge pull request #2705 from cgwalters/always-boot
authorJoseph Marrero Corchado <jmarrero@users.noreply.github.com>
Fri, 17 Mar 2023 15:09:19 +0000 (11:09 -0400)
committerGitHub <noreply@github.com>
Fri, 17 Mar 2023 15:09:19 +0000 (11:09 -0400)
Add `sysroot.bootprefix` option

1  2 
Makefile-tests.am
src/libostree/ostree-repo-private.h
src/libostree/ostree-repo.c
src/libostree/ostree-sysroot-deploy.c

Simple merge
Simple merge
index 11175db457f4651eb1d8274dc8c5cfb3c1e4d9b2,195ae667e99470611abac95624432238e8c7ba36..515f51e55173a402ef5858e7d150d156060b0152
@@@ -3549,9 -3546,14 +3549,14 @@@ reload_sysroot_config (OstreeRep
          }
        char *key = g_strndup (key_value, sep - key_value);
        char *value = g_strdup (sep + 1);
 -      g_hash_table_replace (self->bls_append_values, key, value); 
 +      g_hash_table_replace (self->bls_append_values, key, value);
      }
  
+   if (!ot_keyfile_get_boolean_with_default (self->config, "sysroot",
+                                             "bootprefix", FALSE,
+                                             &self->enable_bootprefix, error))
+     return FALSE;
    return TRUE;
  }
  
index 4d4f9bcb374fdbfda861f97ea60cfc04e1a80824,4e8e2a2eda3435bc5cd61663f67c18145558f013..b128136a3332718196260dd2fb6eaef73d7865f9
@@@ -2093,33 -2061,9 +2095,33 @@@ install_deployment_kernel (OstreeSysroo
        ostree_kernel_args_replace_take (kargs, g_steal_pointer (&prepare_root_arg));
      }
  
 +  const char* aboot_fn = NULL;
 +  if (kernel_layout->aboot_namever)
 +    {
 +      aboot_fn = kernel_layout->aboot_namever;
 +    }
 +  else if (kernel_layout->aboot_srcpath)
 +    {
 +      aboot_fn = kernel_layout->aboot_srcpath;
 +    }
 +
 +  if (aboot_fn)
 +    {
 +      g_autofree char * aboot_relpath = g_strconcat ("/", bootcsumdir, "/", aboot_fn, NULL);
 +      ostree_bootconfig_parser_set (bootconfig, "aboot", aboot_relpath);
 +    }
 +  else
 +    {
 +      g_autofree char * aboot_relpath = g_strconcat ("/", deployment_dirpath, "/usr/lib/ostree-boot/aboot.img", NULL);
 +      ostree_bootconfig_parser_set (bootconfig, "aboot", aboot_relpath);
 +    }
 +
 +  g_autofree char * abootcfg_relpath = g_strconcat ("/", deployment_dirpath, "/usr/lib/ostree-boot/aboot.cfg", NULL);
 +  ostree_bootconfig_parser_set (bootconfig, "abootcfg", abootcfg_relpath);
 +
    if (kernel_layout->devicetree_namever)
      {
-       g_autofree char * dt_boot_relpath = g_strconcat ("/", bootcsumdir, "/", kernel_layout->devicetree_namever, NULL);
+       g_autofree char * dt_boot_relpath = g_strconcat (bootprefix, bootcsumdir, "/", kernel_layout->devicetree_namever, NULL);
        ostree_bootconfig_parser_set (bootconfig, "devicetree", dt_boot_relpath);
      }
    else if (kernel_layout->devicetree_srcpath)