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