This commit is contained in:
parent
04cea56a5c
commit
ec17651333
40
bash-3.2-longjmp.dif
Normal file
40
bash-3.2-longjmp.dif
Normal file
@ -0,0 +1,40 @@
|
||||
--- execute_cmd.c
|
||||
+++ execute_cmd.c 2008-04-25 12:49:28.000000000 +0000
|
||||
@@ -24,6 +24,7 @@
|
||||
#endif /* _AIX && RISC6000 && !__GNUC__ */
|
||||
|
||||
#include <stdio.h>
|
||||
+#include <paths.h>
|
||||
#include "chartypes.h"
|
||||
#include "bashtypes.h"
|
||||
#if !defined (_MINIX) && defined (HAVE_SYS_FILE_H)
|
||||
@@ -4014,6 +4014,20 @@ shell_execve (command, args, env)
|
||||
/* We have committed to attempting to execute the contents of this file
|
||||
as shell commands. */
|
||||
|
||||
+#if 1
|
||||
+ larray = strvec_len(args) + 1;
|
||||
+ args = strvec_resize(args, larray + 1);
|
||||
+
|
||||
+ args[0] = savestring(_PATH_BSHELL);
|
||||
+ args[1] = command;
|
||||
+ args[larray] = (char *)0;
|
||||
+
|
||||
+ SETOSTYPE (0); /* Some systems use for USG/POSIX semantics */
|
||||
+ execve ("/bin/sh", args, env);
|
||||
+ SETOSTYPE (1);
|
||||
+
|
||||
+ internal_error (_("%s: cannot execute: %s"), command, strerror (errno));
|
||||
+#else
|
||||
initialize_subshell ();
|
||||
|
||||
set_sigint_handler ();
|
||||
@@ -4070,6 +4070,8 @@ shell_execve (command, args, env)
|
||||
|
||||
longjmp (subshell_top_level, 1);
|
||||
/*NOTREACHED*/
|
||||
+#endif
|
||||
+ return (EX_NOEXEC);
|
||||
}
|
||||
|
||||
static int
|
@ -1,3 +1,8 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 24 15:59:20 CEST 2008 - werner@suse.de
|
||||
|
||||
- Add workaround for bnc#382214
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 10 12:54:45 CEST 2008 - ro@suse.de
|
||||
|
||||
|
56
bash.spec
56
bash.spec
@ -20,7 +20,7 @@ Group: System/Shells
|
||||
Recommends: bash-doc = %bash_vers
|
||||
AutoReqProv: on
|
||||
Version: 3.2
|
||||
Release: 98
|
||||
Release: 101
|
||||
Summary: The GNU Bourne-Again Shell
|
||||
Url: http://www.gnu.org/software/bash/bash.html
|
||||
Source0: bash-%{bash_vers}.tar.bz2
|
||||
@ -46,6 +46,7 @@ Patch11: bash-3.1-loadables.dif
|
||||
Patch12: bash-3.2-valgrind.patch
|
||||
Patch13: bash-3.2-memleak.patch
|
||||
Patch14: bash-3.2-sigrestart.patch
|
||||
Patch15: bash-3.2-longjmp.dif
|
||||
Patch20: readline-%{rl_vers}.dif
|
||||
Patch21: readline-4.3-input.dif
|
||||
Patch22: readline-5.2-wrap.patch
|
||||
@ -76,7 +77,7 @@ Group: Documentation/Man
|
||||
Provides: bash:%{_infodir}/bash.info.gz
|
||||
PreReq: %install_info_prereq
|
||||
Version: 3.2
|
||||
Release: 57
|
||||
Release: 60
|
||||
AutoReqProv: on
|
||||
|
||||
%description -n bash-doc
|
||||
@ -96,7 +97,7 @@ Summary: The Readline Library
|
||||
Group: System/Libraries
|
||||
Provides: bash:/%{_lib}/libreadline.so.5
|
||||
Version: 5.2
|
||||
Release: 57
|
||||
Release: 60
|
||||
Recommends: readline-doc = %{version}
|
||||
Provides: readline = 5.2
|
||||
Obsoletes: readline <= 5.2
|
||||
@ -120,7 +121,7 @@ Summary: Include Files and Libraries mandatory for Development
|
||||
Group: Development/Libraries/C and C++
|
||||
Provides: bash:%{_libdir}/libreadline.a
|
||||
Version: 5.2
|
||||
Release: 98
|
||||
Release: 101
|
||||
Requires: libreadline5 = %{version}
|
||||
Requires: ncurses-devel
|
||||
Recommends: readline-doc = %{version}
|
||||
@ -139,12 +140,12 @@ Authors:
|
||||
|
||||
%package -n readline-doc
|
||||
License: GPL v2 or later
|
||||
Summary: Documentation how to Use and Programm with the Readline Library
|
||||
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: 5.2
|
||||
Release: 57
|
||||
Release: 60
|
||||
AutoReqProv: on
|
||||
|
||||
%description -n readline-doc
|
||||
@ -180,6 +181,7 @@ unset p
|
||||
%patch12 -p0 -b .valgrind
|
||||
%patch13 -p0 -b .memleak
|
||||
%patch14 -p0 -b .sigrestart
|
||||
%patch15 -p0 -b .longjmp
|
||||
%patch21 -p0 -b .zerotty
|
||||
%patch22 -p0 -b .wrap
|
||||
%patch23 -p0 -b .conf
|
||||
@ -206,12 +208,31 @@ done
|
||||
export LANG LC_ALL HOSTTYPE MACHTYPE
|
||||
cd ../readline-%{rl_vers}
|
||||
%{?suse_update_config:%{suse_update_config -f support}}
|
||||
CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -DRECYCLES_PIDS -Wall -pipe -g"
|
||||
CFLAGS_FOR_BUILD="$CFLAGS"
|
||||
CC=gcc
|
||||
export CFLAGS CFLAGS_FOR_BUILD CC
|
||||
autoconf
|
||||
./configure --build=%{_target_cpu}-suse-linux \
|
||||
cflags ()
|
||||
{
|
||||
local flag=$1; shift
|
||||
case "${RPM_OPT_FLAGS}" in
|
||||
*${flag}*) return
|
||||
esac
|
||||
if test -n "$1" && gcc -Werror $flag -S -o /dev/null -xc /dev/null > /dev/null 2>&1 ; then
|
||||
local var=$1; shift
|
||||
eval $var=\${$var:+\$$var\ }$flag
|
||||
fi
|
||||
}
|
||||
CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -DRECYCLES_PIDS -Wall -g"
|
||||
cflags -std=gnu89 CFLAGS
|
||||
cflags -Wuninitialized CFLAGS
|
||||
cflags -Wextra CFLAGS
|
||||
cflags -Wno-unprototyped-calls CFLAGS
|
||||
cflags -Wno-switch-enum CFLAGS
|
||||
cflags -pipe CFLAGS
|
||||
LDFLAGS=""
|
||||
CC=gcc
|
||||
CC_FOR_BUILD="$CC"
|
||||
CFLAGS_FOR_BUILD="$CFLAGS"
|
||||
export CC_FOR_BUILD CFLAGS_FOR_BUILD CFLAGS LDFLAGS CC
|
||||
./configure --build=%{_target_cpu}-suse-linux \
|
||||
--prefix=%{_prefix} \
|
||||
--with-curses \
|
||||
--mandir=%{_mandir} \
|
||||
@ -227,13 +248,15 @@ cd ../bash-%{bash_vers}
|
||||
# /proc is required for correct configuration
|
||||
test -d /dev/fd || { echo "/proc is not mounted!" >&2; exit 1; }
|
||||
ln -sf ../readline-%{rl_vers} readline
|
||||
CC="gcc -I$PWD -L$PWD/../readline-%{rl_vers}"
|
||||
export LD_LIBRARY_PATH=$PWD/../readline-%{rl_vers}
|
||||
CFLAGS="$CFLAGS -fPIE"
|
||||
CC="gcc -I$PWD -L$PWD/../readline-%{rl_vers}"
|
||||
cflags -fPIE CFLAGS
|
||||
cflags -pie LDFLAGS
|
||||
CC_FOR_BUILD="$CC"
|
||||
CFLAGS_FOR_BUILD="$CFLAGS"
|
||||
LDFLAGS="$LDFLAGS -pie"
|
||||
export CFLAGS CFLAGS_FOR_BUILD LDFLAGS
|
||||
export CC_FOR_BUILD CFLAGS_FOR_BUILD CFLAGS LDFLAGS CC
|
||||
%{?suse_update_config:%{suse_update_config -f support}}
|
||||
autoconf
|
||||
#
|
||||
# We have a malloc with our glibc
|
||||
#
|
||||
@ -248,7 +271,6 @@ cd ../bash-%{bash_vers}
|
||||
--with-installed-readline
|
||||
"
|
||||
bash support/mkconffiles -v
|
||||
autoconf
|
||||
./configure --build=%{_target_cpu}-suse-linux \
|
||||
--prefix=%{_prefix} \
|
||||
--mandir=%{_mandir} \
|
||||
@ -401,6 +423,8 @@ EOF
|
||||
%doc %{_defaultdocdir}/readline/
|
||||
|
||||
%changelog
|
||||
* Thu Apr 24 2008 werner@suse.de
|
||||
- Add workaround for bnc#382214
|
||||
* Thu Apr 10 2008 ro@suse.de
|
||||
- added baselibs.conf file to build xxbit packages
|
||||
for multilib support
|
||||
|
Loading…
Reference in New Issue
Block a user