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