Hello community, here is the log from the commit of package bash for openSUSE:Factory checked in at 2015-03-05 17:04:24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/bash (Old) and /work/SRC/openSUSE:Factory/.bash.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "bash" Changes: -------- --- /work/SRC/openSUSE:Factory/bash/bash.changes 2014-10-15 16:19:32.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.bash.new/bash.changes 2015-03-05 18:17:49.000000000 +0100 @@ -2 +2 @@ -Mon Oct 6 08:07:48 UTC 2014 - wer...@suse.de +Wed Feb 18 15:14:47 UTC 2015 - wer...@suse.de @@ -4,3 +4,2 @@ -- Replace patches bash-4.2-heredoc-eof-delim.patch and - bash-4.2-parse-exportfunc.patch with the official upstream - patch levels bash42-052 and bash42-053 +- Do not restart all signal handlers for bash 4.3 as this breaks + trap handler in subshells waotiug for a process @@ -9 +8 @@ -Thu Oct 2 13:11:50 UTC 2014 - wer...@suse.de +Fri Jan 16 16:53:44 UTC 2015 - wer...@suse.de @@ -11,2 +10 @@ -- Replace patch bash-4.2-CVE-2014-7187.patch with upstream patch - level bash42-051 +- Remove -DMUST_UNBLOCK_CHLD(=1) as this breaks waitchild(2) on linux @@ -15 +13 @@ -Wed Oct 1 12:12:55 UTC 2014 - wer...@suse.de +Fri Jan 9 13:11:03 UTC 2015 - wer...@suse.de @@ -17,5 +15,15 @@ -- Add patches - bash-4.2-heredoc-eof-delim.patch for bsc#898812, CVE-2014-6277: - more troubles with functions - bash-4.2-parse-exportfunc.patch for bsc#898884, CVE-2014-6278: - code execution after original 6271 fix +- Add upstream patch bash43-031 + The new nameref assignment functionality introduced in bash-4.3 did not perform + enough validation on the variable value and would create variables with + invalid names. +- Add upstream patch bash43-032 + When bash is running in Posix mode, it allows signals -- including SIGCHLD -- + to interrupt the `wait' builtin, as Posix requires. However, the interrupt + causes bash to not run a SIGCHLD trap for all exited children. This patch + fixes the issue and restores the documented behavior in Posix mode. +- Add upstream patch bash43-033 + Bash does not clean up the terminal state in all cases where bash or + readline modifies it and bash is subsequently terminated by a fatal signal. + This happens when the `read' builtin modifies the terminal settings, both + when readline is active and when it is not. It occurs most often when a script + installs a trap that exits on a signal without re-sending the signal to itself. @@ -24 +32 @@ -Tue Sep 30 13:49:12 UTC 2014 - wer...@suse.de +Wed Dec 3 15:05:14 CET 2014 - jdelv...@suse.de @@ -26,2 +34,42 @@ -- Make bash-4.2-extra-import-func.patch an optional patch due - instruction +- Fix the sed command that fixes up the patch headers. It was + printing a duplicate header line, which suprisingly did not + confuse patch, but could in the future. +- Fix all patches that had the duplicate header line issue. + +------------------------------------------------------------------- +Tue Nov 4 12:27:30 UTC 2014 - wer...@suse.de + +- Use tail command to follow run-tests instead of a simpe cat command + +------------------------------------------------------------------- +Fri Oct 24 12:53:04 UTC 2014 - wer...@suse.de + +- Really remove obsolete patches + +------------------------------------------------------------------- +Fri Oct 24 04:16:32 UTC 2014 - br...@aljex.com + +- Skip autoconf on OS 10.2 or older + +------------------------------------------------------------------- +Wed Oct 22 13:44:23 UTC 2014 - wer...@suse.de + +- Avoid fdupes on SLES-10 + +------------------------------------------------------------------- +Wed Oct 22 12:53:11 UTC 2014 - wer...@suse.de + +- Bump bash version to 4.3 + +------------------------------------------------------------------- +Tue Oct 21 21:18:20 UTC 2014 - br...@aljex.com + +- Allow building on targets from SL 10.1 to current since it's free + +------------------------------------------------------------------- +Mon Oct 6 08:38:54 UTC 2014 - wer...@suse.de + +- Add upstream patches + bash43-030 which fixes CVE-2014-6278 + bash43-029 which fixes CVE-2014-6277 + bash43-028 which fixes CVE-2014-7186/CVE-2014-7187 @@ -32,5 +79,0 @@ -- Remove and replace patches - bash-4.2-CVE-2014-6271.patch - bash-4.2-BSC898604.patch - bash-4.2-CVE-2014-7169.patch - with bash upstream patch 48, patch 49, and patch 50 @@ -40,0 +84 @@ +- Rename bash-4.2-extra-import-func.patch to bash-4.3-extra-import-func.patch @@ -43 +87 @@ -Fri Sep 26 11:07:24 UTC 2014 - wer...@suse.de +Mon Sep 29 12:19:29 UTC 2014 - wer...@suse.de @@ -45,6 +89,7 @@ -- Add patches - bash-4.2-BSC898604.patch for bsc#898604: functions via environment - hardening - bash-4.2-CVE-2014-7169.patch for bsc#898346, CVE-2014-7169: - incremental parsing fix for function environment issue - bash-4.2-CVE-2014-7187.patch for bsc#898603, CVE-2014-7186, +- Add upstream patches + bash43-027 which fixed bsc#898604 + bash43-026 which fixes CVE-2014-7169 and bsc#898346 + bash43-025 which replaces bash-4.3-CVE-2014-6271.patch and + fixes bnc#896776 +- Remove patch bash-4.3-CVE-2014-6271.patch due patch bash43-027 +- Add patch bash-4.2-CVE-2014-7187.patch for bsc#898603, CVE-2014-7186, @@ -53,0 +99,7 @@ +Fri Sep 26 08:07:16 UTC 2014 - wer...@suse.de + +- Use a version linker script for libreadline 6.3 as there are new + symbols in this 6.3 version like the rl_executing_keyseq and those + are used by the new bash 4.3 + +------------------------------------------------------------------- @@ -56 +108 @@ -- Add bash-4.2-CVE-2014-6271.patch +- Add bash-4.3-CVE-2014-6271.patch @@ -61 +113 @@ -Mon Sep 15 08:52:13 UTC 2014 - wer...@suse.de +Tue Aug 19 13:49:46 UTC 2014 - wer...@suse.de @@ -63,3 +115,13 @@ -- Add patch bash-4.2-error-getpwd.patch - which is the backport of the corrected german error message for - a failing getpwd (bnc#895475) +- Update to bash 4.3 with patch level 24 + * The -t timeout option to `read' does not work when the -e option is used + * When PS2 contains a command substitution, here-documents entered in an + interactive shell can sometimes cause a segmentation fault. + * 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. + * Using nested pipelines within loops with the `lastpipe' option set can result + in a segmentation fault. + * Bash does not correctly parse process substitution constructs that contain + unbalanced parentheses as part of the contained command. + * Indirect variable references do not work correctly if the reference + variable expands to an array reference using a subscript other than 0 @@ -70,0 +133,183 @@ + +------------------------------------------------------------------- +Tue May 20 16:35:55 UTC 2014 - wer...@suse.de + +- Update to bash 4.3 with patch level 18 + *When a SIGCHLD trap runs a command containing a shell builtin while + a script is running `wait' to wait for all running children to complete, + the SIGCHLD trap will not be run once for each child that terminates. + * Using reverse-i-search when horizontal scrolling is enabled doe + not redisplay the entire line containing the successful search results. + * Under certain circumstances, $@ is expanded incorrectly in contexts where + word splitting is not performed. + * When completing directory names, the directory name is dequoted twice. + This causes problems for directories with single and double quotes in + their names. + * An extended glob pattern containing a slash (`/') causes the globbing code + to misinterpret it as a directory separator. + * The code that creates local variables should not clear the `invisible' + attribute when returning an existing local variable. Let the code that + actually assigns a value clear it. + * When assigning an array variable using the compound assignment syntax, + but using `declare' with the rhs of the compound assignment quoted, the + shell did not mark the variable as visible after successfully performing + the assignment. +- Update to readline library 6.3 with patch level 6 + * Using reverse-i-search when horizontal scrolling is enabled does + not redisplay the entire line containing the successful search results. +- Remove readline-horizontal-redisplay.patch as now upstream +- Rename readline-6.2.dif to readline-6.3.dif and bash-4.2.dif to bash-4.3.dif + +------------------------------------------------------------------- +Wed Apr 30 11:51:24 UTC 2014 - wer...@suse.de + +- Add readline-horizontal-redisplay.patch from upstream as a temporary + fix for failing incremental search in horizontal-scroll-mode + +------------------------------------------------------------------- +Thu Apr 17 12:56:56 UTC 2014 - wer...@suse.de + +- Make patch command work on older products + +------------------------------------------------------------------- +Thu Apr 17 11:09:35 UTC 2014 - wer...@suse.de + +- Update to bash 4.3 with patch level 11 + * The `helptopic' completion action now maps to all the help topics, not just + the shell builtins. + * The `help' builtin no longer does prefix substring matching first, so + `help read' does not match `readonly', but will do it if exact string + matching fails. + * The shell can be compiled to not display a message about processes that + terminate due to SIGTERM. + * Non-interactive shells now react to the setting of checkwinsize and set ++++ 130 more lines (skipped) ++++ between /work/SRC/openSUSE:Factory/bash/bash.changes ++++ and /work/SRC/openSUSE:Factory/.bash.new/bash.changes Old: ---- audit-patch audit-rl-patch bash-3.0-decl.patch bash-4.0-headers.dif bash-4.0-loadables.dif bash-4.2-2.4.4.patch bash-4.2-error-getpwd.patch bash-4.2-extra-import-func.patch bash-4.2-nsec.dif bash-4.2-patches.tar.bz2 bash-4.2-sigrestart.patch bash-4.2-winch.dif bash-4.2.dif bash-4.2.tar.gz config-guess-sub-update.patch readline-4.3-input.dif readline-6.2-destdir.patch readline-6.2-msgdynamic.patch readline-6.2-patches.tar.bz2 readline-6.2-rltrace.patch readline-6.2.dif readline-6.2.tar.gz New: ---- bash-4.3-2.4.4.patch bash-4.3-decl.patch bash-4.3-extra-import-func.patch bash-4.3-headers.dif bash-4.3-loadables.dif bash-4.3-patches.tar.bz2 bash-4.3-sigrestart.patch bash-4.3-winch.dif bash-4.3.dif bash-4.3.tar.gz readline-6.3-destdir.patch readline-6.3-input.dif readline-6.3-patches.tar.bz2 readline-6.3-rltrace.patch readline-6.3.dif readline-6.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ bash.spec ++++++ --- /var/tmp/diff_new_pack.VpYFrY/_old 2015-03-05 18:17:50.000000000 +0100 +++ /var/tmp/diff_new_pack.VpYFrY/_new 2015-03-05 18:17:50.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package bash # -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -20,9 +20,9 @@ Name: bash BuildRequires: audit-devel -BuildRequires: autoconf BuildRequires: bison %if %suse_version > 1020 +BuildRequires: autoconf BuildRequires: fdupes %endif %if %suse_version > 1220 @@ -31,8 +31,9 @@ BuildRequires: ncurses-devel BuildRequires: patchutils BuildRequires: screen -%define bash_vers 4.2 -%define rl_vers 6.2 +BuildRequires: sed +%define bash_vers 4.3 +%define rl_vers 6.3 %define extend "" %if %suse_version > 1020 Recommends: bash-lang = %bash_vers @@ -42,7 +43,7 @@ Suggests: command-not-found Recommends: bash-doc = %bash_vers %endif -Version: 4.2 +Version: %{bash_vers} Release: 0 Summary: The GNU Bourne-Again Shell License: GPL-3.0+ @@ -66,43 +67,36 @@ Patch0: bash-%{bash_vers}.dif Patch1: bash-2.03-manual.patch Patch2: bash-4.0-security.patch -Patch3: bash-4.2-2.4.4.patch +Patch3: bash-4.3-2.4.4.patch Patch4: bash-3.0-evalexp.patch Patch5: bash-3.0-warn-locale.patch Patch6: bash-4.2-endpw.dif -Patch7: bash-3.0-decl.patch +Patch7: bash-4.3-decl.patch Patch8: bash-4.0-async-bnc523667.dif Patch10: bash-3.2-printf.patch -Patch11: bash-4.0-loadables.dif +Patch11: bash-4.3-loadables.dif Patch12: bash-4.1-completion.dif Patch13: bash-4.2-nscdunmap.dif -Patch14: bash-4.2-sigrestart.patch +Patch14: bash-4.3-sigrestart.patch # PATCH-FIX-UPSTREAM bnc#382214 -- disabled due bnc#806628 by -DBNC382214=0 Patch15: bash-3.2-longjmp.dif Patch16: bash-4.0-setlocale.dif -Patch17: bash-4.0-headers.dif -Patch18: bash-4.2-nsec.dif +Patch17: bash-4.3-headers.dif # PATCH-EXTEND-SUSE bnc#828877 -- xterm resizing does not pass to all sub clients -Patch19: bash-4.2-winch.dif +Patch18: bash-4.3-winch.dif Patch20: readline-%{rl_vers}.dif -Patch21: readline-4.3-input.dif +Patch21: readline-6.3-input.dif Patch22: readline-6.1-wrap.patch Patch23: readline-5.2-conf.patch Patch24: readline-6.2-metamode.patch Patch25: readline-6.2-endpw.dif -Patch26: readline-6.2-msgdynamic.patch Patch27: readline-6.2-xmalloc.dif -Patch30: readline-6.2-destdir.patch -Patch31: readline-6.2-rltrace.patch +Patch30: readline-6.3-destdir.patch +Patch31: readline-6.3-rltrace.patch Patch40: bash-4.1-bash.bashrc.dif -# PATCH-FIX-UPSTREAM bnc#895475 -- locale de_DE.utf8 has wrong translations -Patch41: bash-4.2-error-getpwd.patch -Patch42: audit-patch -Patch43: audit-rl-patch Patch46: man2html-no-timestamp.patch -Patch47: config-guess-sub-update.patch -# PATCH-FIX-SUSE CVE-2014-6271 -Patch48: bash-4.2-extra-import-func.patch +# PATCH-FIX-SUSE +Patch48: bash-4.3-extra-import-func.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %global _sysconfdir /etc %global _incdir %{_includedir} @@ -122,7 +116,7 @@ Group: Documentation/Man Provides: bash:%{_infodir}/bash.info.gz PreReq: %install_info_prereq -Version: 4.2 +Version: %{bash_vers} Release: 0 %if %suse_version > 1120 BuildArch: noarch @@ -139,18 +133,18 @@ %package -n bash-lang Summary: Languages for package bash Group: System/Localization -Provides: bash-lang = %{version} -Requires: bash = %{version} +Provides: bash-lang = %{bash_vers} +Requires: bash = %{bash_vers} %description -n bash-lang Provides translations to the package bash %endif -%if 0%suse_version >= 1100 +%if 0%suse_version >= 1020 %package -n bash-devel Summary: Include Files mandatory for Development of bash loadable builtins Group: Development/Languages/C and C++ -Version: 4.2 +Version: %{bash_vers} Release: 0 %description -n bash-devel @@ -162,7 +156,7 @@ %package -n bash-loadables Summary: Loadable bash builtins Group: System/Shells -Version: 4.2 +Version: %{bash_vers} Release: 0 %description -n bash-loadables @@ -223,7 +217,7 @@ Summary: The Readline Library Group: System/Libraries Provides: bash:/%{_lib}/libreadline.so.%{rl_major} -Version: 6.2 +Version: %{rl_vers} Release: 0 %if 0%suse_version > 1020 Recommends: readline-doc = %{version} @@ -233,8 +227,8 @@ Obsoletes: readline-64bit %endif # -Provides: readline = 6.2 -Obsoletes: readline <= 6.1 +Provides: readline = %{rl_vers} +Obsoletes: readline <= 6.2 %description -n libreadline6 The readline library is used by the Bourne Again Shell (bash, the @@ -245,12 +239,12 @@ Summary: Include Files and Libraries mandatory for Development Group: Development/Libraries/C and C++ Provides: bash:%{_libdir}/libreadline.a -Version: 6.2 +Version: %{rl_vers} Release: 0 -Requires: libreadline6 = %{version} +Requires: libreadline6 = %{rl_vers} Requires: ncurses-devel %if 0%suse_version > 1020 -Recommends: readline-doc = %{version} +Recommends: readline-doc = %{rl_vers} %endif # bug437293 %ifarch ppc64 @@ -267,7 +261,7 @@ Group: System/Libraries Provides: readline:%{_infodir}/readline.info.gz PreReq: %install_info_prereq -Version: 6.2 +Version: %{rl_vers} Release: 0 %if 0%suse_version > 1120 BuildArch: noarch @@ -289,6 +283,7 @@ let level++ || true fi test -e $file || exit 1 + sed -ri '/^\*\*\* \.\./{ s@\.\./bash-%{bash_vers}[^/]*/@@ }' $patch echo Patch $patch patch -s -p$level < $patch done @@ -308,24 +303,17 @@ %patch15 -p0 -b .longjmp %patch16 -p0 -b .setlocale %patch17 -p0 -b .headers -%patch18 -p0 -b .nsec -%patch19 -p0 -b .winch +%patch18 -p0 -b .winch %patch21 -p0 -b .zerotty %patch22 -p0 -b .wrap %patch23 -p0 -b .conf %patch24 -p0 -b .metamode #%patch25 -p0 -b .endpw -%patch26 -p0 -b .msgdy %patch31 -p0 -b .tmp %patch40 -p0 -b .bashrc -%patch41 -p0 -b .errgetpwd -%if 0%suse_version >= 1100 -%patch42 -p1 -b .audit -%endif %patch46 -p0 -b .notimestamp -%patch47 -p0 %if %{with import_function} -%patch48 -p0 +%patch48 %endif %patch0 -p0 -b .0 pushd ../readline-%{rl_vers}%{extend} @@ -337,6 +325,7 @@ file=${file#*/} let level++ || true fi + sed -ri '/^\*\*\* \.\./{ s@\.\./readline-%{rl_vers}[^/]*/@@ }' $patch echo Patch $patch patch -s -p$level < $patch done @@ -345,15 +334,10 @@ %patch23 -p2 -b .conf %patch24 -p2 -b .metamode #%patch25 -p2 -b .endpw -%patch26 -p2 -b .msgdy %patch31 -p2 -b .tmp %patch27 -p0 -b .xm %patch30 -p0 -b .destdir -%if 0%suse_version >= 1100 -%patch43 -p1 -b .audit -%endif %patch20 -p0 -b .0 -%patch47 %build LANG=POSIX @@ -380,7 +364,7 @@ MACHTYPE=${CPU}-suse-linux export LANG LC_ALL HOSTTYPE MACHTYPE pushd ../readline-%{rl_vers}%{extend} -%if 0%suse_version >= 1100 +%if 0%suse_version >= 1020 autoconf %endif cflags () @@ -420,16 +404,34 @@ { *; !rl_*stream; - } + }; + EOF + (cat > rl.map)<<-'EOF' + READLINE_6.3 { + rl_change_environment; + rl_clear_history; + rl_executing_key; + rl_executing_keyseq; + rl_filename_stat_hook; + rl_history_substr_search_backward; + rl_history_substr_search_forward; + rl_input_available_hook; + rl_print_last_kbd_macro; + rl_signal_event_hook; + }; EOF CFLAGS="$RPM_OPT_FLAGS $LARGEFILE -D_GNU_SOURCE -DRECYCLES_PIDS -Wall -g" LDFLAGS="" + # + # Never ever put -DMUST_UNBLOCK_CHLD herein as this breaks bash + # cflags -Wuninitialized CFLAGS cflags -Wextra CFLAGS cflags -Wno-unprototyped-calls CFLAGS cflags -Wno-switch-enum CFLAGS cflags -Wno-unused-variable CFLAGS cflags -Wno-unused-parameter CFLAGS + cflags -Wno-parentheses CFLAGS cflags -ftree-loop-linear CFLAGS cflags -pipe CFLAGS cflags -DBNC382214=0 CFLAGS @@ -438,6 +440,7 @@ cflags -Wl,-O2 LDFLAGS cflags -Wl,--hash-size=8599 LDFLAGS cflags -Wl,-rpath,%{_ldldir}/%{bash_vers} LDFLAGS + cflags -Wl,--version-script=${PWD}/rl.map LDFLAGS cflags -Wl,--dynamic-list=${PWD}/dyn.map LDFLAGS CC=gcc CC_FOR_BUILD="$CC" @@ -450,6 +453,7 @@ --with-curses \ --mandir=%{_mandir} \ --infodir=%{_infodir} \ + --docdir=%{_defaultdocdir}/readline \ --libdir=%{_libdir} make make documentation @@ -482,7 +486,7 @@ CC_FOR_BUILD="$CC" CFLAGS_FOR_BUILD="$CFLAGS" export CC_FOR_BUILD CFLAGS_FOR_BUILD CFLAGS LDFLAGS CC -%if 0%suse_version >= 1100 +%if 0%suse_version > 1020 autoconf %endif # @@ -535,6 +539,7 @@ --mandir=%{_mandir} \ --infodir=%{_infodir} \ --libdir=%{_libdir} \ + --docdir=%{_defaultdocdir}/bash \ --with-curses \ --with-afs \ $SYSMALLOC \ @@ -563,6 +568,7 @@ env -i HOME=$PWD TERM=$TERM LD_LIBRARY_PATH=$LD_LIBRARY_PATH TMPDIR=$TMPDIR \ SCREENRC=$SCREENRC SCREENDIR=$SCREENDIR \ screen -L -D -m make TESTSCRIPT=%{SOURCE4} check + kill -TERM $pid make %{?do_profiling:CFLAGS="$CFLAGS %cflags_profile_feedback" clean} all make -C examples/loadables/ make documentation @@ -628,6 +634,7 @@ rm -fv %{buildroot}%{_libdir}/libreadline.so.* rm -fv %{buildroot}%{_infodir}/rluserman.info.gz rm -fv %{buildroot}%{_mandir}/man3/history.3* + rm -fv %{buildroot}%{_defaultdocdir}/readline/INSTALL mkdir -p %{buildroot}%{_sysconfdir}/skel install -m 644 %{S:5} %{buildroot}%{_sysconfdir}/skel/.bashrc install -m 644 %{S:6} %{buildroot}%{_sysconfdir}/skel/.profile @@ -689,7 +696,7 @@ %doc %{_mandir}/man1/rbash.1.gz %doc %{_defaultdocdir}/bash/ -%if 0%suse_version >= 1100 +%if 0%suse_version >= 1020 %files -n bash-devel %defattr(-,root,root) %dir /%{_includedir}/bash/ ++++++ bash-3.0-decl.patch -> bash-4.3-2.4.4.patch ++++++ --- /work/SRC/openSUSE:Factory/bash/bash-3.0-decl.patch 2011-09-23 01:52:23.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.bash.new/bash-4.3-2.4.4.patch 2015-03-05 18:17:48.000000000 +0100 @@ -1,10 +1,87 @@ ---- support/printenv.c -+++ support/printenv.c 2005-09-19 13:09:08.000000000 +0000 -@@ -30,6 +30,7 @@ +--- array.c ++++ array.c 2006-11-14 09:54:22.000000000 +0000 +@@ -940,7 +940,7 @@ char *s, *sep; + * To make a running version, compile -DTEST_ARRAY and link with: + * xmalloc.o syntax.o lib/malloc/libmalloc.a lib/sh/libsh.a + */ +-int interrupt_immediately = 0; ++volatile sig_atomic_t interrupt_immediately = 0; + int + signal_is_trapped(s) +--- examples/loadables/tee.c ++++ examples/loadables/tee.c 2006-11-14 10:31:29.000000000 +0000 +@@ -35,6 +35,7 @@ #include "bashansi.h" -+#include <string.h> - extern char **environ; + #include <stdio.h> ++#include <signal.h> + #include <errno.h> + + #include "builtins.h" +@@ -56,7 +57,7 @@ static FLIST *tee_flist; + + #define TEE_BUFSIZE 8192 + +-extern int interrupt_immediately; ++extern volatile sig_atomic_t interrupt_immediately; + + extern char *strerror (); + +--- hashlib.c ++++ hashlib.c 2006-11-14 09:54:36.000000000 +0000 +@@ -381,7 +381,7 @@ hash_pstats (table, name) + + HASH_TABLE *table, *ntable; + +-int interrupt_immediately = 0; ++volatile sig_atomic_t interrupt_immediately = 0; int + signal_is_trapped (s) +--- jobs.c ++++ jobs.c 2001-05-02 16:20:31.000000000 +0000 +@@ -1783,6 +1783,15 @@ make_child (command, async_p) + pid_t mypid; + + mypid = getpid (); ++ ++ if (interrupt_state) ++ { ++ struct timeval tv; ++ struct rusage rx; ++ (void) gettimeofday(&tv, NULL); ++ (void) getrusage(RUSAGE_SELF, &rx); ++ } ++ + #if defined (BUFFERED_INPUT) + /* Close default_buffered_input if it's > 0. We don't close it if it's + 0 because that's the file descriptor used when redirecting input, +--- sig.c ++++ sig.c 2006-11-14 09:53:51.000000000 +0000 +@@ -92,10 +92,10 @@ sigset_t top_level_mask; + #endif /* JOB_CONTROL */ + + /* When non-zero, we throw_to_top_level (). */ +-int interrupt_immediately = 0; ++volatile sig_atomic_t interrupt_immediately = 0; + + /* When non-zero, we call the terminating signal handler immediately. */ +-int terminate_immediately = 0; ++volatile sig_atomic_t terminate_immediately = 0; + + #if defined (SIGWINCH) + static SigHandler *old_winch = (SigHandler *)SIG_DFL; +--- sig.h ++++ sig.h 2014-04-17 09:42:15.030235662 +0000 +@@ -111,8 +111,8 @@ do { \ + extern volatile sig_atomic_t sigwinch_received; + extern volatile sig_atomic_t sigterm_received; + +-extern int interrupt_immediately; /* no longer used */ +-extern int terminate_immediately; ++extern volatile sig_atomic_t interrupt_immediately; /* no longer used */ ++extern volatile sig_atomic_t terminate_immediately; + + /* Functions from sig.c. */ + extern sighandler termsig_sighandler __P((int)); ++++++ bash-3.0-decl.patch -> bash-4.3-decl.patch ++++++ --- /work/SRC/openSUSE:Factory/bash/bash-3.0-decl.patch 2011-09-23 01:52:23.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.bash.new/bash-4.3-decl.patch 2015-03-05 18:17:48.000000000 +0100 @@ -1,8 +1,8 @@ --- support/printenv.c -+++ support/printenv.c 2005-09-19 13:09:08.000000000 +0000 -@@ -30,6 +30,7 @@ - ++++ support/printenv.c 2014-04-17 09:46:25.874236036 +0000 +@@ -31,6 +31,7 @@ #include "bashansi.h" + #include <stdio.h> /* puts */ +#include <string.h> extern char **environ; ++++++ bash-4.2-extra-import-func.patch -> bash-4.3-extra-import-func.patch ++++++ --- /work/SRC/openSUSE:Factory/bash/bash-4.2-extra-import-func.patch 2014-10-15 16:19:32.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.bash.new/bash-4.3-extra-import-func.patch 2015-03-05 18:17:48.000000000 +0100 @@ -7,7 +7,7 @@ --- shell.c +++ shell.c 2014-09-25 20:11:51.000000000 +0000 -@@ -225,6 +225,7 @@ int posixly_correct = 1; /* Non-zero mea +@@ -230,6 +230,7 @@ int posixly_correct = 1; /* Non-zero mea #else int posixly_correct = 0; /* Non-zero means posix.2 superset. */ #endif @@ -15,7 +15,7 @@ /* Some long-winded argument names. These are obviously new. */ #define Int 1 -@@ -244,6 +245,7 @@ static const struct { +@@ -249,6 +250,7 @@ static const struct { { "help", Int, &want_initial_help, (char **)0x0 }, { "init-file", Charp, (int *)0x0, &bashrc_file }, { "login", Int, &make_login_shell, (char **)0x0 }, @@ -24,8 +24,8 @@ { "noprofile", Int, &no_profile, (char **)0x0 }, { "norc", Int, &no_rc, (char **)0x0 }, --- variables.c -+++ variables.c 2014-09-30 11:54:58.994735738 +0000 -@@ -105,6 +105,7 @@ extern time_t shell_start_time; ++++ variables.c 2014-10-06 08:36:41.299837915 +0000 +@@ -110,6 +110,7 @@ extern time_t shell_start_time; extern int assigning_in_environment; extern int executing_builtin; extern int funcnest_max; @@ -33,15 +33,15 @@ #if defined (READLINE) extern int no_line_editing; -@@ -317,6 +318,7 @@ initialize_shell_variables (env, privmod +@@ -328,6 +329,7 @@ initialize_shell_variables (env, privmod char *name, *string, *temp_string; - int c, char_index, string_index, string_length; + int c, char_index, string_index, string_length, ro; SHELL_VAR *temp_var; + int skipped_import; create_variable_tables (); -@@ -341,9 +343,12 @@ initialize_shell_variables (env, privmod +@@ -352,9 +354,12 @@ initialize_shell_variables (env, privmod temp_var = (SHELL_VAR *)NULL; @@ -50,12 +50,12 @@ + /* If exported function, define it now. Don't import functions from the environment in privileged mode. */ -- if (privmode == 0 && read_but_dont_execute == 0 && -+ if (skipped_import == 0 && privmode == 0 && read_but_dont_execute == 0 && - STREQN (BASHFUNC_PREFIX, name, BASHFUNC_PREFLEN) && - STREQ (BASHFUNC_SUFFIX, name + char_index - BASHFUNC_SUFFLEN) && +- if (privmode == 0 && read_but_dont_execute == 0 && ++ if (skipped_import == 0 && privmode == 0 && read_but_dont_execute == 0 && + STREQN (BASHFUNC_PREFIX, name, BASHFUNC_PREFLEN) && + STREQ (BASHFUNC_SUFFIX, name + char_index - BASHFUNC_SUFFLEN) && STREQN ("() {", string, 4)) -@@ -356,6 +361,12 @@ initialize_shell_variables (env, privmod +@@ -367,6 +372,12 @@ initialize_shell_variables (env, privmod tname = name + BASHFUNC_PREFLEN; /* start of func name */ tname[namelen] = '\0'; /* now tname == func name */ @@ -69,16 +69,16 @@ temp_string = (char *)xmalloc (namelen + string_length + 2); --- builtins/shopt.def -+++ builtins/shopt.def 2014-09-30 11:58:13.714235365 +0000 -@@ -89,6 +89,7 @@ extern int check_jobs_at_exit; - extern int autocd; ++++ builtins/shopt.def 2014-09-30 11:58:14.000000000 +0000 +@@ -90,6 +90,7 @@ extern int autocd; extern int glob_star; + extern int glob_asciirange; extern int lastpipe_opt; +extern int import_functions; #if defined (EXTENDED_GLOB) extern int extended_glob; -@@ -186,6 +187,7 @@ static struct { +@@ -192,6 +193,7 @@ static struct { { "hostcomplete", &perform_hostname_completion, shopt_enable_hostname_completion }, #endif { "huponexit", &hup_on_exit, (shopt_set_func_t *)NULL }, @@ -87,8 +87,8 @@ { "lastpipe", &lastpipe_opt, (shopt_set_func_t *)NULL }, #if defined (HISTORY) --- doc/bash.1 -+++ doc/bash.1 2014-09-30 12:09:39.698234623 +0000 -@@ -235,6 +235,13 @@ The shell becomes restricted (see ++++ doc/bash.1 2014-09-30 12:09:40.000000000 +0000 +@@ -240,6 +240,13 @@ The shell becomes restricted (see .B "RESTRICTED SHELL" below). .TP ++++++ bash-4.0-headers.dif -> bash-4.3-headers.dif ++++++ --- /work/SRC/openSUSE:Factory/bash/bash-4.0-headers.dif 2011-09-23 01:52:23.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.bash.new/bash-4.3-headers.dif 2015-03-05 18:17:48.000000000 +0100 @@ -1,5 +1,5 @@ --- examples/loadables/Makefile.in -+++ examples/loadables/Makefile.in 2009-06-09 16:16:25.000000000 +0000 ++++ examples/loadables/Makefile.in 2014-04-17 10:10:12.450235258 +0000 @@ -28,6 +28,9 @@ includedir = @includedir@ datarootdir = @datarootdir@ @@ -27,7 +27,7 @@ # # These values are generated for configure by ${topdir}/support/shobj-conf. # If your system is not supported by that script, but includes facilities for -@@ -79,20 +92,45 @@ INC = -I. -I.. -I$(topdir) -I$(topdir)/l +@@ -79,20 +92,46 @@ INC = -I. -I.. -I$(topdir) -I$(topdir)/l -I$(BASHINCDIR) -I$(BUILD_DIR) -I$(LIBBUILD) \ -I$(BUILD_DIR)/builtins $(INTL_INC) @@ -40,9 +40,9 @@ +SUPPORT_SRC = $(topdir)/support/ - ALLPROG = print sleep finfo logname basename dirname \ + ALLPROG = print truefalse sleep pushd finfo logname basename dirname \ tty pathchk tee head mkdir rmdir printenv id whoami \ - uname sync push ln unlink cut realpath getconf strftime mypid + uname sync push ln unlink realpath strftime mypid OTHERPROG = necho hello cat +HEADERS = @@ -53,6 +53,7 @@ +dependlist: template.d +-include template.d ++ +install-headers: HEADERS = $(sort $(filter %.h,$(realpath $^))) +install-headers: + @${SHELL} $(SUPPORT_SRC)mkinstalldirs $(DESTDIR)$(includedir)/$(Name)/$(Version)/builtins ++++++ bash-4.0-loadables.dif -> bash-4.3-loadables.dif ++++++ --- /work/SRC/openSUSE:Factory/bash/bash-4.0-loadables.dif 2011-09-23 01:52:23.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.bash.new/bash-4.3-loadables.dif 2015-03-05 18:17:48.000000000 +0100 @@ -1,17 +1,6 @@ ---- examples/loadables/Makefile.in -+++ examples/loadables/Makefile.in 2006-09-25 11:31:55.000000000 +0000 -@@ -83,7 +83,7 @@ INC = -I. -I.. -I$(topdir) -I$(topdir)/l - $(SHOBJ_CC) $(SHOBJ_CFLAGS) $(CCFLAGS) $(INC) -c -o $@ $< - - --ALLPROG = print truefalse sleep pushd finfo logname basename dirname \ -+ALLPROG = print sleep finfo logname basename dirname \ - tty pathchk tee head mkdir rmdir printenv id whoami \ - uname sync push ln unlink cut realpath getconf strftime mypid - OTHERPROG = necho hello cat --- examples/loadables/basename.c +++ examples/loadables/basename.c 2006-09-25 11:49:31.000000000 +0000 -@@ -9,10 +9,13 @@ +@@ -27,10 +27,13 @@ #endif #include <stdio.h> @@ -40,29 +29,6 @@ #ifndef errno extern int errno; ---- examples/loadables/cut.c -+++ examples/loadables/cut.c 2006-09-25 12:00:21.000000000 +0000 -@@ -60,8 +60,10 @@ static const char sccsid[] = "@(#)cut.c - # include <unistd.h> - #endif - --#include "builtins.h" - #include "shell.h" -+#include "builtins.h" -+#include "builtins/builtext.h" -+#include "builtins/common.h" - #include "bashgetopt.h" - #include "common.h" - -@@ -244,7 +246,7 @@ c_cut(fp, fname) - pos = positions + 1; - for (col = maxval; col; --col) { - if ((ch = getc(fp)) == EOF) -- return; -+ return (0); - if (ch == '\n') - break; - if (*pos++) --- examples/loadables/dirname.c +++ examples/loadables/dirname.c 2006-09-25 11:49:38.000000000 +0000 @@ -27,10 +27,13 @@ @@ -82,7 +48,7 @@ { --- examples/loadables/finfo.c +++ examples/loadables/finfo.c 2006-09-25 11:48:52.000000000 +0000 -@@ -20,6 +20,8 @@ +@@ -38,6 +38,8 @@ #include "bashansi.h" #include "shell.h" #include "builtins.h" @@ -91,7 +57,7 @@ #include "common.h" #ifndef errno -@@ -81,7 +83,7 @@ int argc; +@@ -99,7 +101,7 @@ int argc; char **argv; { register int i; @@ -100,7 +66,7 @@ sh_optind = 0; /* XXX */ prog = base_pathname(argv[0]); -@@ -174,7 +176,7 @@ int m; +@@ -192,7 +194,7 @@ int m; return (m & (S_IRWXU|S_IRWXG|S_IRWXO|S_ISUID|S_ISGID)); } @@ -109,7 +75,7 @@ perms(m) int m; { -@@ -218,7 +220,7 @@ int m; +@@ -236,7 +238,7 @@ int m; printf ("u=%s,g=%s,o=%s", ubits, gbits, obits); } @@ -118,7 +84,7 @@ printmode(mode) int mode; { -@@ -313,13 +315,13 @@ int flags; +@@ -331,13 +333,13 @@ int flags; else printf("%ld\n", st->st_ctime); } else if (flags & OPT_DEV) @@ -136,7 +102,7 @@ else if (flags & OPT_LNKNAM) { #ifdef S_ISLNK b = xmalloc(4096); -@@ -369,7 +371,6 @@ finfo_builtin(list) +@@ -387,7 +389,6 @@ finfo_builtin(list) { int c, r; char **v; @@ -144,44 +110,6 @@ v = make_builtin_argv (list, &c); r = finfo_main (c, v); ---- examples/loadables/getconf.c -+++ examples/loadables/getconf.c 2006-09-25 12:02:33.000000000 +0000 -@@ -65,6 +65,8 @@ - #include "bashansi.h" - #include "shell.h" - #include "builtins.h" -+#include "builtins/builtext.h" -+#include "builtins/common.h" - #include "stdc.h" - #include "common.h" - #include "bashgetopt.h" -@@ -1119,8 +1121,6 @@ static const struct conf_variable conf_t - { NULL } - }; - --static int num_getconf_variables = sizeof(conf_table) / sizeof(struct conf_variable) - 1; -- - extern char *this_command_name; - extern char **make_builtin_argv (); - -@@ -1133,8 +1133,7 @@ int - getconf_builtin (list) - WORD_LIST *list; - { -- int c, r, opt, aflag; -- char **v; -+ int r, opt, aflag; - - aflag = 0; - reset_internal_getopt(); -@@ -1169,7 +1168,6 @@ static void - getconf_help() - { - const struct conf_variable *cp; -- register int i, column; - - builtin_usage(); - printf("Acceptable variable names are:\n"); --- examples/loadables/head.c +++ examples/loadables/head.c 2006-09-25 11:55:24.000000000 +0000 @@ -38,6 +38,8 @@ @@ -215,7 +143,7 @@ reset_internal_getopt (); --- examples/loadables/hello.c +++ examples/loadables/hello.c 2006-09-25 11:38:25.000000000 +0000 -@@ -11,8 +11,10 @@ +@@ -29,8 +29,10 @@ #include <stdio.h> @@ -565,7 +493,7 @@ #if !defined (errno) --- examples/loadables/truefalse.c +++ examples/loadables/truefalse.c 2006-09-25 11:40:42.000000000 +0000 -@@ -20,18 +20,24 @@ +@@ -20,31 +20,37 @@ #include <config.h> @@ -592,6 +520,21 @@ WORD_LIST *list; { return EXECUTION_FAILURE; + } + +-static char *true_doc[] = { ++char * const true_doc[] = { + "Exit successfully.", + "", + "Return a successful result.", + (char *)NULL + }; + +-static char *false_doc[] = { ++char * const false_doc[] = { + "Exit unsuccessfully.", + "", + "Return an unsuccessful result.", --- examples/loadables/tty.c +++ examples/loadables/tty.c 2006-09-25 11:49:53.000000000 +0000 @@ -23,13 +23,16 @@ ++++++ bash-4.2-patches.tar.bz2 -> bash-4.3-patches.tar.bz2 ++++++ ++++ 12673 lines of diff (skipped) ++++++ bash-4.2-sigrestart.patch -> bash-4.3-sigrestart.patch ++++++ --- /work/SRC/openSUSE:Factory/bash/bash-4.2-sigrestart.patch 2013-06-05 11:40:05.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.bash.new/bash-4.3-sigrestart.patch 2015-03-05 18:17:48.000000000 +0100 @@ -1,33 +1,19 @@ ---- jobs.c -+++ jobs.c 2008-01-08 18:10:16.000000000 +0000 -@@ -2454,7 +2454,11 @@ wait_for (pid) - act.sa_handler = SIG_DFL; - sigemptyset (&act.sa_mask); - sigemptyset (&oact.sa_mask); -+# if defined(MUST_REINSTALL_SIGHANDLERS) - act.sa_flags = 0; -+# else -+ act.sa_flags = SA_RESTART; -+# endif - sigaction (SIGCHLD, &act, &oact); - # endif - queue_sigchld = 1; --- sig.c -+++ sig.c 2011-01-14 13:10:48.591925968 +0000 -@@ -668,6 +668,16 @@ set_signal_handler (sig, handler) - if we take the time to reap children */ ++++ sig.c 2014-04-17 10:02:57.078235890 +0000 +@@ -722,10 +722,16 @@ set_signal_handler (sig, handler) if (sig == SIGCHLD) act.sa_flags |= SA_RESTART; /* XXX */ -+#if !defined(MUST_REINSTALL_SIGHANDLERS) -+ if (sig != SIGALRM && handler != (termsig_sighandler)) -+ act.sa_flags |= SA_RESTART; /* XXX */ + #endif + if (handler == (trap_handler)) + act.sa_flags |= SA_NODEFER; /* XXX */ -+ if (handler == (termsig_sighandler)) + /* If we're installing a SIGTERM handler for interactive shells, we want + it to be as close to SIG_IGN as possible. */ + if (sig == SIGTERM && handler == sigterm_sighandler) + act.sa_flags |= SA_RESTART; /* XXX */ ++ else if (handler == (termsig_sighandler)) + act.sa_flags |= SA_NODEFER; /* XXX */ + if (sig == SIGTSTP || sig == SIGTTOU || sig == SIGTTIN || sig == SIGCONT) + act.sa_flags |= SA_NODEFER; /* XXX */ -+#endif sigemptyset (&act.sa_mask); sigemptyset (&oact.sa_mask); ++++++ bash-4.2-winch.dif -> bash-4.3-winch.dif ++++++ --- /work/SRC/openSUSE:Factory/bash/bash-4.2-winch.dif 2013-07-12 20:42:20.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.bash.new/bash-4.3-winch.dif 2015-03-05 18:17:48.000000000 +0100 @@ -1,25 +1,11 @@ ---- jobs.c -+++ jobs.c 2013-07-12 12:19:03.000000000 +0000 -@@ -219,7 +219,7 @@ int already_making_children = 0; +--- config-top.h ++++ config-top.h 2014-04-17 10:19:39.698805960 +0000 +@@ -122,7 +122,7 @@ - /* If this is non-zero, $LINES and $COLUMNS are reset after every process - exits from get_tty_state(). */ --int check_window_size; -+int check_window_size = 1; + /* Define to 0 if you want the checkwinsize option off by default, 1 if you + want it on. */ +-#define CHECKWINSIZE_DEFAULT 0 ++#define CHECKWINSIZE_DEFAULT 1 - /* Functions local to this file. */ - ---- builtins/shopt.def -+++ builtins/shopt.def 2006-03-27 12:15:25.000000000 +0000 -@@ -279,9 +279,9 @@ reset_shopt_options () - allow_null_glob_expansion = glob_dot_filenames = 0; - cdable_vars = mail_warning = 0; - no_exit_on_failed_exec = print_shift_error = 0; -- check_hashed_filenames = cdspelling = expand_aliases = check_window_size = 0; -+ check_hashed_filenames = cdspelling = expand_aliases = 0; - -- source_uses_path = promptvars = 1; -+ check_window_size = source_uses_path = promptvars = 1; - - #if defined (EXTENDED_GLOB) - extended_glob = 0; + /* Define to 1 if you want to optimize for sequential array assignment when + using indexed arrays, 0 if you want bash-4.2 behavior, which favors ++++++ bash-4.0-headers.dif -> bash-4.3.dif ++++++ --- /work/SRC/openSUSE:Factory/bash/bash-4.0-headers.dif 2011-09-23 01:52:23.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.bash.new/bash-4.3.dif 2015-03-05 18:17:48.000000000 +0100 @@ -1,75 +1,219 @@ ---- examples/loadables/Makefile.in -+++ examples/loadables/Makefile.in 2009-06-09 16:16:25.000000000 +0000 -@@ -28,6 +28,9 @@ includedir = @includedir@ - - datarootdir = @datarootdir@ - -+# Support an alternate destination root directory for package building -+DESTDIR = -+ - topdir = @top_srcdir@ - BUILD_DIR = @BUILD_DIR@ - srcdir = @srcdir@ -@@ -61,6 +64,16 @@ LIBINTL_H = @LIBINTL_H@ - - CCFLAGS = $(DEFS) $(LOCAL_DEFS) $(LOCAL_CFLAGS) $(CFLAGS) - -+INSTALL = @INSTALL@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_SCRIPT = @INSTALL_SCRIPT@ -+INSTALL_DATA = @INSTALL_DATA@ -+INSTALLMODE= -m 0755 -+INSTALLMODE2 = -m 0555 -+ -+Name = bash -+Version = @BASHVERS@ -+ +--- config-top.h ++++ config-top.h 2014-04-17 10:41:21.918735368 +0000 +@@ -56,17 +56,21 @@ + due to EPIPE. */ + /* #define DONT_REPORT_BROKEN_PIPE_WRITE_ERRORS */ + ++#ifndef _PATH_DEFPATH ++# include <paths.h> ++#endif ++ + /* The default value of the PATH variable. */ + #ifndef DEFAULT_PATH_VALUE + #define DEFAULT_PATH_VALUE \ +- "/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:." ++ "/usr/local/bin:" _PATH_DEFPATH ":." + #endif + + /* The value for PATH when invoking `command -p'. This is only used when + the Posix.2 confstr () function, or CS_PATH define are not present. */ + #ifndef STANDARD_UTILS_PATH + #define STANDARD_UTILS_PATH \ +- "/bin:/usr/bin:/sbin:/usr/sbin:/etc:/usr/etc" ++ _PATH_STDPATH + #endif + + /* Default primary and secondary prompt strings. */ +@@ -80,20 +84,20 @@ + #define KSH_COMPATIBLE_SELECT + + /* System-wide .bashrc file for interactive shells. */ +-/* #define SYS_BASHRC "/etc/bash.bashrc" */ ++#define SYS_BASHRC "/etc/bash.bashrc" + + /* System-wide .bash_logout for login shells. */ +-/* #define SYS_BASH_LOGOUT "/etc/bash.bash_logout" */ ++#define SYS_BASH_LOGOUT "/etc/bash.bash_logout" + + /* Define this to make non-interactive shells begun with argv[0][0] == '-' + run the startup files when not in posix mode. */ +-/* #define NON_INTERACTIVE_LOGIN_SHELLS */ ++#define NON_INTERACTIVE_LOGIN_SHELLS + + /* Define this if you want bash to try to check whether it's being run by + sshd and source the .bashrc if so (like the rshd behavior). This checks + for the presence of SSH_CLIENT or SSH2_CLIENT in the initial environment, + which can be fooled under certain not-uncommon circumstances. */ +-/* #define SSH_SOURCE_BASHRC */ ++#define SSH_SOURCE_BASHRC + + /* Define if you want the case-capitalizing operators (~[~]) and the + `capcase' variable attribute (declare -c). */ +--- doc/Makefile.in ++++ doc/Makefile.in 2006-03-27 12:15:25.000000000 +0000 +@@ -146,7 +146,7 @@ BASHREF_FILES = $(srcdir)/bashref.texi $ + ${RM} $@ + -${DVIPS} $< + +-all: ps info dvi text html ++all: info html + nodvi: ps info text html + everything: all pdf + +--- doc/bash.1 ++++ doc/bash.1 2006-03-27 12:15:25.000000000 +0000 +@@ -5080,8 +5080,8 @@ file (the \fIinputrc\fP file). + The name of this file is taken from the value of the + .SM + .B INPUTRC +-variable. If that variable is unset, the default is +-.IR ~/.inputrc . ++environment variable. If that variable is unset, readline will read both ++.IR /etc/inputrc " and " ~/.inputrc . + When a program which uses the readline library starts up, the + initialization file is read, and the key bindings and variables + are set. +@@ -10266,6 +10266,9 @@ The individual login shell cleanup file, + .TP + .FN ~/.inputrc + Individual \fIreadline\fP initialization file ++.TP ++.FN /etc/inputrc ++System \fBreadline\fP initialization file + .PD + .SH AUTHORS + Brian Fox, Free Software Foundation +--- general.h ++++ general.h 2006-03-27 12:15:25.000000000 +0000 +@@ -21,10 +21,13 @@ + #if !defined (_GENERAL_H_) + #define _GENERAL_H_ + ++#include <time.h> ++#include <sys/types.h> + #include "stdc.h" + + #include "bashtypes.h" + #include "chartypes.h" ++#include "bashline.h" + + #if defined (HAVE_SYS_RESOURCE_H) && defined (RLIMTYPE) + # if defined (HAVE_SYS_TIME_H) +--- parse.y ++++ parse.y 2006-03-27 12:15:25.000000000 +0000 +@@ -1413,7 +1413,7 @@ input_file_descriptor () + + #if defined (READLINE) + char *current_readline_prompt = (char *)NULL; +-char *current_readline_line = (char *)NULL; ++unsigned char *current_readline_line = (unsigned char *)NULL; + int current_readline_line_index = 0; + + static int +--- shell.c ++++ shell.c 2006-03-27 12:15:25.000000000 +0000 +@@ -492,7 +492,7 @@ main (argc, argv, env) + if (dump_translatable_strings) + read_but_dont_execute = 1; + +- if (running_setuid && privileged_mode == 0) ++ if (running_setuid && privileged_mode == 0 /* && act_like_sh == 0 */) + disable_priv_mode (); + + /* Need to get the argument to a -c option processed in the +--- support/man2html.c ++++ support/man2html.c 2011-11-25 17:07:29.000000000 +0000 +@@ -78,6 +78,7 @@ + #include <time.h> + #include <sys/time.h> + #include <errno.h> ++#include <unistd.h> + + #define NULL_TERMINATED(n) ((n) + 1) + +--- support/rlvers.sh ++++ support/rlvers.sh 2006-03-27 12:15:25.000000000 +0000 +@@ -27,10 +27,10 @@ TDIR=$TMPDIR/rlvers + + # defaults + CC=cc +-RL_LIBDIR=/usr/local/lib +-RL_INCDIR=/usr/local/include ++RL_LIBDIR=/lib ++RL_INCDIR=/usr/include + +-TERMCAP_LIB="-ltermcap" ++echo 'int main () { return 0; }' | gcc -ltinfo -o /dev/null -xc - > /dev/null 2>&1 && TERMCAP_LIB="-ltinfo" || TERMCAP_LIB="-lncurses" + + # cannot rely on the presence of getopts + while [ $# -gt 0 ]; do +--- support/shobj-conf ++++ support/shobj-conf 2006-09-22 14:11:58.000000000 +0000 +@@ -126,10 +126,11 @@ sunos5*|solaris2*) + linux*-*|gnu*-*|k*bsd*-gnu-*|freebsd*-gentoo) + SHOBJ_CFLAGS=-fPIC + SHOBJ_LD='${CC}' +- SHOBJ_LDFLAGS='-shared -Wl,-soname,$@' ++ SHOBJ_LDFLAGS='-shared' + +- SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir) -Wl,-soname,`basename $@ $(SHLIB_MINOR)`' ++ SHLIB_XLDFLAGS='-Wl,-rpath-link,$(libdir) -Wl,-soname,`basename $@ $(SHLIB_MINOR)`' + SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)' ++ echo 'int main () { return 0; }' | gcc -ltinfo -o /dev/null -xc - > /dev/null 2>&1 && SHLIB_LIBS=-ltinfo || SHLIB_LIBS=-lncurses + ;; + + freebsd2*) +--- tests/run-intl ++++ tests/run-intl 2009-08-26 11:13:13.000000000 +0000 +@@ -5,4 +5,4 @@ echo "warning: some of these tests will + echo "warning: locales installed on your system." >&2 + echo "warning: please ignore any differences consisting only of white space" >&2 + ${THIS_SH} ./intl.tests > /tmp/xx +-diff $AFLAG /tmp/xx intl.right && rm -f /tmp/xx ++diff -w $AFLAG /tmp/xx intl.right && rm -f /tmp/xx +--- tests/run-read ++++ tests/run-read 2009-08-26 11:13:13.000000000 +0000 +@@ -1,4 +1,4 @@ + echo "warning: please do not consider output differing only in the amount of" >&2 + echo "warning: white space to be an error." >&2 + ${THIS_SH} ./read.tests > /tmp/xx 2>&1 +-diff /tmp/xx read.right && rm -f /tmp/xx ++diff -w /tmp/xx read.right && rm -f /tmp/xx +--- execute_cmd.c ++++ execute_cmd.c 2014-04-17 11:56:03.742234753 +0000 +@@ -5225,7 +5225,8 @@ shell_execve (command, args, env) + run it for some reason. See why. */ + #if defined (HAVE_HASH_BANG_EXEC) + READ_SAMPLE_BUF (command, sample, sample_len); +- sample[sample_len - 1] = '\0'; ++ if (sample_len > 0) ++ sample[sample_len - 1] = '\0'; + if (sample_len > 2 && sample[0] == '#' && sample[1] == '!') + { + char *interp; +--- support/bashbug.sh ++++ support/bashbug.sh 2014-04-17 12:01:05.678235918 +0000 +@@ -1,4 +1,4 @@ +-#!/bin/sh - ++#!/bin/bash - # - # These values are generated for configure by ${topdir}/support/shobj-conf. - # If your system is not supported by that script, but includes facilities for -@@ -79,20 +92,45 @@ INC = -I. -I.. -I$(topdir) -I$(topdir)/l - -I$(BASHINCDIR) -I$(BUILD_DIR) -I$(LIBBUILD) \ - -I$(BUILD_DIR)/builtins $(INTL_INC) - -+.SUFFIXES: .d -+.c.d: -+ $(SHOBJ_CC) $(SHOBJ_CFLAGS) $(CCFLAGS) $(INC) -MM -MT install-headers -MF $@ $< -+ - .c.o: - $(SHOBJ_CC) $(SHOBJ_CFLAGS) $(CCFLAGS) $(INC) -c -o $@ $< - -+SUPPORT_SRC = $(topdir)/support/ - - ALLPROG = print sleep finfo logname basename dirname \ - tty pathchk tee head mkdir rmdir printenv id whoami \ - uname sync push ln unlink cut realpath getconf strftime mypid - OTHERPROG = necho hello cat -+HEADERS = - - all: $(SHOBJ_STATUS) - - supported: $(ALLPROG) - others: $(OTHERPROG) - -+dependlist: template.d -+-include template.d -+install-headers: HEADERS = $(sort $(filter %.h,$(realpath $^))) -+install-headers: -+ @${SHELL} $(SUPPORT_SRC)mkinstalldirs $(DESTDIR)$(includedir)/$(Name)/$(Version)/builtins -+ for head in $(subst $(realpath $(topdir))/,,$(HEADERS)) ; do \ -+ case $$head in \ -+ builtins/*) dest=$(DESTDIR)$(includedir)/$(Name)/$(Version)/builtins ;; \ -+ *) dest=$(DESTDIR)$(includedir)/$(Name)/$(Version) ;; \ -+ esac; \ -+ $(INSTALL_DATA) -t $$dest $(topdir)/$$head; \ -+ done -+ -+install-plugins: $(ALLPROG) -+ @${SHELL} $(SUPPORT_SRC)mkinstalldirs $(DESTDIR)$(libdir)/$(Name)/$(Version) -+ for plugin in $(ALLPROG) ; do \ -+ $(INSTALL) $$plugin $(DESTDIR)$(libdir)/$(Name)/$(Version)/$$plugin.so ; \ -+ done -+ - unsupported: - @echo "Your system (${host_os}) is not supported by the" - @echo "${topdir}/support/shobj-conf script." + # bashbug - create a bug report and mail it to the bug address + # +--- shell.c ++++ shell.c 2014-04-17 12:19:01.758235040 +0000 +@@ -42,6 +42,7 @@ + #if defined (HAVE_UNISTD_H) + # include <sys/types.h> + # include <unistd.h> ++# include <grp.h> + #endif + + #include "bashintl.h" +@@ -1226,6 +1227,7 @@ uidget () + void + disable_priv_mode () + { ++ setgroups(0, NULL); + setuid (current_user.uid); + setgid (current_user.gid); + current_user.euid = current_user.uid; ++++++ bash-4.2.tar.gz -> bash-4.3.tar.gz ++++++ /work/SRC/openSUSE:Factory/bash/bash-4.2.tar.gz /work/SRC/openSUSE:Factory/.bash.new/bash-4.3.tar.gz differ: char 5, line 1 ++++++ readline-6.2-destdir.patch -> readline-6.3-destdir.patch ++++++ --- /work/SRC/openSUSE:Factory/bash/readline-6.2-destdir.patch 2011-09-23 01:52:23.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.bash.new/readline-6.3-destdir.patch 2015-03-05 18:17:49.000000000 +0100 @@ -1,5 +1,5 @@ --- shlib/Makefile.in -+++ shlib/Makefile.in 2010-02-15 16:02:33.000000000 +0000 ++++ shlib/Makefile.in 2014-04-17 10:51:05.898235056 +0000 @@ -59,6 +59,7 @@ bindir = @bindir@ libdir = @libdir@ datadir = @datadir@ @@ -8,26 +8,30 @@ # Support an alternate destination root directory for package building DESTDIR = -@@ -184,13 +185,13 @@ installdirs: $(topdir)/support/mkdirs +@@ -192,8 +193,8 @@ installdirs: $(topdir)/support/mkdirs -$(SHELL) $(topdir)/support/mkdirs $(DESTDIR)$(bindir) - install: installdirs $(SHLIB_STATUS) + install-supported: installdirs $(SHLIB_STATUS) - $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V $(host_vendor) -d $(DESTDIR)$(libdir) -b $(DESTDIR)$(bindir) -i "$(INSTALL_DATA)" $(SHARED_HISTORY) - $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V $(host_vendor) -d $(DESTDIR)$(libdir) -b $(DESTDIR)$(bindir) -i "$(INSTALL_DATA)" $(SHARED_READLINE) + $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V $(host_vendor) -dd $(DESTDIR) -d $(libdir) -l $(linkagedir) -b $(bindir) -i "$(INSTALL_DATA)" $(SHARED_HISTORY) + $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V $(host_vendor) -dd $(DESTDIR) -d $(libdir) -l $(linkagedir) -b $(bindir) -i "$(INSTALL_DATA)" $(SHARED_READLINE) @echo install: you may need to run ldconfig - uninstall: + install-unsupported: +@@ -202,8 +203,8 @@ install-unsupported: + install: install-$(SHLIB_STATUS) + + uninstall-supported: - $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V $(host_vendor) -d $(DESTDIR)$(libdir) -b $(DESTDIR)$(bindir) -U $(SHARED_HISTORY) - $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V $(host_vendor) -d $(DESTDIR)$(libdir) -b $(DESTDIR)$(bindir) -U $(SHARED_READLINE) + $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V $(host_vendor) -dd $(DESTDIR) -d $(libdir) -l $(linkagedir) -b $(bindir) -U $(SHARED_HISTORY) + $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V $(host_vendor) -dd $(DESTDIR) -d $(libdir) -l $(linkagedir) -b $(bindir) -U $(SHARED_READLINE) @echo uninstall: you may need to run ldconfig - clean mostlyclean: force + uninstall-unsupported: --- support/shlib-install -+++ support/shlib-install 2010-02-15 15:59:38.000000000 +0000 ++++ support/shlib-install 2014-04-17 10:54:11.938235782 +0000 @@ -3,7 +3,7 @@ # shlib-install - install a shared library and do any necessary host-specific # post-installation configuration (like ldconfig) @@ -95,16 +99,16 @@ fi # post-install/uninstall -@@ -72,7 +79,7 @@ fi +@@ -73,7 +80,7 @@ fi case "$host_os" in - hpux*|darwin*|macosx*|linux*) + hpux*|darwin*|macosx*|linux*|solaris2*) if [ -z "$uninstall" ]; then - chmod 555 ${INSTALLDIR}/${LIBNAME} + chmod 555 ${DESTDIR}${INSTALLDIR}/${LIBNAME} fi ;; cygwin*|mingw*) IMPLIBNAME=`echo ${LIBNAME} \ -@@ -110,8 +117,8 @@ case "$LIBNAME" in +@@ -111,8 +118,8 @@ case "$LIBNAME" in LINK1=`echo $LIBNAME | sed 's:\(.*\)\.[0-9]\.[0-9]:\1:'` # libname.dylib esac @@ -115,40 +119,40 @@ # # Create symlinks to the installed library. This section is incomplete. -@@ -119,27 +126,27 @@ INSTALL_LINK2='${echo} cd $INSTALLDIR && +@@ -120,27 +127,27 @@ INSTALL_LINK2='${echo} cd $INSTALLDIR && case "$host_os-$host_vendor" in *linux*|freebsd*-gentoo) # libname.so.M -> libname.so.M.N - ${echo} ${RM} ${INSTALLDIR}/$LINK2 -+ ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/$LINK2 ++ ${echo} ${RM} {DESTDIR}${INSTALLDIR}/$LINK2 if [ -z "$uninstall" ]; then eval $INSTALL_LINK2 fi # libname.so -> libname.so.M - ${echo} ${RM} ${INSTALLDIR}/$LINK1 -+ ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/$LINK1 ++ ${echo} ${RM} {DESTDIR}${INSTALLDIR}/$LINK1 if [ -z "$uninstall" ]; then - ${echo} cd $INSTALLDIR && ${echo} ${LN} $LINK2 $LINK1 -+ ${echo} cd ${DESTDIR}$INSTALLDIR && ${echo} ${LN} $LINK2 $LINK1 ++ ${echo} cd {DESTDIR}$INSTALLDIR && ${echo} ${LN} $LINK2 $LINK1 fi ;; - bsdi4*|*gnu*|darwin*|macosx*|netbsd*) + bsdi4*|*gnu*|darwin*|macosx*|netbsd*|mirbsd*) # libname.so.M -> libname.so.M.N - ${echo} ${RM} ${INSTALLDIR}/$LINK2 -+ ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/$LINK2 ++ ${echo} ${RM} {DESTDIR}${INSTALLDIR}/$LINK2 if [ -z "$uninstall" ]; then eval $INSTALL_LINK2 fi # libname.so -> libname.so.M.N - ${echo} ${RM} ${INSTALLDIR}/$LINK1 -+ ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/$LINK1 ++ ${echo} ${RM} {DESTDIR}${INSTALLDIR}/$LINK1 if [ -z "$uninstall" ]; then eval $INSTALL_LINK1 fi -@@ -147,7 +154,7 @@ bsdi4*|*gnu*|darwin*|macosx*|netbsd*) +@@ -148,7 +155,7 @@ bsdi4*|*gnu*|darwin*|macosx*|netbsd*|mir solaris2*|aix4.[2-9]*|aix[5-9]*|osf*|irix[56]*|sysv[45]*|dgux*|interix*) # libname.so -> libname.so.M @@ -157,7 +161,7 @@ if [ -z "$uninstall" ]; then eval $INSTALL_LINK1 fi -@@ -158,19 +165,19 @@ solaris2*|aix4.[2-9]*|aix[5-9]*|osf*|iri +@@ -159,19 +166,19 @@ solaris2*|aix4.[2-9]*|aix[5-9]*|osf*|iri freebsd3*|freebsdaout*) if [ -x /usr/bin/objformat ] && [ "`/usr/bin/objformat`" = "elf" ]; then # libname.so -> libname.so.M @@ -180,7 +184,7 @@ if [ -z "$uninstall" ]; then eval $INSTALL_LINK1 fi -@@ -187,7 +194,7 @@ freebsd[4-9]*|freebsdelf*|dragonfly*) +@@ -188,7 +195,7 @@ freebsd[4-9]*|freebsd1[0-9]*|freebsdelf* hpux1*) # libname.sl -> libname.M ++++++ readline-4.3-input.dif -> readline-6.3-input.dif ++++++ --- /work/SRC/openSUSE:Factory/bash/readline-4.3-input.dif 2011-09-23 01:52:23.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.bash.new/readline-6.3-input.dif 2015-03-05 18:17:49.000000000 +0100 @@ -1,6 +1,6 @@ --- lib/readline/input.c +++ lib/readline/input.c 2003-03-17 19:03:51.000000000 +0000 -@@ -459,6 +459,8 @@ rl_read_key () +@@ -468,6 +468,8 @@ rl_read_key () return (c); } @@ -9,7 +9,7 @@ int rl_getc (stream) FILE *stream; -@@ -482,7 +484,10 @@ rl_getc (stream) +@@ -493,7 +495,10 @@ rl_getc (stream) /* If zero characters are returned, then the file that we are reading from is empty! Return EOF in that case. */ if (result == 0) @@ -22,8 +22,8 @@ #if defined (__BEOS__) if (errno == EINTR) --- lib/readline/readline.c -+++ lib/readline/readline.c 2003-03-17 19:02:52.000000000 +0000 -@@ -469,6 +469,9 @@ _rl_internal_char_cleanup () ++++ lib/readline/readline.c 2014-04-17 10:24:16.302236347 +0000 +@@ -515,6 +515,9 @@ _rl_internal_char_cleanup () _rl_erase_entire_line (); } @@ -33,14 +33,14 @@ STATIC_CALLBACK int #if defined (READLINE_CALLBACKS) readline_internal_char () -@@ -513,6 +516,10 @@ readline_internal_charloop () +@@ -564,6 +567,10 @@ readline_internal_charloop () c = rl_read_key (); RL_UNSETSTATE(RL_STATE_READCMD); + /* Return here if terminal is closed */ + if (c == EOF && _rl_read_zero_char_from_tty) -+ return (rl_done = 1); ++ return (rl_done = 1); + /* look at input.c:rl_getc() for the circumstances under which this will be returned; punt immediately on read error without converting it to - a newline. */ + a newline; assume that rl_read_key has already called the signal ++++++ readline-6.2-patches.tar.bz2 -> readline-6.3-patches.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/readline-6.2-patches/readline62-001 new/readline-6.3-patches/readline62-001 --- old/readline-6.2-patches/readline62-001 2011-02-28 16:03:00.000000000 +0100 +++ new/readline-6.3-patches/readline62-001 1970-01-01 01:00:00.000000000 +0100 @@ -1,46 +0,0 @@ - READLINE PATCH REPORT - ===================== - -Readline-Release: 6.2 -Patch-ID: readline62-001 - -Bug-Reported-by: Clark J. Wang <dearv...@gmail.com> -Bug-Reference-ID: <AANLkTimGbW7aC4E5infXP6ku5WPci4t=xvc+l1syh...@mail.gmail.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00157.html - -Bug-Description: - -The readline vi-mode `cc', `dd', and `yy' commands failed to modify the -entire line. - -[This patch intentionally does not modify patchlevel] - -Patch (apply with `patch -p0'): - -*** ../readline-6.2-patched/vi_mode.c 2010-11-20 19:51:39.000000000 -0500 ---- vi_mode.c 2011-02-17 20:24:25.000000000 -0500 -*************** -*** 1115,1119 **** - _rl_vi_last_motion = c; - RL_UNSETSTATE (RL_STATE_VIMOTION); -! return (0); - } - #if defined (READLINE_CALLBACKS) ---- 1115,1119 ---- - _rl_vi_last_motion = c; - RL_UNSETSTATE (RL_STATE_VIMOTION); -! return (vidomove_dispatch (m)); - } - #if defined (READLINE_CALLBACKS) -*** ../readline-6.2-patched/callback.c 2010-06-06 12:18:58.000000000 -0400 ---- callback.c 2011-02-17 20:43:28.000000000 -0500 -*************** -*** 149,152 **** ---- 149,155 ---- - /* Should handle everything, including cleanup, numeric arguments, - and turning off RL_STATE_VIMOTION */ -+ if (RL_ISSTATE (RL_STATE_NUMERICARG) == 0) -+ _rl_internal_char_cleanup (); -+ - return; - } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/readline-6.2-patches/readline62-002 new/readline-6.3-patches/readline62-002 --- old/readline-6.2-patches/readline62-002 2011-11-23 02:05:37.000000000 +0100 +++ new/readline-6.3-patches/readline62-002 1970-01-01 01:00:00.000000000 +0100 @@ -1,57 +0,0 @@ - READLINE PATCH REPORT - ===================== - -Readline-Release: 6.2 -Patch-ID: readline62-002 - -Bug-Reported-by: Vincent Sheffer <vince.shef...@apisphere.com> -Bug-Reference-ID: <f13c1c4f-c44c-4071-bfed-4bb6d13cf...@apisphere.com> -Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2011-08/msg00000.html - -Bug-Description: - -The readline shared library helper script needs to be updated for Mac OS X -10.7 (Lion, darwin11). - -Patch (apply with `patch -p0'): - -*** ../readline-6.2-patched/support/shobj-conf 2009-10-28 09:20:21.000000000 -0400 ---- support/shobj-conf 2011-08-27 13:25:23.000000000 -0400 -*************** -*** 158,162 **** - - # Darwin/MacOS X -! darwin[89]*|darwin10*) - SHOBJ_STATUS=supported - SHLIB_STATUS=supported ---- 172,176 ---- - - # Darwin/MacOS X -! darwin[89]*|darwin1[012]*) - SHOBJ_STATUS=supported - SHLIB_STATUS=supported -*************** -*** 187,191 **** - - case "${host_os}" in -! darwin[789]*|darwin10*) SHOBJ_LDFLAGS='' - SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' - ;; ---- 201,205 ---- - - case "${host_os}" in -! darwin[789]*|darwin1[012]*) SHOBJ_LDFLAGS='' - SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' - ;; - -*** ../readline-6.2-patched/patchlevel 2010-01-14 10:15:52.000000000 -0500 ---- patchlevel 2011-11-17 11:09:35.000000000 -0500 -*************** -*** 1,3 **** - # Do not edit -- exists only for use by patch - -! 1 ---- 1,3 ---- - # Do not edit -- exists only for use by patch - -! 2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/readline-6.2-patches/readline62-003 new/readline-6.3-patches/readline62-003 --- old/readline-6.2-patches/readline62-003 2012-07-09 04:28:32.000000000 +0200 +++ new/readline-6.3-patches/readline62-003 1970-01-01 01:00:00.000000000 +0100 @@ -1,76 +0,0 @@ - READLINE PATCH REPORT - ===================== - -Readline-Release: 6.2 -Patch-ID: readline62-003 - -Bug-Reported-by: Max Horn <m...@quendi.de> -Bug-Reference-ID: <20cc5c60-07c3-4e41-9817-741e48d40...@quendi.de> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-readline/2012-06/msg00005.html - -Bug-Description: - -A change between readline-6.1 and readline-6.2 to prevent the readline input -hook from being called too frequently had the side effect of causing delays -when reading pasted input on systems such as Mac OS X. This patch fixes -those delays while retaining the readline-6.2 behavior. - -Patch (apply with `patch -p0'): - -*** ../readline-6.2-patched/input.c 2010-05-30 18:33:01.000000000 -0400 ---- input.c 2012-06-25 21:08:42.000000000 -0400 -*************** -*** 410,414 **** - rl_read_key () - { -! int c; - - rl_key_sequence_length++; ---- 412,416 ---- - rl_read_key () - { -! int c, r; - - rl_key_sequence_length++; -*************** -*** 430,441 **** - while (rl_event_hook) - { -! if (rl_gather_tyi () < 0) /* XXX - EIO */ - { - rl_done = 1; - return ('\n'); - } - RL_CHECK_SIGNALS (); -- if (rl_get_char (&c) != 0) -- break; - if (rl_done) /* XXX - experimental */ - return ('\n'); ---- 432,447 ---- - while (rl_event_hook) - { -! if (rl_get_char (&c) != 0) -! break; -! -! if ((r = rl_gather_tyi ()) < 0) /* XXX - EIO */ - { - rl_done = 1; - return ('\n'); - } -+ else if (r == 1) /* read something */ -+ continue; -+ - RL_CHECK_SIGNALS (); - if (rl_done) /* XXX - experimental */ - return ('\n'); -*** ../readline-6.2-patched/patchlevel 2010-01-14 10:15:52.000000000 -0500 ---- patchlevel 2011-11-17 11:09:35.000000000 -0500 -*************** -*** 1,3 **** - # Do not edit -- exists only for use by patch - -! 2 ---- 1,3 ---- - # Do not edit -- exists only for use by patch - -! 3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/readline-6.2-patches/readline62-004 new/readline-6.3-patches/readline62-004 --- old/readline-6.2-patches/readline62-004 2012-07-16 23:20:55.000000000 +0200 +++ new/readline-6.3-patches/readline62-004 1970-01-01 01:00:00.000000000 +0100 @@ -1,108 +0,0 @@ - READLINE PATCH REPORT - ===================== - -Readline-Release: 6.2 -Patch-ID: readline62-004 - -Bug-Reported-by: Jakub Filak -Bug-Reference-ID: -Bug-Reference-URL: https://bugzilla.redhat.com/show_bug.cgi?id=813289 - -Bug-Description: - -Attempting to redo (using `.') the vi editing mode `cc', `dd', or `yy' -commands leads to an infinite loop. - -Patch (apply with `patch -p0'): - -*** ../readline-6.2-patched/vi_mode.c 2011-02-25 11:17:02.000000000 -0500 ---- vi_mode.c 2012-06-02 12:24:47.000000000 -0400 -*************** -*** 1235,1243 **** - r = rl_domove_motion_callback (_rl_vimvcxt); - } -! else if (vi_redoing) - { - _rl_vimvcxt->motion = _rl_vi_last_motion; - r = rl_domove_motion_callback (_rl_vimvcxt); - } - #if defined (READLINE_CALLBACKS) - else if (RL_ISSTATE (RL_STATE_CALLBACK)) ---- 1297,1313 ---- - r = rl_domove_motion_callback (_rl_vimvcxt); - } -! else if (vi_redoing && _rl_vi_last_motion != 'd') /* `dd' is special */ - { - _rl_vimvcxt->motion = _rl_vi_last_motion; - r = rl_domove_motion_callback (_rl_vimvcxt); - } -+ else if (vi_redoing) /* handle redoing `dd' here */ -+ { -+ _rl_vimvcxt->motion = _rl_vi_last_motion; -+ rl_mark = rl_end; -+ rl_beg_of_line (1, key); -+ RL_UNSETSTATE (RL_STATE_VIMOTION); -+ r = vidomove_dispatch (_rl_vimvcxt); -+ } - #if defined (READLINE_CALLBACKS) - else if (RL_ISSTATE (RL_STATE_CALLBACK)) -*************** -*** 1317,1325 **** - r = rl_domove_motion_callback (_rl_vimvcxt); - } -! else if (vi_redoing) - { - _rl_vimvcxt->motion = _rl_vi_last_motion; - r = rl_domove_motion_callback (_rl_vimvcxt); - } - #if defined (READLINE_CALLBACKS) - else if (RL_ISSTATE (RL_STATE_CALLBACK)) ---- 1387,1403 ---- - r = rl_domove_motion_callback (_rl_vimvcxt); - } -! else if (vi_redoing && _rl_vi_last_motion != 'c') /* `cc' is special */ - { - _rl_vimvcxt->motion = _rl_vi_last_motion; - r = rl_domove_motion_callback (_rl_vimvcxt); - } -+ else if (vi_redoing) /* handle redoing `cc' here */ -+ { -+ _rl_vimvcxt->motion = _rl_vi_last_motion; -+ rl_mark = rl_end; -+ rl_beg_of_line (1, key); -+ RL_UNSETSTATE (RL_STATE_VIMOTION); -+ r = vidomove_dispatch (_rl_vimvcxt); -+ } - #if defined (READLINE_CALLBACKS) - else if (RL_ISSTATE (RL_STATE_CALLBACK)) -*************** -*** 1378,1381 **** ---- 1456,1472 ---- - r = rl_domove_motion_callback (_rl_vimvcxt); - } -+ else if (vi_redoing && _rl_vi_last_motion != 'y') /* `yy' is special */ -+ { -+ _rl_vimvcxt->motion = _rl_vi_last_motion; -+ r = rl_domove_motion_callback (_rl_vimvcxt); -+ } -+ else if (vi_redoing) /* handle redoing `yy' here */ -+ { -+ _rl_vimvcxt->motion = _rl_vi_last_motion; -+ rl_mark = rl_end; -+ rl_beg_of_line (1, key); -+ RL_UNSETSTATE (RL_STATE_VIMOTION); -+ r = vidomove_dispatch (_rl_vimvcxt); -+ } - #if defined (READLINE_CALLBACKS) - else if (RL_ISSTATE (RL_STATE_CALLBACK)) -*** ../readline-6.2-patched/patchlevel 2010-01-14 10:15:52.000000000 -0500 ---- patchlevel 2011-11-17 11:09:35.000000000 -0500 -*************** -*** 1,3 **** - # Do not edit -- exists only for use by patch - -! 3 ---- 1,3 ---- - # Do not edit -- exists only for use by patch - -! 4 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/readline-6.2-patches/readline62-005 new/readline-6.3-patches/readline62-005 --- old/readline-6.2-patches/readline62-005 2013-11-19 15:38:18.000000000 +0100 +++ new/readline-6.3-patches/readline62-005 1970-01-01 01:00:00.000000000 +0100 @@ -1,72 +0,0 @@ - READLINE PATCH REPORT - ===================== - -Readline-Release: 6.2 -Patch-ID: readline62-005 - -Bug-Reported-by: ludwig.schwa...@gmail.com -Bug-Reference-ID: <caj3rg108nlnrwxj81vb4bcqbvohguwovkthekwprbwe9xye...@mail.gmail.com> -Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2013-11/msg00000.html - -Bug-Description: - -The readline shared library helper script needs to be updated for Mac OS X -10.9 (Mavericks, darwin13). - -Patch (apply with `patch -p0'): - -*** ../readline-6.2-patched/support/shobj-conf 2011-11-23 19:26:47.000000000 -0500 ---- support/shobj-conf 2013-11-15 08:09:51.000000000 -0500 -*************** -*** 158,162 **** - - # Darwin/MacOS X -! darwin[89]*|darwin1[012]*) - SHOBJ_STATUS=supported - SHLIB_STATUS=supported ---- 172,176 ---- - - # Darwin/MacOS X -! darwin[89]*|darwin1[0123]*) - SHOBJ_STATUS=supported - SHLIB_STATUS=supported -*************** -*** 164,168 **** - SHOBJ_CFLAGS='-fno-common' - -! SHOBJ_LD='MACOSX_DEPLOYMENT_TARGET=10.3 ${CC}' - - SHLIB_LIBVERSION='$(SHLIB_MAJOR)$(SHLIB_MINOR).$(SHLIB_LIBSUFF)' ---- 178,184 ---- - SHOBJ_CFLAGS='-fno-common' - -! # SHOBJ_LD='MACOSX_DEPLOYMENT_TARGET=10.3 ${CC}' -! # we can finally kill Mac OS X 10.3 -! SHOBJ_LD='${CC}' - - SHLIB_LIBVERSION='$(SHLIB_MAJOR)$(SHLIB_MINOR).$(SHLIB_LIBSUFF)' -*************** -*** 187,191 **** - - case "${host_os}" in -! darwin[789]*|darwin1[012]*) SHOBJ_LDFLAGS='' - SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' - ;; ---- 203,207 ---- - - case "${host_os}" in -! darwin[789]*|darwin1[0123]*) SHOBJ_LDFLAGS='' - SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' - ;; - -*** ../readline-6.2-patched/patchlevel 2010-01-14 10:15:52.000000000 -0500 ---- patchlevel 2011-11-17 11:09:35.000000000 -0500 -*************** -*** 1,3 **** - # Do not edit -- exists only for use by patch - -! 4 ---- 1,3 ---- - # Do not edit -- exists only for use by patch - -! 5 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/readline-6.2-patches/readline63-001 new/readline-6.3-patches/readline63-001 --- old/readline-6.2-patches/readline63-001 1970-01-01 01:00:00.000000000 +0100 +++ new/readline-6.3-patches/readline63-001 2014-12-03 14:37:19.000000000 +0100 @@ -0,0 +1,43 @@ + READLINE PATCH REPORT + ===================== + +Readline-Release: 6.3 +Patch-ID: readline63-001 + +Bug-Reported-by: Daan van Rossum <d...@flash.uchicago.edu> +Bug-Reference-ID: <20140307072523.ga14...@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.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); +*** 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 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/readline-6.2-patches/readline63-002 new/readline-6.3-patches/readline63-002 --- old/readline-6.2-patches/readline63-002 1970-01-01 01:00:00.000000000 +0100 +++ new/readline-6.3-patches/readline63-002 2014-12-03 14:37:26.000000000 +0100 @@ -0,0 +1,44 @@ + READLINE PATCH REPORT + ===================== + +Readline-Release: 6.3 +Patch-ID: readline63-002 + +Bug-Reported-by: Anatol Pomozov <anatol.pomo...@gmail.com> +Bug-Reference-ID: <caomfomxy3mt2so5gq5f-smcvarquaebwz2qkzgctmexjode...@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.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 (); +*** 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 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/readline-6.2-patches/readline63-003 new/readline-6.3-patches/readline63-003 --- old/readline-6.2-patches/readline63-003 1970-01-01 01:00:00.000000000 +0100 +++ new/readline-6.3-patches/readline63-003 2014-12-03 14:37:31.000000000 +0100 @@ -0,0 +1,47 @@ + 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'): + +*** 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 */ + + +*** 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 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/readline-6.2-patches/readline63-004 new/readline-6.3-patches/readline63-004 --- old/readline-6.2-patches/readline63-004 1970-01-01 01:00:00.000000000 +0100 +++ new/readline-6.3-patches/readline63-004 2014-12-03 14:37:37.000000000 +0100 @@ -0,0 +1,45 @@ + READLINE PATCH REPORT + ===================== + +Readline-Release: 6.3 +Patch-ID: readline63-004 + +Bug-Reported-by: Egmont Koblinger <egm...@gmail.com> +Bug-Reference-ID: <cagwczk+bu5jo1m+tutgvl-250ube9dxjpejvofyjsfcqfev...@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'): + +*** 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); +*** 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 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/readline-6.2-patches/readline63-005 new/readline-6.3-patches/readline63-005 --- old/readline-6.2-patches/readline63-005 1970-01-01 01:00:00.000000000 +0100 +++ new/readline-6.3-patches/readline63-005 2014-12-03 14:37:44.000000000 +0100 @@ -0,0 +1,58 @@ + READLINE PATCH REPORT + ===================== + +Readline-Release: 6.3 +Patch-ID: readline63-005 + +Bug-Reported-by: Juergen Daubert <j...@jue.li> +Bug-Reference-ID: <20140303180430.ga7...@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'): + +*** 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. */ + +*** 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 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/readline-6.2-patches/readline63-006 new/readline-6.3-patches/readline63-006 --- old/readline-6.2-patches/readline63-006 1970-01-01 01:00:00.000000000 +0100 +++ new/readline-6.3-patches/readline63-006 2014-12-03 14:37:51.000000000 +0100 @@ -0,0 +1,63 @@ + READLINE PATCH REPORT + ===================== + +Readline-Release: 6.3 +Patch-ID: readline63-006 + +Bug-Reported-by: <trond.endres...@ximalas.info> +Bug-Reference-ID: <alpine.bsf.2.03.1404192114310.1...@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'): + +*** 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; +! } + } + } +*** 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 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/readline-6.2-patches/readline63-007 new/readline-6.3-patches/readline63-007 --- old/readline-6.2-patches/readline63-007 1970-01-01 01:00:00.000000000 +0100 +++ new/readline-6.3-patches/readline63-007 2014-08-11 16:32:49.000000000 +0200 @@ -0,0 +1,47 @@ + 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 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/readline-6.2-patches/readline63-008 new/readline-6.3-patches/readline63-008 --- old/readline-6.2-patches/readline63-008 1970-01-01 01:00:00.000000000 +0100 +++ new/readline-6.3-patches/readline63-008 2014-08-11 16:33:01.000000000 +0200 @@ -0,0 +1,47 @@ + READLINE PATCH REPORT + ===================== + +Readline-Release: 6.3 +Patch-ID: readline63-008 + +Bug-Reported-by: Jared Yanovich <slovic...@gmail.com> +Bug-Reference-ID: <20140625225019.gj17...@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 ++++++ readline-6.2-rltrace.patch -> readline-6.3-rltrace.patch ++++++ --- /work/SRC/openSUSE:Factory/bash/readline-6.2-rltrace.patch 2014-03-19 13:57:41.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.bash.new/readline-6.3-rltrace.patch 2015-03-05 18:17:49.000000000 +0100 @@ -2,12 +2,12 @@ temporary files from public location without O_EXCL (bcn#868822). --- - util.c | 10 ++++++---- + lib/readline/util.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) --- lib/readline/util.c -+++ lib/readline/util.c 2014-03-18 11:18:25.774735305 +0000 -@@ -493,10 +493,12 @@ _rl_trace (va_alist) ++++ lib/readline/util.c 2014-04-17 10:29:43.157274616 +0000 +@@ -501,10 +501,12 @@ _rl_trace (va_alist) if (_rl_tracefp == 0) _rl_tropen (); @@ -21,16 +21,16 @@ va_end (args); } -@@ -509,7 +511,7 @@ _rl_tropen () +@@ -517,7 +519,7 @@ _rl_tropen () fclose (_rl_tracefp); - sprintf (fnbuf, "/var/tmp/rltrace.%ld", getpid()); + sprintf (fnbuf, "/var/tmp/rltrace.%ld", (long)getpid()); unlink(fnbuf); - _rl_tracefp = fopen (fnbuf, "w+"); + _rl_tracefp = fopen (fnbuf, "w+xe"); return _rl_tracefp != 0; } -@@ -517,8 +519,8 @@ int +@@ -525,8 +527,8 @@ int _rl_trclose () { int r; ++++++ readline-4.3-input.dif -> readline-6.3.dif ++++++ --- /work/SRC/openSUSE:Factory/bash/readline-4.3-input.dif 2011-09-23 01:52:23.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.bash.new/readline-6.3.dif 2015-03-05 18:17:49.000000000 +0100 @@ -1,46 +1,150 @@ ---- lib/readline/input.c -+++ lib/readline/input.c 2003-03-17 19:03:51.000000000 +0000 -@@ -459,6 +459,8 @@ rl_read_key () - return (c); - } - -+extern int _rl_read_zero_char_from_tty; -+ - int - rl_getc (stream) - FILE *stream; -@@ -482,7 +484,10 @@ rl_getc (stream) - /* If zero characters are returned, then the file that we are - reading from is empty! Return EOF in that case. */ - if (result == 0) -- return (EOF); -+ { -+ _rl_read_zero_char_from_tty = 1; -+ return (EOF); -+ } - - #if defined (__BEOS__) - if (errno == EINTR) ---- lib/readline/readline.c -+++ lib/readline/readline.c 2003-03-17 19:02:52.000000000 +0000 -@@ -469,6 +469,9 @@ _rl_internal_char_cleanup () - _rl_erase_entire_line (); - } - -+/* Catch EOF from tty, do not return command line */ -+int _rl_read_zero_char_from_tty = 0; -+ - STATIC_CALLBACK int - #if defined (READLINE_CALLBACKS) - readline_internal_char () -@@ -513,6 +516,10 @@ readline_internal_charloop () - c = rl_read_key (); - RL_UNSETSTATE(RL_STATE_READCMD); - -+ /* Return here if terminal is closed */ -+ if (c == EOF && _rl_read_zero_char_from_tty) -+ return (rl_done = 1); -+ - /* look at input.c:rl_getc() for the circumstances under which this will - be returned; punt immediately on read error without converting it to - a newline. */ +--- Makefile.in ++++ Makefile.in 2014-04-17 10:57:38.386235678 +0000 +@@ -235,10 +235,8 @@ uninstall-headers: + maybe-uninstall-headers: uninstall-headers + + install-static: installdirs $(STATIC_LIBS) install-headers install-doc install-examples +- -$(MV) $(DESTDIR)$(libdir)/libreadline.a $(DESTDIR)$(libdir)/libreadline.old + $(INSTALL_DATA) libreadline.a $(DESTDIR)$(libdir)/libreadline.a + -test -n "$(RANLIB)" && $(RANLIB) $(DESTDIR)$(libdir)/libreadline.a +- -$(MV) $(DESTDIR)$(libdir)/libhistory.a $(DESTDIR)$(libdir)/libhistory.old + $(INSTALL_DATA) libhistory.a $(DESTDIR)$(libdir)/libhistory.a + -test -n "$(RANLIB)" && $(RANLIB) $(DESTDIR)$(libdir)/libhistory.a + +@@ -268,7 +266,7 @@ install-doc: installdirs + $(INSTALL_DATA) $(OTHER_DOCS) $(DESTDIR)$(docdir) + -( if test -d doc ; then \ + cd doc && \ +- ${MAKE} ${MFLAGS} infodir=$(infodir) DESTDIR=${DESTDIR} install; \ ++ ${MAKE} infodir=$(infodir) DESTDIR=${DESTDIR} install; \ + fi ) + + uninstall-doc: +--- complete.c ++++ complete.c 2014-04-17 10:58:11.042235308 +0000 +@@ -1082,7 +1082,7 @@ _rl_find_completion_word (fp, dp) + /* We didn't find an unclosed quoted substring upon which to do + completion, so use the word break characters to find the + substring on which to complete. */ +- while (rl_point = MB_PREVCHAR (rl_line_buffer, rl_point, MB_FIND_ANY)) ++ while ((rl_point = MB_PREVCHAR (rl_line_buffer, rl_point, MB_FIND_ANY))) + { + scan = rl_line_buffer[rl_point]; + +@@ -2116,7 +2116,7 @@ rl_completion_matches (text, entry_funct + match_list = (char **)xmalloc ((match_list_size + 1) * sizeof (char *)); + match_list[1] = (char *)NULL; + +- while (string = (*entry_function) (text, matches)) ++ while ((string = (*entry_function) (text, matches))) + { + if (RL_SIG_RECEIVED ()) + { +@@ -2190,7 +2190,7 @@ rl_username_completion_function (text, s + } + + #if defined (HAVE_GETPWENT) +- while (entry = getpwent ()) ++ while ((entry = getpwent ())) + { + /* Null usernames should result in all users as possible completions. */ + if (namelen == 0 || (STREQN (username, entry->pw_name, namelen))) +--- doc/Makefile.in ++++ doc/Makefile.in 2009-02-27 16:27:31.000000000 +0000 +@@ -101,7 +101,7 @@ DIST_DOCS = $(DVIOBJ) $(PSOBJ) $(HTMLOBJ + $(RM) $@ + -${DVIPDF} $< + +-all: info dvi html ps text pdf ++all: info html + nodvi: info html text + + xdist: $(DIST_DOCS) +--- doc/readline.3 ++++ doc/readline.3 2006-11-13 16:33:27.000000000 +0000 +@@ -118,6 +118,14 @@ environment variable. If that variable + .IR ~/.inputrc . + If that file does not exist or cannot be read, the ultimate default is + .IR /etc/inputrc . ++If both files ++.I ~/.inputrc ++and ++.I /etc/inputrc ++exist readline will read first ++.I /etc/inputrc ++and then ++.IR ~/.inputrc . + When a program which uses the readline library starts up, the + init file is read, and the key bindings and variables are set. + There are only a few basic constructs allowed in the +@@ -1402,6 +1410,9 @@ VI Command Mode functions + .TP + .FN ~/.inputrc + Individual \fBreadline\fP initialization file ++.TP ++.FN /etc/inputrc ++System \fBreadline\fP initialization file + .PD + .SH AUTHORS + Brian Fox, Free Software Foundation +--- history.h ++++ history.h 2012-07-18 08:06:56.000000000 +0000 +@@ -32,6 +32,7 @@ extern "C" { + # include "rlstdc.h" + # include "rltypedefs.h" + #else ++# include <stdio.h> + # include <readline/rlstdc.h> + # include <readline/rltypedefs.h> + #endif +--- readline.c ++++ readline.c 2014-04-17 10:59:21.258235067 +0000 +@@ -824,8 +824,11 @@ _rl_dispatch_subseq (key, map, got_subse + { + /* Special case rl_do_lowercase_version (). */ + if (func == rl_do_lowercase_version) +- /* Should we do anything special if key == ANYOTHERKEY? */ +- return (_rl_dispatch (_rl_to_lower (key), map)); ++ { ++ if (key == ANYOTHERKEY) ++ return -1; ++ return (_rl_dispatch (_rl_to_lower (key), map)); ++ } + + rl_executing_keymap = map; + rl_executing_key = key; +--- readline.h ++++ readline.h 2012-07-18 08:07:12.000000000 +0000 +@@ -32,6 +32,7 @@ extern "C" { + # include "keymaps.h" + # include "tilde.h" + #else ++# include <stdio.h> + # include <readline/rlstdc.h> + # include <readline/rltypedefs.h> + # include <readline/keymaps.h> +@@ -459,7 +460,7 @@ extern char *rl_filename_completion_func + + extern int rl_completion_mode PARAMS((rl_command_func_t *)); + +-#if 0 ++#ifdef OLD_READLINE + /* Backwards compatibility (compat.c). These will go away sometime. */ + extern void free_undo_list PARAMS((void)); + extern int maybe_save_line PARAMS((void)); +--- support/shobj-conf ++++ support/shobj-conf 2006-09-22 14:17:48.000000000 +0000 +@@ -126,10 +126,11 @@ sunos5*|solaris2*) + linux*-*|gnu*-*|k*bsd*-gnu-*|freebsd*-gentoo) + SHOBJ_CFLAGS=-fPIC + SHOBJ_LD='${CC}' +- SHOBJ_LDFLAGS='-shared -Wl,-soname,$@' ++ SHOBJ_LDFLAGS='-shared' + +- SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir) -Wl,-soname,`basename $@ $(SHLIB_MINOR)`' ++ SHLIB_XLDFLAGS='-Wl,-rpath-link,$(libdir) -Wl,-soname,`basename $@ $(SHLIB_MINOR)`' + SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)' ++ echo 'int main () { return 0; }' | gcc -ltinfo -o /dev/null -xc - > /dev/null 2>&1 && SHLIB_LIBS=-ltinfo || SHLIB_LIBS=-lncurses + ;; + + freebsd2*) ++++++ readline-6.2.tar.gz -> readline-6.3.tar.gz ++++++ ++++ 79004 lines of diff (skipped) -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org