diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2015-04-22 06:46:23 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2015-04-22 07:05:35 +0000 |
commit | 3e5fcff76e0a547b7185615d825515a4ab1bbb40 (patch) | |
tree | 22fee7c06aac1f523948282effd1b58d2c20fbf0 /main/readline | |
parent | 77ee28c803fd628c738dd736c5ffc05e8863ebd3 (diff) | |
download | aports-3e5fcff76e0a547b7185615d825515a4ab1bbb40.zip |
main/readline: upgrade to 6.3.008
Diffstat (limited to 'main/readline')
-rw-r--r-- | main/readline/APKBUILD | 48 | ||||
-rw-r--r-- | main/readline/p0-readline-6.3-008.patch | 394 | ||||
-rw-r--r-- | main/readline/readline-6.3-dispatch-multikey.patch | 16 | ||||
-rw-r--r-- | main/readline/readline-6.3-vi-last.patch | 15 |
4 files changed, 415 insertions, 58 deletions
diff --git a/main/readline/APKBUILD b/main/readline/APKBUILD index 9246844c3d2..4e123ce549d 100644 --- a/main/readline/APKBUILD +++ b/main/readline/APKBUILD @@ -1,11 +1,8 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=readline -pkgver=6.3 -#_myver=${pkgver%.*} -#_patchver=${pkgver##*.} -#_suff=${_myver%.*}${_myver#*.} -_myver=$pkgver -pkgrel=3 +pkgver=6.3.008 +_myver=${pkgver%.*} +pkgrel=0 pkgdesc="GNU readline library" url="ftp://ftp.cwru.edu/pub/bash/" arch="all" @@ -14,17 +11,21 @@ depends= makedepends="ncurses-dev" subpackages="$pkgname-dev $pkgname-doc" source="http://ftp.gnu.org/gnu/readline/readline-${_myver}.tar.gz + p0-readline-6.3-008.patch fix-ncurses-underlinking.patch - readline-6.3-dispatch-multikey.patch - readline-6.3-vi-last.patch " # generate url's to patches. note: no forks allowed! -#_i=1 -#while [ $_i -le $_patchver ]; do - #source="$source http://ftp.gnu.org/gnu/readline/readline-$_myver-patches/readline$_suff-00$_i" - #_i=$(( $_i + 1)) -#done + +_getpatch() { + _i=1 + _suff=${_myver//./} + _patchver=${pkgver##*.} + while [ $_i -le $_patchver ]; do + curl http://ftp.gnu.org/gnu/readline/readline-$_myver-patches/readline$_suff-$(printf "%03d" $_i) + _i=$(( $_i + 1)) + done +} _builddir="$srcdir"/$pkgname-$_myver prepare() { @@ -32,14 +33,10 @@ prepare() { update_config_sub || return 1 for i in $source; do case $i in + p0-*.patch) msg $i; patch -p0 -i "$srcdir"/$i || return 1;; *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; esac done - #for i in "$srcdir"/readline$_suff-???; do - #[ -r "$i" ] || continue - #msg "Applying ${i##*/}" - #patch -Np0 -i ${i} || return 1 - #done } build() { @@ -67,14 +64,11 @@ package() { } md5sums="33c8fb279e981274f485fd91da77e94a readline-6.3.tar.gz -cbb34dd4ade349d47ec434bb01222aeb fix-ncurses-underlinking.patch -83f7c9ae2c02579934b10cb3fe9dea0b readline-6.3-dispatch-multikey.patch -a825e0357b4c685f92bee7bfacf2a845 readline-6.3-vi-last.patch" +3e84f443ddc7aedad1e6d527c105a213 p0-readline-6.3-008.patch +cbb34dd4ade349d47ec434bb01222aeb fix-ncurses-underlinking.patch" sha256sums="56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43 readline-6.3.tar.gz -755dd2a6231a7e49dfde429188b3120f08cb652fbbf1863bb3db8f8181e9dd10 fix-ncurses-underlinking.patch -42488da748b4f57dccccd224d02dac677ae7b7af39f104194c2aa63272a67467 readline-6.3-dispatch-multikey.patch -411380911760e441688d65efd0f12b0bfda09e9d4ea677296bfde22744a6d6fe readline-6.3-vi-last.patch" +b1682565724a25b68118f6880257cd2381988ee34e98e6c69e6fa20a0f941701 p0-readline-6.3-008.patch +755dd2a6231a7e49dfde429188b3120f08cb652fbbf1863bb3db8f8181e9dd10 fix-ncurses-underlinking.patch" sha512sums="f70efaf46d570b85c7637172b0ee2eb9a4aa73ba38a62bb45075e665929d9701b96fba0aea6c767fd9a2a0d39dfe8e70ab06da08f8524aee76a7c502f370a401 readline-6.3.tar.gz -2aef2e3ceb8fb08117a945fbdbb883ff8da7eaf259236cb64aebc7438dd17c73e52d0c7a5f1483432152fa8354f84468aacaede09ca0fa9e76ce6a1d82eb6f26 fix-ncurses-underlinking.patch -d9c37f3c3b003bd7084ecee8c4b6473691135cbd0663eabbc0fbd6b703e06cd8b8a5f947c5a443efbcb9593745a0c131c573b02187f4f02fd8596b0511af948e readline-6.3-dispatch-multikey.patch -a71af4314a772a68072720cac95a89d95584dc78adac6af233bb2abcff3c2978c4d2fcd17e225a46976e2b3f0b5f27e13f531669d152d037453e0a959bbe6e22 readline-6.3-vi-last.patch" +beab1f333643deea33bde114b7ba3eb6a6d9c84a2a92a66111bb46c6c1d27416d970112cf6ea635a7f3d5a419d4c768718a8f6ff1b4726c0cda8f566a2ad092f p0-readline-6.3-008.patch +2aef2e3ceb8fb08117a945fbdbb883ff8da7eaf259236cb64aebc7438dd17c73e52d0c7a5f1483432152fa8354f84468aacaede09ca0fa9e76ce6a1d82eb6f26 fix-ncurses-underlinking.patch" diff --git a/main/readline/p0-readline-6.3-008.patch b/main/readline/p0-readline-6.3-008.patch new file mode 100644 index 00000000000..5a0688c8108 --- /dev/null +++ b/main/readline/p0-readline-6.3-008.patch @@ -0,0 +1,394 @@ + READLINE PATCH REPORT + ===================== + +Readline-Release: 6.3 +Patch-ID: readline63-001 + +Bug-Reported-by: Daan van Rossum <daan@flash.uchicago.edu> +Bug-Reference-ID: <20140307072523.GA14250@flash.uchicago.edu> +Bug-Reference-URL: + +Bug-Description: + +The `.' command in vi mode cannot undo multi-key commands beginning with +`c', `d', and `y' (command plus motion specifier). + +Patch (apply with `patch -p0'): + +*** ../readline-6.3/readline.c 2013-10-28 14:58:06.000000000 -0400 +--- readline.c 2014-03-07 15:20:33.000000000 -0500 +*************** +*** 965,969 **** + if (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap && + key != ANYOTHERKEY && +! rl_key_sequence_length == 1 && /* XXX */ + _rl_vi_textmod_command (key)) + _rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign); +--- 965,969 ---- + if (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap && + key != ANYOTHERKEY && +! _rl_dispatching_keymap == vi_movement_keymap && + _rl_vi_textmod_command (key)) + _rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign); +*** ../readline-6.3/patchlevel 2013-11-15 08:11:11.000000000 -0500 +--- patchlevel 2014-03-21 08:28:40.000000000 -0400 +*************** +*** 1,3 **** + # Do not edit -- exists only for use by patch + +! 5 +--- 1,3 ---- + # Do not edit -- exists only for use by patch + +! 1 + READLINE PATCH REPORT + ===================== + +Readline-Release: 6.3 +Patch-ID: readline63-002 + +Bug-Reported-by: Anatol Pomozov <anatol.pomozov@gmail.com> +Bug-Reference-ID: <CAOMFOmXy3mT2So5GQ5F-smCVArQuAeBwZ2QKzgCtMeXJoDeYOQ@mail.gmail.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-readline/2014-03/msg00010.html + +Bug-Description: + +When in callback mode, some readline commands can cause readline to seg +fault by passing invalid contexts to callback functions. + +Patch (apply with `patch -p0'): + +*** ../readline-6.3/readline.c 2013-10-28 14:58:06.000000000 -0400 +--- readline.c 2014-03-10 14:15:02.000000000 -0400 +*************** +*** 745,749 **** + + RL_CHECK_SIGNALS (); +! if (r == 0) /* success! */ + { + _rl_keyseq_chain_dispose (); +--- 745,750 ---- + + RL_CHECK_SIGNALS (); +! /* We only treat values < 0 specially to simulate recursion. */ +! if (r >= 0 || (r == -1 && (cxt->flags & KSEQ_SUBSEQ) == 0)) /* success! or failure! */ + { + _rl_keyseq_chain_dispose (); +*** ../readline-6.3/patchlevel 2013-11-15 08:11:11.000000000 -0500 +--- patchlevel 2014-03-21 08:28:40.000000000 -0400 +*************** +*** 1,3 **** + # Do not edit -- exists only for use by patch + +! 1 +--- 1,3 ---- + # Do not edit -- exists only for use by patch + +! 2 + READLINE PATCH REPORT + ===================== + +Readline-Release: 6.3 +Patch-ID: readline63-003 + +Bug-Reported-by: +Bug-Reference-ID: +Bug-Reference-URL: + +Bug-Description: + +There are debugging functions in the readline release that are theoretically +exploitable as security problems. They are not public functions, but have +global linkage. + +Patch (apply with `patch -p0'): + +*** ../readline-6.3/util.c 2013-09-02 13:36:12.000000000 -0400 +--- util.c 2014-03-20 10:25:53.000000000 -0400 +*************** +*** 477,480 **** +--- 479,483 ---- + } + ++ #if defined (DEBUG) + #if defined (USE_VARARGS) + static FILE *_rl_tracefp; +*************** +*** 539,542 **** +--- 542,546 ---- + } + #endif ++ #endif /* DEBUG */ + + +*** ../readline-6.3/patchlevel 2013-11-15 08:11:11.000000000 -0500 +--- patchlevel 2014-03-21 08:28:40.000000000 -0400 +*************** +*** 1,3 **** + # Do not edit -- exists only for use by patch + +! 2 +--- 1,3 ---- + # Do not edit -- exists only for use by patch + +! 3 + READLINE PATCH REPORT + ===================== + +Readline-Release: 6.3 +Patch-ID: readline63-004 + +Bug-Reported-by: Egmont Koblinger <egmont@gmail.com> +Bug-Reference-ID: <CAGWcZk+bU5Jo1M+tutGvL-250UBE9DXjpeJVofYJSFcqFEVfMg@mail.gmail.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00153.html + +Bug-Description: + +The signal handling changes to bash and readline (to avoid running any code +in a signal handler context) cause the cursor to be placed on the wrong +line of a multi-line command after a ^C interrupts editing. + +Patch (apply with `patch -p0'): + +*** ../readline-6.3-patched/display.c 2013-12-27 13:10:56.000000000 -0500 +--- display.c 2014-03-27 11:52:45.000000000 -0400 +*************** +*** 2678,2682 **** + if (_rl_echoing_p) + { +! _rl_move_vert (_rl_vis_botlin); + _rl_vis_botlin = 0; + fflush (rl_outstream); +--- 2678,2683 ---- + if (_rl_echoing_p) + { +! if (_rl_vis_botlin > 0) /* minor optimization plus bug fix */ +! _rl_move_vert (_rl_vis_botlin); + _rl_vis_botlin = 0; + fflush (rl_outstream); +*** ../readline-6.3/patchlevel 2013-11-15 08:11:11.000000000 -0500 +--- patchlevel 2014-03-21 08:28:40.000000000 -0400 +*************** +*** 1,3 **** + # Do not edit -- exists only for use by patch + +! 3 +--- 1,3 ---- + # Do not edit -- exists only for use by patch + +! 4 + READLINE PATCH REPORT + ===================== + +Readline-Release: 6.3 +Patch-ID: readline63-005 + +Bug-Reported-by: Juergen Daubert <jue@jue.li> +Bug-Reference-ID: <20140303180430.GA7346@jue.netz> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-readline/2014-03/msg00002.html + +Bug-Description: + +There are still applications using the deprecated Function/VFunction/etc. +typedefs in rltypedefs.h. This patch restores the typedefs, but attempts +to mark them as deprecated using gcc/clang attributes. Thanks to Max Horn +for the suggestion. + +Patch (apply with `patch -p0'): + +*** ../readline-6.3-patched/rltypedefs.h 2011-03-26 14:53:31.000000000 -0400 +--- rltypedefs.h 2014-04-10 11:30:45.000000000 -0400 +*************** +*** 27,30 **** +--- 27,49 ---- + #endif + ++ /* Old-style, attempt to mark as deprecated in some way people will notice. */ ++ ++ #if !defined (_FUNCTION_DEF) ++ # define _FUNCTION_DEF ++ ++ #if defined(__GNUC__) || defined(__clang__) ++ typedef int Function () __attribute__ ((deprecated)); ++ typedef void VFunction () __attribute__ ((deprecated)); ++ typedef char *CPFunction () __attribute__ ((deprecated)); ++ typedef char **CPPFunction () __attribute__ ((deprecated)); ++ #else ++ typedef int Function (); ++ typedef void VFunction (); ++ typedef char *CPFunction (); ++ typedef char **CPPFunction (); ++ #endif ++ ++ #endif /* _FUNCTION_DEF */ ++ + /* New style. */ + +*** ../readline-6.3/patchlevel 2013-11-15 08:11:11.000000000 -0500 +--- patchlevel 2014-03-21 08:28:40.000000000 -0400 +*************** +*** 1,3 **** + # Do not edit -- exists only for use by patch + +! 4 +--- 1,3 ---- + # Do not edit -- exists only for use by patch + +! 5 + READLINE PATCH REPORT + ===================== + +Readline-Release: 6.3 +Patch-ID: readline63-006 + +Bug-Reported-by: <Trond.Endrestol@ximalas.info> +Bug-Reference-ID: <alpine.BSF.2.03.1404192114310.1973@enterprise.ximalas.info> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00069.html + +Bug-Description: + +Using reverse-i-search when horizontal scrolling is enabled does not redisplay +the entire line containing the successful search results. + +Patch (apply with `patch -p0'): + +*** ../readline-6.3-patched/display.c 2014-04-08 18:19:36.000000000 -0400 +--- display.c 2014-04-20 18:32:52.000000000 -0400 +*************** +*** 1638,1642 **** + the spot of first difference is before the end of the invisible chars, + lendiff needs to be adjusted. */ +! if (current_line == 0 && !_rl_horizontal_scroll_mode && + current_invis_chars != visible_wrap_offset) + { +--- 1638,1642 ---- + the spot of first difference is before the end of the invisible chars, + lendiff needs to be adjusted. */ +! if (current_line == 0 && /* !_rl_horizontal_scroll_mode && */ + current_invis_chars != visible_wrap_offset) + { +*************** +*** 1826,1831 **** + _rl_last_c_pos += bytes_to_insert; + + if (_rl_horizontal_scroll_mode && ((oe-old) > (ne-new))) +! goto clear_rest_of_line; + } + } +--- 1826,1836 ---- + _rl_last_c_pos += bytes_to_insert; + ++ /* XXX - we only want to do this if we are at the end of the line ++ so we move there with _rl_move_cursor_relative */ + if (_rl_horizontal_scroll_mode && ((oe-old) > (ne-new))) +! { +! _rl_move_cursor_relative (ne-new, new); +! goto clear_rest_of_line; +! } + } + } +*** ../readline-6.3/patchlevel 2013-11-15 08:11:11.000000000 -0500 +--- patchlevel 2014-03-21 08:28:40.000000000 -0400 +*************** +*** 1,3 **** + # Do not edit -- exists only for use by patch + +! 5 +--- 1,3 ---- + # Do not edit -- exists only for use by patch + +! 6 + READLINE PATCH REPORT + ===================== + +Readline-Release: 6.3 +Patch-ID: readline63-007 + +Bug-Reported-by: John Lenton +Bug-Reference-ID: +Bug-Reference-URL: https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1317476 + +Bug-Description: + +Readline should allow SIGALRM and SIGVTALRM (if available) to `interrupt' +rl_getc and cause the handler to run when not in a signal handling context. + +Patch (apply with `patch -p0'): + +*** ../readline-6.3-patched/input.c 2014-01-10 15:07:08.000000000 -0500 +--- input.c 2014-05-30 16:20:56.000000000 -0400 +*************** +*** 535,540 **** +--- 538,551 ---- + else if (_rl_caught_signal == SIGHUP || _rl_caught_signal == SIGTERM) + return (RL_ISSTATE (RL_STATE_READCMD) ? READERR : EOF); ++ /* keyboard-generated signals of interest */ + else if (_rl_caught_signal == SIGINT || _rl_caught_signal == SIGQUIT) + RL_CHECK_SIGNALS (); ++ /* non-keyboard-generated signals of interest */ ++ else if (_rl_caught_signal == SIGALRM ++ #if defined (SIGVTALRM) ++ || _rl_caught_signal == SIGVTALRM ++ #endif ++ ) ++ RL_CHECK_SIGNALS (); + + if (rl_signal_event_hook) +*** ../readline-6.3/patchlevel 2013-11-15 08:11:11.000000000 -0500 +--- patchlevel 2014-03-21 08:28:40.000000000 -0400 +*************** +*** 1,3 **** + # Do not edit -- exists only for use by patch + +! 6 +--- 1,3 ---- + # Do not edit -- exists only for use by patch + +! 7 + READLINE PATCH REPORT + ===================== + +Readline-Release: 6.3 +Patch-ID: readline63-008 + +Bug-Reported-by: Jared Yanovich <slovichon@gmail.com> +Bug-Reference-ID: <20140625225019.GJ17044@nightderanger.psc.edu> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00070.html + +Bug-Description: + +When the readline `revert-all-at-newline' option is set, pressing newline +when the current line is one retrieved from history results in a double free +and a segmentation fault. + +Patch (apply with `patch -p0'): + +*** ../readline-6.3-patched/misc.c 2012-09-01 18:03:11.000000000 -0400 +--- misc.c 2014-06-30 13:41:19.000000000 -0400 +*************** +*** 462,465 **** +--- 462,466 ---- + /* Set up rl_line_buffer and other variables from history entry */ + rl_replace_from_history (entry, 0); /* entry->line is now current */ ++ entry->data = 0; /* entry->data is now current undo list */ + /* Undo all changes to this history entry */ + while (rl_undo_list) +*************** +*** 469,473 **** + FREE (entry->line); + entry->line = savestring (rl_line_buffer); +- entry->data = 0; + } + entry = previous_history (); +--- 470,473 ---- +*** ../readline-6.3/patchlevel 2013-11-15 08:11:11.000000000 -0500 +--- patchlevel 2014-03-21 08:28:40.000000000 -0400 +*************** +*** 1,3 **** + # Do not edit -- exists only for use by patch + +! 7 +--- 1,3 ---- + # Do not edit -- exists only for use by patch + +! 8 diff --git a/main/readline/readline-6.3-dispatch-multikey.patch b/main/readline/readline-6.3-dispatch-multikey.patch deleted file mode 100644 index 641a2f3d6a3..00000000000 --- a/main/readline/readline-6.3-dispatch-multikey.patch +++ /dev/null @@ -1,16 +0,0 @@ -*** a/readline.c 2013-10-28 14:58:06.000000000 -0400 ---- b/readline.c 2014-03-10 14:15:02.000000000 -0400 -*************** -*** 745,749 **** - - RL_CHECK_SIGNALS (); -! if (r == 0) /* success! */ - { - _rl_keyseq_chain_dispose (); ---- 745,750 ---- - - RL_CHECK_SIGNALS (); -! /* We only treat values < 0 specially to simulate recursion. */ -! if (r >= 0 || (r == -1 && (cxt->flags & KSEQ_SUBSEQ) == 0)) /* success! or failure! */ - { - _rl_keyseq_chain_dispose (); diff --git a/main/readline/readline-6.3-vi-last.patch b/main/readline/readline-6.3-vi-last.patch deleted file mode 100644 index 9c4fc573db9..00000000000 --- a/main/readline/readline-6.3-vi-last.patch +++ /dev/null @@ -1,15 +0,0 @@ -*** a/readline.c 2013-10-28 14:58:06.000000000 -0400 ---- b/readline.c 2014-03-07 15:20:33.000000000 -0500 -*************** -*** 965,969 **** - if (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap && - key != ANYOTHERKEY && -! rl_key_sequence_length == 1 && /* XXX */ - _rl_vi_textmod_command (key)) - _rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign); ---- 965,969 ---- - if (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap && - key != ANYOTHERKEY && -! _rl_dispatching_keymap == vi_movement_keymap && - _rl_vi_textmod_command (key)) - _rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign); |