diff options
author | Mike Frysinger <vapier@gentoo.org> | 2011-03-01 00:40:52 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2011-03-01 00:40:52 +0000 |
commit | f66119bad996345b1a6aa6204719f020a496bcfa (patch) | |
tree | 1825bb83f686689ee2a81dbdcdd5679c5723e380 /app-shells | |
parent | stable ppc64, bug 354959 (diff) | |
download | gentoo-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.ebuild | 183 | ||||
-rw-r--r-- | app-shells/bash/files/bash-4.2-patmatch.patch | 284 | ||||
-rw-r--r-- | app-shells/bash/files/bash-4.2-rhs-split.patch | 19 | ||||
-rw-r--r-- | app-shells/bash/files/bash-4.2-vidomove.patch | 27 |
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; - } |