mirror of
https://github.com/clearlinux/clr-boot-manager.git
synced 2026-10-03 23:38:21 +00:00
Reuse set_default_kernel from systemd-class.
This commit is contained in:
@@ -126,10 +126,9 @@ static bool shim_systemd_remove_kernel(const BootManager *manager, const Kernel
|
||||
}
|
||||
|
||||
static bool shim_systemd_set_default_kernel(const BootManager *manager, const Kernel *kernel) {
|
||||
(void)manager;
|
||||
(void)kernel;
|
||||
fprintf(stderr, "%s is not implemented\n", __func__);
|
||||
return true;
|
||||
/* this writes systemd config. systemd has the configuration paths
|
||||
* hardcoded, hence whatever sd_class is doing is OK. */
|
||||
return sd_class_set_default_kernel_impl(manager, kernel, NULL);
|
||||
}
|
||||
|
||||
static bool exists_identical(const char *path, const char *spath) {
|
||||
|
||||
@@ -300,13 +300,14 @@ bool sd_class_remove_kernel(const BootManager *manager, const Kernel *kernel)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool sd_class_set_default_kernel(const BootManager *manager, const Kernel *kernel)
|
||||
bool sd_class_set_default_kernel_impl(const BootManager *manager, const Kernel *kernel,
|
||||
bool (*ensure_layout)(const BootManager *))
|
||||
{
|
||||
if (!manager) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!sd_class_ensure_dirs(manager)) {
|
||||
if (ensure_layout && !ensure_layout(manager)) {
|
||||
LOG_FATAL("Failed to create required directories for %s", sd_config->name);
|
||||
return false;
|
||||
}
|
||||
@@ -366,6 +367,10 @@ write_config:
|
||||
return true;
|
||||
}
|
||||
|
||||
bool sd_class_set_default_kernel(const BootManager *manager, const Kernel *kernel) {
|
||||
return sd_class_set_default_kernel_impl(manager, kernel, sd_class_ensure_dirs);
|
||||
}
|
||||
|
||||
bool sd_class_needs_install(const BootManager *manager)
|
||||
{
|
||||
if (!manager) {
|
||||
|
||||
@@ -41,6 +41,9 @@ bool sd_class_remove_kernel(const BootManager *manager, const Kernel *kernel);
|
||||
|
||||
bool sd_class_set_default_kernel(const BootManager *manager, const Kernel *kernel);
|
||||
|
||||
bool sd_class_set_default_kernel_impl(const BootManager *manager, const Kernel *kernel,
|
||||
bool (*ensure_layout)(const BootManager *));
|
||||
|
||||
bool sd_class_needs_install(const BootManager *manager);
|
||||
|
||||
bool sd_class_needs_update(const BootManager *manager);
|
||||
|
||||
Reference in New Issue
Block a user