[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GRUB 2.06~rc1 released
From: |
Daniel Kiper |
Subject: |
Re: GRUB 2.06~rc1 released |
Date: |
Tue, 23 Mar 2021 15:31:21 +0100 |
User-agent: |
NeoMutt/20170113 (1.7.2) |
Hey,
On Mon, Mar 22, 2021 at 04:31:19PM +0100, Miguel Ángel Arruga Vivas wrote:
> Hi,
>
> Daniel Kiper <daniel.kiper@oracle.com> writes:
>
> > Translators can use http://alpha.gnu.org/pub/gnu/grub/grub-2.06~rc1.pot for
> > translation.
> > The pot signature is available at
> > http://alpha.gnu.org/pub/gnu/grub/grub-2.06~rc1.pot.sig
>
> Sorry for the delay to report, but during translation I noticed that two
> messages from the POT file have a problem related to the usage of
> PRI[ux]GRUB_UINT64_T on format strings. This isn't supported by GNU
> Gettext as explained on its manual[1], therefore the strings aren't
> extracted properly by xgettext.
Thank you for the report!
> The attached patch provides a trivial solution close to the one proposed
> by the manual.
Could you send this patch using "git send-email"?
> From 750ab1afaf54c61d14419b7a5610856879f4851c Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Miguel=20=C3=81ngel=20Arruga=20Vivas?=
> <rosen644835@gmail.com>
> Date: Mon, 22 Mar 2021 16:12:41 +0100
> Subject: [PATCH] i18n: Format large integers before the translation message.
>
> GNU gettext only supports C99 macros for integral types, more specific
> macros should be used to format the number to a string before the
> internationalization, as explained on the section of gettext's manual
> "Preparing Strings":
> <http://www.gnu.org/software/gettext/manual/html_node/Preparing-Strings.html#No-string-concatenation>
Could you add your SOB here?
...and some nits below...
> ---
> grub-core/disk/luks2.c | 5 ++++-
> grub-core/efiemu/i386/loadcore64.c | 14 ++++++++++----
> grub-core/kern/arm64/dl.c | 12 ++++++++----
> grub-core/kern/ia64/dl.c | 12 ++++++++----
> grub-core/kern/riscv/dl.c | 13 +++++++++----
> grub-core/kern/sparc64/dl.c | 11 +++++++----
> grub-core/kern/x86_64/dl.c | 12 ++++++++----
> 7 files changed, 54 insertions(+), 25 deletions(-)
>
> diff --git a/grub-core/disk/luks2.c b/grub-core/disk/luks2.c
> index 125e8609a..5525e3c66 100644
> --- a/grub-core/disk/luks2.c
> +++ b/grub-core/disk/luks2.c
> @@ -612,6 +612,7 @@ luks2_recover_key (grub_disk_t source,
> /* Try all keyslot */
> for (json_idx = 0; json_idx < size; json_idx++)
> {
> + char indexstr[21]; /* log10 (2^64) ~ 20, plus nul character. */
> typeof (source->total_sectors) max_crypt_sectors = 0;
>
> grub_errno = GRUB_ERR_NONE;
> @@ -732,11 +733,13 @@ luks2_recover_key (grub_disk_t source,
> continue;
> }
>
> + grub_snprintf (indexstr, sizeof (indexstr) - 1, "%" PRIuGRUB_UINT64_T,
> + keyslot.idx);
> /*
> * TRANSLATORS: It's a cryptographic key slot: one element of an array
> * where each element is either empty or holds a key.
> */
> - grub_printf_ (N_("Slot \"%" PRIuGRUB_UINT64_T "\" opened\n"),
> keyslot.idx);
> + grub_printf_ (N_("Slot \"%s\" opened\n"), indexstr);
>
> candidate_key_len = keyslot.key_size;
> break;
> diff --git a/grub-core/efiemu/i386/loadcore64.c
> b/grub-core/efiemu/i386/loadcore64.c
> index 7316efc39..ea0b207c2 100644
> --- a/grub-core/efiemu/i386/loadcore64.c
> +++ b/grub-core/efiemu/i386/loadcore64.c
> @@ -121,10 +121,16 @@ grub_arch_efiemu_relocate_symbols64
> (grub_efiemu_segment_t segs,
> return err;
> break;
> default:
> - return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
> - N_("relocation 0x%" PRIxGRUB_UINT64_T
> - " is not implemented yet"),
> - ELF_R_TYPE (rel->r_info));
> + {
> + char rel_info[17]; /* log16 (2^64) = 16, plus nul. */
Please add empty line here and s/nul/NUL/.
> + grub_snprintf (rel_info, sizeof (rel_info) - 1,
> + "%" PRIxGRUB_UINT64_T,
> + ELF_R_TYPE (rel->r_info));
> + return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
> + N_("relocation 0x%s"
> + " is not implemented yet"),
> + rel_info);
Please merge all these 3 lines into one, i.e:
N_("relocation 0x%s" is not implemented yet"), rel_info);
> + }
> }
> }
> }
> diff --git a/grub-core/kern/arm64/dl.c b/grub-core/kern/arm64/dl.c
> index 401672374..566bb84e0 100644
> --- a/grub-core/kern/arm64/dl.c
> +++ b/grub-core/kern/arm64/dl.c
> @@ -183,10 +183,14 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void
> *ehdr,
> break;
>
> default:
> - return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
> - N_("relocation 0x%" PRIxGRUB_UINT64_T
> - " is not implemented yet"),
> - ELF_R_TYPE (rel->r_info));
> + {
> + char rel_info[17]; /* log16 (2^64) = 16, plus nul. */
Ditto and below please...
Does this patch fix all PRI* translation issues?
When I get next version of patch from you I will rebuild and update pot file.
Daniel
Re: GRUB 2.06~rc1 released, Miguel Ángel Arruga Vivas, 2021/03/22
- Re: GRUB 2.06~rc1 released,
Daniel Kiper <=