From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.90_1) id 1lOMWn-00046y-BB for mharc-grub-devel@gnu.org; Mon, 22 Mar 2021 11:31:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34624) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lOMWm-00046r-3S for grub-devel@gnu.org; Mon, 22 Mar 2021 11:31:36 -0400 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]:43937) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lOMWh-0007Xj-OA for grub-devel@gnu.org; Mon, 22 Mar 2021 11:31:35 -0400 Received: by mail-wr1-x42c.google.com with SMTP id e9so17590788wrw.10 for ; Mon, 22 Mar 2021 08:31:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=1uhN05C8jVZDo6BQHZX31ZlJB+9iBhFqiPUEnQxKeHU=; b=kFdRStKjt0GlPhzOZKLQaLfk76Aya2VtTDiwcnw7axENy6fQ6llkm3fgrMjcv3EssA eBWZQt6dO3WVwCng/BdfKvZc3ZKAC+z1CEIjVBE1WhFJpuLvF8Gg+BGQiviJwPwtdXbH +uTQUiYuTRns8cTUT8Ugtgnv+mE96BRb+EyVkGHdidG8/FR+hUHyAkdWea/H2MiRyn/M Sk1MOuMMxgmMFpIMJyiRoMaCSg6VZVX48nNH7X8zBO1L8gh1R1gTw9iC08KAxFeoA/RI jkFmkVwBlNizbMX7r4k0t6cG9ecTVj9M3o3fHNtZ1nHWlcIVABuhmy48JWzWHqNEotE6 MMOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=1uhN05C8jVZDo6BQHZX31ZlJB+9iBhFqiPUEnQxKeHU=; b=tfOX1AZJXQTqC9JDBmFUOJ7304XG6Erqreq8HtyBFUiHsTuSHuyzjFj+EmzNryqHU4 wlg/v8yaBArwaX2XJGXyIh+aj7FMP/6spt+E7SXoJt6gNdqE7PIDQvL+MNl9AowLApY/ Xz1o8KE+mRgEqQQ9WD0BW1Cl1Gko96xyvbT52IP/ASIF2Jj6iSwptlMzP+YF9y3sQkGu bfC4GqSH547z+SYfupInB8ezkNdrtPN+v5d+Id38rSiOEyKJQoEfPk6SqyE4004roAil ir1cj4EW4ETBGVmGNd1ACbTrzRgYNzPPAjKG96/S9umoQxrlC7wT7zXC/rL/18tzhUN4 IAyA== X-Gm-Message-State: AOAM53383UtB7+QoAd8M1S1TMlw4UjWfXAIJSZLRN9D+tFMm/8k8Qd5J 5uSVluRFLE8eA1llJ4Y1VI3FzY6z7e0= X-Google-Smtp-Source: ABdhPJz8ZFgjTm9sGhwrgeg472yFUfa/eqv8LvqbRD9X3U4N2OXx0Xu/qNXUxhArzC89V7YBJWGsaQ== X-Received: by 2002:a05:600c:4154:: with SMTP id h20mr353213wmm.149.1616427089473; Mon, 22 Mar 2021 08:31:29 -0700 (PDT) Received: from unfall (25.22.220.87.dynamic.jazztel.es. [87.220.22.25]) by smtp.gmail.com with ESMTPSA id b15sm19398558wmd.41.2021.03.22.08.31.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 Mar 2021 08:31:28 -0700 (PDT) From: =?utf-8?Q?Miguel_=C3=81ngel_Arruga_Vivas?= To: Daniel Kiper , Glenn Washburn Cc: grub-devel@gnu.org Subject: Re: GRUB 2.06~rc1 released References: <20210312195745.42xh57cmbk5lxspd@tomti.i.net-space.pl> Date: Mon, 22 Mar 2021 16:31:19 +0100 In-Reply-To: <20210312195745.42xh57cmbk5lxspd@tomti.i.net-space.pl> (Daniel Kiper's message of "Fri, 12 Mar 2021 20:57:45 +0100") Message-ID: <87ft0nryrc.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=rosen644835@gmail.com; helo=mail-wr1-x42c.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Mar 2021 15:31:36 -0000 --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain Hi, Daniel Kiper 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. The attached patch provides a trivial solution close to the one proposed by the manual. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-i18n-Format-large-integers-before-the-translation-me.patch Content-Transfer-Encoding: quoted-printable Content-Description: i18n-patch From=20750ab1afaf54c61d14419b7a5610856879f4851c Mon Sep 17 00:00:00 2001 From: =3D?UTF-8?q?Miguel=3D20=3DC3=3D81ngel=3D20Arruga=3D20Vivas?=3D 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": =2D-- 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 =2D-- 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 =3D 0; json_idx < size; json_idx++) { + char indexstr[21]; /* log10 (2^64) ~ 20, plus nul character. */ typeof (source->total_sectors) max_crypt_sectors =3D 0; =20 grub_errno =3D GRUB_ERR_NONE; @@ -732,11 +733,13 @@ luks2_recover_key (grub_disk_t source, continue; } =20 + grub_snprintf (indexstr, sizeof (indexstr) - 1, "%" PRIuGRUB_UINT64_= T, + keyslot.idx); /* * TRANSLATORS: It's a cryptographic key slot: one element of an arr= ay * where each element is either empty or holds a key. */ =2D grub_printf_ (N_("Slot \"%" PRIuGRUB_UINT64_T "\" opened\n"), keys= lot.idx); + grub_printf_ (N_("Slot \"%s\" opened\n"), indexstr); =20 candidate_key_len =3D keyslot.key_size; break; diff --git a/grub-core/efiemu/i386/loadcore64.c b/grub-core/efiemu/i386/loa= dcore64.c index 7316efc39..ea0b207c2 100644 =2D-- 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_segm= ent_t segs, return err; break; default: =2D return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET, =2D N_("relocation 0x%" PRIxGRUB_UINT64_T =2D " is not implemented yet"), =2D ELF_R_TYPE (rel->r_info)); + { + char rel_info[17]; /* log16 (2^64) =3D 16, plus 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); + } } } } diff --git a/grub-core/kern/arm64/dl.c b/grub-core/kern/arm64/dl.c index 401672374..566bb84e0 100644 =2D-- 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 *e= hdr, break; =20 default: =2D return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET, =2D N_("relocation 0x%" PRIxGRUB_UINT64_T =2D " is not implemented yet"), =2D ELF_R_TYPE (rel->r_info)); + { + char rel_info[17]; /* log16 (2^64) =3D 16, plus 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); + } } } =20 diff --git a/grub-core/kern/ia64/dl.c b/grub-core/kern/ia64/dl.c index b19706c50..248e35e2c 100644 =2D-- a/grub-core/kern/ia64/dl.c +++ b/grub-core/kern/ia64/dl.c @@ -136,10 +136,14 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *e= hdr, case R_IA64_LDXMOV: break; default: =2D return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET, =2D N_("relocation 0x%" PRIxGRUB_UINT64_T =2D " is not implemented yet"), =2D ELF_R_TYPE (rel->r_info)); + { + char rel_info[17]; /* log16 (2^64) =3D 16, plus 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); + } } } return GRUB_ERR_NONE; diff --git a/grub-core/kern/riscv/dl.c b/grub-core/kern/riscv/dl.c index d78297eee..024486bda 100644 =2D-- a/grub-core/kern/riscv/dl.c +++ b/grub-core/kern/riscv/dl.c @@ -330,10 +330,15 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *e= hdr, case R_RISCV_RELAX: break; default: =2D return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET, =2D N_("relocation 0x%" PRIxGRUB_UINT64_T =2D " is not implemented yet"), =2D (grub_uint64_t) ELF_R_TYPE (rel->r_info)); + { + char rel_info[17]; /* log16 (2^64) =3D 16, plus nul. */ + grub_snprintf (rel_info, sizeof (rel_info) - 1, + "%" PRIxGRUB_UINT64_T, + (grub_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); + } } } =20 diff --git a/grub-core/kern/sparc64/dl.c b/grub-core/kern/sparc64/dl.c index bbcce8ed5..a20171f1a 100644 =2D-- a/grub-core/kern/sparc64/dl.c +++ b/grub-core/kern/sparc64/dl.c @@ -176,10 +176,13 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *e= hdr, & 0x1fff); break; default: =2D return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET, =2D N_("relocation 0x%" PRIxGRUB_UINT64_T =2D " is not implemented yet"), =2D ELF_R_TYPE (rel->r_info)); + { + char rel_info[17]; /* log16 (2^64) =3D 16, plus 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); } } =20 diff --git a/grub-core/kern/x86_64/dl.c b/grub-core/kern/x86_64/dl.c index 1af5a0eeb..a8c8e90b1 100644 =2D-- a/grub-core/kern/x86_64/dl.c +++ b/grub-core/kern/x86_64/dl.c @@ -106,10 +106,14 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *e= hdr, break; =20 default: =2D return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET, =2D N_("relocation 0x%" PRIxGRUB_UINT64_T =2D " is not implemented yet"), =2D ELF_R_TYPE (rel->r_info)); + { + char rel_info[17]; /* log16 (2^64) =3D 16, plus 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); + } } } =20 =2D-=20 2.30.0 --=-=-= Content-Type: text/plain Best regards, Miguel [1] http://www.gnu.org/software/gettext/manual/html_node/Preparing-Strings.html#No-string-concatenation --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQGzBAEBCgAdFiEEiIeExBRZrMuD5+hMY0xuiXn6vsIFAmBYuEcACgkQY0xuiXn6 vsK8aAv+Jfx5M0zQbFC4MDG4xBq8sQLzF2Gxa0Ng0Mz6EjUur10DFC3GGN7NTPZK 9oW43Imr6ri2OCFyKnyINeg9QDZhhxH2DEGyq98HRMpxJXf7exGXxgx9CZT5vjJI Ob7TRp0IxzyPFgNLQfXcz1dm0Du9uSSJ6Tgq49zU/RitzcpBK30r+C7sVjludilg Hcg73+IrxV/eEHPZmK0KMCDDmdgIYNH3+dS3QY2PFVJ5fpqawUtYU8W9dt5yMd0u 1UF6EOI2FSha+/ox1mOoF8iKeWjv1uE4Zdgkt3woor9D3FXJDshvHYs+nc9jmurK qCpdnjpwoahxdlEbVNzIvzKSLeRSjYRyTkvjtxJxyY33dLELV9dxXqgciDiSYukP EOVkw2tKOi2gE1Nkxdc8LN0Xa7toj9FmhFOZN6Nf1aahykAZhMvcHxF7oYSGO9mu H1yUReMwHj2XVX+hcpdDhieh+t5RQ43EApCuWf3JIiY68SPiMvcahrPwY/kyrfGL T8EerOpR =QRKj -----END PGP SIGNATURE----- --==-=-=--