[arch-commits] Commit in texinfo/trunk (PKGBUILD texinfo-pt-br-crash.patch)

Antonio Rojas arojas at gemini.archlinux.org
Tue Jul 27 21:19:25 UTC 2021


    Date: Tuesday, July 27, 2021 @ 21:19:24
  Author: arojas
Revision: 420543

Fix crash with Brazilian Portuguese (FS#71599)

Added:
  texinfo/trunk/texinfo-pt-br-crash.patch
Modified:
  texinfo/trunk/PKGBUILD

---------------------------+
 PKGBUILD                  |   12 ++++++---
 texinfo-pt-br-crash.patch |   58 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 67 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2021-07-27 21:12:34 UTC (rev 420542)
+++ PKGBUILD	2021-07-27 21:19:24 UTC (rev 420543)
@@ -5,7 +5,7 @@
 
 pkgname=texinfo
 pkgver=6.8
-pkgrel=1
+pkgrel=2
 pkgdesc='GNU documentation system for on-line information and printed output'
 arch=(x86_64)
 url='https://www.gnu.org/software/texinfo/'
@@ -14,13 +14,19 @@
 depends=(ncurses gzip perl sh)
 source=(https://ftp.gnu.org/pub/gnu/$pkgname/$pkgname-$pkgver.tar.xz{,.sig}
         texinfo-install.hook
-        texinfo-remove.hook)
+        texinfo-remove.hook
+        texinfo-pt-br-crash.patch)
 sha256sums=('8eb753ed28bca21f8f56c1a180362aed789229bd62fff58bf8368e9beb59fec4'
             'SKIP'
             '5409fc3aa8a35e8f3d901e96bc50c986f204d90ce6bface0a7d79d99b487f801'
-            '913ca8aac84386399b0a83ed0f6b04b5e6322da62f5c1d7ed31e1050ed37c1a9')
+            '913ca8aac84386399b0a83ed0f6b04b5e6322da62f5c1d7ed31e1050ed37c1a9'
+            '73639d69b29ca8274225b16a2a0d51055f1ef76b4a65e9b5b65b5bb0a152f3c7')
 validpgpkeys=('EAF669B31E31E1DECBD11513DDBC579DAB37FBA9') # Gavin Smith
 
+prepare() {
+  patch -d $pkgname-$pkgver -p1 < texinfo-pt-br-crash.patch # Avoid info crash for Brazillian Portuguese
+}
+
 build() {
   cd $pkgname-$pkgver
   ./configure --prefix=/usr

Added: texinfo-pt-br-crash.patch
===================================================================
--- texinfo-pt-br-crash.patch	                        (rev 0)
+++ texinfo-pt-br-crash.patch	2021-07-27 21:19:24 UTC (rev 420543)
@@ -0,0 +1,58 @@
+From 04f7ed5ce647050f28106b589217fb2509626d38 Mon Sep 17 00:00:00 2001
+From: Gavin Smith <gavinsmith0123 at gmail.com>
+Date: Sat, 24 Jul 2021 16:13:44 +0100
+Subject: Avoid info crash for Brazillian Portuguese
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+* info/infodoc.c (replace_in_documentation): Do not abort
+if command name is not found in documentation.  As the string
+may have come from a translated message, such a problem may
+not be found for some time.  Report from
+René Neumann <lists at necoro.eu>.
+---
+ ChangeLog      | 10 ++++++++++
+ info/infodoc.c | 22 ++++++++++++++--------
+ 2 files changed, 24 insertions(+), 8 deletions(-)
+
+diff --git a/info/infodoc.c b/info/infodoc.c
+index b9cb00d1d5..640fd0622b 100644
+--- a/info/infodoc.c
++++ b/info/infodoc.c
+@@ -713,18 +713,24 @@ replace_in_documentation (const char *string, int help_is_only_window_p)
+ 
+               /* Find a key which invokes this function in the info_keymap. */
+               command = named_function (fun_name);
+-              free (rep_name);
+ 
+               /* If the internal documentation string fails, there is a
+-                 serious problem with the associated command's documentation.
+-                 We croak so that it can be fixed immediately. */
++                 problem with the associated command's documentation (probably
++                 in the translation). */
+               if (!command)
+-                abort ();
+-
+-              rep = where_is (info_keymap, command);
+-              if (!rep)
+-                rep = "N/A";
++                {
++                  info_error ("bug: no command <%s>\n", rep_name);
++                  sleep (1);
++                  rep = "BUG";
++                }
++              else
++                {
++                  rep = where_is (info_keymap, command);
++                  if (!rep)
++                    rep = "N/A";
++                }
+               replen = strlen (rep);
++              free (rep_name);
+ 
+               if (fmt)
+                 text_buffer_printf (&txtresult, fmt, rep);
+-- 
+cgit v1.2.1
+



More information about the arch-commits mailing list