diff --git a/bash-4.1-array.dif b/bash-4.1-array.dif deleted file mode 100644 index 66c3cdda..00000000 --- a/bash-4.1-array.dif +++ /dev/null @@ -1,24 +0,0 @@ -Roman Rakus writes: -> Repeated in the bash-4.0.38 and bash-4.1.7 by the script; -> #!/bin/bash -> -> typeset -Ai s -> y='*' -> z='[' -> s[$y]=1 -> s[$z]=2 -> (( s[$z] = s[$z] + ${s[$y]} )) -> (( s[$y] = s[$y] + ${s[$z]} )) -> [[ ${s[$y]} = 4 ]] && echo "ok" - ---- variables.c -+++ variables.c 2010-07-29 15:03:48.671425922 +0000 -@@ -2398,7 +2398,7 @@ bind_int_variable (lhs, rhs) - #endif - v = bind_variable (lhs, rhs, 0); - -- if (isint) -+ if (isint && v) - VSETATTR (v, att_integer); - - return (v); diff --git a/bash-4.1-edit-parser-state.patch b/bash-4.1-edit-parser-state.patch deleted file mode 100644 index ae9f4d75..00000000 --- a/bash-4.1-edit-parser-state.patch +++ /dev/null @@ -1,46 +0,0 @@ -|On 3/30/10 2:36 AM, Clark J. Wang wrote: -|> Good news: -|> -|> I met this problem again a few minutes ago. Then I looked back to find out -|> what I was doing. After some investigation I could stably reproduce this -|> problem by following steps (tested with bash 3.1.17, 3.2.39 and 4.1.0): -|> -|> bash$ alias xx='echo 142857' ### Make sure there isn't an external cmd -|> named `xx' -|> bash$ export EDITOR=vi -|> bash$ set -o vi -|> bash$ ### Press ESC to get out of vi's INSERT mode -|> bash$ ### Press v to invoke vi to input a cmd like `ls', save and exit, -|> the `ls' cmd runs. -|> bash$ xx -|> -bash: xx: command not found -|> bash$ xx -|> 142857 -|> bash$ -| -|Thanks for the report. This was exactly what I needed. The fix will be -|in the next release of bash. I've attached a patch for the curious or -|impatient. -| -|Chet -| -*** bashline.c 2010-03-26 12:15:37.000000000 -0400 ---- bashline.c 2010-03-30 23:25:22.000000000 -0400 -*************** -*** 864,867 **** ---- 864,868 ---- - char *command, *metaval; - int r, cclc, rrs, metaflag; -+ sh_parser_state_t ps; - - rrs = rl_readline_state; -*************** -*** 898,902 **** ---- 899,905 ---- - if (rl_deprep_term_function) - (*rl_deprep_term_function) (); -+ save_parser_state (&ps); - r = parse_and_execute (command, (editing_mode == VI_EDITING_MODE) ? "v" : "C-xC-e", SEVAL_NOHIST); -+ restore_parser_state (&ps); - if (rl_prep_term_function) - (*rl_prep_term_function) (metaflag); diff --git a/bash-4.1-intr.dif b/bash-4.1-intr.dif deleted file mode 100644 index a9345d73..00000000 --- a/bash-4.1-intr.dif +++ /dev/null @@ -1,16 +0,0 @@ ---- parse.y -+++ parse.y 2010-01-20 13:51:39.000000000 +0000 -@@ -1434,10 +1434,11 @@ yy_readline_get () - current_readline_prompt : ""); - - terminate_immediately = 0; -- if (signal_is_ignored (SIGINT) == 0 && old_sigint) -+ if (signal_is_ignored (SIGINT) == 0) - { - interrupt_immediately--; -- set_signal_handler (SIGINT, old_sigint); -+ if (old_sigint) -+ set_signal_handler (SIGINT, old_sigint); - } - - #if 0 diff --git a/bash-4.1-non_void.patch b/bash-4.1-non_void.patch deleted file mode 100644 index 6369a72e..00000000 --- a/bash-4.1-non_void.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- bashline.c 2010/03/01 23:44:28 1.1 -+++ bashline.c 2010/03/01 23:44:47 -@@ -3421,7 +3421,7 @@ - putx(c) - int c; - { -- putc (c, rl_outstream); -+ return putc (c, rl_outstream); - } - - static int diff --git a/bash-4.1-patches.tar.bz2 b/bash-4.1-patches.tar.bz2 deleted file mode 100644 index 0e71c5bf..00000000 --- a/bash-4.1-patches.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ed7949b77cae1c4365e43c88e7d5a37d1ab229454ec0b2a6ae84cdeb1c2c5aec -size 4694 diff --git a/bash-4.1-pipe.dif b/bash-4.1-pipe.dif deleted file mode 100644 index 7f47a045..00000000 --- a/bash-4.1-pipe.dif +++ /dev/null @@ -1,178 +0,0 @@ ---- command.h -+++ command.h 2010-08-13 16:48:35.739125676 +0200 -@@ -168,6 +168,7 @@ typedef struct element { - #define CMD_STDIN_REDIR 0x400 /* async command needs implicit flags |= CMD_IGNORE_RETURN; -+ -+ begin_unwind_frame ("pipe-file-descriptors"); -+ lstdin = -1; -+#if 1 -+ if (!asynchronous && pipe_out == NO_PIPE && prev > 0 -+ && cmd->type != cm_subshell && ((cmd->flags & CMD_WANT_SUBSHELL) == 0)) -+ { -+ lstdin = move_to_high_fd(0, 0, 255); -+ if (lstdin > 0) -+ { -+ dup2(prev, 0); -+ close(prev); -+ prev = NO_PIPE; -+ cmd->flags |= CMD_SYNC_PIPE; -+ add_process((char*)0, getpid()); -+ stop_pipeline (0, cmd); -+ add_unwind_protect (restore_stdin, lstdin); -+ } -+ } -+#endif -+ if (prev >= 0) -+ add_unwind_protect (close, prev); -+ - exec_result = execute_command_internal (cmd, asynchronous, prev, pipe_out, fds_to_close); - -+ if (lstdin > 0) -+ { -+ dup2(lstdin, 0); -+ close(lstdin); -+ } -+ - if (prev >= 0) - close (prev); - -+ discard_unwind_frame ("pipe-file-descriptors"); -+ - #if defined (JOB_CONTROL) - UNBLOCK_CHILD (oset); - #endif - -+ if (cmd->flags & CMD_SYNC_PIPE) -+ { -+ addjstatus(cmd, exec_result); -+ cmd->flags &= ~CMD_SYNC_PIPE; -+ } -+ - QUIT; - return (exec_result); - } ---- jobs.c -+++ jobs.c 2010-08-16 15:48:19.479125702 +0200 -@@ -260,7 +260,6 @@ static int processes_in_job __P((int)); - static void realloc_jobs_list __P((void)); - static int compact_jobs_list __P((int)); - static int discard_pipeline __P((PROCESS *)); --static void add_process __P((char *, pid_t)); - static void print_pipeline __P((PROCESS *, int, int, FILE *)); - static void pretty_print_job __P((int, int, FILE *)); - static void set_current_job __P((int)); -@@ -1065,7 +1064,7 @@ nohup_job (job_index) - if (js.j_jobslots == 0) - return; - -- if (temp = jobs[job_index]) -+ if ((temp = jobs[job_index])) - temp->flags |= J_NOHUP; - } - -@@ -1095,7 +1094,7 @@ discard_pipeline (chain) - /* Add this process to the chain being built in the_pipeline. - NAME is the command string that will be exec'ed later. - PID is the process id of the child. */ --static void -+void - add_process (name, pid) - char *name; - pid_t pid; -@@ -3396,6 +3395,34 @@ setjstatus (j) - #endif - } - -+ -+void -+addjstatus(COMMAND *deferred, int status) -+{ -+#if defined (ARRAY_VARS) -+ int i; -+ JOB *j; -+ for (j = jobs[(i = 0)]; j && j->deferred != deferred; j = jobs[(++i)]) -+ ; -+ if (!j || !j->deferred) -+ return; -+ j->deferred = (COMMAND*)0; -+ if (status) -+ { -+ PROCESS *p, *l; -+ p = j->pipe; -+ do -+ { -+ l = p; -+ p = p->next; -+ } -+ while (p != j->pipe); -+ l->status = status << 8; -+ } -+ setjstatus(i); -+#endif -+} -+ - void - run_sigchld_trap (nchild) - int nchild; ---- jobs.h -+++ jobs.h 2010-08-16 15:47:22.463125472 +0200 -@@ -177,6 +177,8 @@ extern void save_pipeline __P((int)); - extern void restore_pipeline __P((int)); - extern void start_pipeline __P((void)); - extern int stop_pipeline __P((int, COMMAND *)); -+extern void add_process __P((char *, pid_t)); -+extern void addjstatus __P((COMMAND *, int)); - - extern void delete_job __P((int, int)); - extern void nohup_job __P((int)); diff --git a/bash-4.1-po-cs-messages-fix.patch b/bash-4.1-po-cs-messages-fix.patch deleted file mode 100644 index 08556914..00000000 --- a/bash-4.1-po-cs-messages-fix.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- - po/cs.po | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/po/cs.po -+++ b/po/cs.po -@@ -403,7 +403,7 @@ msgstr "toto není login shell: použijt - #: builtins/exit.def:120 - #, c-format - msgid "There are stopped jobs.\n" --msgstr "Jsou zde pozastavení úlohy.\n" -+msgstr "Jsou zde pozastavené úlohy.\n" - - #: builtins/exit.def:122 - #, c-format diff --git a/bash-4.1.tar.bz2 b/bash-4.1.tar.bz2 deleted file mode 100644 index 195f0477..00000000 --- a/bash-4.1.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:eca4613deba32743e2d0edf8666f5537734bbec85d7cb4e5f5e6ce22bb1d8bd3 -size 4875797 diff --git a/bash-3.2-2.4.4.patch b/bash-4.2-2.4.4.patch similarity index 93% rename from bash-3.2-2.4.4.patch rename to bash-4.2-2.4.4.patch index f3e61124..b0ba1b33 100644 --- a/bash-3.2-2.4.4.patch +++ b/bash-4.2-2.4.4.patch @@ -1,6 +1,6 @@ --- array.c +++ array.c 2006-11-14 09:54:22.000000000 +0000 -@@ -877,7 +877,7 @@ char *s, *sep; +@@ -922,7 +922,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 */ @@ -9,6 +9,25 @@ 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 ++#include + #include + + #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) @@ -22,7 +41,7 @@ signal_is_trapped (s) --- jobs.c +++ jobs.c 2001-05-02 16:20:31.000000000 +0000 -@@ -1735,6 +1735,15 @@ make_child (command, async_p) +@@ -1769,6 +1769,15 @@ make_child (command, async_p) pid_t mypid; mypid = getpid (); @@ -58,8 +77,8 @@ When it is safe, put QUIT in the code, and the "interrupt" will take --- sig.c +++ sig.c 2006-11-14 09:53:51.000000000 +0000 -@@ -61,13 +61,13 @@ extern int comsub_ignore_return; - extern int parse_and_execute_level, shell_initialized; +@@ -66,13 +66,13 @@ extern int history_lines_this_session; + extern void initialize_siglist (); /* Non-zero after SIGINT. */ -volatile int interrupt_state = 0; @@ -75,7 +94,7 @@ /* The environment at the top-level R-E loop. We use this in the case of error return. */ -@@ -79,10 +79,10 @@ sigset_t top_level_mask; +@@ -84,10 +84,10 @@ sigset_t top_level_mask; #endif /* JOB_CONTROL */ /* When non-zero, we throw_to_top_level (). */ @@ -109,22 +128,3 @@ /* Functions from sig.c. */ extern sighandler termsig_sighandler __P((int)); ---- examples/loadables/tee.c -+++ examples/loadables/tee.c 2006-11-14 10:31:29.000000000 +0000 -@@ -35,6 +35,7 @@ - #include "bashansi.h" - - #include -+#include - #include - - #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 (); - diff --git a/bash-4.2-history.dif b/bash-4.2-history.dif new file mode 100644 index 00000000..c68d5267 --- /dev/null +++ b/bash-4.2-history.dif @@ -0,0 +1,75 @@ +--- config.h.in ++++ config.h.in 2011-03-08 11:18:00.139925937 +0000 +@@ -530,6 +530,9 @@ + /* Define if you have the asprintf function. */ + #undef HAVE_ASPRINTF + ++/* Define if you have the ATEXIT function. */ ++#undef HAVE_ATEXIT ++ + /* Define if you have the bcopy function. */ + #undef HAVE_BCOPY + +--- configure ++++ configure 2011-03-08 11:20:57.780426177 +0000 +@@ -13497,7 +13497,7 @@ done + + + +-for ac_func in bcopy bzero confstr faccessat fnmatch \ ++for ac_func in atexit bcopy bzero confstr faccessat fnmatch \ + getaddrinfo gethostbyname getservbyname getservent inet_aton \ + memmove pathconf putenv raise regcomp regexec \ + setenv setlinebuf setlocale setvbuf siginterrupt strchr \ +--- configure.in ++++ configure.in 2011-03-08 11:20:46.020641745 +0000 +@@ -727,7 +727,7 @@ AC_CHECK_FUNCS(dup2 eaccess fcntl getdta + AC_REPLACE_FUNCS(rename) + + dnl checks for c library functions +-AC_CHECK_FUNCS(bcopy bzero confstr faccessat fnmatch \ ++AC_CHECK_FUNCS(atexit bcopy bzero confstr faccessat fnmatch \ + getaddrinfo gethostbyname getservbyname getservent inet_aton \ + memmove pathconf putenv raise regcomp regexec \ + setenv setlinebuf setlocale setvbuf siginterrupt strchr \ +--- sig.c ++++ sig.c 2011-03-08 11:32:29.067927069 +0000 +@@ -292,6 +292,11 @@ initialize_terminating_signals () + + #endif /* !HAVE_POSIX_SIGNALS */ + ++#if defined (HISTORY) && defined (HAVE_ATEXIT) ++ if (interactive_shell) ++ atexit(maybe_save_shell_history); ++#endif /* HISTORY && HAVE_ATEXIT */ ++ + termsigs_initialized = 1; + } + +@@ -504,8 +509,11 @@ termsig_sighandler (sig) + if (terminate_immediately) + { + #if defined (HISTORY) +- /* XXX - will inhibit history file being written */ +- history_lines_this_session = 0; ++# if defined (HAVE_ATEXIT) ++ if (sig == SIGABRT) ++# endif ++ /* XXX - will inhibit history file being written */ ++ history_lines_this_session = 0; + #endif + terminate_immediately = 0; + termsig_handler (sig); +@@ -532,10 +540,10 @@ termsig_handler (sig) + if (sig == SIGINT && signal_is_trapped (SIGINT)) + run_interrupt_trap (); + +-#if defined (HISTORY) ++#if defined (HISTORY) && ! defined (HAVE_ATEXIT) + if (interactive_shell && sig != SIGABRT) + maybe_save_shell_history (); +-#endif /* HISTORY */ ++#endif /* HISTORY && ! HAVE_ATEXIT */ + + #if defined (JOB_CONTROL) + if (sig == SIGHUP && (interactive || (subshell_environment & (SUBSHELL_COMSUB|SUBSHELL_PROCSUB)))) diff --git a/bash-4.2-patches.tar.bz2 b/bash-4.2-patches.tar.bz2 new file mode 100644 index 00000000..4340a8c3 --- /dev/null +++ b/bash-4.2-patches.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2fc41cc8e9ba0a9d83f2e1eccf28762adedb7b12584db1fae683c22771f3992 +size 5099 diff --git a/bash-4.1-sigrestart.patch b/bash-4.2-sigrestart.patch similarity index 73% rename from bash-4.1-sigrestart.patch rename to bash-4.2-sigrestart.patch index 2aca6ade..c40cc2fe 100644 --- a/bash-4.1-sigrestart.patch +++ b/bash-4.2-sigrestart.patch @@ -1,6 +1,6 @@ --- jobs.c +++ jobs.c 2008-01-08 18:10:16.000000000 +0000 -@@ -2426,7 +2426,11 @@ wait_for (pid) +@@ -2454,7 +2454,11 @@ wait_for (pid) act.sa_handler = SIG_DFL; sigemptyset (&act.sa_mask); sigemptyset (&oact.sa_mask); @@ -13,12 +13,12 @@ # endif queue_sigchld = 1; --- sig.c -+++ sig.c 2010-10-14 12:28:48.004425767 +0000 -@@ -658,6 +658,16 @@ set_signal_handler (sig, handler) - #else ++++ 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 */ if (sig == SIGCHLD) - act.sa_flags |= SA_RESTART; -+# if !defined(MUST_REINSTALL_SIGHANDLERS) + act.sa_flags |= SA_RESTART; /* XXX */ ++#if !defined(MUST_REINSTALL_SIGHANDLERS) + if (sig != SIGALRM) + act.sa_flags |= SA_RESTART; /* XXX */ + if (handler == (trap_handler)) @@ -27,7 +27,7 @@ + act.sa_flags |= SA_NODEFER; /* XXX */ + if (sig == SIGTSTP || sig == SIGTTOU || sig == SIGTTIN || sig == SIGCONT) + act.sa_flags |= SA_NODEFER; /* XXX */ -+# endif - #endif ++#endif + sigemptyset (&act.sa_mask); sigemptyset (&oact.sa_mask); diff --git a/bash-4.1.dif b/bash-4.2.dif similarity index 88% rename from bash-4.1.dif rename to bash-4.2.dif index c49205ca..6f360d20 100644 --- a/bash-4.1.dif +++ b/bash-4.2.dif @@ -1,20 +1,3 @@ ---- /dev/null -+++ .pkgextract 2006-03-27 12:15:25.000000000 +0000 -@@ -0,0 +1,14 @@ -+tar Oxfj ../bash-4.0-patches.tar.bz2 | patch -p0 -s -+patch -p0 -s --suffix=".manual" < ../bash-2.03-manual.patch -+patch -p0 -s --suffix=".security" < ../bash-4.0-security.patch -+patch -p0 -s --suffix=".2.4.4" < ../bash-3.2-2.4.4.patch -+patch -p0 -s --suffix=".evalexp" < ../bash-3.0-evalexp.patch -+patch -p0 -s --suffix=".warnlc" < ../bash-3.0-warn-locale.patch -+patch -p0 -s --suffix=".nfs_redir"< ../bash-3.0-nfs_redir.patch -+patch -p0 -s --suffix=".decl" < ../bash-3.0-decl.patch -+patch -p0 -s --suffix=".equote" < ../bash-4.0-extended_quote.patch -+patch -p0 -s --suffix=".printf" < ../bash-3.2-printf.patch -+patch -p0 -s --suffix=".plugins" < ../bash-4.0-loadables.dif -+patch -p0 -s --suffix=".zerotty" < ../readline-4.3-input.dif -+patch -p0 -s --suffix=".wrap" < ../readline-6.0-wrap.patch -+patch -p0 -s --suffix=".conf" < ../readline-5.2-conf.patch --- config-top.h +++ config-top.h 2007-12-04 14:44:39.314025629 +0000 @@ -54,14 +54,14 @@ diff --git a/bash-4.2.tar.bz2 b/bash-4.2.tar.bz2 new file mode 100644 index 00000000..525f811c --- /dev/null +++ b/bash-4.2.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:413ab72b6b17b5a0909b5462e94e2e81fc186f7766a99fdcbbef942da6a27148 +size 5126957 diff --git a/bash.changes b/bash.changes index 94a75345..10b511cf 100644 --- a/bash.changes +++ b/bash.changes @@ -1,13 +1,91 @@ ------------------------------------------------------------------- -Fri Feb 25 17:08:09 UTC 2011 - werner@suse.de +Tue Mar 8 12:51:29 CET 2011 - werner@suse.de -- Add patch bash41-010 +- Reintroduce history saving at SIGHUP + +------------------------------------------------------------------- +Tue Mar 7 15:25:33 CET 2011 - werner@suse.de + +- Update bash 4.2 to patch level 7 ------------------------------------------------------------------- Thu Feb 17 10:08:53 UTC 2011 - coolo@novell.com - having a bash man page is recommended (bnc#672528) +------------------------------------------------------------------- +Mon Feb 14 16:50:00 CET 2011 - werner@suse.de + +- Update to bash 4.2 -- changelog see entry for bash 4.2 rc1 + +------------------------------------------------------------------- +Mon Jan 17 16:19:59 CET 2011 - werner@suse.de + +- Update to bash 4.2 rc1 + * `exec -a foo' now sets $0 to `foo' in an executable shell script + without a leading #!. + * Subshells begun to execute command substitutions or run shell functions or + builtins in subshells do not reset trap strings until a new trap is + specified. This allows $(trap) to display the caller's traps and the + trap strings to persist until a new trap is set. + * `trap -p' will now show signals ignored at shell startup, though their + disposition still cannot be modified. + * $'...', echo, and printf understand \uXXXX and \UXXXXXXXX escape sequences. + * declare/typeset has a new `-g' option, which creates variables in the + global scope even when run in a shell function. + * test/[/[[ have a new -v variable unary operator, which returns success if + `variable' has been set. + * Posix parsing changes to allow `! time command' and multiple consecutive + instances of `!' (which toggle) and `time' (which have no cumulative + effect). + * Posix change to allow `time' as a command by itself to print the elapsed + user, system, and real times for the shell and its children. + * $((...)) is always parsed as an arithmetic expansion first, instead of as + a potential nested command substitution, as Posix requires. + * A new FUNCNEST variable to allow the user to control the maximum shell + function nesting (recursive execution) level. + * The mapfile builtin now supplies a third argument to the callback command: + the line about to be assigned to the supplied array index. + * The printf builtin has a new %(fmt)T specifier, which allows time values + to use strftime-like formatting. + * There is a new `compat41' shell option. + * The cd builtin has a new Posix-mandated `-e' option. + * Negative subscripts to indexed arrays, previously errors, now are treated + as offsets from the maximum assigned index + 1. + * Negative length specifications in the ${var:offset:length} expansion, + previously errors, are now treated as offsets from the end of the variable. + * Parsing change to allow `time -p --'. + * Posix-mode parsing change to not recognize `time' as a keyword if the + following token begins with a `-'. This means no more Posix-mode + `time -p'. Posix interpretation 267. + * There is a new `lastpipe' shell option that runs the last command of a + pipeline in the current shell context. The lastpipe option has no + effect if job control is enabled. + * History expansion no longer expands the `$!' variable expansion. + * Posix mode shells no longer exit if a variable assignment error occurs + with an assignment preceding a command that is not a special builtin. + * History expansion no longer expands the `$!' variable expansion. + * Posix mode shells no longer exit if a variable assignment error occurs + with an assignment preceding a command that is not a special builtin. + * Non-interactive mode shells exit if -u is enabled and an attempt is made + to use an unset variable with the % or # expansions, the `//', `^', or + `,' expansions, or the parameter length expansion. + * Posix-mode shells use the argument passed to `.' as-is if a $PATH search + fails, effectively searching the current directory. Posix-2008 change. +- Update to readline 6.2 rc1 + * The history library does not try to write the history filename in the + current directory if $HOME is unset. This closes a potential security + problem if the application does not specify a history filename. + * New bindable variable `completion-display-width' to set the number of + columns used when displaying completions. + * New bindable variable `completion-case-map' to cause case-insensitive + completion to treat `-' and `_' as identical. + * There are new bindable vi-mode command names to avoid readline's case- + insensitive matching not allowing them to be bound separately. + * New bindable variable `menu-complete-display-prefix' causes the menu + completion code to display the common prefix of the possible completions + before cycling through the list, instead of after. + ------------------------------------------------------------------- Mon Oct 18 11:09:31 CEST 2010 - jslaby@suse.de diff --git a/bash.spec b/bash.spec index f2af7947..3f641718 100644 --- a/bash.spec +++ b/bash.spec @@ -24,8 +24,9 @@ BuildRequires: fdupes %endif License: GPLv2+ Group: System/Shells -%define bash_vers 4.1 -%define rl_vers 6.1 +%define bash_vers 4.2 +%define rl_vers 6.2 +%define extend "" %if %suse_version > 1020 Recommends: bash-lang = %bash_vers # The package bash-completion is a source of @@ -35,8 +36,8 @@ Suggests: command-not-found Recommends: bash-doc = %bash_vers %endif AutoReqProv: on -Version: 4.1 -Release: 23 +Version: 4.2 +Release: 1 Summary: The GNU Bourne-Again Shell Url: http://www.gnu.org/software/bash/bash.html Source0: ftp://ftp.gnu.org/gnu/bash/bash-%{bash_vers}.tar.bz2 @@ -51,17 +52,17 @@ Source8: baselibs.conf Patch0: bash-%{bash_vers}.dif Patch1: bash-2.03-manual.patch Patch2: bash-4.0-security.patch -Patch3: bash-3.2-2.4.4.patch +Patch3: bash-4.2-2.4.4.patch Patch4: bash-3.0-evalexp.patch Patch5: bash-3.0-warn-locale.patch -Patch6: bash-4.1-po-cs-messages-fix.patch Patch7: bash-3.0-decl.patch Patch8: bash-4.0-async-bnc523667.dif Patch9: bash-4.0-extended_quote.patch Patch10: bash-3.2-printf.patch Patch11: bash-4.0-loadables.dif Patch12: bash-4.1-completion.dif -Patch14: bash-4.1-sigrestart.patch +Patch13: bash-4.2-history.dif +Patch14: bash-4.2-sigrestart.patch Patch15: bash-3.2-longjmp.dif Patch16: bash-4.0-setlocale.dif Patch17: bash-4.0-headers.dif @@ -69,14 +70,9 @@ Patch20: readline-%{rl_vers}.dif Patch21: readline-4.3-input.dif Patch22: readline-6.1-wrap.patch Patch23: readline-5.2-conf.patch -Patch24: readline-6.0-metamode.patch -Patch30: readline-6.1-destdir.patch +Patch24: readline-6.2-metamode.patch +Patch30: readline-6.2-destdir.patch Patch40: bash-4.1-bash.bashrc.dif -Patch41: bash-4.1-intr.dif -Patch42: bash-4.1-non_void.patch -Patch43: bash-4.1-array.dif -Patch44: bash-4.1-pipe.dif -Patch45: bash-4.1-edit-parser-state.patch Patch46: man2html-no-timestamp.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %global _sysconfdir /etc @@ -105,8 +101,8 @@ Summary: Documentation how to Use the GNU Bourne-Again Shell Group: Documentation/Man Provides: bash:%{_infodir}/bash.info.gz PreReq: %install_info_prereq -Version: 4.1 -Release: 19 +Version: 4.2 +Release: 1 AutoReqProv: on %if %suse_version > 1120 BuildArch: noarch @@ -141,8 +137,8 @@ Provides translations to the package bash License: GPLv2+ Summary: Include Files mandatory for Development of bash loadable builtins Group: Development/Languages/C and C++ -Version: 4.1 -Release: 19 +Version: 4.2 +Release: 1 AutoReqProv: on %description -n bash-devel @@ -161,8 +157,8 @@ Authors: License: GPLv2+ Summary: Loadable bash builtins Group: System/Shells -Version: 4.1 -Release: 19 +Version: 4.2 +Release: 1 AutoReqProv: on %description -n bash-loadables @@ -230,8 +226,8 @@ License: GPLv2+ Summary: The Readline Library Group: System/Libraries Provides: bash:/%{_lib}/libreadline.so.%{rl_major} -Version: 6.1 -Release: 19 +Version: 6.2 +Release: 1 %if %suse_version > 1020 Recommends: readline-doc = %{version} %endif @@ -240,8 +236,8 @@ Recommends: readline-doc = %{version} Obsoletes: readline-64bit %endif # -Provides: readline = 6.1 -Obsoletes: readline <= 6.0 +Provides: readline = 6.2 +Obsoletes: readline <= 6.1 AutoReqProv: on %description -n libreadline6 @@ -261,8 +257,8 @@ License: GPLv2+ Summary: Include Files and Libraries mandatory for Development Group: Development/Libraries/C and C++ Provides: bash:%{_libdir}/libreadline.a -Version: 6.1 -Release: 19 +Version: 6.2 +Release: 1 Requires: libreadline6 = %{version} Requires: ncurses-devel %if %suse_version > 1020 @@ -292,8 +288,8 @@ Summary: Documentation how to Use and Program with the Readline Library Group: System/Libraries Provides: readline:%{_infodir}/readline.info.gz PreReq: %install_info_prereq -Version: 6.1 -Release: 19 +Version: 6.2 +Release: 1 AutoReqProv: on %if %suse_version > 1120 BuildArch: noarch @@ -311,7 +307,7 @@ Authors: Chet Ramey %prep -%setup -q -n bash-%{bash_vers} -b1 -b2 -b3 +%setup -q -n bash-%{bash_vers}%{extend} -b1 -b2 -b3 for p in ../bash-%{bash_vers}-patches/*; do test -e $p || break echo Patch $p @@ -323,13 +319,13 @@ unset p %patch3 -p0 -b .2.4.4 %patch4 -p0 -b .evalexp %patch5 -p0 -b .warnlc -%patch6 -p1 -b .po-cs %patch7 -p0 -b .decl %patch8 -p0 -b .async %patch9 -p0 -b .extended_quote %patch10 -p0 -b .printf %patch11 -p0 -b .plugins %patch12 -p0 -b .completion +%patch13 -p0 -b .history %patch14 -p0 -b .sigrestart %patch15 -p0 -b .longjmp %patch16 -p0 -b .setlocale @@ -339,16 +335,9 @@ unset p %patch23 -p0 -b .conf %patch24 -p0 -b .metamode %patch40 -p0 -b .bashrc -%patch41 -p0 -b .intr -%patch42 -p0 -b .non_void -%patch43 -p0 -b .array -# This currently resets the PIPESTATUS array -# the status of the forground process only -#%patch44 -p0 -b .pipe -%patch45 -p0 -b .parser -%patch46 -p0 -%patch0 -p0 -cd ../readline-%{rl_vers} +%patch46 -p0 -b .notimestamp +%patch0 -p0 -b .0 +pushd ../readline-%{rl_vers}%{extend} for p in ../readline-%{rl_vers}-patches/*; do test -e $p || break echo Patch $p @@ -359,7 +348,7 @@ done %patch23 -p2 -b .conf %patch24 -p2 -b .metamode %patch30 -p0 -b .destdir -%patch20 -p0 +%patch20 -p0 -b .0 %build LANG=POSIX @@ -369,7 +358,7 @@ done HOSTTYPE=${CPU} MACHTYPE=${CPU}-suse-linux export LANG LC_ALL HOSTTYPE MACHTYPE -cd ../readline-%{rl_vers} +pushd ../readline-%{rl_vers}%{extend} %{?suse_update_config:%{suse_update_config -f support}} autoconf cflags () @@ -438,7 +427,7 @@ cd ../readline-%{rl_vers} ln -sf shlib/libreadline.so.%{rl_vers} libreadline.so.%{rl_major} ln -sf shlib/libhistory.so.%{rl_vers} libhistory.so ln -sf shlib/libhistory.so.%{rl_vers} libhistory.so.%{rl_major} -cd ../bash-%{bash_vers} +popd # /proc is required for correct configuration test -d /dev/fd || { echo "/proc is not mounted!" >&2; exit 1; } ln -sf ../readline-%{rl_vers} readline @@ -539,7 +528,7 @@ cd ../bash-%{bash_vers} make documentation %install -cd ../readline-%{rl_vers} +pushd ../readline-%{rl_vers}%{extend} make install htmldir=%{_defaultdocdir}/readline \ installdir=%{_defaultdocdir}/readline/examples DESTDIR=%{buildroot} make install-shared libdir=/%{_lib} linkagedir=%{_libdir} DESTDIR=%{buildroot} @@ -553,7 +542,7 @@ cd ../readline-%{rl_vers} rm -vf %{buildroot}/%{_lib}/libreadline.so ln -sf /%{_lib}/libhistory.so.%{rl_vers} %{buildroot}/%{_libdir}/libhistory.so ln -sf /%{_lib}/libreadline.so.%{rl_vers} %{buildroot}/%{_libdir}/libreadline.so -cd ../bash-%{bash_vers} +popd make install DESTDIR=%{buildroot} make -C examples/loadables/ install-plugins DESTDIR=%{buildroot} libdir=/%{_lib} make -C examples/loadables/ install-headers DESTDIR=%{buildroot} diff --git a/readline-6.1-patches.tar.bz2 b/readline-6.1-patches.tar.bz2 deleted file mode 100644 index 1cbd4b77..00000000 --- a/readline-6.1-patches.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:692dab6b4f9c4ea0acf6160cc52c150086cccfa147f59ca4ce94dbea14cf8c56 -size 1351 diff --git a/readline-6.1.tar.bz2 b/readline-6.1.tar.bz2 deleted file mode 100644 index f7aa43b9..00000000 --- a/readline-6.1.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8388cbde75bdea04bab9017f7fc3ff9fc7bec557743f1f943cd738ace915e0da -size 1889722 diff --git a/readline-6.1-destdir.patch b/readline-6.2-destdir.patch similarity index 96% rename from readline-6.1-destdir.patch rename to readline-6.2-destdir.patch index 32f0c6c3..c6257c0f 100644 --- a/readline-6.1-destdir.patch +++ b/readline-6.2-destdir.patch @@ -1,5 +1,5 @@ --- shlib/Makefile.in -+++ shlib/Makefile.in 2010-02-15 16:02:32.644391084 +0000 ++++ shlib/Makefile.in 2010-02-15 16:02:33.000000000 +0000 @@ -59,6 +59,7 @@ bindir = @bindir@ libdir = @libdir@ datadir = @datadir@ @@ -8,8 +8,8 @@ # Support an alternate destination root directory for package building DESTDIR = -@@ -183,13 +184,13 @@ installdirs: $(topdir)/support/mkdirs - -$(SHELL) $(topdir)/support/mkdirs $(DESTDIR)$(libdir) +@@ -184,13 +185,13 @@ installdirs: $(topdir)/support/mkdirs + -$(SHELL) $(topdir)/support/mkdirs $(DESTDIR)$(bindir) install: 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) @@ -27,7 +27,7 @@ clean mostlyclean: force --- support/shlib-install -+++ support/shlib-install 2010-02-15 15:59:38.005297957 +0000 ++++ support/shlib-install 2010-02-15 15:59:38.000000000 +0000 @@ -3,7 +3,7 @@ # shlib-install - install a shared library and do any necessary host-specific # post-installation configuration (like ldconfig) diff --git a/readline-6.0-metamode.patch b/readline-6.2-metamode.patch similarity index 58% rename from readline-6.0-metamode.patch rename to readline-6.2-metamode.patch index 3badc395..5d46bb72 100644 --- a/readline-6.0-metamode.patch +++ b/readline-6.2-metamode.patch @@ -1,11 +1,11 @@ # See bug bnc#541379 --- lib/readline/bind.c -+++ lib/readline/bind.c 2009-09-30 11:25:38.087930034 +0200 -@@ -1473,6 +1473,7 @@ static const struct { ++++ lib/readline/bind.c 2011-03-04 15:00:17.332426313 +0000 +@@ -1485,6 +1485,7 @@ static const struct { #if defined (VISIBLE_STATS) { "visible-stats", &rl_visible_stats, 0 }, #endif /* VISIBLE_STATS */ + { "meta-mode", &_rl_enable_meta, 0 }, - { (char *)NULL, (int *)NULL } + { (char *)NULL, (int *)NULL, 0 } }; diff --git a/readline-6.2-patches.tar.bz2 b/readline-6.2-patches.tar.bz2 new file mode 100644 index 00000000..192ad3f0 --- /dev/null +++ b/readline-6.2-patches.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42d99fff6ab232dd0f14e69590a80159466d3d3a05ad45f705437896f7a20d84 +size 1011 diff --git a/readline-6.1.dif b/readline-6.2.dif similarity index 91% rename from readline-6.1.dif rename to readline-6.2.dif index 8dc5df0c..b1cf1732 100644 --- a/readline-6.1.dif +++ b/readline-6.2.dif @@ -1,11 +1,3 @@ ---- .pkgextract -+++ .pkgextract 2005-12-09 17:09:26.000000000 +0100 -@@ -0,0 +1,5 @@ -+tar Oxfj ../readline-6.0-patches.tar.bz2 | patch -p0 -s -+patch -p2 -s --suffix=".zerotty" < ../readline-4.3-input.dif -+patch -p2 -s --suffix=".wrap" < ../readline-6.0-wrap.patch -+patch -p2 -s --suffix=".conf" < ../readline-5.2-conf.patch -+patch -p0 -s --suffix=".destdir" < ../readline-6.0-destdir.patch --- Makefile.in +++ Makefile.in 2009-02-27 17:25:01.076001005 +0100 @@ -222,10 +222,8 @@ uninstall-headers: diff --git a/readline-6.2.tar.bz2 b/readline-6.2.tar.bz2 new file mode 100644 index 00000000..b69da543 --- /dev/null +++ b/readline-6.2.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:268b150ec7ed945b56b0b12391c612129effb080bbb1b38be86936630c2a4328 +size 1884298