summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2011-03-01 00:40:52 +0000
committerMike Frysinger <vapier@gentoo.org>2011-03-01 00:40:52 +0000
commitf66119bad996345b1a6aa6204719f020a496bcfa (patch)
tree1825bb83f686689ee2a81dbdcdd5679c5723e380 /app-shells
parentstable ppc64, bug 354959 (diff)
downloadgentoo-2-f66119bad996345b1a6aa6204719f020a496bcfa.tar.gz
gentoo-2-f66119bad996345b1a6aa6204719f020a496bcfa.tar.bz2
gentoo-2-f66119bad996345b1a6aa6204719f020a496bcfa.zip
old
Diffstat (limited to 'app-shells')
-rw-r--r--app-shells/bash/bash-4.2.ebuild183
-rw-r--r--app-shells/bash/files/bash-4.2-patmatch.patch284
-rw-r--r--app-shells/bash/files/bash-4.2-rhs-split.patch19
-rw-r--r--app-shells/bash/files/bash-4.2-vidomove.patch27
4 files changed, 0 insertions, 513 deletions
diff --git a/app-shells/bash/bash-4.2.ebuild b/app-shells/bash/bash-4.2.ebuild
deleted file mode 100644
index 093e72458672..000000000000
--- a/app-shells/bash/bash-4.2.ebuild
+++ /dev/null
@@ -1,183 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/bash-4.2.ebuild,v 1.2 2011/02/19 17:20:15 vapier Exp $
-
-EAPI="1"
-
-inherit eutils flag-o-matic toolchain-funcs multilib
-
-# Official patchlevel
-# See ftp://ftp.cwru.edu/pub/bash/bash-3.2-patches/
-PLEVEL=${PV##*_p}
-MY_PV=${PV/_p*}
-MY_PV=${MY_PV/_/-}
-MY_P=${PN}-${MY_PV}
-[[ ${PV} != *_p* ]] && PLEVEL=0
-READLINE_VER=6.1
-READLINE_PLEVEL=0 # both readline patches are also released as bash patches
-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)
- $(patches ${READLINE_PLEVEL} readline ${READLINE_VER})"
-
-LICENSE="GPL-3"
-SLOT="0"
-#KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
-IUSE="afs bashlogger examples mem-scramble +net nls plugins vanilla"
-
-DEPEND=">=sys-libs/ncurses-5.2-r2
- nls? ( virtual/libintl )"
-RDEPEND="${DEPEND}
- !<sys-apps/portage-2.1.7.16
- !<sys-apps/paludis-0.26.0_alpha5"
-
-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
- cd "${S}"
-
- # Include official patches
- [[ ${PLEVEL} -gt 0 ]] && epatch $(patches -s)
- cd lib/readline
- [[ ${READLINE_PLEVEL} -gt 0 ]] && epatch $(patches -s ${READLINE_PLEVEL} readline ${READLINE_VER})
- cd ../..
-
- epatch "${FILESDIR}"/${P}-patmatch.patch
- epatch "${FILESDIR}"/${P}-vidomove.patch
- epatch "${FILESDIR}"/${P}-rhs-split.patch
-}
-
-src_compile() {
- 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)
-
- # Always use the buildin readline, else if we update readline
- # bash gets borked as readline is usually not binary compadible
- # between minor versions.
- #myconf="${myconf} $(use_with !readline installed-readline)"
- myconf="${myconf} --without-installed-readline"
-
- # 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="${myconf} --disable-nls"
-
- # Force linking with system curses ... the bundled termcap lib
- # sucks bad compared to ncurses
- myconf="${myconf} --with-curses"
-
- use plugins && append-ldflags -Wl,-rpath,/usr/$(get_libdir)/bash
- econf \
- $(use_with afs) \
- $(use_enable net net-redirections) \
- --disable-profiling \
- $(use_enable mem-scramble) \
- $(use_with mem-scramble bash-malloc) \
- ${myconf} || die
- emake || die "make failed"
-
- if use plugins ; then
- emake -C examples/loadables all others || die
- fi
-}
-
-src_install() {
- emake install DESTDIR="${D}" || die
-
- dodir /bin
- mv "${D}"/usr/bin/bash "${D}"/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
-
- sed -i -e "s:#${USERLAND}#@::" "${D}"/etc/skel/.bashrc "${D}"/etc/bash/bashrc
- sed -i -e '/#@/d' "${D}"/etc/skel/.bashrc "${D}"/etc/bash/bashrc
-
- if use plugins ; then
- exeinto /usr/$(get_libdir)/bash
- doexe $(echo examples/loadables/*.o | sed 's:\.o::g') || die
- 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 ${ROOT}/etc/bashrc ]] && [[ ! -d ${ROOT}/etc/bash ]] ; then
- mkdir -p "${ROOT}"/etc/bash
- mv -f "${ROOT}"/etc/bashrc "${ROOT}"/etc/bash/
- fi
-
- if [[ -L ${ROOT}/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 "${ROOT}"/bin/sh)
- ln -sf "${target}" "${ROOT}"/bin/sh
- fi
-}
-
-pkg_postinst() {
- # If /bin/sh does not exist, provide it
- if [[ ! -e ${ROOT}/bin/sh ]]; then
- ln -sf bash "${ROOT}"/bin/sh
- fi
-}
diff --git a/app-shells/bash/files/bash-4.2-patmatch.patch b/app-shells/bash/files/bash-4.2-patmatch.patch
deleted file mode 100644
index dfe5610abeac..000000000000
--- a/app-shells/bash/files/bash-4.2-patmatch.patch
+++ /dev/null
@@ -1,284 +0,0 @@
-*** ../bash-4.2/lib/glob/gmisc.c 2011-02-05 16:11:17.000000000 -0500
---- lib/glob/gmisc.c 2011-02-18 23:53:42.000000000 -0500
-***************
-*** 78,83 ****
- size_t wmax;
- {
-! wchar_t wc, *wbrack;
-! int matlen, t, in_cclass, in_collsym, in_equiv;
-
- if (*wpat == 0)
---- 78,83 ----
- size_t wmax;
- {
-! wchar_t wc;
-! int matlen, bracklen, t, in_cclass, in_collsym, in_equiv;
-
- if (*wpat == 0)
-***************
-*** 119,123 ****
- case L'[':
- /* scan for ending `]', skipping over embedded [:...:] */
-! wbrack = wpat;
- wc = *wpat++;
- do
---- 119,123 ----
- case L'[':
- /* scan for ending `]', skipping over embedded [:...:] */
-! bracklen = 1;
- wc = *wpat++;
- do
-***************
-*** 125,140 ****
- if (wc == 0)
- {
-! matlen += wpat - wbrack - 1; /* incremented below */
-! break;
- }
- else if (wc == L'\\')
- {
-! wc = *wpat++;
-! if (*wpat == 0)
-! break;
- }
- else if (wc == L'[' && *wpat == L':') /* character class */
- {
- wpat++;
- in_cclass = 1;
- }
---- 125,148 ----
- if (wc == 0)
- {
-! wpat--; /* back up to NUL */
-! matlen += bracklen;
-! goto bad_bracket;
- }
- else if (wc == L'\\')
- {
-! /* *wpat == backslash-escaped character */
-! bracklen++;
-! /* If the backslash or backslash-escape ends the string,
-! bail. The ++wpat skips over the backslash escape */
-! if (*wpat == 0 || *++wpat == 0)
-! {
-! matlen += bracklen;
-! goto bad_bracket;
-! }
- }
- else if (wc == L'[' && *wpat == L':') /* character class */
- {
- wpat++;
-+ bracklen++;
- in_cclass = 1;
- }
-***************
-*** 142,145 ****
---- 150,154 ----
- {
- wpat++;
-+ bracklen++;
- in_cclass = 0;
- }
-***************
-*** 147,152 ****
- {
- wpat++;
- if (*wpat == L']') /* right bracket can appear as collating symbol */
-! wpat++;
- in_collsym = 1;
- }
---- 156,165 ----
- {
- wpat++;
-+ bracklen++;
- if (*wpat == L']') /* right bracket can appear as collating symbol */
-! {
-! wpat++;
-! bracklen++;
-! }
- in_collsym = 1;
- }
-***************
-*** 154,157 ****
---- 167,171 ----
- {
- wpat++;
-+ bracklen++;
- in_collsym = 0;
- }
-***************
-*** 159,164 ****
- {
- wpat++;
- if (*wpat == L']') /* right bracket can appear as equivalence class */
-! wpat++;
- in_equiv = 1;
- }
---- 173,182 ----
- {
- wpat++;
-+ bracklen++;
- if (*wpat == L']') /* right bracket can appear as equivalence class */
-! {
-! wpat++;
-! bracklen++;
-! }
- in_equiv = 1;
- }
-***************
-*** 166,174 ****
---- 184,196 ----
- {
- wpat++;
-+ bracklen++;
- in_equiv = 0;
- }
-+ else
-+ bracklen++;
- }
- while ((wc = *wpat++) != L']');
- matlen++; /* bracket expression can only match one char */
-+ bad_bracket:
- break;
- }
-***************
-*** 214,219 ****
- size_t max;
- {
-! char c, *brack;
-! int matlen, t, in_cclass, in_collsym, in_equiv;
-
- if (*pat == 0)
---- 236,241 ----
- size_t max;
- {
-! char c;
-! int matlen, bracklen, t, in_cclass, in_collsym, in_equiv;
-
- if (*pat == 0)
-***************
-*** 255,259 ****
- case '[':
- /* scan for ending `]', skipping over embedded [:...:] */
-! brack = pat;
- c = *pat++;
- do
---- 277,281 ----
- case '[':
- /* scan for ending `]', skipping over embedded [:...:] */
-! bracklen = 1;
- c = *pat++;
- do
-***************
-*** 261,276 ****
- if (c == 0)
- {
-! matlen += pat - brack - 1; /* incremented below */
-! break;
- }
- else if (c == '\\')
- {
-! c = *pat++;
-! if (*pat == 0)
-! break;
- }
- else if (c == '[' && *pat == ':') /* character class */
- {
- pat++;
- in_cclass = 1;
- }
---- 283,306 ----
- if (c == 0)
- {
-! pat--; /* back up to NUL */
-! matlen += bracklen;
-! goto bad_bracket;
- }
- else if (c == '\\')
- {
-! /* *pat == backslash-escaped character */
-! bracklen++;
-! /* If the backslash or backslash-escape ends the string,
-! bail. The ++pat skips over the backslash escape */
-! if (*pat == 0 || *++pat == 0)
-! {
-! matlen += bracklen;
-! goto bad_bracket;
-! }
- }
- else if (c == '[' && *pat == ':') /* character class */
- {
- pat++;
-+ bracklen++;
- in_cclass = 1;
- }
-***************
-*** 278,281 ****
---- 308,312 ----
- {
- pat++;
-+ bracklen++;
- in_cclass = 0;
- }
-***************
-*** 283,288 ****
- {
- pat++;
- if (*pat == ']') /* right bracket can appear as collating symbol */
-! pat++;
- in_collsym = 1;
- }
---- 314,323 ----
- {
- pat++;
-+ bracklen++;
- if (*pat == ']') /* right bracket can appear as collating symbol */
-! {
-! pat++;
-! bracklen++;
-! }
- in_collsym = 1;
- }
-***************
-*** 290,293 ****
---- 325,329 ----
- {
- pat++;
-+ bracklen++;
- in_collsym = 0;
- }
-***************
-*** 295,300 ****
- {
- pat++;
- if (*pat == ']') /* right bracket can appear as equivalence class */
-! pat++;
- in_equiv = 1;
- }
---- 331,340 ----
- {
- pat++;
-+ bracklen++;
- if (*pat == ']') /* right bracket can appear as equivalence class */
-! {
-! pat++;
-! bracklen++;
-! }
- in_equiv = 1;
- }
-***************
-*** 302,310 ****
---- 342,354 ----
- {
- pat++;
-+ bracklen++;
- in_equiv = 0;
- }
-+ else
-+ bracklen++;
- }
- while ((c = *pat++) != ']');
- matlen++; /* bracket expression can only match one char */
-+ bad_bracket:
- break;
- }
diff --git a/app-shells/bash/files/bash-4.2-rhs-split.patch b/app-shells/bash/files/bash-4.2-rhs-split.patch
deleted file mode 100644
index 59c436479ff9..000000000000
--- a/app-shells/bash/files/bash-4.2-rhs-split.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-*** ../bash-4.2/subst.c 2011-01-02 16:12:51.000000000 -0500
---- subst.c 2011-02-18 22:30:13.000000000 -0500
-***************
-*** 3371,3377 ****
- if (string == 0 || *string == '\0')
- return (WORD_LIST *)NULL;
-
-! td.flags = 0;
- td.word = string;
- tresult = call_expand_word_internal (&td, quoted, 1, dollar_at_p, has_dollar_at);
- return (tresult);
---- 3375,3381 ----
- if (string == 0 || *string == '\0')
- return (WORD_LIST *)NULL;
-
-! td.flags = W_NOSPLIT2; /* no splitting, remove "" and '' */
- td.word = string;
- tresult = call_expand_word_internal (&td, quoted, 1, dollar_at_p, has_dollar_at);
- return (tresult);
diff --git a/app-shells/bash/files/bash-4.2-vidomove.patch b/app-shells/bash/files/bash-4.2-vidomove.patch
deleted file mode 100644
index 117b73859db1..000000000000
--- a/app-shells/bash/files/bash-4.2-vidomove.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-*** ../bash-4.2/lib/readline/vi_mode.c 2010-11-20 19:51:39.000000000 -0500
---- lib/readline/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)
-*** ../bash-4.2/lib/readline/callback.c 2010-06-06 12:18:58.000000000 -0400
---- lib/readline/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;
- }