From 29630005aedb46ebb112450fb5ec6231fea5c5d1 Mon Sep 17 00:00:00 2001 From: Marcin Krol Date: Tue, 19 May 2026 18:14:21 +0200 Subject: [PATCH] - updated to 2.14 --- blscfg.patch | 1528 ------------------------------- grub-mkconfig-diagnostics.patch | 4 +- grub2-fonts_path.patch | 10 +- grub2.spec | 25 +- image-base.patch | 60 ++ md-name.patch | 61 ++ restricted.patch | 26 +- tld-sysconfdir.patch | 657 ++++++------- 8 files changed, 494 insertions(+), 1877 deletions(-) delete mode 100644 blscfg.patch create mode 100644 image-base.patch create mode 100644 md-name.patch diff --git a/blscfg.patch b/blscfg.patch deleted file mode 100644 index d7749a6..0000000 --- a/blscfg.patch +++ /dev/null @@ -1,1528 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Tue, 22 Jan 2013 06:31:38 +0100 -Subject: [PATCH] blscfg: add blscfg module to parse Boot Loader Specification - snippets - -The BootLoaderSpec (BLS) defines a scheme where different bootloaders can -share a format for boot items and a configuration directory that accepts -these common configurations as drop-in files. - -Signed-off-by: Peter Jones -Signed-off-by: Javier Martinez Canillas -[wjt: some cleanups and fixes] -Signed-off-by: Will Thompson ---- - grub-core/Makefile.core.def | 11 + - grub-core/commands/blscfg.c | 1096 ++++++++++++++++++++++++++++++++++++++++ - grub-core/commands/legacycfg.c | 5 +- - grub-core/commands/loadenv.c | 77 +-- - grub-core/commands/menuentry.c | 20 +- - grub-core/normal/main.c | 6 + - grub-core/commands/loadenv.h | 93 ++++ - include/grub/compiler.h | 2 + - include/grub/menu.h | 13 + - include/grub/normal.h | 2 +- - 10 files changed, 1243 insertions(+), 82 deletions(-) - create mode 100644 grub-core/commands/blscfg.c - create mode 100644 grub-core/commands/loadenv.h - -diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def -index 41b5e16a3ce..57e253ab1a1 100644 ---- a/grub-core/Makefile.core.def -+++ b/grub-core/Makefile.core.def -@@ -811,6 +811,16 @@ module = { - common = commands/blocklist.c; - }; - -+module = { -+ name = blscfg; -+ common = commands/blscfg.c; -+ common = commands/loadenv.h; -+ enable = powerpc_ieee1275; -+ enable = efi; -+ enable = i386_pc; -+ enable = emu; -+}; -+ - module = { - name = boot; - common = commands/boot.c; -@@ -988,6 +998,7 @@ module = { - module = { - name = loadenv; - common = commands/loadenv.c; -+ common = commands/loadenv.h; - common = lib/envblk.c; - }; - -diff --git a/grub-core/commands/blscfg.c b/grub-core/commands/blscfg.c -new file mode 100644 -index 00000000000..54458b14518 ---- /dev/null -+++ b/grub-core/commands/blscfg.c -@@ -0,0 +1,1096 @@ -+/*-*- Mode: C; c-basic-offset: 2; indent-tabs-mode: t -*-*/ -+ -+/* bls.c - implementation of the boot loader spec */ -+ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * -+ * GRUB is free software: you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation, either version 3 of the License, or -+ * (at your option) any later version. -+ * -+ * GRUB is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with GRUB. If not, see . -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include -+ -+GRUB_MOD_LICENSE ("GPLv3+"); -+ -+#include "loadenv.h" -+ -+#define GRUB_BLS_CONFIG_PATH "/loader/entries/" -+#ifdef GRUB_MACHINE_EMU -+#define GRUB_BOOT_DEVICE "/boot" -+#else -+#define GRUB_BOOT_DEVICE "($root)" -+#endif -+ -+struct keyval -+{ -+ const char *key; -+ char *val; -+}; -+ -+static struct bls_entry *entries = NULL; -+ -+#define FOR_BLS_ENTRIES(var) FOR_LIST_ELEMENTS (var, entries) -+ -+static int bls_add_keyval(struct bls_entry *entry, char *key, char *val) -+{ -+ char *k, *v; -+ struct keyval **kvs, *kv; -+ int new_n = entry->nkeyvals + 1; -+ -+ kvs = grub_realloc (entry->keyvals, new_n * sizeof (struct keyval *)); -+ if (!kvs) -+ return grub_error (GRUB_ERR_OUT_OF_MEMORY, -+ "couldn't find space for BLS entry"); -+ entry->keyvals = kvs; -+ -+ kv = grub_malloc (sizeof (struct keyval)); -+ if (!kv) -+ return grub_error (GRUB_ERR_OUT_OF_MEMORY, -+ "couldn't find space for BLS entry"); -+ -+ k = grub_strdup (key); -+ if (!k) -+ { -+ grub_free (kv); -+ return grub_error (GRUB_ERR_OUT_OF_MEMORY, -+ "couldn't find space for BLS entry"); -+ } -+ -+ v = grub_strdup (val); -+ if (!v) -+ { -+ grub_free (k); -+ grub_free (kv); -+ return grub_error (GRUB_ERR_OUT_OF_MEMORY, -+ "couldn't find space for BLS entry"); -+ } -+ -+ kv->key = k; -+ kv->val = v; -+ -+ entry->keyvals[entry->nkeyvals] = kv; -+ grub_dprintf("blscfg", "new keyval at %p:%s:%s\n", entry->keyvals[entry->nkeyvals], k, v); -+ entry->nkeyvals = new_n; -+ -+ return 0; -+} -+ -+/* Find they value of the key named by keyname. If there are allowed to be -+ * more than one, pass a pointer to an int set to -1 the first time, and pass -+ * the same pointer through each time after, and it'll return them in sorted -+ * order as defined in the BLS fragment file */ -+static char *bls_get_val(struct bls_entry *entry, const char *keyname, int *last) -+{ -+ int idx, start = 0; -+ struct keyval *kv = NULL; -+ -+ if (last) -+ start = *last + 1; -+ -+ for (idx = start; idx < entry->nkeyvals; idx++) { -+ kv = entry->keyvals[idx]; -+ -+ if (!grub_strcmp (keyname, kv->key)) -+ break; -+ } -+ -+ if (idx == entry->nkeyvals) { -+ if (last) -+ *last = -1; -+ return NULL; -+ } -+ -+ if (last) -+ *last = idx; -+ -+ return kv->val; -+} -+ -+#define goto_return(x) ({ ret = (x); goto finish; }) -+ -+/* compare alpha and numeric segments of two versions */ -+/* return 1: a is newer than b */ -+/* 0: a and b are the same version */ -+/* -1: b is newer than a */ -+static int vercmp(const char * a, const char * b) -+{ -+ char oldch1, oldch2; -+ char *abuf, *bbuf; -+ char *str1, *str2; -+ char * one, * two; -+ int rc; -+ int isnum; -+ int ret = 0; -+ -+ grub_dprintf("blscfg", "%s comparing %s and %s\n", __func__, a, b); -+ if (!grub_strcmp(a, b)) -+ return 0; -+ -+ abuf = grub_malloc(grub_strlen(a) + 1); -+ bbuf = grub_malloc(grub_strlen(b) + 1); -+ str1 = abuf; -+ str2 = bbuf; -+ grub_strcpy(str1, a); -+ grub_strcpy(str2, b); -+ -+ one = str1; -+ two = str2; -+ -+ /* loop through each version segment of str1 and str2 and compare them */ -+ while (*one || *two) { -+ while (*one && !grub_isalnum(*one) && *one != '~') one++; -+ while (*two && !grub_isalnum(*two) && *two != '~') two++; -+ -+ /* handle the tilde separator, it sorts before everything else */ -+ if (*one == '~' || *two == '~') { -+ if (*one != '~') goto_return (1); -+ if (*two != '~') goto_return (-1); -+ one++; -+ two++; -+ continue; -+ } -+ -+ /* If we ran to the end of either, we are finished with the loop */ -+ if (!(*one && *two)) break; -+ -+ str1 = one; -+ str2 = two; -+ -+ /* grab first completely alpha or completely numeric segment */ -+ /* leave one and two pointing to the start of the alpha or numeric */ -+ /* segment and walk str1 and str2 to end of segment */ -+ if (grub_isdigit(*str1)) { -+ while (*str1 && grub_isdigit(*str1)) str1++; -+ while (*str2 && grub_isdigit(*str2)) str2++; -+ isnum = 1; -+ } else { -+ while (*str1 && grub_isalpha(*str1)) str1++; -+ while (*str2 && grub_isalpha(*str2)) str2++; -+ isnum = 0; -+ } -+ -+ /* save character at the end of the alpha or numeric segment */ -+ /* so that they can be restored after the comparison */ -+ oldch1 = *str1; -+ *str1 = '\0'; -+ oldch2 = *str2; -+ *str2 = '\0'; -+ -+ /* this cannot happen, as we previously tested to make sure that */ -+ /* the first string has a non-null segment */ -+ if (one == str1) goto_return(-1); /* arbitrary */ -+ -+ /* take care of the case where the two version segments are */ -+ /* different types: one numeric, the other alpha (i.e. empty) */ -+ /* numeric segments are always newer than alpha segments */ -+ /* XXX See patch #60884 (and details) from bugzilla #50977. */ -+ if (two == str2) goto_return (isnum ? 1 : -1); -+ -+ if (isnum) { -+ grub_size_t onelen, twolen; -+ /* this used to be done by converting the digit segments */ -+ /* to ints using atoi() - it's changed because long */ -+ /* digit segments can overflow an int - this should fix that. */ -+ -+ /* throw away any leading zeros - it's a number, right? */ -+ while (*one == '0') one++; -+ while (*two == '0') two++; -+ -+ /* whichever number has more digits wins */ -+ onelen = grub_strlen(one); -+ twolen = grub_strlen(two); -+ if (onelen > twolen) goto_return (1); -+ if (twolen > onelen) goto_return (-1); -+ } -+ -+ /* grub_strcmp will return which one is greater - even if the two */ -+ /* segments are alpha or if they are numeric. don't return */ -+ /* if they are equal because there might be more segments to */ -+ /* compare */ -+ rc = grub_strcmp(one, two); -+ if (rc) goto_return (rc < 1 ? -1 : 1); -+ -+ /* restore character that was replaced by null above */ -+ *str1 = oldch1; -+ one = str1; -+ *str2 = oldch2; -+ two = str2; -+ } -+ -+ /* this catches the case where all numeric and alpha segments have */ -+ /* compared identically but the segment sepparating characters were */ -+ /* different */ -+ if ((!*one) && (!*two)) goto_return (0); -+ -+ /* whichever version still has characters left over wins */ -+ if (!*one) goto_return (-1); else goto_return (1); -+ -+finish: -+ grub_free (abuf); -+ grub_free (bbuf); -+ return ret; -+} -+ -+/* returns name/version/release */ -+/* NULL string pointer returned if nothing found */ -+static void -+split_package_string (char *package_string, char **name, -+ char **version, char **release) -+{ -+ char *package_version, *package_release; -+ -+ /* Release */ -+ package_release = grub_strrchr (package_string, '-'); -+ -+ if (package_release != NULL) -+ *package_release++ = '\0'; -+ -+ *release = package_release; -+ -+ if (name == NULL) -+ { -+ *version = package_string; -+ } -+ else -+ { -+ /* Version */ -+ package_version = grub_strrchr(package_string, '-'); -+ -+ if (package_version != NULL) -+ *package_version++ = '\0'; -+ -+ *version = package_version; -+ /* Name */ -+ *name = package_string; -+ } -+ -+ /* Bubble up non-null values from release to name */ -+ if (name != NULL && *name == NULL) -+ { -+ *name = (*version == NULL ? *release : *version); -+ *version = *release; -+ *release = NULL; -+ } -+ if (*version == NULL) -+ { -+ *version = *release; -+ *release = NULL; -+ } -+} -+ -+static int -+split_cmp(char *nvr0, char *nvr1, int has_name) -+{ -+ int ret = 0; -+ char *name0, *version0, *release0; -+ char *name1, *version1, *release1; -+ -+ split_package_string(nvr0, has_name ? &name0 : NULL, &version0, &release0); -+ split_package_string(nvr1, has_name ? &name1 : NULL, &version1, &release1); -+ -+ if (has_name) -+ { -+ ret = vercmp(name0 == NULL ? "" : name0, -+ name1 == NULL ? "" : name1); -+ if (ret != 0) -+ return ret; -+ } -+ -+ ret = vercmp(version0 == NULL ? "" : version0, -+ version1 == NULL ? "" : version1); -+ if (ret != 0) -+ return ret; -+ -+ ret = vercmp(release0 == NULL ? "" : release0, -+ release1 == NULL ? "" : release1); -+ return ret; -+} -+ -+/* return 1: e0 is newer than e1 */ -+/* 0: e0 and e1 are the same version */ -+/* -1: e1 is newer than e0 */ -+static int bls_cmp(const struct bls_entry *e0, const struct bls_entry *e1) -+{ -+ char *id0, *id1; -+ int r; -+ -+ id0 = grub_strdup(e0->filename); -+ id1 = grub_strdup(e1->filename); -+ -+ r = split_cmp(id0, id1, 1); -+ -+ grub_free(id0); -+ grub_free(id1); -+ -+ return r; -+} -+ -+static void list_add_tail(struct bls_entry *head, struct bls_entry *item) -+{ -+ item->next = head; -+ if (head->prev) -+ head->prev->next = item; -+ item->prev = head->prev; -+ head->prev = item; -+} -+ -+static int bls_add_entry(struct bls_entry *entry) -+{ -+ struct bls_entry *e, *last = NULL; -+ int rc; -+ -+ if (!entries) { -+ grub_dprintf ("blscfg", "Add entry with id \"%s\"\n", entry->filename); -+ entries = entry; -+ return 0; -+ } -+ -+ FOR_BLS_ENTRIES(e) { -+ rc = bls_cmp(entry, e); -+ -+ if (!rc) -+ return GRUB_ERR_BAD_ARGUMENT; -+ -+ if (rc == 1) { -+ grub_dprintf ("blscfg", "Add entry with id \"%s\"\n", entry->filename); -+ list_add_tail (e, entry); -+ if (e == entries) { -+ entries = entry; -+ entry->prev = NULL; -+ } -+ return 0; -+ } -+ last = e; -+ } -+ -+ if (last) { -+ grub_dprintf ("blscfg", "Add entry with id \"%s\"\n", entry->filename); -+ last->next = entry; -+ entry->prev = last; -+ } -+ -+ return 0; -+} -+ -+struct read_entry_info { -+ const char *devid; -+ const char *dirname; -+ grub_file_t file; -+}; -+ -+static int read_entry ( -+ const char *filename, -+ const struct grub_dirhook_info *dirhook_info UNUSED, -+ void *data) -+{ -+ grub_size_t m = 0, n, clip = 0; -+ int rc = 0; -+ char *p = NULL; -+ grub_file_t f = NULL; -+ struct bls_entry *entry; -+ struct read_entry_info *info = (struct read_entry_info *)data; -+ -+ grub_dprintf ("blscfg", "filename: \"%s\"\n", filename); -+ -+ n = grub_strlen (filename); -+ -+ if (info->file) -+ { -+ f = info->file; -+ } -+ else -+ { -+ if (filename[0] == '.') -+ return 0; -+ -+ if (n <= 5) -+ return 0; -+ -+ if (grub_strcmp (filename + n - 5, ".conf") != 0) -+ return 0; -+ -+ p = grub_xasprintf ("(%s)%s/%s", info->devid, info->dirname, filename); -+ -+ f = grub_file_open (p, GRUB_FILE_TYPE_CONFIG); -+ if (!f) -+ goto finish; -+ } -+ -+ entry = grub_zalloc (sizeof (*entry)); -+ if (!entry) -+ goto finish; -+ -+ if (info->file) -+ { -+ char *slash; -+ -+ if (n > 5 && !grub_strcmp (filename + n - 5, ".conf") == 0) -+ clip = 5; -+ -+ slash = grub_strrchr (filename, '/'); -+ if (!slash) -+ slash = grub_strrchr (filename, '\\'); -+ -+ while (*slash == '/' || *slash == '\\') -+ slash++; -+ -+ m = slash ? slash - filename : 0; -+ } -+ else -+ { -+ m = 0; -+ clip = 5; -+ } -+ n -= m; -+ -+ entry->filename = grub_strndup(filename + m, n - clip); -+ if (!entry->filename) -+ goto finish; -+ -+ entry->filename[n - 5] = '\0'; -+ -+ for (;;) -+ { -+ char *buf; -+ char *separator; -+ -+ buf = grub_file_getline (f); -+ if (!buf) -+ break; -+ -+ while (buf && buf[0] && (buf[0] == ' ' || buf[0] == '\t')) -+ buf++; -+ if (buf[0] == '#') -+ continue; -+ -+ separator = grub_strchr (buf, ' '); -+ -+ if (!separator) -+ separator = grub_strchr (buf, '\t'); -+ -+ if (!separator || separator[1] == '\0') -+ { -+ grub_free (buf); -+ break; -+ } -+ -+ separator[0] = '\0'; -+ -+ do { -+ separator++; -+ } while (*separator == ' ' || *separator == '\t'); -+ -+ rc = bls_add_keyval (entry, buf, separator); -+ grub_free (buf); -+ if (rc < 0) -+ break; -+ } -+ -+ if (!rc) -+ bls_add_entry(entry); -+ -+finish: -+ if (p) -+ grub_free (p); -+ -+ if (f) -+ grub_file_close (f); -+ -+ return 0; -+} -+ -+static grub_envblk_t saved_env = NULL; -+ -+static int UNUSED -+save_var (const char *name, const char *value, void *whitelist UNUSED) -+{ -+ const char *val = grub_env_get (name); -+ grub_dprintf("blscfg", "saving \"%s\"\n", name); -+ -+ if (val) -+ grub_envblk_set (saved_env, name, value); -+ -+ return 0; -+} -+ -+static int UNUSED -+unset_var (const char *name, const char *value UNUSED, void *whitelist) -+{ -+ grub_dprintf("blscfg", "restoring \"%s\"\n", name); -+ if (! whitelist) -+ { -+ grub_env_unset (name); -+ return 0; -+ } -+ -+ if (test_whitelist_membership (name, -+ (const grub_env_whitelist_t *) whitelist)) -+ grub_env_unset (name); -+ -+ return 0; -+} -+ -+static char **bls_make_list (struct bls_entry *entry, const char *key, int *num) -+{ -+ int last = -1; -+ char *val; -+ -+ int nlist = 0; -+ char **list = NULL; -+ -+ list = grub_malloc (sizeof (char *)); -+ if (!list) -+ return NULL; -+ list[0] = NULL; -+ -+ while (1) -+ { -+ char **new; -+ -+ val = bls_get_val (entry, key, &last); -+ if (!val) -+ break; -+ -+ new = grub_realloc (list, (nlist + 2) * sizeof (char *)); -+ if (!new) -+ break; -+ -+ list = new; -+ list[nlist++] = val; -+ list[nlist] = NULL; -+ } -+ -+ if (num) -+ *num = nlist; -+ -+ return list; -+} -+ -+static char *field_append(bool is_var, char *buffer, char *start, char *end) -+{ -+ char *temp = grub_strndup(start, end - start + 1); -+ const char *field = temp; -+ -+ if (is_var) { -+ field = grub_env_get (temp); -+ if (!field) -+ return buffer; -+ } -+ -+ if (!buffer) { -+ buffer = grub_strdup(field); -+ if (!buffer) -+ return NULL; -+ } else { -+ buffer = grub_realloc (buffer, grub_strlen(buffer) + grub_strlen(field)); -+ if (!buffer) -+ return NULL; -+ -+ grub_stpcpy (buffer + grub_strlen(buffer), field); -+ } -+ -+ return buffer; -+} -+ -+static char *expand_val(char *value) -+{ -+ char *buffer = NULL; -+ char *start = value; -+ char *end = value; -+ bool is_var = false; -+ -+ if (!value) -+ return NULL; -+ -+ while (*value) { -+ if (*value == '$') { -+ if (start != end) { -+ buffer = field_append(is_var, buffer, start, end); -+ if (!buffer) -+ return NULL; -+ } -+ -+ is_var = true; -+ start = value + 1; -+ } else if (is_var) { -+ if (!grub_isalnum(*value) && *value != '_') { -+ buffer = field_append(is_var, buffer, start, end); -+ is_var = false; -+ start = value; -+ } -+ } -+ -+ end = value; -+ value++; -+ } -+ -+ if (start != end) { -+ buffer = field_append(is_var, buffer, start, end); -+ if (!buffer) -+ return NULL; -+ } -+ -+ return buffer; -+} -+ -+static char **early_initrd_list (const char *initrd) -+{ -+ int nlist = 0; -+ char **list = NULL; -+ char *separator; -+ -+ while ((separator = grub_strchr (initrd, ' '))) -+ { -+ list = grub_realloc (list, (nlist + 2) * sizeof (char *)); -+ if (!list) -+ return NULL; -+ -+ list[nlist++] = grub_strndup(initrd, separator - initrd); -+ list[nlist] = NULL; -+ initrd = separator + 1; -+ } -+ -+ list = grub_realloc (list, (nlist + 2) * sizeof (char *)); -+ if (!list) -+ return NULL; -+ -+ list[nlist++] = grub_strndup(initrd, grub_strlen(initrd)); -+ list[nlist] = NULL; -+ -+ return list; -+} -+ -+static void create_entry (struct bls_entry *entry) -+{ -+ int argc = 0; -+ const char **argv = NULL; -+ -+ char *title = NULL; -+ char *clinux = NULL; -+ char *options = NULL; -+ char **initrds = NULL; -+ char *initrd = NULL; -+ const char *early_initrd = NULL; -+ char **early_initrds = NULL; -+ char *initrd_prefix = NULL; -+ char *id = entry->filename; -+ char *dotconf = id; -+ char *hotkey = NULL; -+ -+ char *users = NULL; -+ char **classes = NULL; -+ -+ char **args = NULL; -+ -+ char *src = NULL; -+ int i, index; -+ -+ grub_dprintf("blscfg", "%s got here\n", __func__); -+ clinux = bls_get_val (entry, "linux", NULL); -+ if (!clinux) -+ { -+ grub_dprintf ("blscfg", "Skipping file %s with no 'linux' key.\n", entry->filename); -+ goto finish; -+ } -+ -+ /* -+ * strip the ".conf" off the end before we make it our "id" field. -+ */ -+ do -+ { -+ dotconf = grub_strstr(dotconf, ".conf"); -+ } while (dotconf != NULL && dotconf[5] != '\0'); -+ if (dotconf) -+ dotconf[0] = '\0'; -+ -+ title = bls_get_val (entry, "title", NULL); -+ options = expand_val (bls_get_val (entry, "options", NULL)); -+ -+ if (!options) -+ options = expand_val (grub_env_get("default_kernelopts")); -+ -+ initrds = bls_make_list (entry, "initrd", NULL); -+ -+ hotkey = bls_get_val (entry, "grub_hotkey", NULL); -+ users = expand_val (bls_get_val (entry, "grub_users", NULL)); -+ classes = bls_make_list (entry, "grub_class", NULL); -+ args = bls_make_list (entry, "grub_arg", &argc); -+ -+ argc += 1; -+ argv = grub_malloc ((argc + 1) * sizeof (char *)); -+ argv[0] = title ? title : clinux; -+ for (i = 1; i < argc; i++) -+ argv[i] = args[i-1]; -+ argv[argc] = NULL; -+ -+ early_initrd = grub_env_get("early_initrd"); -+ -+ grub_dprintf ("blscfg", "adding menu entry for \"%s\" with id \"%s\"\n", -+ title, id); -+ if (early_initrd) -+ { -+ early_initrds = early_initrd_list(early_initrd); -+ if (!early_initrds) -+ { -+ grub_error (GRUB_ERR_OUT_OF_MEMORY, N_("out of memory")); -+ goto finish; -+ } -+ -+ if (initrds != NULL && initrds[0] != NULL) -+ { -+ initrd_prefix = grub_strrchr (initrds[0], '/'); -+ initrd_prefix = grub_strndup(initrds[0], initrd_prefix - initrds[0] + 1); -+ } -+ else -+ { -+ initrd_prefix = grub_strrchr (clinux, '/'); -+ initrd_prefix = grub_strndup(clinux, initrd_prefix - clinux + 1); -+ } -+ -+ if (!initrd_prefix) -+ { -+ grub_error (GRUB_ERR_OUT_OF_MEMORY, N_("out of memory")); -+ goto finish; -+ } -+ } -+ -+ if (early_initrds || initrds) -+ { -+ int initrd_size = sizeof ("initrd"); -+ char *tmp; -+ -+ for (i = 0; early_initrds != NULL && early_initrds[i] != NULL; i++) -+ initrd_size += sizeof (" " GRUB_BOOT_DEVICE) \ -+ + grub_strlen(initrd_prefix) \ -+ + grub_strlen (early_initrds[i]) + 1; -+ -+ for (i = 0; initrds != NULL && initrds[i] != NULL; i++) -+ initrd_size += sizeof (" " GRUB_BOOT_DEVICE) \ -+ + grub_strlen (initrds[i]) + 1; -+ initrd_size += 1; -+ -+ initrd = grub_malloc (initrd_size); -+ if (!initrd) -+ { -+ grub_error (GRUB_ERR_OUT_OF_MEMORY, N_("out of memory")); -+ goto finish; -+ } -+ -+ -+ tmp = grub_stpcpy(initrd, "initrd"); -+ for (i = 0; early_initrds != NULL && early_initrds[i] != NULL; i++) -+ { -+ grub_dprintf ("blscfg", "adding early initrd %s\n", early_initrds[i]); -+ tmp = grub_stpcpy (tmp, " " GRUB_BOOT_DEVICE); -+ tmp = grub_stpcpy (tmp, initrd_prefix); -+ tmp = grub_stpcpy (tmp, early_initrds[i]); -+ grub_free(early_initrds[i]); -+ } -+ -+ for (i = 0; initrds != NULL && initrds[i] != NULL; i++) -+ { -+ grub_dprintf ("blscfg", "adding initrd %s\n", initrds[i]); -+ tmp = grub_stpcpy (tmp, " " GRUB_BOOT_DEVICE); -+ tmp = grub_stpcpy (tmp, initrds[i]); -+ } -+ tmp = grub_stpcpy (tmp, "\n"); -+ } -+ -+ src = grub_xasprintf ("load_video\n" -+ "set gfxpayload=keep\n" -+ "insmod gzio\n" -+ "linux %s%s%s%s\n" -+ "%s", -+ GRUB_BOOT_DEVICE, clinux, options ? " " : "", options ? options : "", -+ initrd ? initrd : ""); -+ -+ grub_normal_add_menu_entry (argc, argv, classes, id, users, hotkey, NULL, src, 0, &index, entry); -+ grub_dprintf ("blscfg", "Added entry %d id:\"%s\"\n", index, id); -+ -+finish: -+ grub_free (initrd); -+ grub_free (initrd_prefix); -+ grub_free (early_initrds); -+ grub_free (initrds); -+ grub_free (options); -+ grub_free (classes); -+ grub_free (args); -+ grub_free (argv); -+ grub_free (src); -+} -+ -+struct find_entry_info { -+ const char *dirname; -+ const char *devid; -+ grub_device_t dev; -+ grub_fs_t fs; -+}; -+ -+/* -+ * info: the filesystem object the file is on. -+ */ -+static int find_entry (struct find_entry_info *info) -+{ -+ struct read_entry_info read_entry_info; -+ grub_fs_t blsdir_fs = NULL; -+ grub_device_t blsdir_dev = NULL; -+ const char *blsdir = info->dirname; -+ int fallback = 0; -+ int r = 0; -+ -+ if (!blsdir) { -+ blsdir = grub_env_get ("blsdir"); -+ if (!blsdir) -+ blsdir = GRUB_BLS_CONFIG_PATH; -+ } -+ -+ read_entry_info.file = NULL; -+ read_entry_info.dirname = blsdir; -+ -+ grub_dprintf ("blscfg", "scanning blsdir: %s\n", blsdir); -+ -+ blsdir_dev = info->dev; -+ blsdir_fs = info->fs; -+ read_entry_info.devid = info->devid; -+ -+read_fallback: -+ r = blsdir_fs->fs_dir (blsdir_dev, read_entry_info.dirname, read_entry, -+ &read_entry_info); -+ if (r != 0) { -+ grub_dprintf ("blscfg", "read_entry returned error\n"); -+ grub_err_t e; -+ do -+ { -+ e = grub_error_pop(); -+ } while (e); -+ } -+ -+ if (r && !info->dirname && !fallback) { -+ read_entry_info.dirname = "/boot" GRUB_BLS_CONFIG_PATH; -+ grub_dprintf ("blscfg", "Entries weren't found in %s, fallback to %s\n", -+ blsdir, read_entry_info.dirname); -+ fallback = 1; -+ goto read_fallback; -+ } -+ -+ return 0; -+} -+ -+static grub_err_t -+bls_load_entries (const char *path) -+{ -+ grub_size_t len; -+ grub_fs_t fs; -+ grub_device_t dev; -+ static grub_err_t r; -+ const char *devid = NULL; -+ char *blsdir = NULL; -+ struct find_entry_info info = { -+ .dev = NULL, -+ .fs = NULL, -+ .dirname = NULL, -+ }; -+ struct read_entry_info rei = { -+ .devid = NULL, -+ .dirname = NULL, -+ }; -+ -+ if (path) { -+ len = grub_strlen (path); -+ if (grub_strcmp (path + len - 5, ".conf") == 0) { -+ rei.file = grub_file_open (path, GRUB_FILE_TYPE_CONFIG); -+ if (!rei.file) -+ return grub_errno; -+ /* -+ * read_entry() closes the file -+ */ -+ return read_entry(path, NULL, &rei); -+ } else if (path[0] == '(') { -+ devid = path + 1; -+ -+ blsdir = grub_strchr (path, ')'); -+ if (!blsdir) -+ return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("Filepath isn't correct")); -+ -+ *blsdir = '\0'; -+ blsdir = blsdir + 1; -+ } -+ } -+ -+ if (!devid) { -+#ifdef GRUB_MACHINE_EMU -+ devid = "host"; -+#elif defined(GRUB_MACHINE_EFI) -+ devid = grub_env_get ("root"); -+#else -+ devid = grub_env_get ("boot"); -+#endif -+ if (!devid) -+ return grub_error (GRUB_ERR_FILE_NOT_FOUND, -+ N_("variable `%s' isn't set"), "boot"); -+ } -+ -+ grub_dprintf ("blscfg", "opening %s\n", devid); -+ dev = grub_device_open (devid); -+ if (!dev) -+ return grub_errno; -+ -+ grub_dprintf ("blscfg", "probing fs\n"); -+ fs = grub_fs_probe (dev); -+ if (!fs) -+ { -+ r = grub_errno; -+ goto finish; -+ } -+ -+ info.dirname = blsdir; -+ info.devid = devid; -+ info.dev = dev; -+ info.fs = fs; -+ find_entry(&info); -+ -+finish: -+ if (dev) -+ grub_device_close (dev); -+ -+ return r; -+} -+ -+static bool -+is_default_entry(const char *def_entry, struct bls_entry *entry, int idx) -+{ -+ const char *title; -+ int def_idx; -+ -+ if (!def_entry) -+ return false; -+ -+ if (grub_strcmp(def_entry, entry->filename) == 0) -+ return true; -+ -+ title = bls_get_val(entry, "title", NULL); -+ -+ if (title && grub_strcmp(def_entry, title) == 0) -+ return true; -+ -+ def_idx = (int)grub_strtol(def_entry, NULL, 0); -+ if (grub_errno == GRUB_ERR_BAD_NUMBER) { -+ grub_errno = GRUB_ERR_NONE; -+ return false; -+ } -+ -+ if (def_idx == idx) -+ return true; -+ -+ return false; -+} -+ -+static grub_err_t -+bls_create_entries (bool show_default, bool show_non_default, char *entry_id) -+{ -+ const char *def_entry = NULL; -+ struct bls_entry *entry = NULL; -+ int idx = 0; -+ -+ def_entry = grub_env_get("default"); -+ -+ grub_dprintf ("blscfg", "%s Creating entries from bls\n", __func__); -+ FOR_BLS_ENTRIES(entry) { -+ if (entry->visible) { -+ idx++; -+ continue; -+ } -+ -+ if ((show_default && is_default_entry(def_entry, entry, idx)) || -+ (show_non_default && !is_default_entry(def_entry, entry, idx)) || -+ (entry_id && grub_strcmp(entry_id, entry->filename) == 0)) { -+ create_entry(entry); -+ entry->visible = 1; -+ } -+ idx++; -+ } -+ -+ return GRUB_ERR_NONE; -+} -+ -+static grub_err_t -+grub_cmd_blscfg (grub_extcmd_context_t ctxt UNUSED, -+ int argc, char **args) -+{ -+ grub_err_t r; -+ char *path = NULL; -+ char *entry_id = NULL; -+ bool show_default = true; -+ bool show_non_default = true; -+ -+ if (argc == 1) { -+ if (grub_strcmp (args[0], "default") == 0) { -+ show_non_default = false; -+ } else if (grub_strcmp (args[0], "non-default") == 0) { -+ show_default = false; -+ } else if (args[0][0] == '(') { -+ path = args[0]; -+ } else { -+ entry_id = args[0]; -+ show_default = false; -+ show_non_default = false; -+ } -+ } -+ -+ r = bls_load_entries(path); -+ if (r) -+ return r; -+ -+ return bls_create_entries(show_default, show_non_default, entry_id); -+} -+ -+static grub_extcmd_t cmd; -+static grub_extcmd_t oldcmd; -+ -+GRUB_MOD_INIT(blscfg) -+{ -+ grub_dprintf("blscfg", "%s got here\n", __func__); -+ cmd = grub_register_extcmd ("blscfg", -+ grub_cmd_blscfg, -+ 0, -+ NULL, -+ N_("Import Boot Loader Specification snippets."), -+ NULL); -+ oldcmd = grub_register_extcmd ("bls_import", -+ grub_cmd_blscfg, -+ 0, -+ NULL, -+ N_("Import Boot Loader Specification snippets."), -+ NULL); -+} -+ -+GRUB_MOD_FINI(blscfg) -+{ -+ grub_unregister_extcmd (cmd); -+ grub_unregister_extcmd (oldcmd); -+} -diff --git a/grub-core/commands/legacycfg.c b/grub-core/commands/legacycfg.c -index db7a8f00273..891eac5a33f 100644 ---- a/grub-core/commands/legacycfg.c -+++ b/grub-core/commands/legacycfg.c -@@ -133,7 +133,7 @@ legacy_file (const char *filename) - args[0] = oldname; - grub_normal_add_menu_entry (1, args, NULL, NULL, "legacy", - NULL, NULL, -- entrysrc, 0); -+ entrysrc, 0, NULL, NULL); - grub_free (args); - entrysrc[0] = 0; - grub_free (oldname); -@@ -186,7 +186,8 @@ legacy_file (const char *filename) - } - args[0] = entryname; - grub_normal_add_menu_entry (1, args, NULL, NULL, NULL, -- NULL, NULL, entrysrc, 0); -+ NULL, NULL, entrysrc, 0, NULL, -+ NULL); - grub_free (args); - } - -diff --git a/grub-core/commands/loadenv.c b/grub-core/commands/loadenv.c -index 3fd664aac33..163b9a09042 100644 ---- a/grub-core/commands/loadenv.c -+++ b/grub-core/commands/loadenv.c -@@ -28,6 +28,8 @@ - #include - #include - -+#include "loadenv.h" -+ - GRUB_MOD_LICENSE ("GPLv3+"); - - static const struct grub_arg_option options[] = -@@ -79,81 +81,6 @@ open_envblk_file (char *filename, - return file; - } - --static grub_envblk_t --read_envblk_file (grub_file_t file) --{ -- grub_off_t offset = 0; -- char *buf; -- grub_size_t size = grub_file_size (file); -- grub_envblk_t envblk; -- -- buf = grub_malloc (size); -- if (! buf) -- return 0; -- -- while (size > 0) -- { -- grub_ssize_t ret; -- -- ret = grub_file_read (file, buf + offset, size); -- if (ret <= 0) -- { -- grub_free (buf); -- return 0; -- } -- -- size -= ret; -- offset += ret; -- } -- -- envblk = grub_envblk_open (buf, offset); -- if (! envblk) -- { -- grub_free (buf); -- grub_error (GRUB_ERR_BAD_FILE_TYPE, "invalid environment block"); -- return 0; -- } -- -- return envblk; --} -- --struct grub_env_whitelist --{ -- grub_size_t len; -- char **list; --}; --typedef struct grub_env_whitelist grub_env_whitelist_t; -- --static int --test_whitelist_membership (const char* name, -- const grub_env_whitelist_t* whitelist) --{ -- grub_size_t i; -- -- for (i = 0; i < whitelist->len; i++) -- if (grub_strcmp (name, whitelist->list[i]) == 0) -- return 1; /* found it */ -- -- return 0; /* not found */ --} -- --/* Helper for grub_cmd_load_env. */ --static int --set_var (const char *name, const char *value, void *whitelist) --{ -- if (! whitelist) -- { -- grub_env_set (name, value); -- return 0; -- } -- -- if (test_whitelist_membership (name, -- (const grub_env_whitelist_t *) whitelist)) -- grub_env_set (name, value); -- -- return 0; --} -- - static grub_err_t - grub_cmd_load_env (grub_extcmd_context_t ctxt, int argc, char **args) - { -diff --git a/grub-core/commands/menuentry.c b/grub-core/commands/menuentry.c -index 2c5363da7f5..9faf2be0f64 100644 ---- a/grub-core/commands/menuentry.c -+++ b/grub-core/commands/menuentry.c -@@ -78,7 +78,7 @@ grub_normal_add_menu_entry (int argc, const char **args, - char **classes, const char *id, - const char *users, const char *hotkey, - const char *prefix, const char *sourcecode, -- int submenu) -+ int submenu, int *index, struct bls_entry *bls) - { - int menu_hotkey = 0; - char **menu_args = NULL; -@@ -149,9 +149,12 @@ grub_normal_add_menu_entry (int argc, const char **args, - if (! menu_title) - goto fail; - -+ grub_dprintf ("menu", "id:\"%s\"\n", id); -+ grub_dprintf ("menu", "title:\"%s\"\n", menu_title); - menu_id = grub_strdup (id ? : menu_title); - if (! menu_id) - goto fail; -+ grub_dprintf ("menu", "menu_id:\"%s\"\n", menu_id); - - /* Save argc, args to pass as parameters to block arg later. */ - menu_args = grub_calloc (argc + 1, sizeof (char *)); -@@ -170,8 +173,12 @@ grub_normal_add_menu_entry (int argc, const char **args, - } - - /* Add the menu entry at the end of the list. */ -+ int ind=0; - while (*last) -- last = &(*last)->next; -+ { -+ ind++; -+ last = &(*last)->next; -+ } - - *last = grub_zalloc (sizeof (**last)); - if (! *last) -@@ -188,8 +195,11 @@ grub_normal_add_menu_entry (int argc, const char **args, - (*last)->args = menu_args; - (*last)->sourcecode = menu_sourcecode; - (*last)->submenu = submenu; -+ (*last)->bls = bls; - - menu->size++; -+ if (index) -+ *index = ind; - return GRUB_ERR_NONE; - - fail: -@@ -286,7 +296,8 @@ grub_cmd_menuentry (grub_extcmd_context_t ctxt, int argc, char **args) - users, - ctxt->state[2].arg, 0, - ctxt->state[3].arg, -- ctxt->extcmd->cmd->name[0] == 's'); -+ ctxt->extcmd->cmd->name[0] == 's', -+ NULL, NULL); - - src = args[argc - 1]; - args[argc - 1] = NULL; -@@ -303,7 +314,8 @@ grub_cmd_menuentry (grub_extcmd_context_t ctxt, int argc, char **args) - ctxt->state[0].args, ctxt->state[4].arg, - users, - ctxt->state[2].arg, prefix, src + 1, -- ctxt->extcmd->cmd->name[0] == 's'); -+ ctxt->extcmd->cmd->name[0] == 's', NULL, -+ NULL); - - src[len - 1] = ch; - args[argc - 1] = src; -diff --git a/grub-core/normal/main.c b/grub-core/normal/main.c -index 9ef98481f70..a326b192c89 100644 ---- a/grub-core/normal/main.c -+++ b/grub-core/normal/main.c -@@ -20,6 +20,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -70,6 +71,11 @@ grub_normal_free_menu (grub_menu_t menu) - grub_free (entry->args); - } - -+ if (entry->bls) -+ { -+ entry->bls->visible = 0; -+ } -+ - grub_free ((void *) entry->id); - grub_free ((void *) entry->users); - grub_free ((void *) entry->title); -diff --git a/grub-core/commands/loadenv.h b/grub-core/commands/loadenv.h -new file mode 100644 -index 00000000000..952f46121bd ---- /dev/null -+++ b/grub-core/commands/loadenv.h -@@ -0,0 +1,93 @@ -+/* loadenv.c - command to load/save environment variable. */ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copyright (C) 2008,2009,2010 Free Software Foundation, Inc. -+ * -+ * GRUB is free software: you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation, either version 3 of the License, or -+ * (at your option) any later version. -+ * -+ * GRUB is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with GRUB. If not, see . -+ */ -+ -+static grub_envblk_t UNUSED -+read_envblk_file (grub_file_t file) -+{ -+ grub_off_t offset = 0; -+ char *buf; -+ grub_size_t size = grub_file_size (file); -+ grub_envblk_t envblk; -+ -+ buf = grub_malloc (size); -+ if (! buf) -+ return 0; -+ -+ while (size > 0) -+ { -+ grub_ssize_t ret; -+ -+ ret = grub_file_read (file, buf + offset, size); -+ if (ret <= 0) -+ { -+ grub_free (buf); -+ return 0; -+ } -+ -+ size -= ret; -+ offset += ret; -+ } -+ -+ envblk = grub_envblk_open (buf, offset); -+ if (! envblk) -+ { -+ grub_free (buf); -+ grub_error (GRUB_ERR_BAD_FILE_TYPE, "invalid environment block"); -+ return 0; -+ } -+ -+ return envblk; -+} -+ -+struct grub_env_whitelist -+{ -+ grub_size_t len; -+ char **list; -+}; -+typedef struct grub_env_whitelist grub_env_whitelist_t; -+ -+static int UNUSED -+test_whitelist_membership (const char* name, -+ const grub_env_whitelist_t* whitelist) -+{ -+ grub_size_t i; -+ -+ for (i = 0; i < whitelist->len; i++) -+ if (grub_strcmp (name, whitelist->list[i]) == 0) -+ return 1; /* found it */ -+ -+ return 0; /* not found */ -+} -+ -+/* Helper for grub_cmd_load_env. */ -+static int UNUSED -+set_var (const char *name, const char *value, void *whitelist) -+{ -+ if (! whitelist) -+ { -+ grub_env_set (name, value); -+ return 0; -+ } -+ -+ if (test_whitelist_membership (name, -+ (const grub_env_whitelist_t *) whitelist)) -+ grub_env_set (name, value); -+ -+ return 0; -+} -diff --git a/include/grub/compiler.h b/include/grub/compiler.h -index c9e1d7a73dc..9859ff4cc79 100644 ---- a/include/grub/compiler.h -+++ b/include/grub/compiler.h -@@ -48,4 +48,6 @@ - # define CLANG_PREREQ(maj,min) 0 - #endif - -+#define UNUSED __attribute__((__unused__)) -+ - #endif /* ! GRUB_COMPILER_HEADER */ -diff --git a/include/grub/menu.h b/include/grub/menu.h -index ee2b5e91045..0acdc2aa6bf 100644 ---- a/include/grub/menu.h -+++ b/include/grub/menu.h -@@ -20,6 +20,16 @@ - #ifndef GRUB_MENU_HEADER - #define GRUB_MENU_HEADER 1 - -+struct bls_entry -+{ -+ struct bls_entry *next; -+ struct bls_entry *prev; -+ struct keyval **keyvals; -+ int nkeyvals; -+ char *filename; -+ int visible; -+}; -+ - struct grub_menu_entry_class - { - char *name; -@@ -60,6 +70,9 @@ struct grub_menu_entry - - /* The next element. */ - struct grub_menu_entry *next; -+ -+ /* BLS used to populate the entry */ -+ struct bls_entry *bls; - }; - typedef struct grub_menu_entry *grub_menu_entry_t; - -diff --git a/include/grub/normal.h b/include/grub/normal.h -index 218cbabccaf..8839ad85a19 100644 ---- a/include/grub/normal.h -+++ b/include/grub/normal.h -@@ -145,7 +145,7 @@ grub_normal_add_menu_entry (int argc, const char **args, char **classes, - const char *id, - const char *users, const char *hotkey, - const char *prefix, const char *sourcecode, -- int submenu); -+ int submenu, int *index, struct bls_entry *bls); - - grub_err_t - grub_normal_set_password (const char *user, const char *password); diff --git a/grub-mkconfig-diagnostics.patch b/grub-mkconfig-diagnostics.patch index 36edb0b..8cfd765 100644 --- a/grub-mkconfig-diagnostics.patch +++ b/grub-mkconfig-diagnostics.patch @@ -92,10 +92,10 @@ diff -dur -x '*~' -x '*.orig' grub-2.02~beta2.orig/util/grub.d/10_hurd.in grub-2 at_least_one=true else all_of_them=false -@@ -74,8 +74,8 @@ +@@ -99,8 +99,8 @@ if test -e '/lib/ld-x86-64.so.1' ; then fi - if ${all_of_them} && test -e /lib/ld.so.1 ; then : ; else + if ${all_of_them} && test -n "$LD_SO" ; then : ; else - gettext "Some Hurd stuff found, but not enough to boot." >&2 - echo >&2 + gettext "Some Hurd stuff found, but not enough to boot." >&3 diff --git a/grub2-fonts_path.patch b/grub2-fonts_path.patch index e5f5300..204b05f 100644 --- a/grub2-fonts_path.patch +++ b/grub2-fonts_path.patch @@ -1,11 +1,11 @@ ---- grub-2.12/configure.ac.orig 2023-12-20 18:27:11.057068695 +0100 -+++ grub-2.12/configure.ac 2023-12-20 18:28:25.454952491 +0100 -@@ -1847,7 +1847,7 @@ +--- grub-2.14~rc1/configure.ac~ 2025-10-28 13:18:58.000000000 +0100 ++++ grub-2.14~rc1/configure.ac 2025-11-13 09:12:59.488212011 +0100 +@@ -2117,7 +2117,7 @@ if test "x$with_dejavufont" = x; then # search in well-known directories if test x"$starfield_excuse" = x; then for ext in pcf pcf.gz bdf bdf.gz ttf ttf.gz; do -- for dir in . /usr/src /usr/share/fonts/X11/misc /usr/share/fonts/truetype/ttf-dejavu /usr/share/fonts/dejavu /usr/share/fonts/truetype /usr/pkg/share/fonts/X11/TTF /usr/local/share/fonts/dejavu /usr/X11R6/lib/X11/fonts/TTF; do -+ for dir in . /usr/share/fonts/TTF /usr/src /usr/share/fonts/X11/misc /usr/share/fonts/truetype/ttf-dejavu /usr/share/fonts/dejavu /usr/share/fonts/truetype /usr/pkg/share/fonts/X11/TTF /usr/local/share/fonts/dejavu /usr/X11R6/lib/X11/fonts/TTF; do +- for dir in . /usr/src /usr/share/fonts/X11/misc /usr/share/fonts/truetype/ttf-dejavu /usr/share/fonts/dejavu /usr/share/fonts/truetype /usr/pkg/share/fonts/X11/TTF /usr/local/share/fonts/dejavu /usr/X11R6/lib/X11/fonts/TTF /usr/share/fonts/dejavu-sans-fonts /usr/share/fonts/truetype/dejavu; do ++ for dir in . /usr/share/fonts/TTF /usr/src /usr/share/fonts/X11/misc /usr/share/fonts/truetype/ttf-dejavu /usr/share/fonts/dejavu /usr/share/fonts/truetype /usr/pkg/share/fonts/X11/TTF /usr/local/share/fonts/dejavu /usr/X11R6/lib/X11/fonts/TTF /usr/share/fonts/dejavu-sans-fonts /usr/share/fonts/truetype/dejavu; do if test -f "$dir/DejaVuSans.$ext"; then DJVU_FONT_SOURCE="$dir/DejaVuSans.$ext" break 2 diff --git a/grub2.spec b/grub2.spec index d49a72e..55badb8 100644 --- a/grub2.spec +++ b/grub2.spec @@ -143,12 +143,12 @@ Summary(hu.UTF-8): GRUB2 - rendszerbetöltő x86 és ppc gépekhez Summary(pl.UTF-8): GRUB2 - bootloader dla x86 i ppc Summary(pt_BR.UTF-8): Gerenciador de inicialização GRUB2 Name: grub2 -Version: 2.12 -Release: 3 +Version: 2.14 +Release: 1 License: GPL v2 Group: Base Source0: https://ftp.gnu.org/gnu/grub/grub-%{version}.tar.xz -# Source0-md5: 60c564b1bdc39d8e43b3aab4bc0fb140 +# Source0-md5: 383f9effad01c235d2535357ff717543 Source1: update-grub Source2: update-grub.8 Source3: grub.sysconfig @@ -165,11 +165,13 @@ Patch9: just-say-linux.patch Patch10: ignore-kernel-symlinks.patch Patch11: choose-preferred-initrd.patch Patch12: %{name}-cfg.patch -Patch14: blscfg.patch -Patch15: restricted.patch -Patch16: x32.patch +Patch13: image-base.patch +Patch14: md-name.patch +Patch15: x32.patch +Patch16: restricted.patch URL: http://www.gnu.org/software/grub/ BuildRequires: autoconf >= 2.64 +BuildRequires: autoconf-archive BuildRequires: automake >= 1:1.11.1-1 BuildRequires: bison >= 2.3 BuildRequires: device-mapper-devel >= 1.02.34 @@ -196,6 +198,7 @@ BuildRequires: glibc-localedb-all BuildRequires: glibc-static BuildRequires: help2man BuildRequires: libfuse3-devel +BuildRequires: libtasn1-devel BuildRequires: libtool BuildRequires: ncurses-devel BuildRequires: pkgconfig @@ -537,6 +540,7 @@ Motyw starfield dla GRUB-a. %patch -P10 -p1 %patch -P11 -p1 %patch -P12 -p0 +%patch -P13 -p1 %patch -P14 -p1 %patch -P15 -p1 %patch -P16 -p1 @@ -544,11 +548,6 @@ Motyw starfield dla GRUB-a. # we don't have C.utf-8 and need an UTF-8 locale for build sed -i -e 's/LC_ALL=C.UTF-8/LC_ALL=en_US.utf-8/g' po/Makefile* po/Rules* -# missing in tarball -cat > grub-core/extra_deps.lst < conftest.c <<\EOF +-asm ( +- ".globl start, _start, __start\n" +- ".ifdef cmain; .set start = _start = __start = cmain\n.endif\n" +- ".ifdef _cmain; .set start = _start = __start = _cmain\n.endif\n" +-); + void cmain (void); + void + cmain (void) +--- grub-2.14/configure.ac.org 2026-03-03 12:54:23.256474391 +0100 ++++ grub-2.14/configure.ac 2026-03-03 12:54:38.716838858 +0100 +@@ -1461,6 +1461,7 @@ elif test x$grub_cv_target_cc_link_forma + TARGET_IMG_LDSCRIPT='$(top_srcdir)'"/conf/i386-cygwin-img-ld.sc" + TARGET_IMG_LDFLAGS="-Wl,-T${TARGET_IMG_LDSCRIPT}" + TARGET_IMG_LDFLAGS_AC="-Wl,-T${srcdir}/conf/i386-cygwin-img-ld.sc" ++ TARGET_IMG_BASE_LDOPT="-Wl,-Ttext" + TARGET_IMG_CFLAGS= + else + TARGET_APPLE_LINKER=0 +@@ -1468,6 +1469,7 @@ else + TARGET_IMG_LDSCRIPT= + TARGET_IMG_LDFLAGS='-Wl,-N' + TARGET_IMG_LDFLAGS_AC='-Wl,-N' ++ TARGET_IMG_BASE_LDOPT="-Wl,-Ttext" + TARGET_IMG_CFLAGS= + fi + +@@ -1792,24 +1794,7 @@ LIBS="" + # Defined in acinclude.m4. + grub_ASM_USCORE + grub_PROG_TARGET_CC +- +-# The error message produced by autoconf if autoconf-archive is not installed is +-# quite misleading and not very helpful. So, try point people in the right direction. +-m4_ifndef([AX_CHECK_LINK_FLAG], [m4_fatal([autoconf-archive is missing. You must install it to generate the configure script.])]) +- + if test "x$TARGET_APPLE_LINKER" != x1 ; then +-AX_CHECK_LINK_FLAG([-Wl,--image-base,0x400000], +- [TARGET_IMG_BASE_LDOPT="-Wl,--image-base"], +- [TARGET_IMG_BASE_LDOPT="-Wl,-Ttext"], +- [], +- [AC_LANG_SOURCE([ +-asm (".globl start; start:"); +-asm (".globl _start; _start:"); +-asm (".globl __start; __start:"); +-void __main (void); +-void __main (void) {} +-int main (void); +- ])]) + grub_PROG_OBJCOPY_ABSOLUTE + fi + grub_PROG_LD_BUILD_ID_NONE diff --git a/md-name.patch b/md-name.patch new file mode 100644 index 0000000..c5869da --- /dev/null +++ b/md-name.patch @@ -0,0 +1,61 @@ + diskfilter: Fix md RAID device naming for numeric arrays + + grub-install fails with 'disk `md0' not found' on mdraid1x arrays with + numeric names (the common case for /dev/md0, /dev/md1, etc.). + + Two subsystems must agree on GRUB device names for md arrays: + + - grub_util_get_raid_grub_dev() translates OS device paths to GRUB + names: /dev/md0 and /dev/md/0 both produce "md0", while + /dev/md/boot produces "md/boot". + + - grub_diskfilter_make_raid() constructs the internal array name from + on-disk superblock metadata. It unconditionally prepends "md/" to + the identifier, producing "md/0" for a RAID 1.x array whose + set_name is "hostname:0" (after homehost stripping). + + The mismatch ("md0" vs "md/0") is normally masked by UUID-based lookup + (mduuid/...) when mdadm is available. When mdadm is unavailable -- + common in chroot and rescue environments -- the name-based fallback + path is taken and the mismatch causes the failure. + + Fix grub_diskfilter_make_raid() to choose "md" for numeric names and + "md/" for free-form names, matching grub_util_get_raid_grub_dev(). + + Also fix grub_mdraid_detect() for RAID 0.9x which passed "md0" (already + prefixed) to grub_diskfilter_make_raid(), producing "md/md0". Pass just + the minor number so the callee applies the prefix consistently. + + Bug: https://savannah.gnu.org/bugs/?67868 + +diff --git a/grub-core/disk/diskfilter.c b/grub-core/disk/diskfilter.c +index 3a26de6..de24958 100644 +--- a/grub-core/disk/diskfilter.c ++++ b/grub-core/disk/diskfilter.c +@@ -1131,8 +1131,11 @@ grub_diskfilter_make_raid (grub_size_t uuidlen, char *uuid, int nmemb, + { + /* Strip off the homehost if present. */ + char *colon = grub_strchr (name, ':'); +- char *new_name = grub_xasprintf ("md/%s", +- colon ? colon + 1 : name); ++ const char *base = colon ? colon + 1 : name; ++ /* Use "md" for numeric names and "md/" for free-form names, ++ matching the convention in grub_util_get_raid_grub_dev(). */ ++ char *new_name = grub_xasprintf (base[0] >= '0' && base[0] <= '9' ++ ? "md%s" : "md/%s", base); + + if (! new_name) + goto fail; +diff --git a/grub-core/disk/mdraid_linux.c b/grub-core/disk/mdraid_linux.c +index e40216f..e003f6d 100644 +--- a/grub-core/disk/mdraid_linux.c ++++ b/grub-core/disk/mdraid_linux.c +@@ -252,7 +252,7 @@ grub_mdraid_detect (grub_disk_t disk, + id->id = grub_md_to_cpu32 (sb->this_disk.number); + + char buf[32]; +- grub_snprintf (buf, sizeof (buf), "md%d", grub_md_to_cpu32 (sb->md_minor)); ++ grub_snprintf (buf, sizeof (buf), "%d", grub_md_to_cpu32 (sb->md_minor)); + ret = grub_diskfilter_make_raid (16, (char *) uuid, + grub_md_to_cpu32 (sb->raid_disks), buf, + (sb->size) ? ((grub_disk_addr_t) diff --git a/restricted.patch b/restricted.patch index ff496a5..51f9072 100644 --- a/restricted.patch +++ b/restricted.patch @@ -1,6 +1,6 @@ -diff -ur grub-2.12.orig/util/grub.d/10_linux.in grub-2.12/util/grub.d/10_linux.in ---- grub-2.12.orig/util/grub.d/10_linux.in 2025-04-27 17:47:18.122797143 +0200 -+++ grub-2.12/util/grub.d/10_linux.in 2025-04-27 17:47:43.810873653 +0200 +diff -ur grub-2.14.orig/util/grub.d/10_linux.in grub-2.14/util/grub.d/10_linux.in +--- grub-2.14.orig/util/grub.d/10_linux.in 2026-05-19 16:49:06.410014719 +0200 ++++ grub-2.14/util/grub.d/10_linux.in 2026-05-19 16:49:25.118095262 +0200 @@ -35,6 +35,10 @@ CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1|LC_ALL=C sed 's,[^[:alnum:]_],_,g') ${CLASS}" fi @@ -12,9 +12,9 @@ diff -ur grub-2.12.orig/util/grub.d/10_linux.in grub-2.12/util/grub.d/10_linux.i # loop-AES arranges things so that /dev/loop/X can be our root device, but # the initrds that Linux uses don't like that. case ${GRUB_DEVICE} in -diff -ur grub-2.12.orig/util/grub.d/20_linux_xen.in grub-2.12/util/grub.d/20_linux_xen.in ---- grub-2.12.orig/util/grub.d/20_linux_xen.in 2025-04-27 17:47:18.122797143 +0200 -+++ grub-2.12/util/grub.d/20_linux_xen.in 2025-04-27 17:51:45.263592919 +0200 +diff -ur grub-2.14.orig/util/grub.d/20_linux_xen.in grub-2.14/util/grub.d/20_linux_xen.in +--- grub-2.14.orig/util/grub.d/20_linux_xen.in 2026-05-19 16:49:06.410014719 +0200 ++++ grub-2.14/util/grub.d/20_linux_xen.in 2026-05-19 16:49:25.118095262 +0200 @@ -35,6 +35,10 @@ CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1|LC_ALL=C sed 's,[^[:alnum:]_],_,g') ${CLASS}" fi @@ -26,15 +26,15 @@ diff -ur grub-2.12.orig/util/grub.d/20_linux_xen.in grub-2.12/util/grub.d/20_lin # loop-AES arranges things so that /dev/loop/X can be our root device, but # the initrds that Linux uses don't like that. case ${GRUB_DEVICE} in -diff -ur grub-2.12.orig/util/grub-mkconfig.in grub-2.12/util/grub-mkconfig.in ---- grub-2.12.orig/util/grub-mkconfig.in 2025-04-27 17:47:18.118797131 +0200 -+++ grub-2.12/util/grub-mkconfig.in 2025-04-27 17:47:43.810873653 +0200 -@@ -271,7 +271,8 @@ - GRUB_ENABLE_CRYPTODISK \ +diff -ur grub-2.14.orig/util/grub-mkconfig.in grub-2.14/util/grub-mkconfig.in +--- grub-2.14.orig/util/grub-mkconfig.in 2026-05-19 16:49:06.406014701 +0200 ++++ grub-2.14/util/grub-mkconfig.in 2026-05-19 16:50:35.010392262 +0200 +@@ -272,7 +272,8 @@ GRUB_BADRAM \ GRUB_OS_PROBER_SKIP_LIST \ -- GRUB_DISABLE_SUBMENU -+ GRUB_DISABLE_SUBMENU \ + GRUB_DISABLE_SUBMENU \ +- GRUB_FORCE_EFI_ALL_VIDEO ++ GRUB_FORCE_EFI_ALL_VIDEO \ + GRUB_RESTRICTED if test "x${grub_cfg}" != "x"; then diff --git a/tld-sysconfdir.patch b/tld-sysconfdir.patch index 0c0c7e7..bee945a 100644 --- a/tld-sysconfdir.patch +++ b/tld-sysconfdir.patch @@ -1,7 +1,7 @@ -diff -ur grub-2.12.orig/docs/grub.info-1 grub-2.12/docs/grub.info-1 ---- grub-2.12.orig/docs/grub.info-1 2023-12-20 17:03:44.000000000 +0100 -+++ grub-2.12/docs/grub.info-1 2025-04-26 21:20:04.270885832 +0200 -@@ -1204,7 +1204,7 @@ +diff -ur grub-2.14.orig/docs/grub.info-1 grub-2.14/docs/grub.info-1 +--- grub-2.14.orig/docs/grub.info-1 2026-01-14 19:38:06.000000000 +0100 ++++ grub-2.14/docs/grub.info-1 2026-05-19 16:32:53.929828293 +0200 +@@ -1210,7 +1210,7 @@ Booting::, and *note Shell-like scripting::), and to disable any system provided by their distribution to automatically run 'grub-mkconfig'. @@ -10,7 +10,7 @@ diff -ur grub-2.12.orig/docs/grub.info-1 grub-2.12/docs/grub.info-1 'grub-mkconfig'. It is sourced by a shell script, and so must be valid POSIX shell input; normally, it will just be a sequence of 'KEY=value' lines, but if the value contains spaces or other special characters then -@@ -1212,7 +1212,7 @@ +@@ -1218,7 +1218,7 @@ GRUB_TERMINAL_INPUT="console serial" @@ -19,7 +19,7 @@ diff -ur grub-2.12.orig/docs/grub.info-1 grub-2.12/docs/grub.info-1 'GRUB_DEFAULT' The default menu entry. This may be a number, in which case it -@@ -1841,7 +1841,7 @@ +@@ -1858,7 +1858,7 @@ 'GRUB_DISABLE_OS_PROBER=true' @@ -28,7 +28,7 @@ diff -ur grub-2.12.orig/docs/grub.info-1 grub-2.12/docs/grub.info-1 Then write a grub.cfg (/mnt/boot/grub/grub.cfg): -@@ -2681,7 +2681,7 @@ +@@ -2702,7 +2702,7 @@ Some laptop vendors provide an additional power-on button which boots another OS. GRUB supports such buttons with the 'GRUB_TIMEOUT_BUTTON', 'GRUB_TIMEOUT_STYLE_BUTTON', 'GRUB_DEFAULT_BUTTON', and @@ -37,10 +37,10 @@ diff -ur grub-2.12.orig/docs/grub.info-1 grub-2.12/docs/grub.info-1 configuration::). 'GRUB_TIMEOUT_BUTTON', 'GRUB_TIMEOUT_STYLE_BUTTON', and 'GRUB_DEFAULT_BUTTON' are used instead of the corresponding variables without the '_BUTTON' suffix when powered on using the special -diff -ur grub-2.12.orig/docs/grub.texi grub-2.12/docs/grub.texi ---- grub-2.12.orig/docs/grub.texi 2023-12-05 15:25:33.000000000 +0100 -+++ grub-2.12/docs/grub.texi 2025-04-26 21:20:10.962904809 +0200 -@@ -1284,7 +1284,7 @@ +diff -ur grub-2.14.orig/docs/grub.texi grub-2.14/docs/grub.texi +--- grub-2.14.orig/docs/grub.texi 2026-01-08 19:22:14.000000000 +0100 ++++ grub-2.14/docs/grub.texi 2026-05-19 16:32:53.929828293 +0200 +@@ -1289,7 +1289,7 @@ (@pxref{Booting}, and @ref{Shell-like scripting}), and to disable any system provided by their distribution to automatically run @command{grub-mkconfig}. @@ -49,7 +49,7 @@ diff -ur grub-2.12.orig/docs/grub.texi grub-2.12/docs/grub.texi @command{grub-mkconfig}. It is sourced by a shell script, and so must be valid POSIX shell input; normally, it will just be a sequence of @samp{KEY=value} lines, but if the value contains spaces or other special -@@ -1294,7 +1294,7 @@ +@@ -1299,7 +1299,7 @@ GRUB_TERMINAL_INPUT="console serial" @end example @@ -58,7 +58,7 @@ diff -ur grub-2.12.orig/docs/grub.texi grub-2.12/docs/grub.texi @table @samp @item GRUB_DEFAULT -@@ -1908,7 +1908,7 @@ +@@ -1923,7 +1923,7 @@ @code{GRUB_DISABLE_OS_PROBER=true} @@ -67,7 +67,7 @@ diff -ur grub-2.12.orig/docs/grub.texi grub-2.12/docs/grub.texi Then write a grub.cfg (/mnt/boot/grub/grub.cfg): -@@ -2740,7 +2740,7 @@ +@@ -2758,7 +2758,7 @@ Some laptop vendors provide an additional power-on button which boots another OS. GRUB supports such buttons with the @samp{GRUB_TIMEOUT_BUTTON}, @samp{GRUB_TIMEOUT_STYLE_BUTTON}, @samp{GRUB_DEFAULT_BUTTON}, and @@ -76,9 +76,9 @@ diff -ur grub-2.12.orig/docs/grub.texi grub-2.12/docs/grub.texi configuration}). @samp{GRUB_TIMEOUT_BUTTON}, @samp{GRUB_TIMEOUT_STYLE_BUTTON}, and @samp{GRUB_DEFAULT_BUTTON} are used instead of the corresponding variables without the @samp{_BUTTON} suffix -diff -ur grub-2.12.orig/grub-core/osdep/aros/config.c grub-2.12/grub-core/osdep/aros/config.c ---- grub-2.12.orig/grub-core/osdep/aros/config.c 2022-03-21 18:47:00.000000000 +0100 -+++ grub-2.12/grub-core/osdep/aros/config.c 2025-04-26 21:51:11.459833102 +0200 +diff -ur grub-2.14.orig/grub-core/osdep/aros/config.c grub-2.14/grub-core/osdep/aros/config.c +--- grub-2.14.orig/grub-core/osdep/aros/config.c 2022-03-21 18:47:00.000000000 +0100 ++++ grub-2.14/grub-core/osdep/aros/config.c 2026-05-19 16:32:53.929828293 +0200 @@ -36,7 +36,7 @@ static char *value = NULL; if (!value) @@ -88,9 +88,9 @@ diff -ur grub-2.12.orig/grub-core/osdep/aros/config.c grub-2.12/grub-core/osdep/ return value; } -diff -ur grub-2.12.orig/grub-core/osdep/unix/config.c grub-2.12/grub-core/osdep/unix/config.c ---- grub-2.12.orig/grub-core/osdep/unix/config.c 2022-03-21 18:47:00.000000000 +0100 -+++ grub-2.12/grub-core/osdep/unix/config.c 2025-04-26 21:51:02.807812014 +0200 +diff -ur grub-2.14.orig/grub-core/osdep/unix/config.c grub-2.14/grub-core/osdep/unix/config.c +--- grub-2.14.orig/grub-core/osdep/unix/config.c 2022-03-21 18:47:00.000000000 +0100 ++++ grub-2.14/grub-core/osdep/unix/config.c 2026-05-19 16:32:53.929828293 +0200 @@ -36,7 +36,7 @@ static char *value = NULL; if (!value) @@ -100,11 +100,11 @@ diff -ur grub-2.12.orig/grub-core/osdep/unix/config.c grub-2.12/grub-core/osdep/ return value; } -diff -ur grub-2.12.orig/po/ast.po grub-2.12/po/ast.po ---- grub-2.12.orig/po/ast.po 2023-12-20 17:09:18.000000000 +0100 -+++ grub-2.12/po/ast.po 2025-04-26 21:20:44.418999686 +0200 -@@ -7428,13 +7428,13 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/ast.po grub-2.14/po/ast.po +--- grub-2.14.orig/po/ast.po 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/ast.po 2026-05-19 16:32:53.933828310 +0200 +@@ -8455,13 +8455,13 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -119,7 +119,7 @@ diff -ur grub-2.12.orig/po/ast.po grub-2.12/po/ast.po " rellena un informe de fallos col ficheru de darréu axuntáu\n" "%s ." -@@ -7511,8 +7511,8 @@ +@@ -8538,8 +8538,8 @@ msgstr "Afita la entrada predeterminada del menú d'arranque de GRUB." #: util/grub-set-default.in:49 @@ -130,11 +130,11 @@ diff -ur grub-2.12.orig/po/ast.po grub-2.12/po/ast.po #: util/grub-set-default.in:56 msgid "MENU_ENTRY is a number, a menu item title or a menu item identifier." -diff -ur grub-2.12.orig/po/ca.po grub-2.12/po/ca.po ---- grub-2.12.orig/po/ca.po 2023-12-20 17:09:18.000000000 +0100 -+++ grub-2.12/po/ca.po 2025-04-26 21:21:36.791148224 +0200 -@@ -7474,13 +7474,13 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/ca.po grub-2.14/po/ca.po +--- grub-2.14.orig/po/ca.po 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/ca.po 2026-05-19 16:32:53.933828310 +0200 +@@ -8498,13 +8498,13 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -148,8 +148,8 @@ diff -ur grub-2.12.orig/po/ca.po grub-2.12/po/ca.po +"Assegureu-vos que no hi ha errors a /etc/sysconfig/grub o als fitxers\n" " /etc/grub.d/* o bé envieu un informe d'error adjuntant el fitxer %s " - #: util/grub-mkconfig.in:315 -@@ -7553,8 +7553,8 @@ + #: util/grub-mkconfig.in:316 +@@ -8577,8 +8577,8 @@ msgstr "Estableix l'entrada del menú d'arrencada per defecte del GRUB." #: util/grub-set-default.in:49 @@ -160,11 +160,11 @@ diff -ur grub-2.12.orig/po/ca.po grub-2.12/po/ca.po #: util/grub-set-default.in:56 msgid "MENU_ENTRY is a number, a menu item title or a menu item identifier." -diff -ur grub-2.12.orig/po/da.po grub-2.12/po/da.po ---- grub-2.12.orig/po/da.po 2023-12-20 17:09:18.000000000 +0100 -+++ grub-2.12/po/da.po 2025-04-26 21:22:52.575363166 +0200 -@@ -7439,13 +7439,13 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/da.po grub-2.14/po/da.po +--- grub-2.14.orig/po/da.po 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/da.po 2026-05-19 16:32:53.933828310 +0200 +@@ -8463,13 +8463,13 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -178,8 +178,8 @@ diff -ur grub-2.12.orig/po/da.po grub-2.12/po/da.po +"i filerne /etc/sysconfig/grub eller /etc/grub.d/*, eller\n" "indsend venligst en fejlrapport med filen %s vedhæftet." - #: util/grub-mkconfig.in:315 -@@ -7514,8 +7514,8 @@ + #: util/grub-mkconfig.in:316 +@@ -8538,8 +8538,8 @@ msgstr "Sæt standardmenuindgangen for opstart i GRUB." #: util/grub-set-default.in:49 @@ -190,11 +190,11 @@ diff -ur grub-2.12.orig/po/da.po grub-2.12/po/da.po #: util/grub-set-default.in:56 msgid "MENU_ENTRY is a number, a menu item title or a menu item identifier." -diff -ur grub-2.12.orig/po/de_CH.po grub-2.12/po/de_CH.po ---- grub-2.12.orig/po/de_CH.po 2023-12-20 17:09:18.000000000 +0100 -+++ grub-2.12/po/de_CH.po 2025-04-26 21:21:13.035080850 +0200 -@@ -7433,12 +7433,12 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/de_CH.po grub-2.14/po/de_CH.po +--- grub-2.14.orig/po/de_CH.po 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/de_CH.po 2026-05-19 16:32:53.933828310 +0200 +@@ -8533,12 +8533,12 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -208,7 +208,7 @@ diff -ur grub-2.12.orig/po/de_CH.po grub-2.12/po/de_CH.po "und /etc/grub.d/* fehlerfrei sind oder melden Sie einen Fehler\n" "und hängen die Datei %s an." -@@ -7514,8 +7514,8 @@ +@@ -8614,8 +8614,8 @@ msgstr "Den Standardeintrag im GRUB-Bootmenü festlegen." #: util/grub-set-default.in:49 @@ -219,11 +219,11 @@ diff -ur grub-2.12.orig/po/de_CH.po grub-2.12/po/de_CH.po #: util/grub-set-default.in:56 msgid "MENU_ENTRY is a number, a menu item title or a menu item identifier." -diff -ur grub-2.12.orig/po/de@hebrew.po grub-2.12/po/de@hebrew.po ---- grub-2.12.orig/po/de@hebrew.po 2023-12-20 17:09:18.000000000 +0100 -+++ grub-2.12/po/de@hebrew.po 2025-04-26 21:21:55.659201739 +0200 -@@ -7426,7 +7426,7 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/de@hebrew.po grub-2.14/po/de@hebrew.po +--- grub-2.14.orig/po/de@hebrew.po 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/de@hebrew.po 2026-05-19 16:34:31.322247573 +0200 +@@ -8516,7 +8516,7 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -231,20 +231,20 @@ diff -ur grub-2.12.orig/po/de@hebrew.po grub-2.12/po/de@hebrew.po "and /etc/grub.d/* files or please file a bug report with\n" "%s file attached." msgstr "" -@@ -7507,7 +7507,7 @@ +@@ -8597,7 +8597,7 @@ msgstr "דענ שתאנדארדעִינתראג ִימ גרוּבּ-בּוֹוֹתמענֻ פֿעשתלעגענ." #: util/grub-set-default.in:49 -msgid "This requires setting GRUB_DEFAULT=saved in %s/default/grub.\\n" +msgid "This requires setting GRUB_DEFAULT=saved in %s/sysconfig/grub.\\n" - msgstr "דאזוּ מוּשש גרוּבּ_דעפֿאוּלת=שאבֿעד ִינ %s/דעפֿאוּלת/גרוּבּ געשעתזת וערדענ.\\נ" + msgstr "דאזוּ מוּשש גרוּבּ_דעפֿאוּלת=שאבֿעד ִינ %s/דעפֿאוּלת/גרוּבּ געשעתזת וערדענ.\\n" #: util/grub-set-default.in:56 -diff -ur grub-2.12.orig/po/de.po grub-2.12/po/de.po ---- grub-2.12.orig/po/de.po 2023-12-20 17:09:18.000000000 +0100 -+++ grub-2.12/po/de.po 2025-04-26 21:23:22.459447930 +0200 -@@ -7432,12 +7432,12 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/de.po grub-2.14/po/de.po +--- grub-2.14.orig/po/de.po 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/de.po 2026-05-19 16:32:53.937828327 +0200 +@@ -8532,12 +8532,12 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -258,7 +258,7 @@ diff -ur grub-2.12.orig/po/de.po grub-2.12/po/de.po "und /etc/grub.d/* fehlerfrei sind oder melden Sie einen Fehler\n" "und hängen die Datei %s an." -@@ -7513,8 +7513,8 @@ +@@ -8613,8 +8613,8 @@ msgstr "Den Standardeintrag im GRUB-Bootmenü festlegen." #: util/grub-set-default.in:49 @@ -269,11 +269,11 @@ diff -ur grub-2.12.orig/po/de.po grub-2.12/po/de.po #: util/grub-set-default.in:56 msgid "MENU_ENTRY is a number, a menu item title or a menu item identifier." -diff -ur grub-2.12.orig/po/en@arabic.po grub-2.12/po/en@arabic.po ---- grub-2.12.orig/po/en@arabic.po 2023-12-20 17:09:18.000000000 +0100 -+++ grub-2.12/po/en@arabic.po 2025-04-26 21:21:21.175103936 +0200 -@@ -7336,7 +7336,7 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/en@arabic.po grub-2.14/po/en@arabic.po +--- grub-2.14.orig/po/en@arabic.po 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/en@arabic.po 2026-05-19 16:34:26.474226703 +0200 +@@ -8390,7 +8390,7 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -281,20 +281,20 @@ diff -ur grub-2.12.orig/po/en@arabic.po grub-2.12/po/en@arabic.po "and /etc/grub.d/* files or please file a bug report with\n" "%s file attached." msgstr "" -@@ -7414,7 +7414,7 @@ +@@ -8468,7 +8468,7 @@ msgstr "سعت تهع دعفاولت بووت معنو عنتري فور غروب." #: util/grub-set-default.in:49 -msgid "This requires setting GRUB_DEFAULT=saved in %s/default/grub.\\n" +msgid "This requires setting GRUB_DEFAULT=saved in %s/sysconfig/grub.\\n" - msgstr "تهִيس رعقوִيرعس سعتتִينغ غروب_دعفاولت=ساوعد ִين %s/دعفاولت/غروب.\\ن" + msgstr "تهִيس رعقوִيرعس سعتتִينغ غروب_دعفاولت=ساوعد ִين %s/دعفاولت/غروب.\\n" #: util/grub-set-default.in:56 -diff -ur grub-2.12.orig/po/en@cyrillic.po grub-2.12/po/en@cyrillic.po ---- grub-2.12.orig/po/en@cyrillic.po 2023-12-20 17:09:18.000000000 +0100 -+++ grub-2.12/po/en@cyrillic.po 2025-04-26 21:22:22.807278737 +0200 -@@ -7335,7 +7335,7 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/en@cyrillic.po grub-2.14/po/en@cyrillic.po +--- grub-2.14.orig/po/en@cyrillic.po 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/en@cyrillic.po 2026-05-19 16:34:21.010203179 +0200 +@@ -8389,7 +8389,7 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -302,20 +302,20 @@ diff -ur grub-2.12.orig/po/en@cyrillic.po grub-2.12/po/en@cyrillic.po "and /etc/grub.d/* files or please file a bug report with\n" "%s file attached." msgstr "" -@@ -7413,7 +7413,7 @@ +@@ -8467,7 +8467,7 @@ msgstr "Сет тхе дефаулт боот мену ентрѝ фор ГРУБ." #: util/grub-set-default.in:49 -msgid "This requires setting GRUB_DEFAULT=saved in %s/default/grub.\\n" +msgid "This requires setting GRUB_DEFAULT=saved in %s/sysconfig/grub.\\n" - msgstr "Тхис реќуирес сеттинг ГРУБ_ДЕФАУЛТ=савед ин %s/дефаулт/груб.\\н" + msgstr "Тхис реќуирес сеттинг ГРУБ_ДЕФАУЛТ=савед ин %s/дефаулт/груб.\\n" #: util/grub-set-default.in:56 -diff -ur grub-2.12.orig/po/en@greek.po grub-2.12/po/en@greek.po ---- grub-2.12.orig/po/en@greek.po 2023-12-20 17:09:18.000000000 +0100 -+++ grub-2.12/po/en@greek.po 2025-04-26 21:24:32.647647004 +0200 -@@ -7335,7 +7335,7 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/en@greek.po grub-2.14/po/en@greek.po +--- grub-2.14.orig/po/en@greek.po 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/en@greek.po 2026-05-19 16:34:14.454174952 +0200 +@@ -8389,7 +8389,7 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -323,20 +323,20 @@ diff -ur grub-2.12.orig/po/en@greek.po grub-2.12/po/en@greek.po "and /etc/grub.d/* files or please file a bug report with\n" "%s file attached." msgstr "" -@@ -7413,7 +7413,7 @@ +@@ -8467,7 +8467,7 @@ msgstr "Σετ τχε δεφαυλτ ϭοοτ μενυ εντρϋ φορ ΓΡΥϬ." #: util/grub-set-default.in:49 -msgid "This requires setting GRUB_DEFAULT=saved in %s/default/grub.\\n" +msgid "This requires setting GRUB_DEFAULT=saved in %s/sysconfig/grub.\\n" - msgstr "Τχισ ρεϗυιρεσ σεττινγ ΓΡΥϬ_ΔΕΦΑΥΛΤ=σαβεδ ιν %s/δεφαυλτ/γρυϭ.\\ν" + msgstr "Τχισ ρεϗυιρεσ σεττινγ ΓΡΥϬ_ΔΕΦΑΥΛΤ=σαβεδ ιν %s/δεφαυλτ/γρυϭ.\\n" #: util/grub-set-default.in:56 -diff -ur grub-2.12.orig/po/en@hebrew.po grub-2.12/po/en@hebrew.po ---- grub-2.12.orig/po/en@hebrew.po 2023-12-20 17:09:18.000000000 +0100 -+++ grub-2.12/po/en@hebrew.po 2025-04-26 21:22:34.515311944 +0200 -@@ -7336,7 +7336,7 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/en@hebrew.po grub-2.14/po/en@hebrew.po +--- grub-2.14.orig/po/en@hebrew.po 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/en@hebrew.po 2026-05-19 16:34:05.694137238 +0200 +@@ -8390,7 +8390,7 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -344,20 +344,20 @@ diff -ur grub-2.12.orig/po/en@hebrew.po grub-2.12/po/en@hebrew.po "and /etc/grub.d/* files or please file a bug report with\n" "%s file attached." msgstr "" -@@ -7414,7 +7414,7 @@ +@@ -8468,7 +8468,7 @@ msgstr "שעת תהע דעפֿאוּלת בּוֹוֹת מענוּ ענתריִ פֿוֹר גרוּבּ." #: util/grub-set-default.in:49 -msgid "This requires setting GRUB_DEFAULT=saved in %s/default/grub.\\n" +msgid "This requires setting GRUB_DEFAULT=saved in %s/sysconfig/grub.\\n" - msgstr "תהִיש רעקוִּירעש שעתתִינג גרוּבּ_דעפֿאוּלת=שאבֿעד ִינ %s/דעפֿאוּלת/גרוּבּ.\\נ" + msgstr "תהִיש רעקוִּירעש שעתתִינג גרוּבּ_דעפֿאוּלת=שאבֿעד ִינ %s/דעפֿאוּלת/גרוּבּ.\\n" #: util/grub-set-default.in:56 -diff -ur grub-2.12.orig/po/en@piglatin.po grub-2.12/po/en@piglatin.po ---- grub-2.12.orig/po/en@piglatin.po 2023-12-20 17:09:22.000000000 +0100 -+++ grub-2.12/po/en@piglatin.po 2025-04-26 21:23:14.723425987 +0200 -@@ -7510,7 +7510,7 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/en@piglatin.po grub-2.14/po/en@piglatin.po +--- grub-2.14.orig/po/en@piglatin.po 2026-01-14 19:46:27.000000000 +0100 ++++ grub-2.14/po/en@piglatin.po 2026-05-19 16:32:53.941828344 +0200 +@@ -8648,7 +8648,7 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -365,7 +365,7 @@ diff -ur grub-2.12.orig/po/en@piglatin.po grub-2.12/po/en@piglatin.po "and /etc/grub.d/* files or please file a bug report with\n" "%s file attached." msgstr "" -@@ -7600,7 +7600,7 @@ +@@ -8738,7 +8738,7 @@ msgstr "etSay ethay efaultday ootbay enumay entryway orfay UBGRay." #: util/grub-set-default.in:49 @@ -374,11 +374,11 @@ diff -ur grub-2.12.orig/po/en@piglatin.po grub-2.12/po/en@piglatin.po msgstr "" "isThay equiresray ettingsay UBGRay_EFAULTDay=avedsay inway %s/efaultday/" "ubgray.\\n" -diff -ur grub-2.12.orig/po/en@quot.po grub-2.12/po/en@quot.po ---- grub-2.12.orig/po/en@quot.po 2023-12-20 17:09:21.000000000 +0100 -+++ grub-2.12/po/en@quot.po 2025-04-26 21:24:17.183603147 +0200 -@@ -7357,12 +7357,12 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/en@quot.po grub-2.14/po/en@quot.po +--- grub-2.14.orig/po/en@quot.po 2026-01-14 19:46:26.000000000 +0100 ++++ grub-2.14/po/en@quot.po 2026-05-19 16:32:53.945828361 +0200 +@@ -8411,12 +8411,12 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -392,7 +392,7 @@ diff -ur grub-2.12.orig/po/en@quot.po grub-2.12/po/en@quot.po "and /etc/grub.d/* files or please file a bug report with\n" "%s file attached." -@@ -7435,8 +7435,8 @@ +@@ -8489,8 +8489,8 @@ msgstr "Set the default boot menu entry for GRUB." #: util/grub-set-default.in:49 @@ -403,11 +403,11 @@ diff -ur grub-2.12.orig/po/en@quot.po grub-2.12/po/en@quot.po #: util/grub-set-default.in:56 msgid "MENU_ENTRY is a number, a menu item title or a menu item identifier." -diff -ur grub-2.12.orig/po/eo.po grub-2.12/po/eo.po ---- grub-2.12.orig/po/eo.po 2023-12-20 17:09:18.000000000 +0100 -+++ grub-2.12/po/eo.po 2025-04-26 21:24:22.123617156 +0200 -@@ -7304,7 +7304,7 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/eo.po grub-2.14/po/eo.po +--- grub-2.14.orig/po/eo.po 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/eo.po 2026-05-19 16:33:45.918052098 +0200 +@@ -8456,12 +8456,12 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -415,20 +415,28 @@ diff -ur grub-2.12.orig/po/eo.po grub-2.12/po/eo.po "and /etc/grub.d/* files or please file a bug report with\n" "%s file attached." msgstr "" -@@ -7366,7 +7366,7 @@ - msgstr "" + "Sintaksaj eraroj eltrovitaj en la generita agorda dosiero.\n" +-"Certigu, ke ekzistas neniujn erarojn en /etc/default/grub\n" ++"Certigu, ke ekzistas neniujn erarojn en /etc/sysconfig/grub\n" + "kaj dosierojn sub /etc/grub.d aŭ bonvolu sendi raporton pri\n" + "la programeraro kun la dosiero %s alkroĉita." + +@@ -8535,8 +8535,8 @@ + msgstr "Agordi la aprioran menueron por praŝargi per GRUB." #: util/grub-set-default.in:49 -msgid "This requires setting GRUB_DEFAULT=saved in %s/default/grub.\\n" +-msgstr "Tio postulas la valorizon GRUB_DEFAULT=saved en %S/default/grub.\\n" +msgid "This requires setting GRUB_DEFAULT=saved in %s/sysconfig/grub.\\n" - msgstr "" ++msgstr "Tio postulas la valorizon GRUB_DEFAULT=saved en %S/sysconfig/grub.\\n" #: util/grub-set-default.in:56 -diff -ur grub-2.12.orig/po/es.po grub-2.12/po/es.po ---- grub-2.12.orig/po/es.po 2023-12-20 17:09:18.000000000 +0100 -+++ grub-2.12/po/es.po 2025-04-26 21:21:42.587164664 +0200 -@@ -7562,13 +7562,13 @@ - #: util/grub-mkconfig.in:299 + msgid "MENU_ENTRY is a number, a menu item title or a menu item identifier." +diff -ur grub-2.14.orig/po/es.po grub-2.14/po/es.po +--- grub-2.14.orig/po/es.po 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/es.po 2026-05-19 16:32:53.945828361 +0200 +@@ -8590,13 +8590,13 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -443,7 +451,7 @@ diff -ur grub-2.12.orig/po/es.po grub-2.12/po/es.po "en los ficheros /etc/grub.d/* o, por favor, abra una\n" "notificación de errores con el fichero %s adjunto." -@@ -7641,8 +7641,8 @@ +@@ -8669,8 +8669,8 @@ msgstr "Establece la entrada del menú predeterminada para GRUB." #: util/grub-set-default.in:49 @@ -454,11 +462,11 @@ diff -ur grub-2.12.orig/po/es.po grub-2.12/po/es.po #: util/grub-set-default.in:56 msgid "MENU_ENTRY is a number, a menu item title or a menu item identifier." -diff -ur grub-2.12.orig/po/fi.po grub-2.12/po/fi.po ---- grub-2.12.orig/po/fi.po 2023-12-20 17:09:18.000000000 +0100 -+++ grub-2.12/po/fi.po 2025-04-26 21:22:18.151265528 +0200 -@@ -7416,12 +7416,12 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/fi.po grub-2.14/po/fi.po +--- grub-2.14.orig/po/fi.po 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/fi.po 2026-05-19 16:32:53.945828361 +0200 +@@ -8444,12 +8444,12 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -472,7 +480,7 @@ diff -ur grub-2.12.orig/po/fi.po grub-2.12/po/fi.po "ei ole virheitä, tai tee vikailmoitus liittäen\n" "%s mukaan ilmoitukseen." -@@ -7503,9 +7503,9 @@ +@@ -8531,9 +8531,9 @@ msgstr "Aseta GRUBin käynnistysvalikon oletuskohta." #: util/grub-set-default.in:49 @@ -484,11 +492,11 @@ diff -ur grub-2.12.orig/po/fi.po grub-2.12/po/fi.po #: util/grub-set-default.in:56 msgid "MENU_ENTRY is a number, a menu item title or a menu item identifier." -diff -ur grub-2.12.orig/po/fr.po grub-2.12/po/fr.po ---- grub-2.12.orig/po/fr.po 2023-12-20 17:09:18.000000000 +0100 -+++ grub-2.12/po/fr.po 2025-04-26 21:23:05.015398450 +0200 -@@ -7516,13 +7516,13 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/fr.po grub-2.14/po/fr.po +--- grub-2.14.orig/po/fr.po 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/fr.po 2026-05-19 16:32:53.949828379 +0200 +@@ -8616,13 +8616,13 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -502,8 +510,8 @@ diff -ur grub-2.12.orig/po/fr.po grub-2.12/po/fr.po +"/etc/sysconfig/grub et /etc/grub.d/*. Sinon veuillez signaler un bogue\n" "en joignant le fichier %s." - #: util/grub-mkconfig.in:315 -@@ -7602,9 +7602,9 @@ + #: util/grub-mkconfig.in:316 +@@ -8702,9 +8702,9 @@ msgstr "Configurer l'entrée de menu par défaut pour GRUB." #: util/grub-set-default.in:49 @@ -515,11 +523,11 @@ diff -ur grub-2.12.orig/po/fr.po grub-2.12/po/fr.po #: util/grub-set-default.in:56 msgid "MENU_ENTRY is a number, a menu item title or a menu item identifier." -diff -ur grub-2.12.orig/po/gl.po grub-2.12/po/gl.po ---- grub-2.12.orig/po/gl.po 2023-12-20 17:09:18.000000000 +0100 -+++ grub-2.12/po/gl.po 2025-04-26 21:24:11.171586092 +0200 -@@ -7490,12 +7490,12 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/gl.po grub-2.14/po/gl.po +--- grub-2.14.orig/po/gl.po 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/gl.po 2026-05-19 16:32:53.949828379 +0200 +@@ -8509,12 +8509,12 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -533,7 +541,7 @@ diff -ur grub-2.12.orig/po/gl.po grub-2.12/po/gl.po "e nos ficheiros /etc/grub.d/* ou escriba un informe de erro co\n" "%s ficheiro anexado." -@@ -7560,9 +7560,9 @@ +@@ -8579,9 +8579,9 @@ msgstr "Estabelecer a entrada predeterminada do menú de arranque no GRUB." #: util/grub-set-default.in:49 @@ -545,11 +553,11 @@ diff -ur grub-2.12.orig/po/gl.po grub-2.12/po/gl.po #: util/grub-set-default.in:56 msgid "MENU_ENTRY is a number, a menu item title or a menu item identifier." -diff -ur grub-2.12.orig/po/grub.pot grub-2.12/po/grub.pot ---- grub-2.12.orig/po/grub.pot 2023-12-20 17:09:18.000000000 +0100 -+++ grub-2.12/po/grub.pot 2025-04-26 21:22:01.503218314 +0200 -@@ -7155,7 +7155,7 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/grub.pot grub-2.14/po/grub.pot +--- grub-2.14.orig/po/grub.pot 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/grub.pot 2026-05-19 16:32:53.949828379 +0200 +@@ -8154,7 +8154,7 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -557,7 +565,7 @@ diff -ur grub-2.12.orig/po/grub.pot grub-2.12/po/grub.pot "and /etc/grub.d/* files or please file a bug report with\n" "%s file attached." msgstr "" -@@ -7217,7 +7217,7 @@ +@@ -8216,7 +8216,7 @@ msgstr "" #: util/grub-set-default.in:49 @@ -566,11 +574,11 @@ diff -ur grub-2.12.orig/po/grub.pot grub-2.12/po/grub.pot msgstr "" #: util/grub-set-default.in:56 -diff -ur grub-2.12.orig/po/he.po grub-2.12/po/he.po ---- grub-2.12.orig/po/he.po 2023-12-20 17:09:18.000000000 +0100 -+++ grub-2.12/po/he.po 2025-04-26 21:23:26.147458390 +0200 -@@ -7193,7 +7193,7 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/he.po grub-2.14/po/he.po +--- grub-2.14.orig/po/he.po 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/he.po 2026-05-19 16:35:53.426601052 +0200 +@@ -8226,12 +8226,12 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -578,7 +586,13 @@ diff -ur grub-2.12.orig/po/he.po grub-2.12/po/he.po "and /etc/grub.d/* files or please file a bug report with\n" "%s file attached." msgstr "" -@@ -7255,8 +7255,8 @@ + "התגלו שגיאות תחביר בקובץ הגדרות ה־GRUB שנוצר.\n" +-"נא לוודא שאין שגיאות בקבצים ‎/etc/default/grub\n" ++"נא לוודא שאין שגיאות בקבצים ‎/etc/sysconfig/grub\n" + "ו־‎/etc/grub.d/*‎ או בבקשה לדווח על התקלה בצירוף\n" + "הקובץ %s." + +@@ -8292,8 +8292,8 @@ msgstr "הגדרת רשומת ברירת המחדל בתפריט הטעינה ל־GRUB." #: util/grub-set-default.in:49 @@ -589,11 +603,11 @@ diff -ur grub-2.12.orig/po/he.po grub-2.12/po/he.po #: util/grub-set-default.in:56 msgid "MENU_ENTRY is a number, a menu item title or a menu item identifier." -diff -ur grub-2.12.orig/po/hr.po grub-2.12/po/hr.po ---- grub-2.12.orig/po/hr.po 2023-12-20 17:09:18.000000000 +0100 -+++ grub-2.12/po/hr.po 2025-04-26 21:23:57.651547748 +0200 -@@ -7397,12 +7397,12 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/hr.po grub-2.14/po/hr.po +--- grub-2.14.orig/po/hr.po 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/hr.po 2026-05-19 16:32:53.953828396 +0200 +@@ -8424,12 +8424,12 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -607,7 +621,7 @@ diff -ur grub-2.12.orig/po/hr.po grub-2.12/po/hr.po "i /etc/grub.d/* datotekama ili pošaljite izvješće greške s\n" "%s priloženoj datoteci." -@@ -7475,8 +7475,8 @@ +@@ -8502,8 +8502,8 @@ msgstr "Postavi zadanu stavku izbornika pokretanja za GRUB." #: util/grub-set-default.in:49 @@ -618,11 +632,11 @@ diff -ur grub-2.12.orig/po/hr.po grub-2.12/po/hr.po #: util/grub-set-default.in:56 msgid "MENU_ENTRY is a number, a menu item title or a menu item identifier." -diff -ur grub-2.12.orig/po/hu.po grub-2.12/po/hu.po ---- grub-2.12.orig/po/hu.po 2023-12-20 17:09:19.000000000 +0100 -+++ grub-2.12/po/hu.po 2025-04-26 21:20:54.963029591 +0200 -@@ -7431,12 +7431,12 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/hu.po grub-2.14/po/hu.po +--- grub-2.14.orig/po/hu.po 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/hu.po 2026-05-19 16:32:53.953828396 +0200 +@@ -8458,12 +8458,12 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -636,7 +650,7 @@ diff -ur grub-2.12.orig/po/hu.po grub-2.12/po/hu.po "és a /etc/grub.d/* fájlokban, vagy küldjön egy hibajelentést a(z)\n" "%s fájllal mellékelve." -@@ -7513,9 +7513,9 @@ +@@ -8540,9 +8540,9 @@ msgstr "A GRUB alapértelmezett rendszerindítási menübejegyzésének beállítása." #: util/grub-set-default.in:49 @@ -648,11 +662,11 @@ diff -ur grub-2.12.orig/po/hu.po grub-2.12/po/hu.po #: util/grub-set-default.in:56 msgid "MENU_ENTRY is a number, a menu item title or a menu item identifier." -diff -ur grub-2.12.orig/po/id.po grub-2.12/po/id.po ---- grub-2.12.orig/po/id.po 2023-12-20 17:09:19.000000000 +0100 -+++ grub-2.12/po/id.po 2025-04-26 21:23:40.283498490 +0200 -@@ -7470,7 +7470,7 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/id.po grub-2.14/po/id.po +--- grub-2.14.orig/po/id.po 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/id.po 2026-05-19 16:34:46.246311825 +0200 +@@ -8490,13 +8490,13 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -660,20 +674,29 @@ diff -ur grub-2.12.orig/po/id.po grub-2.12/po/id.po "and /etc/grub.d/* files or please file a bug report with\n" "%s file attached." msgstr "" -@@ -7533,7 +7533,7 @@ - msgstr "" + "Kesalahan sintaks terdeteksi dalam berkas konfigurasi GRUB\n" + "yang dihasilkan. Pastikan tidak ada kesalahan dalam berkas\n" +-"/etc/default/grub dan /etc/grub.d/* atau silakan buat laporan\n" ++"/etc/sysconfig/grub dan /etc/grub.d/* atau silakan buat laporan\n" + "bug dengan berkas %s terlampir." + + #: util/grub-mkconfig.in:316 +@@ -8570,8 +8570,8 @@ + msgstr "Tata entri menu boot baku untuk GRUB." #: util/grub-set-default.in:49 -msgid "This requires setting GRUB_DEFAULT=saved in %s/default/grub.\\n" +-msgstr "Ini memerlukan penataan GRUB_DEFAULT=saved di %s/default/grub.\\n" +msgid "This requires setting GRUB_DEFAULT=saved in %s/sysconfig/grub.\\n" - msgstr "" ++msgstr "Ini memerlukan penataan GRUB_DEFAULT=saved di %s/sysconfig/grub.\\n" #: util/grub-set-default.in:56 -diff -ur grub-2.12.orig/po/it.po grub-2.12/po/it.po ---- grub-2.12.orig/po/it.po 2023-12-20 17:09:18.000000000 +0100 -+++ grub-2.12/po/it.po 2025-04-26 21:24:28.815636136 +0200 -@@ -7482,7 +7482,7 @@ - #: util/grub-mkconfig.in:299 + msgid "MENU_ENTRY is a number, a menu item title or a menu item identifier." +diff -ur grub-2.14.orig/po/it.po grub-2.14/po/it.po +--- grub-2.14.orig/po/it.po 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/it.po 2026-05-19 16:32:53.957828413 +0200 +@@ -8509,7 +8509,7 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -681,7 +704,7 @@ diff -ur grub-2.12.orig/po/it.po grub-2.12/po/it.po "and /etc/grub.d/* files or please file a bug report with\n" "%s file attached." msgstr "" -@@ -7548,7 +7548,7 @@ +@@ -8575,7 +8575,7 @@ msgstr "" #: util/grub-set-default.in:49 @@ -690,11 +713,11 @@ diff -ur grub-2.12.orig/po/it.po grub-2.12/po/it.po msgstr "" #: util/grub-set-default.in:56 -diff -ur grub-2.12.orig/po/ja.po grub-2.12/po/ja.po ---- grub-2.12.orig/po/ja.po 2023-12-20 17:09:18.000000000 +0100 -+++ grub-2.12/po/ja.po 2025-04-26 21:20:18.178925273 +0200 -@@ -7318,7 +7318,7 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/ja.po grub-2.14/po/ja.po +--- grub-2.14.orig/po/ja.po 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/ja.po 2026-05-19 16:32:53.957828413 +0200 +@@ -8336,7 +8336,7 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -702,7 +725,7 @@ diff -ur grub-2.12.orig/po/ja.po grub-2.12/po/ja.po "and /etc/grub.d/* files or please file a bug report with\n" "%s file attached." msgstr "" -@@ -7380,7 +7380,7 @@ +@@ -8398,7 +8398,7 @@ msgstr "" #: util/grub-set-default.in:49 @@ -711,11 +734,11 @@ diff -ur grub-2.12.orig/po/ja.po grub-2.12/po/ja.po msgstr "" #: util/grub-set-default.in:56 -diff -ur grub-2.12.orig/po/ka.po grub-2.12/po/ka.po ---- grub-2.12.orig/po/ka.po 2023-12-20 17:09:19.000000000 +0100 -+++ grub-2.12/po/ka.po 2025-04-26 21:20:48.571011463 +0200 -@@ -7215,7 +7215,7 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/ka.po grub-2.14/po/ka.po +--- grub-2.14.orig/po/ka.po 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/ka.po 2026-05-19 16:32:53.957828413 +0200 +@@ -8249,7 +8249,7 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -723,7 +746,7 @@ diff -ur grub-2.12.orig/po/ka.po grub-2.12/po/ka.po "and /etc/grub.d/* files or please file a bug report with\n" "%s file attached." msgstr "" -@@ -7277,7 +7277,7 @@ +@@ -8311,7 +8311,7 @@ msgstr "GRUB-ის მენიუს ნაგულისხმები პუნქტის დაყენება." #: util/grub-set-default.in:49 @@ -732,11 +755,11 @@ diff -ur grub-2.12.orig/po/ka.po grub-2.12/po/ka.po msgstr "" #: util/grub-set-default.in:56 -diff -ur grub-2.12.orig/po/ko.po grub-2.12/po/ko.po ---- grub-2.12.orig/po/ko.po 2023-12-20 17:09:19.000000000 +0100 -+++ grub-2.12/po/ko.po 2025-04-26 21:49:54.163644672 +0200 -@@ -7342,12 +7342,12 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/ko.po grub-2.14/po/ko.po +--- grub-2.14.orig/po/ko.po 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/ko.po 2026-05-19 16:32:53.957828413 +0200 +@@ -8402,12 +8402,12 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -749,8 +772,8 @@ diff -ur grub-2.12.orig/po/ko.po grub-2.12/po/ko.po +"/etc/sysconfig/grub 파일과 and /etc/grub.d/* 파일에 오류가 없는지\n" "확인하시고 %s 파일을 첨부하여 버그 보고서를 제출하십시오." - #: util/grub-mkconfig.in:315 -@@ -7416,8 +7416,8 @@ + #: util/grub-mkconfig.in:316 +@@ -8476,8 +8476,8 @@ msgstr "GRUB 기본 부팅 메뉴 항목을 설정합니다." #: util/grub-set-default.in:49 @@ -761,11 +784,11 @@ diff -ur grub-2.12.orig/po/ko.po grub-2.12/po/ko.po #: util/grub-set-default.in:56 msgid "MENU_ENTRY is a number, a menu item title or a menu item identifier." -diff -ur grub-2.12.orig/po/lg.po grub-2.12/po/lg.po ---- grub-2.12.orig/po/lg.po 2023-12-20 17:09:19.000000000 +0100 -+++ grub-2.12/po/lg.po 2025-04-26 21:24:42.071673736 +0200 -@@ -7185,7 +7185,7 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/lg.po grub-2.14/po/lg.po +--- grub-2.14.orig/po/lg.po 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/lg.po 2026-05-19 16:32:53.961828431 +0200 +@@ -8186,7 +8186,7 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -773,7 +796,7 @@ diff -ur grub-2.12.orig/po/lg.po grub-2.12/po/lg.po "and /etc/grub.d/* files or please file a bug report with\n" "%s file attached." msgstr "" -@@ -7247,7 +7247,7 @@ +@@ -8248,7 +8248,7 @@ msgstr "" #: util/grub-set-default.in:49 @@ -782,11 +805,11 @@ diff -ur grub-2.12.orig/po/lg.po grub-2.12/po/lg.po msgstr "" #: util/grub-set-default.in:56 -diff -ur grub-2.12.orig/po/lt.po grub-2.12/po/lt.po ---- grub-2.12.orig/po/lt.po 2023-12-20 17:09:19.000000000 +0100 -+++ grub-2.12/po/lt.po 2025-04-26 21:23:36.715488368 +0200 -@@ -7365,12 +7365,12 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/lt.po grub-2.14/po/lt.po +--- grub-2.14.orig/po/lt.po 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/lt.po 2026-05-19 16:32:53.961828431 +0200 +@@ -8387,12 +8387,12 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -800,7 +823,7 @@ diff -ur grub-2.12.orig/po/lt.po grub-2.12/po/lt.po "ir /etc/grub.d/* failuose arba praneškite apie klaidą\n" "prisegdami %s failą." -@@ -7433,8 +7433,8 @@ +@@ -8455,8 +8455,8 @@ msgstr "Nurodyti numatytąjį numatytąjį paleidimo GRUB meniu įrašą." #: util/grub-set-default.in:49 @@ -811,11 +834,11 @@ diff -ur grub-2.12.orig/po/lt.po grub-2.12/po/lt.po #: util/grub-set-default.in:56 msgid "MENU_ENTRY is a number, a menu item title or a menu item identifier." -diff -ur grub-2.12.orig/po/nb.po grub-2.12/po/nb.po ---- grub-2.12.orig/po/nb.po 2023-12-20 17:09:19.000000000 +0100 -+++ grub-2.12/po/nb.po 2025-04-26 21:23:44.367510074 +0200 -@@ -7399,12 +7399,12 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/nb.po grub-2.14/po/nb.po +--- grub-2.14.orig/po/nb.po 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/nb.po 2026-05-19 16:32:53.961828431 +0200 +@@ -8426,12 +8426,12 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -829,7 +852,7 @@ diff -ur grub-2.12.orig/po/nb.po grub-2.12/po/nb.po "ikke innheholder feil, og send inn en feilrapport\n" "med %s vedlagt hvis du fremdeles har problemer." -@@ -7479,9 +7479,9 @@ +@@ -8506,9 +8506,9 @@ msgstr "Velg standardoppføring på GRUB-oppstartsmenyen." #: util/grub-set-default.in:49 @@ -841,11 +864,11 @@ diff -ur grub-2.12.orig/po/nb.po grub-2.12/po/nb.po "\\n" #: util/grub-set-default.in:56 -diff -ur grub-2.12.orig/po/nl.po grub-2.12/po/nl.po ---- grub-2.12.orig/po/nl.po 2023-12-20 17:09:19.000000000 +0100 -+++ grub-2.12/po/nl.po 2025-04-26 21:21:01.231047371 +0200 -@@ -7458,12 +7458,12 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/nl.po grub-2.14/po/nl.po +--- grub-2.14.orig/po/nl.po 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/nl.po 2026-05-19 16:32:53.961828431 +0200 +@@ -8446,12 +8446,12 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -859,7 +882,7 @@ diff -ur grub-2.12.orig/po/nl.po grub-2.12/po/nl.po "noch in de bestanden in /etc/grub.d/. Rapporteer anders een fout, met het\n" "bestand %s als bijlage." -@@ -7533,9 +7533,9 @@ +@@ -8521,9 +8521,9 @@ msgstr "Het standaardmenu-item voor GRUB instellen." #: util/grub-set-default.in:49 @@ -871,11 +894,11 @@ diff -ur grub-2.12.orig/po/nl.po grub-2.12/po/nl.po #: util/grub-set-default.in:56 msgid "MENU_ENTRY is a number, a menu item title or a menu item identifier." -diff -ur grub-2.12.orig/po/pa.po grub-2.12/po/pa.po ---- grub-2.12.orig/po/pa.po 2023-12-20 17:09:19.000000000 +0100 -+++ grub-2.12/po/pa.po 2025-04-26 21:22:29.351297297 +0200 -@@ -7251,7 +7251,7 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/pa.po grub-2.14/po/pa.po +--- grub-2.14.orig/po/pa.po 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/pa.po 2026-05-19 16:32:53.965828448 +0200 +@@ -8265,7 +8265,7 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -883,7 +906,7 @@ diff -ur grub-2.12.orig/po/pa.po grub-2.12/po/pa.po "and /etc/grub.d/* files or please file a bug report with\n" "%s file attached." msgstr "" -@@ -7313,7 +7313,7 @@ +@@ -8327,7 +8327,7 @@ msgstr "ਗਰਬ ਲਈ ਮੂਲ ਬੂਟ ਮੇਨੂ ਐਂਟਰੀ ਸੈੱਟ ਕਰੋ।" #: util/grub-set-default.in:49 @@ -892,11 +915,11 @@ diff -ur grub-2.12.orig/po/pa.po grub-2.12/po/pa.po msgstr "" #: util/grub-set-default.in:56 -diff -ur grub-2.12.orig/po/pl.po grub-2.12/po/pl.po ---- grub-2.12.orig/po/pl.po 2023-12-20 17:09:19.000000000 +0100 -+++ grub-2.12/po/pl.po 2025-04-26 21:20:35.298973828 +0200 -@@ -7411,12 +7411,12 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/pl.po grub-2.14/po/pl.po +--- grub-2.14.orig/po/pl.po 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/pl.po 2026-05-19 16:32:53.965828448 +0200 +@@ -8442,12 +8442,12 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -910,7 +933,7 @@ diff -ur grub-2.12.orig/po/pl.po grub-2.12/po/pl.po "oraz /etc/grub.d/* albo wypełnić raport błędu z załączonym plikiem\n" "%s." -@@ -7492,8 +7492,8 @@ +@@ -8523,8 +8523,8 @@ msgstr "Ustawia domyślny wpis menu dla GRUB-a." #: util/grub-set-default.in:49 @@ -921,11 +944,11 @@ diff -ur grub-2.12.orig/po/pl.po grub-2.12/po/pl.po #: util/grub-set-default.in:56 msgid "MENU_ENTRY is a number, a menu item title or a menu item identifier." -diff -ur grub-2.12.orig/po/pt_BR.po grub-2.12/po/pt_BR.po ---- grub-2.12.orig/po/pt_BR.po 2023-12-20 17:09:19.000000000 +0100 -+++ grub-2.12/po/pt_BR.po 2025-04-26 21:22:48.039350302 +0200 -@@ -7438,7 +7438,7 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/pt_BR.po grub-2.14/po/pt_BR.po +--- grub-2.14.orig/po/pt_BR.po 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/pt_BR.po 2026-05-19 16:32:53.965828448 +0200 +@@ -8461,7 +8461,7 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -933,7 +956,7 @@ diff -ur grub-2.12.orig/po/pt_BR.po grub-2.12/po/pt_BR.po "and /etc/grub.d/* files or please file a bug report with\n" "%s file attached." msgstr "" -@@ -7502,7 +7502,7 @@ +@@ -8525,7 +8525,7 @@ msgstr "Definir a entrada do menu padrão para o GRUB." #: util/grub-set-default.in:49 @@ -942,11 +965,11 @@ diff -ur grub-2.12.orig/po/pt_BR.po grub-2.12/po/pt_BR.po msgstr "" #: util/grub-set-default.in:56 -diff -ur grub-2.12.orig/po/pt.po grub-2.12/po/pt.po ---- grub-2.12.orig/po/pt.po 2023-12-20 17:09:19.000000000 +0100 -+++ grub-2.12/po/pt.po 2025-04-26 21:21:47.527178676 +0200 -@@ -7414,12 +7414,12 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/pt.po grub-2.14/po/pt.po +--- grub-2.14.orig/po/pt.po 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/pt.po 2026-05-19 16:32:53.965828448 +0200 +@@ -8477,12 +8477,12 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -960,7 +983,7 @@ diff -ur grub-2.12.orig/po/pt.po grub-2.12/po/pt.po "e /etc/grub.d/* files ou, por favor, envie um relatório com\n" "o ficheiro %s anexado." -@@ -7493,8 +7493,8 @@ +@@ -8556,8 +8556,8 @@ msgstr "Predefinir a entrada GRUB de arranque." #: util/grub-set-default.in:49 @@ -971,11 +994,11 @@ diff -ur grub-2.12.orig/po/pt.po grub-2.12/po/pt.po #: util/grub-set-default.in:56 msgid "MENU_ENTRY is a number, a menu item title or a menu item identifier." -diff -ur grub-2.12.orig/po/ro.po grub-2.12/po/ro.po ---- grub-2.12.orig/po/ro.po 2023-12-20 17:09:19.000000000 +0100 -+++ grub-2.12/po/ro.po 2025-04-26 21:24:47.755689857 +0200 -@@ -7611,13 +7611,13 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/ro.po grub-2.14/po/ro.po +--- grub-2.14.orig/po/ro.po 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/ro.po 2026-05-19 16:32:53.969828465 +0200 +@@ -8724,13 +8724,13 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -990,7 +1013,7 @@ diff -ur grub-2.12.orig/po/ro.po grub-2.12/po/ro.po "și „/etc/grub.d/*” sau trimiteți un raport de eroare cu fișierul\n" "„%s” atașat." -@@ -7700,9 +7700,9 @@ +@@ -8813,9 +8813,9 @@ msgstr "Stabilește intrarea implicită din meniul de pornire pentru GRUB." #: util/grub-set-default.in:49 @@ -1002,11 +1025,11 @@ diff -ur grub-2.12.orig/po/ro.po grub-2.12/po/ro.po #: util/grub-set-default.in:56 msgid "MENU_ENTRY is a number, a menu item title or a menu item identifier." -diff -ur grub-2.12.orig/po/ru.po grub-2.12/po/ru.po ---- grub-2.12.orig/po/ru.po 2023-12-20 17:09:19.000000000 +0100 -+++ grub-2.12/po/ru.po 2025-04-26 21:22:59.727383451 +0200 -@@ -7426,12 +7426,12 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/ru.po grub-2.14/po/ru.po +--- grub-2.14.orig/po/ru.po 2026-01-14 19:46:21.000000000 +0100 ++++ grub-2.14/po/ru.po 2026-05-19 16:32:53.969828465 +0200 +@@ -8444,12 +8444,12 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -1020,7 +1043,7 @@ diff -ur grub-2.12.orig/po/ru.po grub-2.12/po/ru.po "и /etc/grub.d/* ошибки отсутствуют или пошлите сообщение об ошибке\n" "в прикреплённым файлом %s." -@@ -7506,8 +7506,8 @@ +@@ -8524,8 +8524,8 @@ msgstr "Назначает пункт меню GRUB для загрузки по умолчанию." #: util/grub-set-default.in:49 @@ -1031,11 +1054,11 @@ diff -ur grub-2.12.orig/po/ru.po grub-2.12/po/ru.po #: util/grub-set-default.in:56 msgid "MENU_ENTRY is a number, a menu item title or a menu item identifier." -diff -ur grub-2.12.orig/po/sl.po grub-2.12/po/sl.po ---- grub-2.12.orig/po/sl.po 2023-12-20 17:09:19.000000000 +0100 -+++ grub-2.12/po/sl.po 2025-04-26 21:20:40.110987471 +0200 -@@ -7448,12 +7448,12 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/sl.po grub-2.14/po/sl.po +--- grub-2.14.orig/po/sl.po 2026-01-14 19:46:22.000000000 +0100 ++++ grub-2.14/po/sl.po 2026-05-19 16:32:53.969828465 +0200 +@@ -8464,12 +8464,12 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -1049,7 +1072,7 @@ diff -ur grub-2.12.orig/po/sl.po grub-2.12/po/sl.po "/etc/grub.d/* ni napak ali pa pošljite poročilo o hrošču s pripeto\n" "datoteko %s." -@@ -7514,7 +7514,7 @@ +@@ -8530,7 +8530,7 @@ msgstr "Nastavi privzeti vnos menija zagona za GRUB." #: util/grub-set-default.in:49 @@ -1058,11 +1081,11 @@ diff -ur grub-2.12.orig/po/sl.po grub-2.12/po/sl.po msgstr "" #: util/grub-set-default.in:56 -diff -ur grub-2.12.orig/po/sr.po grub-2.12/po/sr.po ---- grub-2.12.orig/po/sr.po 2023-12-20 17:09:19.000000000 +0100 -+++ grub-2.12/po/sr.po 2025-04-26 21:24:36.903659075 +0200 -@@ -7386,12 +7386,12 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/sr.po grub-2.14/po/sr.po +--- grub-2.14.orig/po/sr.po 2026-01-14 19:46:22.000000000 +0100 ++++ grub-2.14/po/sr.po 2026-05-19 16:32:53.969828465 +0200 +@@ -8448,12 +8448,12 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -1076,7 +1099,7 @@ diff -ur grub-2.12.orig/po/sr.po grub-2.12/po/sr.po "и „/etc/grub.d/*“ или попуните извештај о грешкама\n" "и приложите датотеку „%s“." -@@ -7468,8 +7468,8 @@ +@@ -8530,8 +8530,8 @@ msgstr "Подешава основни унос изборника подизања за ГРУБ." #: util/grub-set-default.in:49 @@ -1087,11 +1110,11 @@ diff -ur grub-2.12.orig/po/sr.po grub-2.12/po/sr.po #: util/grub-set-default.in:56 msgid "MENU_ENTRY is a number, a menu item title or a menu item identifier." -diff -ur grub-2.12.orig/po/sv.po grub-2.12/po/sv.po ---- grub-2.12.orig/po/sv.po 2023-12-20 17:09:19.000000000 +0100 -+++ grub-2.12/po/sv.po 2025-04-26 21:21:25.623116552 +0200 -@@ -7391,12 +7391,12 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/sv.po grub-2.14/po/sv.po +--- grub-2.14.orig/po/sv.po 2026-01-14 19:46:22.000000000 +0100 ++++ grub-2.14/po/sv.po 2026-05-19 16:34:57.770361440 +0200 +@@ -8439,12 +8439,12 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -1099,28 +1122,28 @@ diff -ur grub-2.12.orig/po/sv.po grub-2.12/po/sv.po "and /etc/grub.d/* files or please file a bug report with\n" "%s file attached." msgstr "" - "Syntaxfel upptäcktes i den genererade GRUB-konfigurationsfilen.\n" --"Kontrollera att det inte finns några fel i /etc/default/grub-\n" -+"Kontrollera att det inte finns några fel i /etc/sysconfig/grub-\n" - "och /etc/grub.d/*-filerna eller skicka in en felrapport med\n" - "bifogad %s-fil." + "Syntaxfel har upptäckts i den genererade GRUB-konfigurations-\n" +-"filen. Kontrollera att det inte finns några fel i filerna /etc/default/grub\n" ++"filen. Kontrollera att det inte finns några fel i filerna /etc/sysconfig/grub\n" + "och /etc/grub.d/* eller skicka in en felrapport med filen\n" + "%s bifogad." -@@ -7469,8 +7469,8 @@ - msgstr "Ange standardpost för GRUBs startmeny." +@@ -8519,8 +8519,8 @@ + msgstr "Ställ in standardpost för GRUB:s uppstartsmeny." #: util/grub-set-default.in:49 -msgid "This requires setting GRUB_DEFAULT=saved in %s/default/grub.\\n" --msgstr "Detta kräver inställningen GRUB_DEFAULT=saved i %s/default/grub.\\n" +-msgstr "Detta kräver att GRUB_DEFAULT=saved ställs in i %s/default/grub.\\n" +msgid "This requires setting GRUB_DEFAULT=saved in %s/sysconfig/grub.\\n" -+msgstr "Detta kräver inställningen GRUB_DEFAULT=saved i %s/sysconfig/grub.\\n" ++msgstr "Detta kräver att GRUB_DEFAULT=saved ställs in i %s/sysconfig/grub.\\n" #: util/grub-set-default.in:56 msgid "MENU_ENTRY is a number, a menu item title or a menu item identifier." -diff -ur grub-2.12.orig/po/tr.po grub-2.12/po/tr.po ---- grub-2.12.orig/po/tr.po 2023-12-20 17:09:19.000000000 +0100 -+++ grub-2.12/po/tr.po 2025-04-26 21:21:07.087063979 +0200 -@@ -7299,7 +7299,7 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/tr.po grub-2.14/po/tr.po +--- grub-2.14.orig/po/tr.po 2026-01-14 19:46:22.000000000 +0100 ++++ grub-2.14/po/tr.po 2026-05-19 16:32:53.973828482 +0200 +@@ -8296,7 +8296,7 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -1128,8 +1151,8 @@ diff -ur grub-2.12.orig/po/tr.po grub-2.12/po/tr.po "and /etc/grub.d/* files or please file a bug report with\n" "%s file attached." msgstr "" -@@ -7363,8 +7363,8 @@ - msgstr "GRUB için öntanımlı önyükleme menü girdisini ayarla." +@@ -8360,8 +8360,8 @@ + msgstr "GRUB için öntanımlı açılış menü girdisini ayarla." #: util/grub-set-default.in:49 -msgid "This requires setting GRUB_DEFAULT=saved in %s/default/grub.\\n" @@ -1139,11 +1162,11 @@ diff -ur grub-2.12.orig/po/tr.po grub-2.12/po/tr.po #: util/grub-set-default.in:56 msgid "MENU_ENTRY is a number, a menu item title or a menu item identifier." -diff -ur grub-2.12.orig/po/uk.po grub-2.12/po/uk.po ---- grub-2.12.orig/po/uk.po 2023-12-20 17:09:19.000000000 +0100 -+++ grub-2.12/po/uk.po 2025-04-26 21:23:49.691525172 +0200 -@@ -7469,12 +7469,12 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/uk.po grub-2.14/po/uk.po +--- grub-2.14.orig/po/uk.po 2026-01-14 19:46:22.000000000 +0100 ++++ grub-2.14/po/uk.po 2026-05-19 16:32:53.973828482 +0200 +@@ -8559,12 +8559,12 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -1157,7 +1180,7 @@ diff -ur grub-2.12.orig/po/uk.po grub-2.12/po/uk.po "немає помилок, будь ласка, створіть звіт щодо вади з\n" "долученням файла %s." -@@ -7552,8 +7552,8 @@ +@@ -8642,8 +8642,8 @@ msgstr "Встановити типовий пункт меню завантаження для GRUB." #: util/grub-set-default.in:49 @@ -1168,11 +1191,11 @@ diff -ur grub-2.12.orig/po/uk.po grub-2.12/po/uk.po #: util/grub-set-default.in:56 msgid "MENU_ENTRY is a number, a menu item title or a menu item identifier." -diff -ur grub-2.12.orig/po/vi.po grub-2.12/po/vi.po ---- grub-2.12.orig/po/vi.po 2023-12-20 17:09:19.000000000 +0100 -+++ grub-2.12/po/vi.po 2025-04-26 21:22:38.555323401 +0200 -@@ -7399,12 +7399,12 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/vi.po grub-2.14/po/vi.po +--- grub-2.14.orig/po/vi.po 2026-01-14 19:46:22.000000000 +0100 ++++ grub-2.14/po/vi.po 2026-05-19 16:32:53.977828499 +0200 +@@ -8432,12 +8432,12 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -1186,7 +1209,7 @@ diff -ur grub-2.12.orig/po/vi.po grub-2.12/po/vi.po "và /etc/grub.d/* hoặc báo cáo tập tin lỗi này bằng cách đính\n" "kèm tập tin %s." -@@ -7481,8 +7481,8 @@ +@@ -8514,8 +8514,8 @@ msgstr "Đặt mục menu khởi động mặc định cho GRUB." #: util/grub-set-default.in:49 @@ -1197,11 +1220,11 @@ diff -ur grub-2.12.orig/po/vi.po grub-2.12/po/vi.po #: util/grub-set-default.in:56 msgid "MENU_ENTRY is a number, a menu item title or a menu item identifier." -diff -ur grub-2.12.orig/po/zh_CN.po grub-2.12/po/zh_CN.po ---- grub-2.12.orig/po/zh_CN.po 2023-12-20 17:09:19.000000000 +0100 -+++ grub-2.12/po/zh_CN.po 2025-04-26 21:24:04.391566862 +0200 -@@ -7273,12 +7273,12 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/zh_CN.po grub-2.14/po/zh_CN.po +--- grub-2.14.orig/po/zh_CN.po 2026-01-14 19:46:22.000000000 +0100 ++++ grub-2.14/po/zh_CN.po 2026-05-19 16:32:53.977828499 +0200 +@@ -8305,12 +8305,12 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -1215,7 +1238,7 @@ diff -ur grub-2.12.orig/po/zh_CN.po grub-2.12/po/zh_CN.po "文件中没有错误,或者请提交一个缺陷报告并\n" "将 %s 文件作为附件。" -@@ -7348,8 +7348,8 @@ +@@ -8380,8 +8380,8 @@ msgstr "设置 GRUB 默认引导菜单项。" #: util/grub-set-default.in:49 @@ -1226,11 +1249,11 @@ diff -ur grub-2.12.orig/po/zh_CN.po grub-2.12/po/zh_CN.po #: util/grub-set-default.in:56 msgid "MENU_ENTRY is a number, a menu item title or a menu item identifier." -diff -ur grub-2.12.orig/po/zh_TW.po grub-2.12/po/zh_TW.po ---- grub-2.12.orig/po/zh_TW.po 2023-12-20 17:09:19.000000000 +0100 -+++ grub-2.12/po/zh_TW.po 2025-04-26 21:21:31.799134069 +0200 -@@ -7383,7 +7383,7 @@ - #: util/grub-mkconfig.in:299 +diff -ur grub-2.14.orig/po/zh_TW.po grub-2.14/po/zh_TW.po +--- grub-2.14.orig/po/zh_TW.po 2026-01-14 19:46:22.000000000 +0100 ++++ grub-2.14/po/zh_TW.po 2026-05-19 16:32:53.977828499 +0200 +@@ -8392,7 +8392,7 @@ + #: util/grub-mkconfig.in:300 msgid "" "Syntax errors are detected in generated GRUB config file.\n" -"Ensure that there are no errors in /etc/default/grub\n" @@ -1238,7 +1261,7 @@ diff -ur grub-2.12.orig/po/zh_TW.po grub-2.12/po/zh_TW.po "and /etc/grub.d/* files or please file a bug report with\n" "%s file attached." msgstr "" -@@ -7446,7 +7446,7 @@ +@@ -8455,7 +8455,7 @@ msgstr "" #: util/grub-set-default.in:49 @@ -1247,18 +1270,18 @@ diff -ur grub-2.12.orig/po/zh_TW.po grub-2.12/po/zh_TW.po msgstr "" #: util/grub-set-default.in:56 -diff -ur grub-2.12.orig/util/grub.d/README grub-2.12/util/grub.d/README ---- grub-2.12.orig/util/grub.d/README 2018-11-24 18:13:02.000000000 +0100 -+++ grub-2.12/util/grub.d/README 2025-04-26 21:19:00.010701410 +0200 +diff -ur grub-2.14.orig/util/grub.d/README grub-2.14/util/grub.d/README +--- grub-2.14.orig/util/grub.d/README 2018-11-24 18:13:02.000000000 +0100 ++++ grub-2.14/util/grub.d/README 2026-05-19 16:32:53.977828499 +0200 @@ -8,4 +8,4 @@ The number namespace in-between is configurable by system installer and/or administrator. For example, you can add an entry to boot another OS as 01_otheros, 11_otheros, etc, depending on the position you want it to occupy in -the menu; and then adjust the default setting via /etc/default/grub. +the menu; and then adjust the default setting via /etc/sysconfig/grub. -diff -ur grub-2.12.orig/util/grub-mkconfig.in grub-2.12/util/grub-mkconfig.in ---- grub-2.12.orig/util/grub-mkconfig.in 2022-11-14 16:52:54.000000000 +0100 -+++ grub-2.12/util/grub-mkconfig.in 2025-04-26 21:19:00.010701410 +0200 +diff -ur grub-2.14.orig/util/grub-mkconfig.in grub-2.14/util/grub-mkconfig.in +--- grub-2.14.orig/util/grub-mkconfig.in 2025-11-18 12:49:31.000000000 +0100 ++++ grub-2.14/util/grub-mkconfig.in 2026-05-19 16:32:53.977828499 +0200 @@ -157,8 +157,8 @@ GRUB_EARLY_INITRD_LINUX_STOCK="intel-uc.img intel-ucode.img amd-uc.img amd-ucode.img early_ucode.cpio microcode.cpio" fi @@ -1270,7 +1293,7 @@ diff -ur grub-2.12.orig/util/grub-mkconfig.in grub-2.12/util/grub-mkconfig.in fi if [ "x${GRUB_DISABLE_UUID}" = "xtrue" ]; then -@@ -271,7 +271,7 @@ +@@ -272,7 +272,7 @@ # DO NOT EDIT THIS FILE # # It is automatically generated by $self using templates @@ -1279,7 +1302,7 @@ diff -ur grub-2.12.orig/util/grub-mkconfig.in grub-2.12/util/grub-mkconfig.in # EOF -@@ -297,7 +297,7 @@ +@@ -298,7 +298,7 @@ if ! ${grub_script_check} ${grub_cfg}.new; then # TRANSLATORS: %s is replaced by filename gettext_printf "Syntax errors are detected in generated GRUB config file. @@ -1288,9 +1311,9 @@ diff -ur grub-2.12.orig/util/grub-mkconfig.in grub-2.12/util/grub-mkconfig.in and /etc/grub.d/* files or please file a bug report with %s file attached." "${grub_cfg}.new" >&2 echo >&2 -diff -ur grub-2.12.orig/util/grub-set-default.in grub-2.12/util/grub-set-default.in ---- grub-2.12.orig/util/grub-set-default.in 2018-11-24 18:13:02.000000000 +0100 -+++ grub-2.12/util/grub-set-default.in 2025-04-26 21:24:54.539709100 +0200 +diff -ur grub-2.14.orig/util/grub-set-default.in grub-2.14/util/grub-set-default.in +--- grub-2.14.orig/util/grub-set-default.in 2018-11-24 18:13:02.000000000 +0100 ++++ grub-2.14/util/grub-set-default.in 2026-05-19 16:32:53.977828499 +0200 @@ -46,7 +46,7 @@ usage () { gettext_printf "Usage: %s [OPTION] MENU_ENTRY\n" "$self" -- 2.52.0