]> git.pld-linux.org Git - packages/bash.git/blob - bash.spec
- s/http/https/ in patchset source (no md5 digests for official patches
[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 %bcond_without  tests   # do not perform "make test"
6
7 %define         ver             4.3
8 %define         patchlevel      11
9 %define         rel             1
10 Summary:        GNU Bourne Again Shell (bash)
11 Summary(fr.UTF-8):      Le shell Bourne Again de GNU
12 Summary(pl.UTF-8):      Powłoka GNU Bourne Again Shell (bash)
13 Name:           bash
14 Version:        %{ver}%{?patchlevel:.%{patchlevel}}
15 Release:        %{rel}%{?with_bash_history:inv}
16 License:        GPL
17 Group:          Applications/Shells
18 Source0:        http://ftp.gnu.org/gnu/bash/%{name}-%{ver}.tar.gz
19 # Source0-md5:  81348932d5da294953e15d4814c74dd1
20 Source1:        %{name}rc
21 Source2:        %{name}-skel-.bash_logout
22 Source3:        %{name}-skel-.bash_profile
23 Source4:        %{name}-skel-.bashrc
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 Patch8:         %{name}-sighup.patch
34 Patch9:         %{name}-backup_history.patch
35 Patch10:        %{name}-act_like_sh.patch
36 Patch11:        %{name}-elinks_cont.patch
37 Patch12:        %{name}-pl.po-update.patch
38 %patchset_source -f https://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-%03g 1 %{patchlevel}
39 URL:            http://www.gnu.org/software/bash/
40 BuildRequires:  autoconf
41 BuildRequires:  automake
42 BuildRequires:  bison
43 BuildRequires:  ncurses-devel >= 5.2
44 BuildRequires:  readline-devel >= 6.3
45 BuildRequires:  rpmbuild(macros) >= 1.462
46 BuildRequires:  sed >= 4.0
47 BuildRequires:  texinfo
48 %if %{with static}
49 # Require static library only for static build
50 BuildRequires:  glibc-static >= 2.2
51 BuildRequires:  ncurses-static >= 5.2
52 BuildRequires:  readline-static >= 6.3
53 %endif
54 Requires:       readline >= 6.3
55 Requires:       setup >= 2.4.6-2
56 Obsoletes:      bash-doc
57 Obsoletes:      bash2
58 Obsoletes:      bash2-doc
59 Obsoletes:      etcskel
60 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
61
62 %description
63 Bash is a GNU project sh-compatible shell or command language
64 interpreter. Bash (Bourne Again shell) incorporates useful features
65 from the Korn shell (ksh) and the C shell (csh). Most sh scripts can
66 be run by bash without modification. Bash offers several improvements
67 over sh, including command line editing, unlimited size command
68 history, job control, shell functions and aliases, indexed arrays of
69 unlimited size and integer arithmetic in any base from two to 64. Bash
70 is ultimately intended to conform to the IEEE POSIX P1003.2/ISO 9945.2
71 Shell and Tools standard. Bash is the default shell for Linux
72 Mandrake. You should install bash because of its popularity and power.
73 You'll probably end up using it.
74
75 %description -l es.UTF-8
76 Bash es un interpretador de comandos compatible con sh, que ejecuta
77 comandos leídos de la entrada padrón o de un archivo. Bash también
78 incorpora características útiles de las shells Korn y C (ksh y csh).
79 Bash ha sido desarrollado para ser una adición compatible con la
80 especificación IEEE Posix para shells y herramientas (IEEE Working
81 Group 1003.2).
82
83 %description -l de.UTF-8
84 Bash ist eine sh-kompatible Shell und Kommandosprache aus dem
85 GNU-Projekt. Bash (Bourne Again Shell) vereinigt die nützlichen
86 Features aus der Korn-Shell (ksh) und der C-Shell (csh). Die meisten
87 sh-Skripte laufen ohne Änderungen auf bash. Bash hat viele
88 Erweiterungen im Vergleich zur "normalen" sh, wie z.B.
89 Kommandozeilenbearbeitung, unbeschränkte Größe der command-history,
90 Job-Kontrolle, Shell-Funktionen und -Aliase, unbegrenzt große
91 indizierte Arrays und Integer-Arithmetik in einer Basis von 2 bis 64.
92 Hauptziel von bash ist es, den IEEE POSIX P1003.2/ISO 9945.2 Shell-
93 und Tools-Standard einzuhalten. Bash ist die Standard-Shell für Linux
94 Mandrake.
95
96 %description -l fr.UTF-8
97 Bash est un shell (interpréteur de commande) du projet GNU, compatible
98 avec le shell historique sh. Bash (Bourne Again SHell) comprend de
99 nombreuses fonctionnalités du Korn SHell (ksh) et du C SHell (csh). La
100 plupart des scripts sh sont exécutables sans modifications. Bash
101 comprend nombre d'améliorations par rapport à sh : édition de la ligne
102 de commande, historique illimité, contrôle des processus
103 d'arrière-plan, fonctions de shell, alias, tableaux indexés de taille
104 illimitée et calcul sur des entiers dans n'importe quelle base de 2 à
105 64. Bash est conforme au standard IEEE POSIX P1003.2/ISO 9945.2 Shell
106 and Tools. Bash est le shell par défaut de Mandrake. Vous devriez
107 l'installer du fait de sa puissance et de sa popularité. Vous finirez
108 probablement par l'utiliser.
109
110 %description -l pl.UTF-8
111 Bash (Bourne Again SHell) jest projektem GNU powłoki kompatybilnej z
112 sh oraz interpretera języka poleceń. Posiada użyteczne właściwości
113 powłok Korn (ksh) i C (csh). Większość skryptów sh może być
114 uruchamiana w bashu bez modyfikacji. Oferuje on kilka ulepszeń w
115 stosunku do sh, włączając edycję linii poleceń, nieograniczony rozmiar
116 historii poleceń, funkcje i aliasy, indeksowane tablice
117 nieograniczonych rozmiarów oraz arytmetykę całkowitoliczbową o
118 dowolnej podstawie od 2 do 64. W zamierzeniu ostatecznie ma być zgodny
119 ze standardem IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools.
120
121 %description -l pt_BR.UTF-8
122 Bash é um interpretador de comandos compatível com sh, que executa
123 comandos lidos da entrada padrão ou de um arquivo. Bash também
124 incorpora características úteis das shells Korn e C (ksh e csh). Bash
125 tem sido desenvolvido para ser uma implementação compatível com a
126 especificação IEEE Posix para shells e ferramentas (IEEE Working Group
127 1003.2).
128
129 %description -l ru.UTF-8
130 Bash - это sh-совместимый интерпретатор командного языка (shell),
131 исполняющий команды, поступающие со стандартного ввода или из файла.
132 Bash включает полезные расширения из интерпретаторов Korn и C shell
133 (ksh и csh).
134
135 Bash разрабатывается как реализация, отвечающая IEEE Posix Shell and
136 Tools specification (IEEE Working Group 1003.2).
137
138 %description -l tr.UTF-8
139 Bash standart girişten ya da bir dosyadan komut okuyup çalıştıran sh
140 uyumlu bir komut dili yorumlayıcısıdır. Aynı zamanda Korn ve C
141 kabuklarının (ksh ve csh) kullanışlı özelliklerini de kapsar. Bash,
142 IEEE Posix Kabuk ve Araç ayrıntılarına (IEEE Working Group 1003.2)
143 uyumlu bir uygulama olarak tasarlanmıştır.
144
145 %description -l uk.UTF-8
146 Bash - це sh-сумістний інтерпретатор командної мови (shell),
147 виконуючий команди зі стандартного вводу або з файла. Bash містить
148 користні розширення з інтерпретаторів Korn та C shell (ksh та csh).
149
150 Bash розроблявся як реалізація, що відповідає IEEE Posix Shell and
151 Tools specification (IEEE Working Group 1003.2).
152
153 %package static
154 Summary:        Statically linked GNU Bourne Again Shell (bash)
155 Summary(pl.UTF-8):      Statycznie skonsolidowany GNU Bourne Again Shell (bash)
156 Group:          Applications/Shells
157 Requires:       %{name} = %{version}-%{release}
158
159 %description static
160 Bash is a GNU project sh-compatible shell or command language
161 interpreter. Bash (Bourne Again shell) incorporates useful features
162 from the Korn shell (ksh) and the C shell (csh). Most sh scripts can
163 be run by bash without modification. Bash offers several improvements
164 over sh, including command line editing, unlimited size command
165 history, job control, shell functions and aliases, indexed arrays of
166 unlimited size and integer arithmetic in any base from two to 64. Bash
167 is ultimately intended to conform to the IEEE POSIX P1003.2/ISO 9945.2
168 Shell and Tools standard. Bash is the default shell for Linux
169 Mandrake. You should install bash because of its popularity and power.
170 You'll probably end up using it. This package contains statically
171 linked version of bash.
172
173 %description static -l pl.UTF-8
174 Bash jest zaawansowaną powłoką, która wykonuje komendy czytane ze
175 standardowego wejścia (stdin) lub z pliku. Posiada właściwości powłok
176 Korn i C (ksh i csh). Bash jest również zaimplementowany IEEE Posix
177 Shell oraz jest zgodny ze specyfikacją - IEEE Working Group 1003.2. W
178 tym pakiecie jest wersja basha skonsolidowana statycznie.
179
180 %prep
181 %setup -q -n %{name}-%{ver} -a5
182 # official patches
183 %{?patchlevel:%patchset_patch 1 %{patchlevel}}
184 %patch0 -p1
185 %patch1 -p1
186 %patch2 -p1
187 %patch3 -p1
188 %patch4 -p1
189 %patch5 -p1
190 %patch6 -p1
191 %patch8 -p1
192 %{?with_bash_history:%patch9 -p1}
193 %patch10 -p1
194 %patch11 -p1
195 %patch12 -p1
196
197 %build
198 cp -f /usr/share/automake/config.* support
199 %{__autoconf}
200 for mode in %{?with_static:static} shared; do
201 %configure \
202         --enable-alias \
203         --enable-help-builtin \
204         --enable-history \
205         --enable-job-control \
206         --enable-restricted \
207         --enable-readline \
208         --with-curses \
209         --enable-extended-glob \
210         --enable-dparen-arithmetic \
211         --enable-separate-helpfiles \
212         --without-bash-malloc \
213         $([ "$mode" = "static" ] && echo "--enable-static-link") \
214         --with-installed-readline
215
216 %{__make} \
217         DEFS="-DHAVE_CONFIG_H -D_GNU_SOURCE"
218
219 [ "$mode" = "static" ] && mv -f bash bash.static
220 done
221
222 %{?with_tests:%{__make} tests}
223
224 %install
225 rm -rf $RPM_BUILD_ROOT
226 install -d $RPM_BUILD_ROOT{/bin,/etc/skel,%{_datadir}/%{name}}
227 %{?with_bash_history:install -d $RPM_BUILD_ROOT/var/log/bash_hist}
228
229 %{__make} install \
230         DESTDIR=$RPM_BUILD_ROOT
231
232 mv -f $RPM_BUILD_ROOT%{_bindir}/bash $RPM_BUILD_ROOT/bin
233 %{?with_static:install bash.static $RPM_BUILD_ROOT/bin}
234
235 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/bashrc
236 echo .so bash.1 > $RPM_BUILD_ROOT%{_mandir}/man1/rbash.1
237
238 for d in es fr it ja ko nl pl ; do
239         install -d $RPM_BUILD_ROOT%{_mandir}/$d/man1
240         install man/$d/* $RPM_BUILD_ROOT%{_mandir}/$d/man1
241         echo .so bash.1 > $RPM_BUILD_ROOT%{_mandir}/$d/man1/rbash.1
242 done
243
244 ln -sf bash $RPM_BUILD_ROOT/bin/rbash
245
246 install %{SOURCE2} $RPM_BUILD_ROOT/etc/skel/.bash_logout
247 install %{SOURCE3} $RPM_BUILD_ROOT/etc/skel/.bash_profile
248 install %{SOURCE4} $RPM_BUILD_ROOT/etc/skel/.bashrc
249 rm -f $RPM_BUILD_ROOT%{_infodir}/dir
250
251 # use our bugtracker, upstream will ignore reports from this anyway
252 rm -f $RPM_BUILD_ROOT%{_bindir}/bashbug
253
254 %find_lang %{name}
255
256 %clean
257 rm -rf $RPM_BUILD_ROOT
258
259 %post   -p <lua>
260 %lua_add_etc_shells /bin/bash /bin/rbash
261 os.execute("/usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1")
262
263 %preun  -p <lua>
264 if arg[2] == 0 then
265         %lua_remove_etc_shells /bin/bash /bin/rbash
266 end
267
268 %postun -p      /sbin/postshell
269 -/usr/sbin/fix-info-dir -c %{_infodir}
270
271 %post static -p <lua>
272 %lua_add_etc_shells /bin/bash.static
273
274 %preun static -p <lua>
275 if arg[2] == 0 then
276         %lua_remove_etc_shells /bin/bash.static
277 end
278
279 %files -f %{name}.lang
280 %defattr(644,root,root,755)
281 %doc CHANGES NEWS README doc/{FAQ,INTRO}
282
283 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bashrc
284 %config(noreplace,missingok) %verify(not md5 mtime size) /etc/skel/.bash_logout
285 %config(noreplace,missingok) %verify(not md5 mtime size) /etc/skel/.bash_profile
286 %config(noreplace,missingok) %verify(not md5 mtime size) /etc/skel/.bashrc
287
288 %attr(755,root,root) /bin/bash
289 %attr(755,root,root) /bin/rbash
290
291 %{?with_bash_history:%attr(1733,root,root) %dir /var/log/bash_hist}
292 %{_infodir}/bash.info*
293 %{_mandir}/man1/*
294 %lang(es) %{_mandir}/es/man1/*
295 %lang(fr) %{_mandir}/fr/man1/*
296 %lang(it) %{_mandir}/it/man1/*
297 %lang(ja) %{_mandir}/ja/man1/*
298 %lang(ko) %{_mandir}/ko/man1/*
299 %lang(nl) %{_mandir}/nl/man1/*
300 %lang(pl) %{_mandir}/pl/man1/*
301 %dir %{_datadir}/%{name}
302 %doc %{_datadir}/%{name}/*
303
304 %if %{with static}
305 %files static
306 %defattr(644,root,root,755)
307 %attr(755,root,root) /bin/bash.static
308 %endif
This page took 0.055587 seconds and 3 git commands to generate.