Gentoo Archives: gentoo-commits

From: "Lars Wendler (polynomial-c)" <polynomial-c@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in app-shells/bash: bash-4.3_p18-r3.ebuild ChangeLog bash-4.3_p18-r1.ebuild bash-4.3_p18.ebuild
Date: Tue, 08 Jul 2014 08:54:54
Message-Id: 20140708085450.D81142004E@flycatcher.gentoo.org
1 polynomial-c 14/07/08 08:54:50
2
3 Modified: ChangeLog
4 Added: bash-4.3_p18-r3.ebuild
5 Removed: bash-4.3_p18-r1.ebuild bash-4.3_p18.ebuild
6 Log:
7 Revbump to fix a segfault in lastpipe mode. Removed old
8
9 (Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key 0x981CA6FC)
10
11 Revision Changes Path
12 1.374 app-shells/bash/ChangeLog
13
14 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-shells/bash/ChangeLog?rev=1.374&view=markup
15 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-shells/bash/ChangeLog?rev=1.374&content-type=text/plain
16 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-shells/bash/ChangeLog?r1=1.373&r2=1.374
17
18 Index: ChangeLog
19 ===================================================================
20 RCS file: /var/cvsroot/gentoo-x86/app-shells/bash/ChangeLog,v
21 retrieving revision 1.373
22 retrieving revision 1.374
23 diff -u -r1.373 -r1.374
24 --- ChangeLog 17 Jun 2014 03:58:19 -0000 1.373
25 +++ ChangeLog 8 Jul 2014 08:54:50 -0000 1.374
26 @@ -1,6 +1,13 @@
27 # ChangeLog for app-shells/bash
28 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
29 -# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/ChangeLog,v 1.373 2014/06/17 03:58:19 vapier Exp $
30 +# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/ChangeLog,v 1.374 2014/07/08 08:54:50 polynomial-c Exp $
31 +
32 +*bash-4.3_p18-r3 (08 Jul 2014)
33 +
34 + 08 Jul 2014; Lars Wendler <polynomial-c@g.o> -bash-4.3_p18.ebuild,
35 + -bash-4.3_p18-r1.ebuild, +bash-4.3_p18-r3.ebuild,
36 + +files/bash-4.3-lastpipe-nested-pipe-segfault.patch:
37 + Revbump to fix a segfault in lastpipe mode. Removed old.
38
39 *bash-4.3_p18-r2 (17 Jun 2014)
40
41
42
43
44 1.1 app-shells/bash/bash-4.3_p18-r3.ebuild
45
46 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-shells/bash/bash-4.3_p18-r3.ebuild?rev=1.1&view=markup
47 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-shells/bash/bash-4.3_p18-r3.ebuild?rev=1.1&content-type=text/plain
48
49 Index: bash-4.3_p18-r3.ebuild
50 ===================================================================
51 # Copyright 1999-2014 Gentoo Foundation
52 # Distributed under the terms of the GNU General Public License v2
53 # $Header: /var/cvsroot/gentoo-x86/app-shells/bash/bash-4.3_p18-r3.ebuild,v 1.1 2014/07/08 08:54:50 polynomial-c Exp $
54
55 EAPI="4"
56
57 inherit eutils flag-o-matic toolchain-funcs multilib
58
59 # Official patchlevel
60 # See ftp://ftp.cwru.edu/pub/bash/bash-4.3-patches/
61 PLEVEL=${PV##*_p}
62 MY_PV=${PV/_p*}
63 MY_PV=${MY_PV/_/-}
64 MY_P=${PN}-${MY_PV}
65 [[ ${PV} != *_p* ]] && PLEVEL=0
66 patches() {
67 local opt=$1 plevel=${2:-${PLEVEL}} pn=${3:-${PN}} pv=${4:-${MY_PV}}
68 [[ ${plevel} -eq 0 ]] && return 1
69 eval set -- {1..${plevel}}
70 set -- $(printf "${pn}${pv/\.}-%03d " "$@")
71 if [[ ${opt} == -s ]] ; then
72 echo "${@/#/${DISTDIR}/}"
73 else
74 local u
75 for u in ftp://ftp.cwru.edu/pub/bash mirror://gnu/${pn} ; do
76 printf "${u}/${pn}-${pv}-patches/%s " "$@"
77 done
78 fi
79 }
80
81 # The version of readline this bash normally ships with.
82 READLINE_VER="6.3"
83
84 DESCRIPTION="The standard GNU Bourne again shell"
85 HOMEPAGE="http://tiswww.case.edu/php/chet/bash/bashtop.html"
86 SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz $(patches)"
87 [[ ${PV} == *_rc* ]] && SRC_URI+=" ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz"
88
89 LICENSE="GPL-3"
90 SLOT="0"
91 #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
92 IUSE="afs bashlogger examples mem-scramble +net nls plugins +readline vanilla"
93
94 DEPEND=">=sys-libs/ncurses-5.2-r2
95 readline? ( >=sys-libs/readline-${READLINE_VER} )
96 nls? ( virtual/libintl )"
97 RDEPEND="${DEPEND}
98 !<sys-apps/portage-2.1.6.7_p1
99 !<sys-apps/paludis-0.26.0_alpha5"
100 # we only need yacc when the .y files get patched (bash42-005)
101 DEPEND+=" virtual/yacc"
102
103 S=${WORKDIR}/${MY_P}
104
105 pkg_setup() {
106 if is-flag -malign-double ; then #7332
107 eerror "Detected bad CFLAGS '-malign-double'. Do not use this"
108 eerror "as it breaks LFS (struct stat64) on x86."
109 die "remove -malign-double from your CFLAGS mr ricer"
110 fi
111 if use bashlogger ; then
112 ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs."
113 ewarn "This will log ALL output you enter into the shell, you have been warned."
114 fi
115 }
116
117 src_unpack() {
118 unpack ${MY_P}.tar.gz
119 }
120
121 src_prepare() {
122 # Include official patches
123 [[ ${PLEVEL} -gt 0 ]] && epatch $(patches -s)
124
125 # Clean out local libs so we know we use system ones w/releases.
126 if [[ ${PV} != *_rc* ]] ; then
127 rm -rf lib/{readline,termcap}/*
128 touch lib/{readline,termcap}/Makefile.in # for config.status
129 sed -ri -e 's:\$[(](RL|HIST)_LIBSRC[)]/[[:alpha:]]*.h::g' Makefile.in || die
130 fi
131
132 # Avoid regenerating docs after patches #407985
133 sed -i -r '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in || die
134 touch -r . doc/*
135
136 epatch "${FILESDIR}"/${PN}-4.3-here-doc-ps2-comsub.patch
137 epatch "${FILESDIR}"/${PN}-4.3-compat-lvl.patch
138 epatch "${FILESDIR}"/${PN}-4.3-parse-time-keyword.patch
139 epatch "${FILESDIR}"/${PN}-4.3-lastpipe-nested-pipe-segfault.patch
140
141 epatch_user
142 }
143
144 src_configure() {
145 local myconf=()
146
147 # For descriptions of these, see config-top.h
148 # bashrc/#26952 bash_logout/#90488 ssh/#24762
149 append-cppflags \
150 -DDEFAULT_PATH_VALUE=\'\"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\"\' \
151 -DSTANDARD_UTILS_PATH=\'\"/bin:/usr/bin:/sbin:/usr/sbin\"\' \
152 -DSYS_BASHRC=\'\"/etc/bash/bashrc\"\' \
153 -DSYS_BASH_LOGOUT=\'\"/etc/bash/bash_logout\"\' \
154 -DNON_INTERACTIVE_LOGIN_SHELLS \
155 -DSSH_SOURCE_BASHRC \
156 $(use bashlogger && echo -DSYSLOG_HISTORY)
157
158 # Don't even think about building this statically without
159 # reading Bug 7714 first. If you still build it statically,
160 # don't come crying to us with bugs ;).
161 #use static && export LDFLAGS="${LDFLAGS} -static"
162 use nls || myconf+=( --disable-nls )
163
164 # Historically, we always used the builtin readline, but since
165 # our handling of SONAME upgrades has gotten much more stable
166 # in the PM (and the readline ebuild itself preserves the old
167 # libs during upgrades), linking against the system copy should
168 # be safe.
169 # Exact cached version here doesn't really matter as long as it
170 # is at least what's in the DEPEND up above.
171 export ac_cv_rl_version=${READLINE_VER}
172
173 # Force linking with system curses ... the bundled termcap lib
174 # sucks bad compared to ncurses. For the most part, ncurses
175 # is here because readline needs it. But bash itself calls
176 # ncurses in one or two small places :(.
177
178 if [[ ${PV} != *_rc* ]] ; then
179 # Use system readline only with released versions.
180 myconf+=( --with-installed-readline=. )
181 fi
182
183 if use plugins; then
184 append-ldflags -Wl,-rpath,/usr/$(get_libdir)/bash
185 else
186 # Disable the plugins logic by hand since bash doesn't
187 # provide a way of doing it.
188 export ac_cv_func_dl{close,open,sym}=no \
189 ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no
190 sed -i \
191 -e '/LOCAL_LDFLAGS=/s:-rdynamic::' \
192 configure || die
193 fi
194 tc-export AR #444070
195 econf \
196 --docdir='$(datarootdir)'/doc/${PF} \
197 --htmldir='$(docdir)/html' \
198 --with-curses \
199 $(use_with afs) \
200 $(use_enable net net-redirections) \
201 --disable-profiling \
202 $(use_enable mem-scramble) \
203 $(use_with mem-scramble bash-malloc) \
204 $(use_enable readline) \
205 $(use_enable readline history) \
206 $(use_enable readline bang-history) \
207 "${myconf[@]}"
208 }
209
210 src_compile() {
211 emake
212
213 if use plugins ; then
214 emake -C examples/loadables all others
215 fi
216 }
217
218 src_install() {
219 local d f
220
221 default
222
223 dodir /bin
224 mv "${ED}"/usr/bin/bash "${ED}"/bin/ || die
225 dosym bash /bin/rbash
226
227 insinto /etc/bash
228 doins "${FILESDIR}"/{bashrc,bash_logout}
229 insinto /etc/skel
230 for f in bash{_logout,_profile,rc} ; do
231 newins "${FILESDIR}"/dot-${f} .${f}
232 done
233
234 local sed_args=(
235 -e "s:#${USERLAND}#@::"
236 -e '/#@/d'
237 )
238 if ! use readline ; then
239 sed_args+=( #432338
240 -e '/^shopt -s histappend/s:^:#:'
241 -e 's:use_color=true:use_color=false:'
242 )
243 fi
244 sed -i \
245 "${sed_args[@]}" \
246 "${ED}"/etc/skel/.bashrc \
247 "${ED}"/etc/bash/bashrc || die
248
249 if use plugins ; then
250 exeinto /usr/$(get_libdir)/bash
251 doexe $(echo examples/loadables/*.o | sed 's:\.o::g')
252 insinto /usr/include/bash-plugins
253 doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h}
254 fi
255
256 if use examples ; then
257 for d in examples/{functions,misc,scripts,scripts.noah,scripts.v2} ; do
258 exeinto /usr/share/doc/${PF}/${d}
259 insinto /usr/share/doc/${PF}/${d}
260 for f in ${d}/* ; do
261 if [[ ${f##*/} != PERMISSION ]] && [[ ${f##*/} != *README ]] ; then
262 doexe ${f}
263 else
264 doins ${f}
265 fi
266 done
267 done
268 fi
269
270 doman doc/*.1
271 newdoc CWRU/changelog ChangeLog
272 dosym bash.info /usr/share/info/bashref.info
273 }
274
275 pkg_preinst() {
276 if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]] ; then
277 mkdir -p "${EROOT}"/etc/bash
278 mv -f "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/
279 fi
280
281 if [[ -L ${EROOT}/bin/sh ]] ; then
282 # rewrite the symlink to ensure that its mtime changes. having /bin/sh
283 # missing even temporarily causes a fatal error with paludis.
284 local target=$(readlink "${EROOT}"/bin/sh)
285 local tmp=$(emktemp "${EROOT}"/bin)
286 ln -sf "${target}" "${tmp}"
287 mv -f "${tmp}" "${EROOT}"/bin/sh
288 fi
289 }
290
291 pkg_postinst() {
292 # If /bin/sh does not exist, provide it
293 if [[ ! -e ${EROOT}/bin/sh ]] ; then
294 ln -sf bash "${EROOT}"/bin/sh
295 fi
296 }