5 Summary: The GNU Bourne Again shell
6 Url: http://www.gnu.org/software/bash
8 Source0: ftp://ftp.gnu.org/gnu/bash/%{name}-%{version}.tar.gz
11 Source1001: bash.manifest
12 BuildRequires: autoconf
18 The GNU Bourne Again shell (Bash) is a shell or command language
19 interpreter that is compatible with the Bourne shell (sh). Bash
20 incorporates useful features from the Korn shell (ksh) and the C shell
21 (csh). Most sh scripts can be run by bash without modification.
29 %configure --enable-largefile \
30 --without-bash-malloc \
36 # Recycles pids is neccessary. When bash's last fork's pid was X
37 # and new fork's pid is also X, bash has to wait for this same pid.
38 # Without Recycles pids bash will not wait.
39 make "CPPFLAGS=-D_GNU_SOURCE -DDEFAULT_PATH_VALUE='\"/usr/local/bin:/usr/bin\"' -DRECYCLES_PIDS `getconf LFS_CFLAGS`"
46 mkdir -p %{buildroot}/etc/bash_completion.d
48 #mkdir -p %{buildroot}/%{_bindir}
49 #mv %{buildroot}/bin/* %{buildroot}/%{_bindir}/
51 # make manpages for bash builtins as per suggestion in DOC/README
54 /^\.SH NAME/, /\\- bash built-in commands, see \\fBbash\\fR(1)$/{
57 s/\\- bash built-in commands, see \\fBbash\\fR(1)$//
62 ' builtins.1 > man.pages
63 for i in echo pwd test kill; do
64 perl -pi -e "s,$i,,g" man.pages
65 perl -pi -e "s, , ,g" man.pages
68 install -c -m 644 builtins.1 %{buildroot}%{_mandir}/man1/builtins.1
70 for i in `cat man.pages` ; do
71 echo .so man1/builtins.1 > %{buildroot}%{_mandir}/man1/$i.1
72 chmod 0644 %{buildroot}%{_mandir}/man1/$i.1
76 # Link bash man page to sh so that man sh works.
77 ln -s bash.1 %{buildroot}%{_mandir}/man1/sh.1
79 # Not for printf, true and false (conflict with coreutils)
80 rm -f %{buildroot}/%{_mandir}/man1/printf.1
81 rm -f %{buildroot}/%{_mandir}/man1/true.1
82 rm -f %{buildroot}/%{_mandir}/man1/false.1
85 ln -sf bash ./usr/bin/sh
86 rm -f .%{_infodir}/dir
88 mkdir -p %{buildroot}%{_sysconfdir}/skel
89 install -c -m644 %{SOURCE1} %{buildroot}%{_sysconfdir}/skel/.bashrc
90 install -c -m644 %{SOURCE2} %{buildroot}%{_sysconfdir}/skel/.bash_profile
91 LONG_BIT=$(getconf LONG_BIT)
92 mv %{buildroot}%{_bindir}/bashbug \
93 %{buildroot}%{_bindir}/bashbug-"${LONG_BIT}"
95 # Fix missing sh-bangs in example scripts (bug #225609).
97 examples/scripts/krand.bash \
98 examples/scripts/bcsh.sh \
99 examples/scripts/precedence \
100 examples/scripts/shprompt
102 cp "$script" "$script"-orig
103 echo '#!/bin/bash' > "$script"
104 cat "$script"-orig >> "$script"
108 rm -rf %{buildroot}%{_bindir}/bashbug-*
117 f = io.open("/etc/shells", "r");
120 f = io.open("/etc/shells", "w");
136 f = io.open("/etc/shells", "a");
139 f:write("/bin/bash\n")
148 if [ "$1" = 0 ]; then
149 /bin/grep -v '^/bin/bash$' < /etc/shells | \
150 /bin/grep -v '^/bin/sh$' > /etc/shells.new
151 /bin/mv /etc/shells.new /etc/shells
157 %manifest %{name}.manifest
162 %dir %{_sysconfdir}/bash_completion.d