Gentoo Archives: gentoo-commits

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