Move platform-dependent files from $prefix to $prefix/$platform.
* config.h.in (GRUB_TARGET_CPU): New definition. (GRUB_PLATFORM): Likewise. * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM. * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir. * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise. * grub-core/kern/dl.c (grub_dl_load): Likewise. * grub-core/normal/autofs.c (read_fs_list): Likewise. * grub-core/normal/crypto.c (read_crypto_list): Likewise. * grub-core/normal/dyncmd.c (read_command_list): Likewise. * grub-core/normal/term.c (read_terminal_list): Likewise. * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use $prefix/locale. (grub_gettext_init_ext): Likewise. * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and grub_platform. * util/grub-install.in: Update directories. * util/grub-mknetdir.in: Likewise. * util/grub-mkrescue.in: Likewise.
This commit is contained in:
parent
db606889a9
commit
92cd0f6e45
15 changed files with 118 additions and 73 deletions
|
@ -185,7 +185,8 @@ grub_cmd_parttool (grub_command_t cmd __attribute__ ((unused)),
|
|||
{
|
||||
char *filename;
|
||||
|
||||
filename = grub_xasprintf ("%s/parttool.lst", prefix);
|
||||
filename = grub_xasprintf ("%s/" GRUB_TARGET_CPU "-" GRUB_PLATFORM
|
||||
"/parttool.lst", prefix);
|
||||
if (filename)
|
||||
{
|
||||
grub_file_t file;
|
||||
|
|
|
@ -242,12 +242,12 @@ grub_efiemu_autocore (void)
|
|||
|
||||
suffix = grub_efiemu_get_default_core_name ();
|
||||
|
||||
filename = grub_xasprintf ("%s/%s", prefix, suffix);
|
||||
filename = grub_xasprintf ("%s/" GRUB_TARGET_CPU "-" GRUB_PLATFORM "/%s",
|
||||
prefix, suffix);
|
||||
if (! filename)
|
||||
return grub_error (GRUB_ERR_OUT_OF_MEMORY,
|
||||
"couldn't allocate temporary space");
|
||||
|
||||
|
||||
err = grub_efiemu_load_file (filename);
|
||||
grub_free (filename);
|
||||
if (err)
|
||||
|
|
|
@ -286,14 +286,14 @@ grub_mofile_open (const char *filename)
|
|||
/* Returning grub_file_t would be more natural, but grub_mofile_open assigns
|
||||
to fd_mo anyway ... */
|
||||
static grub_err_t
|
||||
grub_mofile_open_lang (const char *locale_dir, const char *locale)
|
||||
grub_mofile_open_lang (const char *part1, const char *part2, const char *locale)
|
||||
{
|
||||
char *mo_file;
|
||||
grub_err_t err;
|
||||
|
||||
/* mo_file e.g.: /boot/grub/locale/ca.mo */
|
||||
|
||||
mo_file = grub_xasprintf ("%s/%s.mo", locale_dir, locale);
|
||||
mo_file = grub_xasprintf ("%s%s/%s.mo", part1, part2, locale);
|
||||
if (!mo_file)
|
||||
return grub_errno;
|
||||
|
||||
|
@ -317,20 +317,23 @@ grub_mofile_open_lang (const char *locale_dir, const char *locale)
|
|||
static grub_err_t
|
||||
grub_gettext_init_ext (const char *locale)
|
||||
{
|
||||
const char *locale_dir;
|
||||
const char *part1, *part2;
|
||||
grub_err_t err;
|
||||
|
||||
if (!locale)
|
||||
return 0;
|
||||
|
||||
locale_dir = grub_env_get ("locale_dir");
|
||||
if (locale_dir == NULL)
|
||||
part1 = grub_env_get ("locale_dir");
|
||||
part2 = "";
|
||||
if (!part1)
|
||||
{
|
||||
grub_dprintf ("gettext", "locale_dir variable is not set up.\n");
|
||||
return 0;
|
||||
part1 = grub_env_get ("prefix");
|
||||
if (!part1)
|
||||
return 0;
|
||||
part2 = "/locale";
|
||||
}
|
||||
|
||||
err = grub_mofile_open_lang (locale_dir, locale);
|
||||
err = grub_mofile_open_lang (part1, part2, locale);
|
||||
|
||||
/* ll_CC didn't work, so try ll. */
|
||||
if (err)
|
||||
|
@ -342,7 +345,7 @@ grub_gettext_init_ext (const char *locale)
|
|||
{
|
||||
*underscore = '\0';
|
||||
grub_errno = GRUB_ERR_NONE;
|
||||
err = grub_mofile_open_lang (locale_dir, lang);
|
||||
err = grub_mofile_open_lang (part1, part2, lang);
|
||||
}
|
||||
|
||||
grub_free (lang);
|
||||
|
|
|
@ -708,7 +708,8 @@ grub_dl_load (const char *name)
|
|||
return 0;
|
||||
}
|
||||
|
||||
filename = grub_xasprintf ("%s/%s.mod", grub_dl_dir, name);
|
||||
filename = grub_xasprintf ("%s/" GRUB_TARGET_CPU "-" GRUB_PLATFORM "/%s.mod",
|
||||
grub_dl_dir, name);
|
||||
if (! filename)
|
||||
return 0;
|
||||
|
||||
|
|
|
@ -57,7 +57,8 @@ read_fs_list (const char *prefix)
|
|||
{
|
||||
char *filename;
|
||||
|
||||
filename = grub_xasprintf ("%s/fs.lst", prefix);
|
||||
filename = grub_xasprintf ("%s/" GRUB_TARGET_CPU "-" GRUB_PLATFORM
|
||||
"/fs.lst", prefix);
|
||||
if (filename)
|
||||
{
|
||||
grub_file_t file;
|
||||
|
|
|
@ -86,7 +86,8 @@ read_crypto_list (const char *prefix)
|
|||
return;
|
||||
}
|
||||
|
||||
filename = grub_xasprintf ("%s/crypto.lst", prefix);
|
||||
filename = grub_xasprintf ("%s/" GRUB_TARGET_CPU "-" GRUB_PLATFORM
|
||||
"/crypto.lst", prefix);
|
||||
if (!filename)
|
||||
{
|
||||
grub_errno = GRUB_ERR_NONE;
|
||||
|
|
|
@ -77,7 +77,8 @@ read_command_list (const char *prefix)
|
|||
{
|
||||
char *filename;
|
||||
|
||||
filename = grub_xasprintf ("%s/command.lst", prefix);
|
||||
filename = grub_xasprintf ("%s/" GRUB_TARGET_CPU "-" GRUB_PLATFORM
|
||||
"/command.lst", prefix);
|
||||
if (filename)
|
||||
{
|
||||
grub_file_t file;
|
||||
|
|
|
@ -527,6 +527,10 @@ GRUB_MOD_INIT(normal)
|
|||
grub_env_set (features[i], "y");
|
||||
grub_env_export (features[i]);
|
||||
}
|
||||
grub_env_set ("grub_cpu", GRUB_TARGET_CPU);
|
||||
grub_env_export ("grub_cpu");
|
||||
grub_env_set ("grub_platform", GRUB_PLATFORM);
|
||||
grub_env_export ("grub_platform");
|
||||
}
|
||||
|
||||
GRUB_MOD_FINI(normal)
|
||||
|
|
|
@ -308,7 +308,8 @@ read_terminal_list (const char *prefix)
|
|||
return;
|
||||
}
|
||||
|
||||
filename = grub_xasprintf ("%s/terminal.lst", prefix);
|
||||
filename = grub_xasprintf ("%s/" GRUB_TARGET_CPU "-" GRUB_PLATFORM
|
||||
"/terminal.lst", prefix);
|
||||
if (!filename)
|
||||
{
|
||||
grub_errno = GRUB_ERR_NONE;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue