/[packages]/updates/infra_2/bash/current/SPECS/bash.spec
ViewVC logotype

Contents of /updates/infra_2/bash/current/SPECS/bash.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 724272 - (show annotations) (download)
Wed Sep 24 15:20:53 2014 UTC (9 years, 7 months ago) by luigiwalser
Original Path: updates/3/bash/current/SPECS/bash.spec
File size: 10495 byte(s)
update from patchlevel 37 to 48 to fix CVE-2014-6271 and several other bugs
1 %define i18ndate 20010626
2 %define patchlevel 48
3 %define rel 1
4
5 Name: bash
6 Version: 4.2
7 Release: %mkrel %{patchlevel}.%{rel}
8 Summary: The GNU Bourne Again shell (bash)
9 Group: Shells
10 License: GPLv2+
11 URL: http://www.gnu.org/software/bash/bash.html
12 Source0: ftp://ftp.gnu.org/pub/gnu/bash/%{name}-%{version}.tar.gz
13 Source1: ftp://ftp.gnu.org/pub/gnu/bash/%{name}-%{version}.tar.gz.sig
14 Source2: ftp://ftp.gnu.org/pub/gnu/bash/bash-doc-3.2.tar.bz2
15 Source3: dot-bashrc
16 Source4: dot-bash_profile
17 Source5: dot-bash_logout
18 Source6: alias.sh
19 Source7: bashrc
20 Source8: profile.d-bash
21
22 # Official upstream patches
23 # from ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/
24 Patch01: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-001
25 Patch02: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-002
26 Patch03: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-003
27 Patch04: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-004
28 Patch05: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-005
29 Patch06: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-006
30 Patch07: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-007
31 Patch08: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-008
32 Patch09: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-009
33 Patch10: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-010
34 Patch11: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-011
35 Patch12: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-012
36 Patch13: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-013
37 Patch14: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-014
38 Patch15: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-015
39 Patch16: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-016
40 Patch17: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-017
41 Patch18: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-018
42 Patch19: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-019
43 Patch20: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-020
44 Patch21: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-021
45 Patch22: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-022
46 Patch23: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-023
47 Patch24: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-024
48 Patch25: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-025
49 Patch26: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-026
50 Patch27: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-027
51 Patch28: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-028
52 Patch29: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-029
53 Patch30: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-030
54 Patch31: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-031
55 Patch32: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-032
56 Patch33: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-033
57 Patch34: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-034
58 Patch35: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-035
59 Patch36: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-036
60 Patch37: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-037
61 Patch38: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-038
62 Patch39: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-039
63 Patch40: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-040
64 Patch41: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-041
65 Patch42: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-042
66 Patch43: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-043
67 Patch44: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-044
68 Patch45: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-045
69 Patch46: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-046
70 Patch47: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-047
71 Patch48: ftp://ftp.gnu.org/gnu/bash/bash-%{version}-patches/bash42-048
72
73 # Mageia/Mandriva patches
74 Patch1001: bash-2.02-security.patch
75 # ensure profile is read (Redhat)
76 Patch1003: bash-4.0-profile.patch
77 Patch1004: bash-2.05b-readlinefixes.patch
78 Patch1006: bash-2.04-compat.patch
79 #https://bugzilla.novell.com/attachment.cgi?id=67684
80 Patch1010: bash-3.1-extended_quote.patch
81 Patch1020: bash-strcoll-bug.diff
82 Patch1023: bash-2.05b-checkwinsize.patch
83 Patch1024: bash-3.2-lzma-copmpletion.patch
84 # (fc) 3.2-12mdv fix format string
85 Patch1026: bash-3.2-format-security.patch
86
87 BuildRequires: autoconf2.5
88 BuildRequires: bison
89 BuildRequires: groff
90 BuildRequires: libtermcap-devel
91 BuildRequires: texinfo
92 # explicit file provides
93 Provides: /bin/sh
94
95 %description
96 Bash is a GNU project sh-compatible shell or command language
97 interpreter. Bash (Bourne Again shell) incorporates useful features
98 from the Korn shell (ksh) and the C shell (csh). Most sh scripts
99 can be run by bash without modification.
100
101 Bash offers several improvements over sh, including command line
102 editing, unlimited size command history, job control, shell
103 functions and aliases, indexed arrays of unlimited size and
104 integer arithmetic in any base from two to 64. Bash is ultimately
105 intended to conform to the IEEE POSIX P1003.2/ISO 9945.2 Shell and
106 Tools standard.
107
108 %package doc
109 Summary: Documentation for the GNU Bourne Again shell (bash)
110 Group: Documentation
111 Requires: %{name} = %{version}-%{release}
112 Obsoletes: bash3-doc < 3.2.48
113 Provides: bash3-doc
114
115 %description doc
116 This package provides documentation for GNU Bourne Again shell (bash).
117
118 %prep
119 %setup -q -a 2
120 mv doc/README .
121
122 %patch1 -p0
123 %patch2 -p0
124 %patch3 -p0
125 %patch4 -p0
126 %patch5 -p0
127 %patch6 -p0
128 %patch7 -p0
129 %patch8 -p0
130 %patch9 -p0
131 %patch10 -p0
132 %patch11 -p0
133 %patch12 -p0
134 %patch13 -p0
135 %patch14 -p0
136 %patch15 -p0
137 %patch16 -p0
138 %patch17 -p0
139 %patch18 -p0
140 %patch19 -p0
141 %patch20 -p0
142 %patch21 -p0
143 %patch22 -p0
144 %patch23 -p0
145 %patch24 -p0
146 %patch25 -p0
147 %patch26 -p0
148 %patch27 -p0
149 %patch28 -p0
150 %patch29 -p0
151 %patch30 -p0
152 %patch31 -p0
153 %patch32 -p0
154 %patch33 -p0
155 %patch34 -p0
156 %patch35 -p0
157 %patch36 -p0
158 %patch37 -p0
159 %patch38 -p0
160 %patch39 -p0
161 %patch40 -p0
162 %patch41 -p0
163 %patch42 -p0
164 %patch43 -p0
165 %patch44 -p0
166 %patch45 -p0
167 %patch46 -p0
168 %patch47 -p0
169 %patch48 -p0
170
171 %patch1001 -p1 -b .security
172 %patch1003 -p1 -b .profile
173 # 20060126 warly obsolete exept maybe for the replacement of @ by kH, this will have to be checked
174 #%patch1004 -p1 -b .readline
175 %patch1006 -p1 -b .compat
176 %patch1010 -p0 -b .quote
177 %patch1020 -p1 -b .strcoll_bugx
178 %patch1023 -p1 -b .checkwinsize
179 %patch1024 -p1 -b .lzma
180 %patch1026 -p1 -b .format-security
181
182 %build
183
184 export CFLAGS="%{optflags} -Os"
185 export CXXFLAGS=$CFLAGS
186 export DEBUGGER_START_FILE="%{_datadir}/bashdb/bashdb-main.inc"
187
188 %configure2_5x \
189 --enable-command-timing \
190 --disable-rpath \
191 --enable-history \
192 --enable-job-control \
193 --enable-multibyte \
194 --enable-readline \
195 --with-installed-readline \
196 --without-gnu-malloc \
197 --without-bash-malloc \
198 --disable-strict-posix-default \
199 --enable-select \
200 --enable-prompt-string-decoding \
201 --enable-process-substitution \
202 --enable-alias \
203 --enable-bang-history \
204 --enable-coprocesses \
205 --enable-directory-stack \
206 --enable-brace-expansion
207
208 %make
209
210 # all tests must pass
211 %check
212 make check
213
214 %install
215 rm -rf %{buildroot}
216
217 %makeinstall_std
218
219 # beurk
220 rm -rf %{buildroot}%{_datadir}/locale/en@boldquot/ %{buildroot}%{_datadir}/locale/en@quot/
221
222 #Sucks
223 chmod +w doc/texinfo.tex
224 chmod 755 examples/misc/aliasconv.*
225 chmod 755 examples/misc/cshtobash
226 chmod 755 %{buildroot}%{_bindir}/bashbug
227
228 # Take out irritating ^H's from the documentation
229 mkdir tmp_doc
230 for i in `/bin/ls doc/` ; \
231 do cat doc/$i > tmp_doc/$i ; \
232 cat tmp_doc/$i | perl -p -e 's/.//g' > doc/$i ; \
233 rm tmp_doc/$i ; \
234 done
235 rmdir tmp_doc
236
237 mkdir -p %{buildroot}/bin
238 pushd %{buildroot} && mv usr/bin/bash bin/bash && popd
239 pushd %{buildroot}/bin && ln -s bash sh && popd
240 pushd %{buildroot}/bin && ln -sf bash bash3 && popd
241
242 # make builtins.1 and rbash.1 with bash.1 in place (fix mdv#51379)
243 pushd doc
244 mkdir tmp_fix_so
245 cd tmp_fix_so
246 cp ../builtins.1 ../rbash.1 .
247 sed -e '/^.if \\n(zZ=1 .ig zZ/,/^.zZ/d' ../bash.1 > bash.1
248 soelim builtins.1 > ../builtins.1
249 sed -e '/^.if \\n(zY=1 .ig zY/,/^.zY/d' ../bash.1 > bash.1
250 soelim rbash.1 > ../rbash.1
251 popd
252 rm -rf doc/tmp_fix_so
253
254 # make manpages for bash builtins as per suggestion in DOC/README
255 cd doc
256 sed -e '
257 /^\.SH NAME/, /\\- bash built-in commands, see \\fBbash\\fR(1)$/{
258 /^\.SH NAME/d
259 s/^bash, //
260 s/\\- bash built-in commands, see \\fBbash\\fR(1)$//
261 s/,//g
262 b
263 }
264 d
265 ' builtins.1 > man.pages
266 install -m 644 builtins.1 %{buildroot}%{_mandir}/man1/builtins.1
267
268 install -m 644 rbash.1 %{buildroot}%{_mandir}/man1/rbash.1
269
270 for i in `cat man.pages` ; do
271 echo .so man1/builtins.1 > %{buildroot}%{_mandir}/man1/$i.1
272 done
273
274 # now turn man.pages into a filelist for the man subpackage
275
276 cat man.pages |tr -s ' ' '\n' |sed '
277 1i\
278 %defattr(0644,root,root,0755)
279 s:^:%{_mandir}/man1/:
280 s/$/.1%{_extension}/
281 ' > ../man.pages
282
283 perl -p -i -e 's!.*/(printf|export|echo|pwd|test|kill).1%{_extension}!!' ../man.pages
284
285 mkdir -p %{buildroot}%{_sysconfdir}/skel
286 mkdir -p %{buildroot}%{_sysconfdir}/profile.d
287 install -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/skel/.bashrc
288 install -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/skel/.bash_profile
289 install -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/skel/.bash_logout
290 install -m 644 %{SOURCE6} %{buildroot}%{_sysconfdir}/profile.d/60alias.sh
291 install -m 644 %{SOURCE7} %{buildroot}%{_sysconfdir}/bashrc
292 install -m 644 %{SOURCE8} %{buildroot}%{_sysconfdir}/profile.d/95bash-extras.sh
293
294 ln -s bash %{buildroot}/bin/rbash
295
296 # These're provided by other packages
297 rm -f %{buildroot}{%{_infodir}/dir,%{_mandir}/man1/{echo,export,kill,printf,pwd,test}.1}
298
299 cd ..
300
301 install -m 644 doc/bash.info %{buildroot}%{_infodir}/
302
303 %find_lang %{name}
304
305 # merges list
306 cat man.pages %{name}.lang > files.list
307
308 %clean
309 rm -rf %{buildroot}
310
311 %files -f files.list
312 %defattr(-,root,root)
313 %doc README
314 %config(noreplace) %{_sysconfdir}/skel/.b*
315 %{_sysconfdir}/profile.d/60alias.sh
316 %{_sysconfdir}/profile.d/95bash-extras.sh
317 %config(noreplace) %{_sysconfdir}/bashrc
318 /bin/rbash
319 /bin/bash
320 /bin/bash3
321 /bin/sh
322 %{_infodir}/bash.info*
323 %{_mandir}/man1/bash.1*
324 %{_mandir}/man1/rbash.1*
325 %{_mandir}/man1/builtins.1*
326 %{_mandir}/man1/bashbug.1*
327 %{_bindir}/bashbug
328
329 %files doc
330 %defattr(-,root,root)
331 %doc COMPAT NEWS NOTES POSIX CHANGES
332 %doc examples
333 %doc doc/*.ps doc/*.0 doc/*.html doc/article.txt

  ViewVC Help
Powered by ViewVC 1.1.30