bash-vl.spec 14 KB

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