]> git.pld-linux.org Git - packages/bash.git/blob - bash.spec
e181f8d57341930606ae45c4912fc9b7f4b606e1
[packages/bash.git] / bash.spec
1 #
2 # Conditional build:
3 %bcond_without  static          # don't build static version
4 %bcond_with     bash_history    # build with additional history in /var/log/bash_hist ;)
5 ##
6 Summary:        GNU Bourne Again Shell (bash)
7 Summary(fr):    Le shell Bourne Again de GNU
8 Summary(pl):    Pow³oka GNU Bourne Again Shell (bash)
9 Name:           bash
10 Version:        3.1
11 Release:        2%{?with_bash_history:inv}
12 License:        GPL
13 Group:          Applications/Shells
14 Source0:        ftp://ftp.gnu.org/pub/gnu/bash/%{name}-%{version}.tar.gz
15 # Source0-md5:  ef5304c4b22aaa5088972c792ed45d72
16 Source1:        %{name}rc
17 Source2:        %{name}-skel-.%{name}_logout
18 Source3:        %{name}-skel-.%{name}_profile
19 Source4:        %{name}-skel-.%{name}rc
20 Source5:        http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
21 # Source5-md5:  d2aacf89c4a444c5da648da69afdb01a
22 Patch0:         %{name}-paths.patch
23 Patch1:         %{name}-security.patch
24 Patch2:         %{name}-autoconf.patch
25 Patch3:         %{name}-info.patch
26 Patch4:         %{name}-profile.patch
27 Patch5:         %{name}-requires.patch
28 Patch6:         %{name}-compat.patch
29 Patch8:         %{name}-sighup.patch
30 Patch9:         %{name}-backup_history.patch
31 Patch10:        %{name}-pmake.patch
32 Patch11:        %{name}-act_like_sh.patch
33 URL:            http://www.gnu.org/software/bash/
34 BuildRequires:  autoconf
35 BuildRequires:  automake
36 BuildRequires:  bison
37 BuildRequires:  ncurses-devel >= 5.2
38 BuildRequires:  readline-devel >= 5.1
39 BuildRequires:  texinfo
40 %if %{with static}
41 # Require static library only for static build
42 BuildRequires:  glibc-static >= 2.2
43 BuildRequires:  ncurses-static >= 5.2
44 BuildRequires:  readline-static >= 5.1
45 %endif
46 Requires(post,preun):   grep
47 Requires(preun):        fileutils
48 Requires:       readline >= 5.1
49 Requires:       setup >= 2.4.6-2
50 Obsoletes:      bash-doc
51 Obsoletes:      bash2
52 Obsoletes:      bash2-doc
53 Obsoletes:      etcskel
54 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
55
56 %description
57 Bash is a GNU project sh-compatible shell or command language
58 interpreter. Bash (Bourne Again shell) incorporates useful features
59 from the Korn shell (ksh) and the C shell (csh). Most sh scripts can
60 be run by bash without modification. Bash offers several improvements
61 over sh, including command line editing, unlimited size command
62 history, job control, shell functions and aliases, indexed arrays of
63 unlimited size and integer arithmetic in any base from two to 64. Bash
64 is ultimately intended to conform to the IEEE POSIX P1003.2/ISO 9945.2
65 Shell and Tools standard. Bash is the default shell for Linux
66 Mandrake. You should install bash because of its popularity and power.
67 You'll probably end up using it.
68
69 %description -l es
70 Bash es un interpretador de comandos compatible con sh, que ejecuta
71 comandos leídos de la entrada padrón o de un archivo. Bash también
72 incorpora características útiles de las shells Korn y C (ksh y csh).
73 Bash ha sido desarrollado para ser una adición compatible con la
74 especificación IEEE Posix para shells y herramientas (IEEE Working
75 Group 1003.2).
76
77 %description -l de
78 Bash ist eine sh-kompatible Shell und Kommandosprache aus dem
79 GNU-Projekt. Bash (Bourne Again Shell) vereinigt die nützlichen
80 Features aus der Korn-Shell (ksh) und der C-Shell (csh). Die meisten
81 sh-Skripte laufen ohne Änderungen auf bash. Bash hat viele
82 Erweiterungen im Vergleich zur "normalen" sh, wie z.B.
83 Kommandozeilenbearbeitung, unbeschränkte Größe der command-history,
84 Job-Kontrolle, Shell-Funktionen und -Aliase, unbegrenzt große
85 indizierte Arrays und Integer-Arithmetik in einer Basis von 2 bis 64.
86 Hauptziel von bash ist es, den IEEE POSIX P1003.2/ISO 9945.2 Shell-
87 und Tools-Standard einzuhalten. Bash ist die Standard-Shell für Linux
88 Mandrake.
89
90 %description -l fr
91 Bash est un shell (interpréteur de commande) du projet GNU, compatible
92 avec le shell historique sh. Bash (Bourne Again SHell) comprend de
93 nombreuses fonctionnalités du Korn SHell (ksh) et du C SHell (csh). La
94 plupart des scripts sh sont exécutables sans modifications. Bash
95 comprend nombre d'améliorations par rapport à sh : édition de la ligne
96 de commande, historique illimité, contrôle des processus
97 d'arrière-plan, fonctions de shell, alias, tableaux indexés de taille
98 illimitée et calcul sur des entiers dans n'importe quelle base de 2 à
99 64. Bash est conforme au standard IEEE POSIX P1003.2/ISO 9945.2 Shell
100 and Tools. Bash est le shell par défaut de Mandrake. Vous devriez
101 l'installer du fait de sa puissance et de sa popularité. Vous finirez
102 probablement par l'utiliser.
103
104 %description -l pl
105 Bash (Bourne Again SHell) jest projektem GNU pow³oki kompatybilnej z
106 sh oraz interpretera jêzyka poleceñ. Posiada u¿yteczne w³a¶ciwo¶ci
107 pow³ok Korn (ksh) i C (csh). Wiêkszo¶æ skryptów sh mo¿e byæ
108 uruchamiana w bashu bez modyfikacji. Oferuje on kilka ulepszeñ w
109 stosunku do sh, w³±czaj±c edycjê linii poleceñ, nieograniczony rozmiar
110 historii poleceñ, funkcje i aliasy, indeksowane tablice
111 nieograniczonych rozmiarów oraz arytmetykê ca³kowitoliczbow± o
112 dowolnej podstawie od 2 do 64. W zamierzeniu ostatecznie ma byæ zgodny
113 ze standardem IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools.
114
115 %description -l pt_BR
116 Bash é um interpretador de comandos compatível com sh, que executa
117 comandos lidos da entrada padrão ou de um arquivo. Bash também
118 incorpora características úteis das shells Korn e C (ksh e csh). Bash
119 tem sido desenvolvido para ser uma implementação compatível com a
120 especificação IEEE Posix para shells e ferramentas (IEEE Working Group
121 1003.2).
122
123 %description -l ru
124 Bash - ÜÔÏ sh-ÓÏ×ÍÅÓÔÉÍÙÊ ÉÎÔÅÒÐÒÅÔÁÔÏÒ ËÏÍÁÎÄÎÏÇÏ ÑÚÙËÁ (shell),
125 ÉÓÐÏÌÎÑÀÝÉÊ ËÏÍÁÎÄÙ, ÐÏÓÔÕÐÁÀÝÉÅ ÓÏ ÓÔÁÎÄÁÒÔÎÏÇÏ ××ÏÄÁ ÉÌÉ ÉÚ ÆÁÊÌÁ.
126 Bash ×ËÌÀÞÁÅÔ ÐÏÌÅÚÎÙÅ ÒÁÓÛÉÒÅÎÉÑ ÉÚ ÉÎÔÅÒÐÒÅÔÁÔÏÒÏ× Korn É C shell
127 (ksh É csh).
128
129 Bash ÒÁÚÒÁÂÁÔÙ×ÁÅÔÓÑ ËÁË ÒÅÁÌÉÚÁÃÉÑ, ÏÔ×ÅÞÁÀÝÁÑ IEEE Posix Shell and
130 Tools specification (IEEE Working Group 1003.2).
131
132 %description -l tr
133 Bash standart giriþten ya da bir dosyadan komut okuyup çalýþtýran sh
134 uyumlu bir komut dili yorumlayýcýsýdýr. Ayný zamanda Korn ve C
135 kabuklarýnýn (ksh ve csh) kullanýþlý özelliklerini de kapsar. Bash,
136 IEEE Posix Kabuk ve Araç ayrýntýlarýna (IEEE Working Group 1003.2)
137 uyumlu bir uygulama olarak tasarlanmýþtýr.
138
139 %description -l uk
140 Bash - ÃÅ sh-ÓÕͦÓÔÎÉÊ ¦ÎÔÅÒÐÒÅÔÁÔÏÒ ËÏÍÁÎÄÎϧ ÍÏ×É (shell),
141 ×ÉËÏÎÕÀÞÉÊ ËÏÍÁÎÄÉ Ú¦ ÓÔÁÎÄÁÒÔÎÏÇÏ ××ÏÄÕ ÁÂÏ Ú ÆÁÊÌÁ. Bash Í¦ÓÔÉÔØ
142 ËÏÒÉÓÔΦ ÒÏÚÛÉÒÅÎÎÑ Ú ¦ÎÔÅÒÐÒÅÔÁÔÏҦנKorn ÔÁ C shell (ksh ÔÁ csh).
143
144 Bash ÒÏÚÒÏÂÌÑ×ÓÑ ÑË ÒÅÁ̦ÚÁæÑ, ÝϠצÄÐÏצÄÁ¤ IEEE Posix Shell and
145 Tools specification (IEEE Working Group 1003.2).
146
147 %package static
148 Summary:        Statically linked GNU Bourne Again Shell (bash)
149 Summary(pl):    Statycznie skonsolidowany GNU Bourne Again Shell (bash)
150 Group:          Applications/Shells
151 Requires(post,preun):   grep
152 Requires(preun):        fileutils
153 Requires:       %{name} = %{version}-%{release}
154
155 %description static
156 Bash is a GNU project sh-compatible shell or command language
157 interpreter. Bash (Bourne Again shell) incorporates useful features
158 from the Korn shell (ksh) and the C shell (csh). Most sh scripts can
159 be run by bash without modification. Bash offers several improvements
160 over sh, including command line editing, unlimited size command
161 history, job control, shell functions and aliases, indexed arrays of
162 unlimited size and integer arithmetic in any base from two to 64. Bash
163 is ultimately intended to conform to the IEEE POSIX P1003.2/ISO 9945.2
164 Shell and Tools standard. Bash is the default shell for Linux
165 Mandrake. You should install bash because of its popularity and power.
166 You'll probably end up using it. This package contains statically
167 linked version of bash.
168
169 %description static -l pl
170 Bash jest zaawansowan± pow³ok±, która wykonuje komendy czytane ze
171 standardowego wej¶cia (stdin) lub z pliku. Posiada w³a¶ciwo¶ci pow³ok
172 Korn i C (ksh i csh). Bash jest równie¿ zaimplementowany IEEE Posix
173 Shell oraz jest zgodny ze specyfikacj± - IEEE Working Group 1003.2. W
174 tym pakiecie jest wersja basha skonsolidowana statycznie.
175
176 %prep
177 %setup -q -a5
178 %patch0 -p1
179 %patch1 -p1
180 %patch2 -p1
181 %patch3 -p1
182 %patch4 -p1
183 %patch5 -p1
184 %patch6 -p1
185 %patch8 -p1
186 %{?with_bash_history:%patch9 -p1}
187 #%patch10 -p1   -- no longer needed?
188 %patch11 -p1
189
190 echo %{version} > _distribution
191 echo %{release} > _patchlevel
192
193 %build
194 %{__autoconf}
195 cp -f /usr/share/automake/config.* support
196 for mode in %{?with_static:static} shared; do
197 %configure \
198         --enable-alias \
199         --enable-help-builtin \
200         --enable-history \
201         --enable-job-control \
202         --enable-restricted \
203         --enable-readline \
204         --with-curses \
205         --enable-extended-glob \
206         --enable-dparen-arithmetic \
207         --without-bash-malloc \
208         `[ "$mode" = "static" ] && echo "--enable-static-link"` \
209         --with-installed-readline
210
211 %{__make} \
212         DEFS="-DHAVE_CONFIG_H -D_GNU_SOURCE"
213
214 [ "$mode" = "static" ] && mv -f bash bash.static || :
215 done
216
217 %install
218 rm -rf $RPM_BUILD_ROOT
219 install -d $RPM_BUILD_ROOT/{bin,etc/skel}
220 %{?with_bash_history:install -d $RPM_BUILD_ROOT/var/log/bash_hist}
221
222 %{__make} install \
223         DESTDIR=$RPM_BUILD_ROOT
224
225 mv -f $RPM_BUILD_ROOT%{_bindir}/bash $RPM_BUILD_ROOT/bin
226 %{?with_static:install bash.static $RPM_BUILD_ROOT/bin}
227
228 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/bashrc
229 echo .so bash.1 > $RPM_BUILD_ROOT%{_mandir}/man1/rbash.1
230
231 for d in es fr it ja ko nl pl ; do
232         install -d $RPM_BUILD_ROOT%{_mandir}/$d/man1
233         install man/$d/* $RPM_BUILD_ROOT%{_mandir}/$d/man1
234         echo .so bash.1 > $RPM_BUILD_ROOT%{_mandir}/$d/man1/rbash.1
235 done
236
237 ln -sf bash $RPM_BUILD_ROOT/bin/rbash
238
239 install %{SOURCE2} $RPM_BUILD_ROOT/etc/skel/.bash_logout
240 install %{SOURCE3} $RPM_BUILD_ROOT/etc/skel/.bash_profile
241 install %{SOURCE4} $RPM_BUILD_ROOT/etc/skel/.bashrc
242
243 %find_lang %{name}
244
245 %clean
246 rm -rf $RPM_BUILD_ROOT
247
248 %post
249 umask 022
250 if [ ! -f /etc/shells ]; then
251         echo "/bin/bash" > /etc/shells
252         echo "/bin/rbash" >> /etc/shells
253 else
254         if ! grep -q '^/bin/bash$' /etc/shells; then
255                 echo "/bin/bash" >> /etc/shells
256         fi
257         if ! grep -q '^/bin/rbash$' /etc/shells; then
258                 echo "/bin/rbash" >> /etc/shells
259         fi
260 fi
261
262 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
263
264 %preun
265 if [ "$1" = "0" ]; then
266         umask 022
267         grep -v /bin/bash /etc/shells | grep -v /bin/rbash > /etc/shells.new
268         mv -f /etc/shells.new /etc/shells
269 fi
270
271 %post static
272 umask 022
273 if [ ! -f /etc/shells ]; then
274         echo "/bin/bash.static" > /etc/shells
275 else
276         if ! grep -q '^/bin/bash.static$' /etc/shells; then
277                 echo "/bin/bash.static" >> /etc/shells
278         fi
279 fi
280
281 %preun static
282 if [ "$1" = "0" ]; then
283         umask 022
284         grep -v /bin/bash.static /etc/shells > /etc/shells.new
285         mv -f /etc/shells.new /etc/shells
286 fi
287
288 %postun
289 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
290
291 %files -f %{name}.lang
292 %defattr(644,root,root,755)
293 %doc CHANGES NEWS README doc/{FAQ,INTRO}
294
295 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bashrc
296 %config(noreplace,missingok) %verify(not md5 mtime size) /etc/skel/.bash_logout
297 %config(noreplace,missingok) %verify(not md5 mtime size) /etc/skel/.bash_profile
298 %config(noreplace,missingok) %verify(not md5 mtime size) /etc/skel/.bashrc
299
300 %attr(755,root,root) /bin/bash
301 %attr(755,root,root) /bin/rbash
302 %attr(755,root,root) %{_bindir}/bashbug
303
304 %{?with_bash_history:%attr(751,root,root) %dir /var/log/bash_hist}
305 %{_infodir}/bash.info*
306 %{_mandir}/man1/*
307 %lang(es) %{_mandir}/es/man1/*
308 %lang(fr) %{_mandir}/fr/man1/*
309 %lang(it) %{_mandir}/it/man1/*
310 %lang(ja) %{_mandir}/ja/man1/*
311 %lang(ko) %{_mandir}/ko/man1/*
312 %lang(nl) %{_mandir}/nl/man1/*
313 %lang(pl) %{_mandir}/pl/man1/*
314
315 %if %{with static}
316 %files static
317 %defattr(644,root,root,755)
318 %attr(755,root,root) /bin/bash.static
319 %endif
This page took 0.161928 seconds and 3 git commands to generate.