diff --git a/bash-4.3-sigrestart.patch b/bash-4.3-sigrestart.patch index 7e0a0cd..765de0b 100644 --- a/bash-4.3-sigrestart.patch +++ b/bash-4.3-sigrestart.patch @@ -13,7 +13,7 @@ /* Let's see if we can keep SIGWINCH from interrupting interruptible system calls, like open(2)/read(2)/write(2) */ #if defined (SIGWINCH) -@@ -826,6 +826,10 @@ set_signal_handler (sig, handler) +@@ -824,6 +826,10 @@ set_signal_handler (sig, handler) it to be as close to SIG_IGN as possible. */ if (sig == SIGTERM && handler == sigterm_sighandler) act.sa_flags |= SA_RESTART; /* XXX */ diff --git a/bash-5.2-patches.tar.bz2 b/bash-5.2-patches.tar.bz2 index 3a49a61..13632aa 100644 --- a/bash-5.2-patches.tar.bz2 +++ b/bash-5.2-patches.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ebec9cd079b0e30d78fe673fe0548df12b499411dec9e4e673f7626a1ab13c36 -size 14145 +oid sha256:91f63c75796ddb746934ffc8106289f31b99970287393067ceb2a55d42e23428 +size 30584 diff --git a/bash-5.2.dif b/bash-5.2.dif index 67496b5..d0454b9 100644 --- a/bash-5.2.dif +++ b/bash-5.2.dif @@ -129,7 +129,7 @@ # if defined (HAVE_SYS_TIME_H) --- parse.y +++ parse.y 2022-04-28 11:53:04.334380153 +0000 -@@ -1498,7 +1498,7 @@ input_file_descriptor () +@@ -1513,7 +1513,7 @@ input_file_descriptor () #if defined (READLINE) char *current_readline_prompt = (char *)NULL; diff --git a/bash.changes b/bash.changes index 1788691..c5a5b12 100644 --- a/bash.changes +++ b/bash.changes @@ -1,3 +1,38 @@ +------------------------------------------------------------------- +Tue Nov 14 16:40:23 UTC 2023 - Dr. Werner Fink + +- Add upstream patches + * bash52-021 + There is an off-by-one error that causes command substitutions to fail when + they appear in a word expansion inside a here-document. + * bash52-020 + The parser did not allow `time' to appear as the first reserved word in a + command substitution. + * bash52-019 + There are some cases where the shell reaped a background (asynchronous) job + and would incorrectly try to set the terminal's process group back to the + shell's. In these cases it never set the terminal process group to that + jobs's process group initially, so resetting it is incorrect. + * bash52-018 + There are two problems with returning tokens to yyparse() when the shell + encounters a syntax error or when it reads EOF. + When reading a WORD token, the parser has to return the correct value to + yyparse. Previous versions returned a value < 0, which the bash parser + translated into YYERRCODE for bison, and in newer versions of bison, the + appropriate reset actions didn't happen. We should return YYUNDEF, which + bison uses for `invalid token'. Since we can return a token < 0 for both + invalid tokens and EOF, the bash tokenizer needs to differentiate between + those two cases. + * bash52-017 + In certain cases, using the `.' builtin in a subshell would optimize away + the rest of the commands in the subshell. + * bash52-016 + If an expression in an arithmetic for loop expands to NULL, the shell + would crash. +- Correct offsets of patches + * bash-4.3-sigrestart.patch + * bash-5.2.dif + ------------------------------------------------------------------- Tue Dec 27 10:23:00 UTC 2022 - Ludwig Nussel diff --git a/bash.spec b/bash.spec index bab776b..00cb5d0 100644 --- a/bash.spec +++ b/bash.spec @@ -256,31 +256,31 @@ for patch in ../bash-%{bversion}-patches/*-*[0-9]; do patch -s -p$level < $patch done set -x -%patch1 -b .manual -%patch3 -b .2.4.4 -%patch4 -b .evalexp -%patch5 -b .warnlc -%patch7 -b .decl -%patch9 -b .unistd -%patch10 -b .printf -%patch11 -b .plugins -%patch12 -b .completion -%patch13 -b .nscdunmap -%patch14 -b .sigrestart -%patch16 -b .setlocale -#%patch18 -p0 -b .winch -%patch40 -b .bashrc +%patch -P1 -b .manual +%patch -P3 -b .2.4.4 +%patch -P4 -b .evalexp +%patch -P5 -b .warnlc +%patch -P7 -b .decl +%patch -P9 -b .unistd +%patch -P10 -b .printf +%patch -P11 -b .plugins +%patch -P12 -b .completion +%patch -P13 -b .nscdunmap +%patch -P14 -b .sigrestart +%patch -P16 -b .setlocale +#%patch -P18 -p0 -b .winch +%patch -P40 -b .bashrc %if %{with sjis} -%patch42 -b .sjis +%patch -P42 -b .sjis %endif -%patch46 -b .notimestamp -%patch47 -b .perl522 +%patch -P46 -b .notimestamp +%patch -P47 -b .perl522 %if %{with import_function} -%patch48 -b .eif +%patch -P48 -b .eif %endif -%patch49 -b .pthtmp -%patch50 -b .qd -%patch0 +%patch -P49 -b .pthtmp +%patch -P50 -b .qd +%patch -P0 # This has to be always the same version as included in the bash its self rl1=($(sed -rn '/RL_READLINE_VERSION/p' lib/readline/readline.h)) @@ -482,6 +482,8 @@ echo exit 0 > tests/read7.sub %if 0%{?do_profiling} profilecflags=CFLAGS="$CFLAGS %{cflags_profile_generate}" %endif + ulimit -Hv unlimited + ulimit -v unlimited makeopts="Machine=${HOSTTYPE} OS=${OSTYPE} VENDOR=${VENDOR} MACHTYPE=${MACHTYPE}" %make_build $makeopts "$profilecflags" \ all printenv recho zecho xcase