source: projects/specs/trunk/b/bash/bash-vl.spec @ 1751

Revision 1751, 14.1 KB checked in by daisuke, 14 years ago (diff)

bash: update to 4.1 patchlevel 007

Line 
1Summary:      The GNU Bourne Again shell (bash).
2Summary(ja):  GNU Bourne Again シェル (bash).
3
4Name:         bash
5Version:      4.1
6Release:      1%{?_dist_release}
7
8Group:        System Environment/Shells
9License:      GPLv2+
10
11Vendor:       Project Vine
12Distribution: Vine Linux
13
14Source0:      ftp://ftp.gnu.org/pub/gnu/bash/bash-%{version}.tar.gz
15#Source2:      ftp://ftp.gnu.org/pub/gnu/bash/bash-doc-%{version}.tar.gz
16Source6:      http://www.caliban.org/files/bash/bash-completion-20060301.tar.bz2
17Source10:     bashrc-vine
18
19# Official upstream patches
20Patch1: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.1-patches/bash41-001
21Patch2: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.1-patches/bash41-002
22Patch3: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.1-patches/bash41-003
23Patch4: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.1-patches/bash41-004
24Patch5: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.1-patches/bash41-005
25Patch6: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.1-patches/bash41-006
26Patch7: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.1-patches/bash41-007
27
28# Other patches
29Patch101: bash-2.02-security.patch
30Patch102: bash-2.03-paths.patch
31Patch103: bash-2.03-profile.patch
32Patch104: bash-2.05a-interpreter.patch
33Patch105: bash-2.05b-debuginfo.patch
34Patch106: bash-2.05b-manso.patch
35Patch107: bash-2.05b-pgrp_sync.patch
36Patch108: bash-2.05b-readline-oom.patch
37Patch109: bash-2.05b-xcc.patch
38Patch110: bash-3.2-audit.patch
39Patch112: bash-3.2-ssh_source_bash.patch
40Patch113: bash-bashbug.patch
41Patch115: bash-infotags.patch
42Patch116: bash-requires.patch
43Patch117: bash-setlocale.patch
44
45Obsoletes:    bash <= 1.14.7
46Obsoletes:    bash2
47Prefix:       %{_prefix}
48Buildroot:    %{_tmppath}/%{name}-%{version}-root
49BuildRequires: texinfo, bison, ncurses-devel, autoconf, gettext
50Requires(post): ncurses
51
52
53%description
54Bash is a GNU project sh-compatible shell or command language
55interpreter. Bash (Bourne Again shell) incorporates useful features
56from the Korn shell (ksh) and the C shell (csh). Most sh scripts
57can be run by bash without modification.
58
59Bash offers several improvements over sh, including command line
60editing, unlimited size command history, job control, shell
61functions and aliases, indexed arrays of unlimited size and
62integer arithmetic in any base from two to 64. Bash is ultimately
63intended to conform to the IEEE POSIX P1003.2/ISO 9945.2 Shell and
64Tools standard.
65
66
67%package doc
68Summary:  Documentation for the GNU Bourne Again shell (bash).
69Summary:  GNU Bourne Again シェル向けドキュメント
70Group:    Applications/Documentation
71Requires: %{name} = %{version}-%{release}
72
73Obsoletes: bash2-doc
74
75%description doc
76This is a separate documentation package for the GNU Bourne
77Again shell.
78
79
80%prep
81%setup -q
82# Official upstream patches
83%patch1 -p0 -b .001
84%patch2 -p0 -b .002
85%patch3 -p0 -b .003
86%patch4 -p0 -b .004
87%patch5 -p0 -b .005
88%patch6 -p0 -b .006
89%patch7 -p0 -b .007
90
91# Other patches
92%patch101 -p1 -b .security
93%patch102 -p1 -b .paths
94%patch103 -p1 -b .profile
95%patch104 -p1 -b .interpreter
96%patch105 -p1 -b .debuginfo
97%patch106 -p1 -b .manso
98%patch107 -p1 -b .pgrp_sync
99%patch108 -p1 -b .readline_oom
100%patch109 -p1 -b .xcc
101%patch110 -p1 -b .audit
102%patch112 -p1 -b .ssh_source_bash
103%patch113 -p1 -b .bashbug
104%patch115 -p1 -b .infotags
105%patch116 -p1 -b .requires
106%patch117 -p1 -b .setlocale
107
108echo %{version} > _distribution
109echo %{release} |sed 's/vl.*//' > _patchlevel
110
111
112%build
113%configure --with-bash-malloc=no
114make CPPFLAGS="-D_GNU_SOURCE -DRECYCLES_PIDS `getconf LFS_CFLAGS`"
115
116#%check
117#make check
118
119%install
120rm -rf %{buildroot}
121
122# Fix bug #83776
123perl -pi -e 's,bashref\.info,bash.info,' doc/bashref.info
124
125%makeinstall
126
127mkdir -p $RPM_BUILD_ROOT/bin
128pushd $RPM_BUILD_ROOT && mv usr/bin/bash bin/bash && popd
129pushd $RPM_BUILD_ROOT/bin && ln -s bash sh && popd
130pushd $RPM_BUILD_ROOT
131gzip -9nf .%{_infodir}/bash.info
132rm -f .%{_infodir}/dir
133popd
134
135ln -s bash.1 %{buildroot}%{_mandir}/man1/sh.1
136
137# make manpages for bash builtins as per suggestion in DOC/README
138pushd doc
139sed -e '
140/^\.SH NAME/, /\\- bash built-in commands, see \\fBbash\\fR(1)$/{
141/^\.SH NAME/d
142s/^bash, //
143s/\\- bash built-in commands, see \\fBbash\\fR(1)$//
144s/,//g
145b
146}
147d
148' builtins.1 > man.pages
149for i in echo pwd test kill; do
150  perl -pi -e "s,$i,,g" man.pages
151  perl -pi -e "s,  , ,g" man.pages
152done
153
154install -c -m 644 builtins.1 %{buildroot}%{_mandir}/man1/builtins.1
155
156for i in `cat man.pages` ; do
157  echo .so man1/builtins.1 > %{buildroot}%{_mandir}/man1/$i.1
158  chmod 0644 ${RPM_BUILD_ROOT}%{_mandir}/man1/$i.1
159done
160
161mkdir -p $RPM_BUILD_ROOT/etc/profile.d/
162install -m 644 %{SOURCE10} $RPM_BUILD_ROOT/etc/bashrc
163
164# Not for printf, false and true (conflict with coreutils)
165rm -f $RPM_BUILD_ROOT%{_mandir}/man1/printf.1
166rm -f $RPM_BUILD_ROOT/%{_mandir}/man1/true.1
167rm -f $RPM_BUILD_ROOT/%{_mandir}/man1/false.1
168
169popd
170
171%find_lang %{name}
172
173
174%clean
175rm -rf %{buildroot}
176
177# ***** bash doesn't use install-info. It's always listed in %{_infodir}/dir
178# to prevent prereq loops
179
180%post
181
182HASBASH=""
183HASSH=""
184
185if [ ! -f /etc/shells ]; then
186        > /etc/shells
187fi
188
189(while read line ; do
190        if [ $line = /bin/bash ]; then
191                HASBASH=1
192        elif [ $line = /bin/sh ]; then
193                HASSH=1
194        fi
195 done
196
197 if [ -z "$HASBASH" ]; then
198        echo "/bin/bash" >> /etc/shells
199 fi
200
201 if [ -z "$HASSH" ]; then
202        echo "/bin/sh" >> /etc/shells
203fi) < /etc/shells
204
205# remove obsolete /bin/bash entry from /etc/shells
206if [ -x /bin/grep ] ; then
207  if /bin/grep -q /bin/bash2 /etc/shells ; then
208      /bin/grep -v '^/bin/bash2$' < /etc/shells > /etc/shells.new
209      mv /etc/shells.new /etc/shells
210  fi
211fi
212
213
214%postun
215if [ "$1" = 0 ]; then
216    /bin/grep -v '^/bin/bash$' < /etc/shells | \
217        /bin/grep -v '^/bin/sh$' > /etc/shells.new
218    mv /etc/shells.new /etc/shells
219fi
220
221
222%files -f %{name}.lang
223%defattr(-,root,root)
224%doc CHANGES COPYING
225%doc examples
226%config(noreplace) /etc/bashrc
227/bin/bash
228/bin/sh
229%{_infodir}/bash.info*
230%{_mandir}/*/*
231%{_mandir}/*/..1*
232%{_bindir}/bashbug
233
234
235%files doc
236%defattr(-,root,root)
237%doc COMPAT NEWS NOTES POSIX RBASH
238%doc examples/bashdb/ examples/functions/ examples/misc/
239%doc examples/scripts.noah/ examples/scripts.v2/ examples/scripts/
240%doc examples/startup-files/ examples/complete/ examples/loadables/
241%doc doc/*.ps doc/*.0 doc/*.html doc/article.txt
242%doc doc/FAQ doc/INTRO doc/article.ms doc/README
243
244
245%changelog
246* Fri Sep 03 2010 Daisuke SUZUKI <daisuke@linux.or.jp> 4.1-1
247- update to 4.1 patch level 7
248
249* Fri Mar  5 2010 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 3.2-9
250- check if /bin/grep exists on %%post script
251
252* Fri Feb 12 2010 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 3.2-8
253- rebuilt with gcc-4.4.3-3 on ppc
254
255* Tue Feb  2 2010 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 3.2-7
256- rebuilt with new toolchain
257
258* Fri Dec  4 2009 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 3.2-6
259- revert changes on 3.2-5 (avoid a nasty dependency loop on bootstrapping)
260
261* Fri Dec  4 2009 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 3.2-5
262- add Requires(post): grep
263
264* Sat Oct 24 2009 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 3.2-4
265- remove obsolete /bin/bash2 entry from /etc/shells
266
267* Mon Apr 27 2009 Daisuke SUZUKI <daisuke@linux.or.jp> 3.2-3
268- add Requires(post): ncurses (should be added by find-requires..)
269
270* Mon Mar 29 2009 Daisuke SUZUKI <daisuke@linux.or.jp> 3.2-2
271- add upstream patch (from 040 to 048)
272- build against ncurses-devel (libtinfo)
273- spec in utf-8
274
275* Mon May 12 2008 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.2-1vl5
276- added upstream patch (from 026 to 039)
277- added Japanese summary
278- applied new versioning policy
279
280* Fri Jan 18 2008 Shu KONNO <owa@bg.wakwak.com> 3.2-0vl2
281- rebuilt with libtermcap-devel
282
283* Fri Oct 26 2007 Daisuke SUZUKI <daisuke@linux.or.jp> 3.2-0vl1
284- new upstream release
285- add upstream patch (from 001 to 025)
286- remove Provides: bash2
287
288* Wed May 09 2007 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 2.05b-0vl4
289- rebuilt with new toolchain
290
291* Mon Sep 11 2006 Kazutaka HARADA <kazutaka@dc4.so-net.ne.jp> 2.05b-0vl3
292- change doc Group to Applications/Documentation. <BTS:VineLinux:163>
293- quote CPPFLAGS to avoid configure error. <BTS:VineLinux:173>
294
295* Mon Jun 28 2004 NISHIMURA Daisuke <nishi@graco.c.u-tokyo.ac.jp> 2.05b-0vl2
296- Don't read /etc/profile.d/*.sh in /etc/bashrc; done in /etc/profile
297
298* Wed Mar 10 2004 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 2.05b-0vl1
299- update to 2.05b
300- rebuild with new toolchains
301- add make check
302- add %postun script based on Fedora development
303- README file moved doc package
304- update Patch5 and Patch8 from Fedora development
305- change Patch6
306- remove Patch2 and Patch100 (bash-2.05b supports multibyte string)
307- add Patch11--39 from Fedora development 2.05b-36
308  * Tim Waugh <twaugh@redhat.com>
309  - Fix parameter expansion in multibyte locales (bug #112657).
310  - Speed up UTF-8 command-line redrawing in the common case (bug #102353,
311    bug #110777).
312  - Apply upstream patches (bug #109269 among others).
313  - Fix bash.info (bug #83776).
314  - Add bash205b-007 patch to fix bug #106876.
315  - Avoid crashing on multibyte input when locale is set incorrectly
316    (bug #74266).
317  - LFS support (bug #103627).
318  - Fix completion display when multibyte or control characters are to be
319    shown (bug #90201).
320  - Fix a warning message (bug #79629).
321  - Don't build with AFS support (bug #86514).
322  - Don't explicitly strip binaries (bug #85995).
323  - Really fix bug #83331 for good.
324  - Fix builtins.1.
325  - Actually apply the patch (bug #83331).
326  - Fix history/UTF-8 bug (bug #83331).
327  - More tab-completion fixing (bug #72512).
328  - Force pgrp synchronization (bug #81653).
329  - Prevent prompt overwriting output (bug #74383).
330  - Fix '-rbash' (bug #78455).
331  - Add readline-init patch (bug #74925).
332  - Add the (4) patches from ftp.gnu.org (bug #75888, bug #72512).
333  - Ship '.' man page, which doesn't get picked up by glob.
334  - Locale shell variables fix (bug #74701).
335  * Elliot Lee <sopwith@redhat.com>
336  - (patch26) Don't call 'size' in makefile. Pointless, and interferes with
337    cross compiles.
338
339* Wed Oct  9 2002 NISHIMURA Daisuke <nishi@graco.c.u-tokyo.ac.jp> 2.05-0vl1
340- update to 2.05
341- add README.jpatch to %doc
342- remove patch4 (bash2): revert command name in man pages to "bash"
343  - fix perl command to remove man pages conflict with sh-utils
344- remove section of config.h.in from patch0 to prevent remake of configure
345- change patch9: define in config-top.h to avoid conflict with patch100
346- remove patches 7, 10 & 101
347
348* Mon Apr  8 2002 NISHIMURA Daisuke <nishi@graco.c.u-tokyo.ac.jp> 2.04-1vl14
349- made a link for man sh
350
351* Thu Nov 15 2001 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 2.04-1vl13
352- added missing %%post and %%triggerpostun section
353
354* Sun Jul 15 2001 MATSUBAYASHI 'Shaolin' Kohji <shaolin@vinelinux.org>
355- 2.04-1vl12
356- now bash2 is finally bash
357
358* Sun Jul 15 2001 Daisuke SUZUKI <daisuke@linux.or.jp> 2.04-1vl11
359- build for Playstation2
360
361* Mon Jun 11 2001 MATSUBAYASHI 'Shaolin' Kohji <shaolin@vinelinux.org>
362- 2.04-1vl10
363- Provides: bash = %%{version}
364
365* Thu Jun 07 2001 Satoshi MACHINO  <machino@vinelinux.org> 2.04-1vl9
366- added Provides: bash
367
368* Thu Jun 07 2001 Satoshi MACHINO  <machino@vinelinux.org> 2.04-1vl8
369- Obsoletes: bash
370- changed Copyright to License
371
372* Fri Dec 29 2000 Lisa Sagami <czs14350@mb.infoweb.ne.jp>
373- 2.04-1vl7
374- deleted: /etc/profile.d/alias.sh (which we have in /etc/skel/.bashrc)
375- corrected: bashrc-vine -> bashrc
376
377* Sat Dec 16 2000 Satoshi MACHINO  <machino@vinelinux.org> 2.04-1vl6
378- combined bash-1.x and bash-2.x packages
379- added some patches from bash-2.04-13mdk
380
381* Sun Dec 10 2000 Jun Nishii <jun@vinelinux.org> 2.04-1vl5
382- fix spec macros
383- added tests
384
385* Sun Nov 19 2000 Satoshi MACHINO <machino@vinelinux.org> 2.04-1vl5
386- build with gcc-2.95.3
387- partially used rpmmacros
388
389* Fri Sep  8 2000 Jun Nishii <jun@vinelinux.org>
390- minor bug fix in spec file
391
392* Sun Aug 27 2000 MATSUBAYASHI 'Shaolin' Kohji <shaolin@rhythmaning.org>
393- 2.04-1vl3
394- modified %install and %files section to handle compressed man page(s)
395
396* Thu Mar 23 2000 Yasuyuki Furukawa <furukawa@vinelinux.org>
397- added pcomplete patch to fix complete if the candidate list is NULL.
398
399* Wed Mar 22 2000 Yasuyuki Furukawa <furukawa@vinelinux.org>
400- updated to 2.04
401
402* Fri Sep 14 1999 Dale Lovelace <dale@redhat.com>
403- Remove annoying ^H's from documentation
404
405* Fri Jul 16 1999 Ken Estes <kestes@staff.mail.com>
406- patch to detect what executables are required by a script.
407
408* Sun Mar 21 1999 Cristian Gafton <gafton@redhat.com>
409- auto rebuild in the new build environment (release 4)
410
411* Fri Mar 19 1999 Jeff Johnson <jbj@redhat.com>
412- strip binaries.
413- include bash-doc correctly.
414
415* Thu Mar 18 1999 Preston Brown <pbrown@redhat.com>
416- fixed post/postun /etc/shells work.
417
418* Thu Mar 18 1999 Cristian Gafton <gafton@redhat.com>
419- updated again text in the spec file
420
421* Mon Feb 22 1999 Jeff Johnson <jbj@redhat.com>
422- updated text in spec file.
423- update to 2.03.
424
425* Fri Feb 12 1999 Cristian Gafton <gafton@redhat.com>
426- build it as bash2 instead of bash
427
428* Tue Feb  9 1999 Bill Nottingham <notting@redhat.com>
429- set 'NON_INTERACTIVE_LOGIN_SHELLS' so profile gets read
430
431* Thu Jan 14 1999 Jeff Johnson <jbj@redhat.com>
432- rename man pages in bash-doc to avoid packaging conflicts (#606).
433
434* Wed Dec 02 1998 Cristian Gafton <gafton@redhat.com>
435- patch for the arm
436- use $RPM_ARCH-redhat-linux as the build target
437
438* Tue Oct  6 1998 Bill Nottingham <notting@redhat.com>
439- rewrite %pre, axe %postun (to avoid prereq loops)
440
441* Wed Aug 19 1998 Jeff Johnson <jbj@redhat.com>
442- resurrect for RH 6.0.
443
444* Sun Jul 26 1998 Jeff Johnson <jbj@redhat.com>
445- update to 2.02.1
446
447* Thu Jun 11 1998 Jeff Johnson <jbj@redhat.com>
448- Package for 5.2.
449
450* Mon Apr 20 1998 Ian Macdonald <ianmacd@xs4all.nl>
451- added POSIX.NOTES doc file
452- some extraneous doc files removed
453- minor .spec file changes
454
455* Sun Apr 19 1998 Ian Macdonald <ianmacd@xs4all.nl>
456- upgraded to version 2.02
457- Alpha, MIPS & Sparc patches removed due to lack of test platforms
458- glibc & signal patches no longer required
459- added documentation subpackage (doc)
460
461* Fri Nov 07 1997 Donnie Barnes <djb@redhat.com>
462- added signal handling patch from Dean Gaudet <dgaudet@arctic.org> that
463  is based on a change made in bash 2.0.  Should fix some early exit
464  problems with suspends and fg.
465
466* Mon Oct 20 1997 Donnie Barnes <djb@redhat.com>
467- added %clean
468
469* Mon Oct 20 1997 Erik Troan <ewt@redhat.com>
470- added comment explaining why install-info isn't used
471- added mips patch
472
473* Fri Oct 17 1997 Donnie Barnes <djb@redhat.com>
474- added BuildRoot
475
476* Tue Jun 03 1997 Erik Troan <ewt@redhat.com>
477- built against glibc
Note: See TracBrowser for help on using the repository browser.