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