diff options
author | Lars Wendler <polynomial-c@gentoo.org> | 2014-09-24 17:23:53 +0000 |
---|---|---|
committer | Lars Wendler <polynomial-c@gentoo.org> | 2014-09-24 17:23:53 +0000 |
commit | 972328fb8fa554ad9ba8f0d3d26bf7a6471f0857 (patch) | |
tree | ae4449c47586215aa14bca1d404bc12ad0f906f4 /app-shells | |
parent | Version bump. (diff) | |
download | gentoo-2-972328fb8fa554ad9ba8f0d3d26bf7a6471f0857.tar.gz gentoo-2-972328fb8fa554ad9ba8f0d3d26bf7a6471f0857.tar.bz2 gentoo-2-972328fb8fa554ad9ba8f0d3d26bf7a6471f0857.zip |
Added official upstream fixes. Removed old. Committed straight to stable where the removed ebuilds were stable
(Portage version: 2.2.13/cvs/Linux x86_64, RepoMan options: --force, signed Manifest commit with key 0x981CA6FC)
Diffstat (limited to 'app-shells')
-rw-r--r-- | app-shells/bash/ChangeLog | 18 | ||||
-rw-r--r-- | app-shells/bash/bash-3.1_p18.ebuild (renamed from app-shells/bash/bash-3.1_p17-r1.ebuild) | 3 | ||||
-rw-r--r-- | app-shells/bash/bash-3.2_p52.ebuild (renamed from app-shells/bash/bash-3.2_p51-r1.ebuild) | 3 | ||||
-rw-r--r-- | app-shells/bash/bash-4.0_p39.ebuild (renamed from app-shells/bash/bash-4.0_p38-r1.ebuild) | 3 | ||||
-rw-r--r-- | app-shells/bash/bash-4.1_p12.ebuild (renamed from app-shells/bash/bash-4.1_p11-r1.ebuild) | 3 | ||||
-rw-r--r-- | app-shells/bash/bash-4.2_p47.ebuild | 226 | ||||
-rw-r--r-- | app-shells/bash/bash-4.2_p48.ebuild (renamed from app-shells/bash/bash-4.2_p47-r1.ebuild) | 3 | ||||
-rw-r--r-- | app-shells/bash/bash-4.3_p25.ebuild (renamed from app-shells/bash/bash-4.3_p24-r2.ebuild) | 3 | ||||
-rw-r--r-- | app-shells/bash/files/bash-3.1-funcdef-import.patch | 73 | ||||
-rw-r--r-- | app-shells/bash/files/bash-4.3-funcdef-import.patch | 92 |
10 files changed, 23 insertions, 404 deletions
diff --git a/app-shells/bash/ChangeLog b/app-shells/bash/ChangeLog index 99aba07d068d..21e7b70c9e74 100644 --- a/app-shells/bash/ChangeLog +++ b/app-shells/bash/ChangeLog @@ -1,6 +1,22 @@ # ChangeLog for app-shells/bash # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/ChangeLog,v 1.382 2014/09/24 15:29:03 ago Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/ChangeLog,v 1.383 2014/09/24 17:23:53 polynomial-c Exp $ + +*bash-4.3_p25 (24 Sep 2014) +*bash-4.2_p48 (24 Sep 2014) +*bash-4.1_p12 (24 Sep 2014) +*bash-4.0_p39 (24 Sep 2014) +*bash-3.2_p52 (24 Sep 2014) +*bash-3.1_p18 (24 Sep 2014) + + 24 Sep 2014; Lars Wendler <polynomial-c@gentoo.org> -bash-3.1_p17-r1.ebuild, + +bash-3.1_p18.ebuild, -bash-3.2_p51-r1.ebuild, +bash-3.2_p52.ebuild, + -bash-4.0_p38-r1.ebuild, +bash-4.0_p39.ebuild, -bash-4.1_p11-r1.ebuild, + +bash-4.1_p12.ebuild, -bash-4.2_p47.ebuild, -bash-4.2_p47-r1.ebuild, + +bash-4.2_p48.ebuild, -bash-4.3_p24-r2.ebuild, +bash-4.3_p25.ebuild, + -files/bash-3.1-funcdef-import.patch, -files/bash-4.3-funcdef-import.patch: + Added official upstream fixes. Removed old. Committed straight to stable + where the removed ebuilds were stable. 24 Sep 2014; Agostino Sarubbo <ago@gentoo.org> bash-3.1_p17-r1.ebuild, bash-3.2_p51-r1.ebuild, bash-4.0_p38-r1.ebuild, bash-4.1_p11-r1.ebuild, diff --git a/app-shells/bash/bash-3.1_p17-r1.ebuild b/app-shells/bash/bash-3.1_p18.ebuild index fe6d876efcf3..428ead46a018 100644 --- a/app-shells/bash/bash-3.1_p17-r1.ebuild +++ b/app-shells/bash/bash-3.1_p18.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/bash-3.1_p17-r1.ebuild,v 1.2 2014/09/24 15:29:03 ago Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/bash-3.1_p18.ebuild,v 1.1 2014/09/24 17:23:53 polynomial-c Exp $ EAPI="4" @@ -72,7 +72,6 @@ src_prepare() { epatch "${FILESDIR}"/${PN}-3.0-trap-fg-signals.patch epatch "${FILESDIR}"/bash-3.1-fix-dash-login-shell.patch #118257 epatch "${FILESDIR}"/bash-3.1-dev-fd-test-as-user.patch #131875 - epatch "${FILESDIR}"/${PN}-3.1-funcdef-import.patch epatch_user } diff --git a/app-shells/bash/bash-3.2_p51-r1.ebuild b/app-shells/bash/bash-3.2_p52.ebuild index 88570cb7e272..498f67ea8986 100644 --- a/app-shells/bash/bash-3.2_p51-r1.ebuild +++ b/app-shells/bash/bash-3.2_p52.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/bash-3.2_p51-r1.ebuild,v 1.2 2014/09/24 15:29:03 ago Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/bash-3.2_p52.ebuild,v 1.1 2014/09/24 17:23:53 polynomial-c Exp $ EAPI="4" @@ -76,7 +76,6 @@ src_prepare() { epatch "${FILESDIR}"/${PN}-3.2-ulimit.patch epatch "${FILESDIR}"/${PN}-3.0-trap-fg-signals.patch epatch "${FILESDIR}"/${PN}-3.2-dev-fd-test-as-user.patch #131875 - epatch "${FILESDIR}"/${PN}-3.1-funcdef-import.patch epatch_user } diff --git a/app-shells/bash/bash-4.0_p38-r1.ebuild b/app-shells/bash/bash-4.0_p39.ebuild index 37c67119d033..c074015da84b 100644 --- a/app-shells/bash/bash-4.0_p38-r1.ebuild +++ b/app-shells/bash/bash-4.0_p39.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/bash-4.0_p38-r1.ebuild,v 1.2 2014/09/24 15:29:03 ago Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/bash-4.0_p39.ebuild,v 1.1 2014/09/24 17:23:53 polynomial-c Exp $ EAPI="4" @@ -73,7 +73,6 @@ src_prepare() { epatch "${FILESDIR}"/${PN}-4.0-negative-return.patch epatch "${FILESDIR}"/${PN}-4.0-parallel-build.patch #267613 sed -i '/\.o: .*shell\.h/s:$: pathnames.h:' Makefile.in #267613 - epatch "${FILESDIR}"/${PN}-3.1-funcdef-import.patch epatch_user } diff --git a/app-shells/bash/bash-4.1_p11-r1.ebuild b/app-shells/bash/bash-4.1_p12.ebuild index 99d424064019..c80892de0acc 100644 --- a/app-shells/bash/bash-4.1_p11-r1.ebuild +++ b/app-shells/bash/bash-4.1_p12.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/bash-4.1_p11-r1.ebuild,v 1.2 2014/09/24 15:29:03 ago Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/bash-4.1_p12.ebuild,v 1.1 2014/09/24 17:23:53 polynomial-c Exp $ EAPI="4" @@ -68,7 +68,6 @@ src_prepare() { epatch "${FILESDIR}"/${PN}-4.1-fbsd-eaccess.patch #303411 sed -i '1i#define NEED_FPURGE_DECL' execute_cmd.c # needs fpurge() decl epatch "${FILESDIR}"/${PN}-4.1-parallel-build.patch - epatch "${FILESDIR}"/${PN}-3.1-funcdef-import.patch epatch_user } diff --git a/app-shells/bash/bash-4.2_p47.ebuild b/app-shells/bash/bash-4.2_p47.ebuild deleted file mode 100644 index 0a06fe3f687b..000000000000 --- a/app-shells/bash/bash-4.2_p47.ebuild +++ /dev/null @@ -1,226 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/bash-4.2_p47.ebuild,v 1.1 2014/04/14 16:50:02 polynomial-c Exp $ - -EAPI="4" - -inherit eutils flag-o-matic toolchain-funcs multilib - -# Official patchlevel -# See ftp://ftp.cwru.edu/pub/bash/bash-4.2-patches/ -PLEVEL=${PV##*_p} -MY_PV=${PV/_p*} -MY_PV=${MY_PV/_/-} -MY_P=${PN}-${MY_PV} -[[ ${PV} != *_p* ]] && PLEVEL=0 -patches() { - local opt=$1 plevel=${2:-${PLEVEL}} pn=${3:-${PN}} pv=${4:-${MY_PV}} - [[ ${plevel} -eq 0 ]] && return 1 - eval set -- {1..${plevel}} - set -- $(printf "${pn}${pv/\.}-%03d " "$@") - if [[ ${opt} == -s ]] ; then - echo "${@/#/${DISTDIR}/}" - else - local u - for u in ftp://ftp.cwru.edu/pub/bash mirror://gnu/${pn} ; do - printf "${u}/${pn}-${pv}-patches/%s " "$@" - done - fi -} - -DESCRIPTION="The standard GNU Bourne again shell" -HOMEPAGE="http://tiswww.case.edu/php/chet/bash/bashtop.html" -SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz $(patches)" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd" -IUSE="afs bashlogger examples mem-scramble +net nls plugins +readline vanilla" - -DEPEND=">=sys-libs/ncurses-5.2-r2 - readline? ( >=sys-libs/readline-6.2 ) - nls? ( virtual/libintl )" -RDEPEND="${DEPEND} - !!<sys-apps/portage-2.1.6.7_p1 - !!<sys-apps/paludis-0.26.0_alpha5" -# we only need yacc when the .y files get patched (bash42-005) -DEPEND+=" virtual/yacc" - -S=${WORKDIR}/${MY_P} - -pkg_setup() { - if is-flag -malign-double ; then #7332 - eerror "Detected bad CFLAGS '-malign-double'. Do not use this" - eerror "as it breaks LFS (struct stat64) on x86." - die "remove -malign-double from your CFLAGS mr ricer" - fi - if use bashlogger ; then - ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs." - ewarn "This will log ALL output you enter into the shell, you have been warned." - fi -} - -src_unpack() { - unpack ${MY_P}.tar.gz -} - -src_prepare() { - # Include official patches - [[ ${PLEVEL} -gt 0 ]] && epatch $(patches -s) - - # Clean out local libs so we know we use system ones - rm -rf lib/{readline,termcap}/* - touch lib/{readline,termcap}/Makefile.in # for config.status - sed -ri -e 's:\$[(](RL|HIST)_LIBSRC[)]/[[:alpha:]]*.h::g' Makefile.in || die - - # Avoid regenerating docs after patches #407985 - sed -i -r '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in || die - touch -r . doc/* - - epatch "${FILESDIR}"/${PN}-4.2-execute-job-control.patch #383237 - epatch "${FILESDIR}"/${PN}-4.2-parallel-build.patch - epatch "${FILESDIR}"/${PN}-4.2-no-readline.patch - epatch "${FILESDIR}"/${PN}-4.2-read-retry.patch #447810 - if ! use vanilla ; then - epatch "${FILESDIR}"/${PN}-4.2-speed-up-read-N.patch - fi - - epatch_user -} - -src_configure() { - local myconf=() - - # For descriptions of these, see config-top.h - # bashrc/#26952 bash_logout/#90488 ssh/#24762 - append-cppflags \ - -DDEFAULT_PATH_VALUE=\'\"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\"\' \ - -DSTANDARD_UTILS_PATH=\'\"/bin:/usr/bin:/sbin:/usr/sbin\"\' \ - -DSYS_BASHRC=\'\"/etc/bash/bashrc\"\' \ - -DSYS_BASH_LOGOUT=\'\"/etc/bash/bash_logout\"\' \ - -DNON_INTERACTIVE_LOGIN_SHELLS \ - -DSSH_SOURCE_BASHRC \ - $(use bashlogger && echo -DSYSLOG_HISTORY) - - # Don't even think about building this statically without - # reading Bug 7714 first. If you still build it statically, - # don't come crying to us with bugs ;). - #use static && export LDFLAGS="${LDFLAGS} -static" - use nls || myconf+=( --disable-nls ) - - # Historically, we always used the builtin readline, but since - # our handling of SONAME upgrades has gotten much more stable - # in the PM (and the readline ebuild itself preserves the old - # libs during upgrades), linking against the system copy should - # be safe. - # Exact cached version here doesn't really matter as long as it - # is at least what's in the DEPEND up above. - export ac_cv_rl_version=6.2 - - # Force linking with system curses ... the bundled termcap lib - # sucks bad compared to ncurses. For the most part, ncurses - # is here because readline needs it. But bash itself calls - # ncurses in one or two small places :(. - - use plugins && append-ldflags -Wl,-rpath,/usr/$(get_libdir)/bash - tc-export AR #444070 - econf \ - --with-installed-readline=. \ - --with-curses \ - $(use_with afs) \ - $(use_enable net net-redirections) \ - --disable-profiling \ - $(use_enable mem-scramble) \ - $(use_with mem-scramble bash-malloc) \ - $(use_enable readline) \ - $(use_enable readline history) \ - $(use_enable readline bang-history) \ - "${myconf[@]}" -} - -src_compile() { - emake - - if use plugins ; then - emake -C examples/loadables all others - fi -} - -src_install() { - emake install DESTDIR="${D}" - - dodir /bin - mv "${ED}"/usr/bin/bash "${ED}"/bin/ || die - dosym bash /bin/rbash - - insinto /etc/bash - doins "${FILESDIR}"/{bashrc,bash_logout} - insinto /etc/skel - for f in bash{_logout,_profile,rc} ; do - newins "${FILESDIR}"/dot-${f} .${f} - done - - local sed_args=( - -e "s:#${USERLAND}#@::" - -e '/#@/d' - ) - if ! use readline ; then - sed_args+=( #432338 - -e '/^shopt -s histappend/s:^:#:' - -e 's:use_color=true:use_color=false:' - ) - fi - sed -i \ - "${sed_args[@]}" \ - "${ED}"/etc/skel/.bashrc \ - "${ED}"/etc/bash/bashrc || die - - if use plugins ; then - exeinto /usr/$(get_libdir)/bash - doexe $(echo examples/loadables/*.o | sed 's:\.o::g') - insinto /usr/include/bash-plugins - doins *.h builtins/*.h examples/loadables/*.h include/*.h \ - lib/{glob/glob.h,tilde/tilde.h} - fi - - if use examples ; then - for d in examples/{functions,misc,scripts,scripts.noah,scripts.v2} ; do - exeinto /usr/share/doc/${PF}/${d} - insinto /usr/share/doc/${PF}/${d} - for f in ${d}/* ; do - if [[ ${f##*/} != PERMISSION ]] && [[ ${f##*/} != *README ]] ; then - doexe ${f} - else - doins ${f} - fi - done - done - fi - - doman doc/*.1 - dodoc README NEWS AUTHORS CHANGES COMPAT Y2K doc/FAQ doc/INTRO - dosym bash.info /usr/share/info/bashref.info -} - -pkg_preinst() { - if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]] ; then - mkdir -p "${EROOT}"/etc/bash - mv -f "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ - fi - - if [[ -L ${EROOT}/bin/sh ]]; then - # rewrite the symlink to ensure that its mtime changes. having /bin/sh - # missing even temporarily causes a fatal error with paludis. - local target=$(readlink "${EROOT}"/bin/sh) - local tmp=$(emktemp "${EROOT}"/bin) - ln -sf "${target}" "${tmp}" - mv -f "${tmp}" "${EROOT}"/bin/sh - fi -} - -pkg_postinst() { - # If /bin/sh does not exist, provide it - if [[ ! -e ${EROOT}/bin/sh ]]; then - ln -sf bash "${EROOT}"/bin/sh - fi -} diff --git a/app-shells/bash/bash-4.2_p47-r1.ebuild b/app-shells/bash/bash-4.2_p48.ebuild index 73a17e2b2989..f1a22a4bed40 100644 --- a/app-shells/bash/bash-4.2_p47-r1.ebuild +++ b/app-shells/bash/bash-4.2_p48.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/bash-4.2_p47-r1.ebuild,v 1.2 2014/09/24 15:29:03 ago Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/bash-4.2_p48.ebuild,v 1.1 2014/09/24 17:23:53 polynomial-c Exp $ EAPI="4" @@ -84,7 +84,6 @@ src_prepare() { if ! use vanilla ; then epatch "${FILESDIR}"/${PN}-4.2-speed-up-read-N.patch fi - epatch "${FILESDIR}"/${PN}-3.1-funcdef-import.patch epatch_user } diff --git a/app-shells/bash/bash-4.3_p24-r2.ebuild b/app-shells/bash/bash-4.3_p25.ebuild index ba7f136c1d07..ee1439f21498 100644 --- a/app-shells/bash/bash-4.3_p24-r2.ebuild +++ b/app-shells/bash/bash-4.3_p25.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/bash-4.3_p24-r2.ebuild,v 1.1 2014/09/24 14:01:55 polynomial-c Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/bash-4.3_p25.ebuild,v 1.1 2014/09/24 17:23:53 polynomial-c Exp $ EAPI="4" @@ -87,7 +87,6 @@ src_prepare() { epatch "${FILESDIR}"/${PN}-4.3-parse-time-keyword.patch epatch "${FILESDIR}"/${PN}-4.3-append-process-segfault.patch epatch "${FILESDIR}"/${PN}-4.3-term-cleanup.patch - epatch "${FILESDIR}"/${PN}-4.3-funcdef-import.patch epatch_user } diff --git a/app-shells/bash/files/bash-3.1-funcdef-import.patch b/app-shells/bash/files/bash-3.1-funcdef-import.patch deleted file mode 100644 index 7371979d2b93..000000000000 --- a/app-shells/bash/files/bash-3.1-funcdef-import.patch +++ /dev/null @@ -1,73 +0,0 @@ -*** ../bash-3.1.17/builtins/common.h 2004-09-09 13:21:08.000000000 -0400 ---- builtins/common.h 2014-09-16 22:00:02.000000000 -0400 -*************** -*** 34,37 **** ---- 34,39 ---- - - /* Flags for describe_command, shared between type.def and command.def */ -+ #define SEVAL_FUNCDEF 0x080 /* only allow function definitions */ -+ #define SEVAL_ONECMD 0x100 /* only allow a single command */ - #define CDESC_ALL 0x001 /* type -a */ - #define CDESC_SHORTDESC 0x002 /* command -V */ -*** ../bash-3.1.17/builtins/evalstring.c 2005-10-30 18:28:24.000000000 -0500 ---- builtins/evalstring.c 2014-09-16 22:00:02.000000000 -0400 -*************** -*** 224,227 **** ---- 224,235 ---- - struct fd_bitmap *bitmap; - -+ if ((flags & SEVAL_FUNCDEF) && command->type != cm_function_def) -+ { -+ internal_warning ("%s: ignoring function definition attempt", from_file); -+ should_jump_to_top_level = 0; -+ last_result = last_command_exit_value = EX_BADUSAGE; -+ break; -+ } -+ - bitmap = new_fd_bitmap (FD_BITMAP_SIZE); - begin_unwind_frame ("pe_dispose"); -*************** -*** 279,282 **** ---- 287,293 ---- - dispose_fd_bitmap (bitmap); - discard_unwind_frame ("pe_dispose"); -+ -+ if (flags & SEVAL_ONECMD) -+ break; - } - } -*** ../bash-3.1.17/variables.c 2006-03-10 16:56:29.000000000 -0500 ---- variables.c 2014-09-16 22:00:02.000000000 -0400 -*************** -*** 311,320 **** - strcpy (temp_string + char_index + 1, string); - -! parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST); -! -! /* Ancient backwards compatibility. Old versions of bash exported -! functions like name()=() {...} */ -! if (name[char_index - 1] == ')' && name[char_index - 2] == '(') -! name[char_index - 2] = '\0'; - - if (temp_var = find_function (name)) ---- 311,318 ---- - strcpy (temp_string + char_index + 1, string); - -! /* Don't import function names that are invalid identifiers from the -! environment. */ -! if (legal_identifier (name)) -! parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_FUNCDEF|SEVAL_ONECMD); - - if (temp_var = find_function (name)) -*************** -*** 325,332 **** - else - report_error (_("error importing function definition for `%s'"), name); -- -- /* ( */ -- if (name[char_index - 1] == ')' && name[char_index - 2] == '\0') -- name[char_index - 2] = '('; /* ) */ - } - #if defined (ARRAY_VARS) ---- 323,326 ---- - diff --git a/app-shells/bash/files/bash-4.3-funcdef-import.patch b/app-shells/bash/files/bash-4.3-funcdef-import.patch deleted file mode 100644 index d9bd1821b579..000000000000 --- a/app-shells/bash/files/bash-4.3-funcdef-import.patch +++ /dev/null @@ -1,92 +0,0 @@ -*** ../bash-4.3-patched/builtins/common.h 2013-07-08 16:54:47.000000000 -0400 ---- builtins/common.h 2014-09-12 14:25:47.000000000 -0400 -*************** -*** 34,37 **** ---- 49,54 ---- - #define SEVAL_PARSEONLY 0x020 - #define SEVAL_NOLONGJMP 0x040 -+ #define SEVAL_FUNCDEF 0x080 /* only allow function definitions */ -+ #define SEVAL_ONECMD 0x100 /* only allow a single command */ - - /* Flags for describe_command, shared between type.def and command.def */ -*** ../bash-4.3-patched/builtins/evalstring.c 2014-02-11 09:42:10.000000000 -0500 ---- builtins/evalstring.c 2014-09-14 14:15:13.000000000 -0400 -*************** -*** 309,312 **** ---- 313,324 ---- - struct fd_bitmap *bitmap; - -+ if ((flags & SEVAL_FUNCDEF) && command->type != cm_function_def) -+ { -+ internal_warning ("%s: ignoring function definition attempt", from_file); -+ should_jump_to_top_level = 0; -+ last_result = last_command_exit_value = EX_BADUSAGE; -+ break; -+ } -+ - bitmap = new_fd_bitmap (FD_BITMAP_SIZE); - begin_unwind_frame ("pe_dispose"); -*************** -*** 369,372 **** ---- 381,387 ---- - dispose_fd_bitmap (bitmap); - discard_unwind_frame ("pe_dispose"); -+ -+ if (flags & SEVAL_ONECMD) -+ break; - } - } -*** ../bash-4.3-patched/variables.c 2014-05-15 08:26:50.000000000 -0400 ---- variables.c 2014-09-14 14:23:35.000000000 -0400 -*************** -*** 359,369 **** - strcpy (temp_string + char_index + 1, string); - -! if (posixly_correct == 0 || legal_identifier (name)) -! parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST); -! -! /* Ancient backwards compatibility. Old versions of bash exported -! functions like name()=() {...} */ -! if (name[char_index - 1] == ')' && name[char_index - 2] == '(') -! name[char_index - 2] = '\0'; - - if (temp_var = find_function (name)) ---- 364,372 ---- - strcpy (temp_string + char_index + 1, string); - -! /* Don't import function names that are invalid identifiers from the -! environment, though we still allow them to be defined as shell -! variables. */ -! if (legal_identifier (name)) -! parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_FUNCDEF|SEVAL_ONECMD); - - if (temp_var = find_function (name)) -*************** -*** 382,389 **** - report_error (_("error importing function definition for `%s'"), name); - } -- -- /* ( */ -- if (name[char_index - 1] == ')' && name[char_index - 2] == '\0') -- name[char_index - 2] = '('; /* ) */ - } - #if defined (ARRAY_VARS) ---- 385,388 ---- -*** ../bash-4.3-patched/subst.c 2014-08-11 11:16:35.000000000 -0400 ---- subst.c 2014-09-12 15:31:04.000000000 -0400 -*************** -*** 8048,8052 **** - goto return0; - } -! else if (var = find_variable_last_nameref (temp1)) - { - temp = nameref_cell (var); ---- 8118,8124 ---- - goto return0; - } -! else if (var && (invisible_p (var) || var_isset (var) == 0)) -! temp = (char *)NULL; -! else if ((var = find_variable_last_nameref (temp1)) && var_isset (var) && invisible_p (var) == 0) - { - temp = nameref_cell (var); - |