]>
Commit | Line | Data |
---|---|---|
79f30f85 | 1 | # |
03076a38 | 2 | # Conditional build: |
b5bc826d | 3 | %bcond_without tests # testsuite on build |
74217b8a | 4 | %bcond_without dirmngr # dirmngr packages build |
19e8899b | 5 | %bcond_without default_gpg # install as gpg/gpgv instead of gpg2/gpgv2 |
b5bc826d JB |
6 | %bcond_with gnutls # GnuTLS instead of NTBTLS |
7 | %bcond_with selinux # "SELinux hacks" | |
d54c94db | 8 | # |
f56b1d35 JB |
9 | Summary: GNU Privacy Guard - tool for secure communication and data storage - enhanced version |
10 | Summary(pl.UTF-8): GnuPG - narzędzie do bezpiecznej komunikacji i bezpiecznego przechowywania danych - wersja rozszerzona | |
c85d209c | 11 | Name: gnupg2 |
c5415c1e | 12 | Version: 2.2.7 |
aab2acb5 | 13 | Release: 2 |
71099ee5 | 14 | License: GPL v3+ |
b626fce0 | 15 | Group: Applications/File |
d47c18c2 | 16 | Source0: ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-%{version}.tar.bz2 |
c5415c1e | 17 | # Source0-md5: fc13424af7747a5dd6edb6086ec0cb2f |
b626fce0 | 18 | Source1: gnupg-agent.sh |
c85d209c | 19 | Patch0: %{name}-info.patch |
19e8899b | 20 | Patch1: %{name}-nogit.patch |
ea6e9952 | 21 | Patch2: %{name}-disable_tests.patch |
6f582fc9 | 22 | Patch3: %{name}-pl.po-update.patch |
491f1c67 | 23 | Patch4: %{name}-am.patch |
b626fce0 | 24 | URL: http://www.gnupg.org/ |
71099ee5 | 25 | BuildRequires: autoconf >= 2.61 |
cc42aea4 | 26 | BuildRequires: automake >= 1:1.14 |
b636b9b9 | 27 | BuildRequires: bzip2-devel |
da0f8718 | 28 | BuildRequires: curl-devel >= 7.10 |
169b8933 JB |
29 | BuildRequires: gettext-tools >= 0.17 |
30 | %{?with_gnutls:BuildRequires: gnutls-devel >= 3.0} | |
b3e6ee32 | 31 | BuildRequires: libassuan-devel >= 1:2.5.0 |
169b8933 JB |
32 | BuildRequires: libgcrypt-devel >= 1.7.0 |
33 | BuildRequires: libgpg-error-devel >= 1.24 | |
34 | BuildRequires: libksba-devel >= 1.3.4 | |
35 | BuildRequires: libusb-devel >= 1.0 | |
36 | BuildRequires: npth-devel >= 1.2 | |
37 | %{!?with_gnutls:BuildRequires: ntbtls-devel >= 0.1.0} | |
74217b8a | 38 | %{?with_dirmngr:BuildRequires: openldap-devel >= 2.4.6} |
169b8933 JB |
39 | BuildRequires: pkgconfig |
40 | BuildRequires: readline-devel | |
f197b41f | 41 | BuildRequires: rpmbuild(macros) >= 1.177 |
b626fce0 AM |
42 | BuildRequires: texinfo |
43 | BuildRequires: zlib-devel | |
c85d209c | 44 | Requires: gnupg2-common = %{version}-%{release} |
b5bc826d | 45 | Requires: sqlite3 >= 3.7 |
5516c085 JP |
46 | %if %{with default_gpg} |
47 | Obsoletes: gnupg < 2 | |
19e8899b AM |
48 | Obsoletes: gnupg-plugin-keys_curl < 2 |
49 | Obsoletes: gnupg-plugin-keys_hkp < 2 | |
5516c085 JP |
50 | Provides: gnupg = %{version}-%{release} |
51 | %endif | |
150f8795 | 52 | Suggests: gnupg-agent |
b626fce0 AM |
53 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
54 | ||
b5bc826d | 55 | %define pkglibexecdir %{_libexecdir}/gnupg2 |
b626fce0 AM |
56 | |
57 | %description | |
c85d209c AF |
58 | GnuPG is GNU's tool for secure communication and data storage. It can |
59 | be used to encrypt data and to create digital signatures. It includes | |
60 | an advanced key management facility and is compliant with the proposed | |
61 | OpenPGP Internet standard as described in RFC2440. | |
62 | ||
f56b1d35 | 63 | This is enhanced version. |
b626fce0 | 64 | |
0998c692 JR |
65 | %description -l pl.UTF-8 |
66 | GnuPG (GNU Privacy Guard) jest narzędziem do bezpiecznej komunikacji i | |
67 | bezpiecznego przechowywania danych. Może być używany do szyfrowania | |
68 | oraz podpisywania danych. Umożliwia zaawansowane zarządzanie kluczami | |
69 | i spełnia normy zdefiniowane w standardzie OpenPGP, który jest opisany | |
c85d209c AF |
70 | w RFC2440. |
71 | ||
f56b1d35 | 72 | To jest wersja rozszerzona. |
c85d209c AF |
73 | |
74 | %package common | |
75 | Summary: GnuPG - common files | |
4049c7b1 | 76 | Summary(pl.UTF-8): GnuPG - pliki wspólne |
c85d209c | 77 | Group: Applications/File |
5d1bd0e6 JB |
78 | Requires: libassuan >= 1:2.5.0 |
79 | Requires: libgcrypt >= 1.7.0 | |
80 | Requires: libgpg-error >= 1.24 | |
81 | Requires: libksba >= 1.3.4 | |
82 | Requires: npth >= 1.2 | |
83 | Obsoletes: gnupg2-plugin-keys_curl | |
84 | Obsoletes: gnupg2-plugin-keys_finger | |
85 | Obsoletes: gnupg2-plugin-keys_hkp | |
86 | Obsoletes: gnupg2-plugin-keys_kdns | |
87 | Obsoletes: gnupg2-plugin-keys_ldap | |
88 | Conflicts: gnupg < 1.4.18-2 | |
c85d209c AF |
89 | Conflicts: gnupg-agent < 1.9.14-2 |
90 | ||
91 | %description common | |
92 | Common files used by tools from GnuPG project. | |
93 | ||
0998c692 JR |
94 | %description common -l pl.UTF-8 |
95 | Pliki wspólne używane przez różne narzędzia z projektu GnuPG. | |
c85d209c | 96 | |
491f1c67 JR |
97 | %package plugin-keys_curl |
98 | Summary: GnuPG 2 plugin for allow talk to a HTTP/FTP keyserver | |
99 | Summary(pl.UTF-8): Wtyczka GnuPG 2 pozwalająca komunikować się z serwerem kluczy HTTP/FTP | |
100 | Group: Applications/File | |
101 | Requires: %{name}-common = %{version}-%{release} | |
102 | Requires: curl-libs >= 7.10 | |
103 | ||
104 | %description plugin-keys_curl | |
105 | GnuPG 2 plugin for allow talk to a HTTP(S)/FTP(S) keyserver. | |
106 | ||
107 | %description plugin-keys_curl -l pl.UTF-8 | |
108 | Wtyczka GnuPG 2 pozwalająca komunikować się z serwerem kluczy | |
109 | HTTP(S)/FTP(S). | |
110 | ||
111 | %package plugin-keys_finger | |
112 | Summary: GnuPG 2 plugin for allow talk to a FINGER keyserver | |
113 | Summary(pl.UTF-8): Wtyczka GnuPG 2 pozwalająca komunikować się z serwerem kluczy FINGER | |
114 | Group: Applications/File | |
115 | Requires: %{name}-common = %{version}-%{release} | |
116 | ||
117 | %description plugin-keys_finger | |
118 | GnuPG 2 plugin for allow talk to a FINGER keyserver. | |
119 | ||
120 | %description plugin-keys_finger -l pl.UTF-8 | |
121 | Wtyczka 2 GnuPG pozwalająca komunikować się z serwerem kluczy FINGER. | |
122 | ||
123 | %package plugin-keys_hkp | |
124 | Summary: GnuPG 2 plugin for allow talk to a HKP keyserver | |
125 | Summary(pl.UTF-8): Wtyczka GnuPG 2 pozwalająca komunikować się z serwerem kluczy HKP | |
126 | Group: Applications/File | |
127 | Requires: %{name}-common = %{version}-%{release} | |
128 | ||
129 | %description plugin-keys_hkp | |
130 | GnuPG 2 plugin for allow talk to a HKP keyserver. | |
131 | ||
132 | %description plugin-keys_hkp -l pl.UTF-8 | |
133 | Wtyczka GnuPG 2 pozwalająca komunikować się z serwerem kluczy HKP. | |
134 | ||
135 | %package plugin-keys_kdns | |
136 | Summary: GnuPG 2 plugin for allow talk to a KDNS keyserver | |
137 | Summary(pl.UTF-8): Wtyczka GnuPG 2 pozwalająca komunikować się z serwerem kluczy KDNS | |
138 | Group: Applications/File | |
139 | Requires: %{name}-common = %{version}-%{release} | |
140 | ||
141 | %description plugin-keys_kdns | |
142 | GnuPG 2 plugin for allow talk to a KDNS keyserver. | |
143 | ||
144 | %description plugin-keys_kdns -l pl.UTF-8 | |
145 | Wtyczka GnuPG 2 pozwalająca komunikować się z serwerem kluczy KDNS. | |
146 | ||
147 | %package plugin-keys_ldap | |
148 | Summary: GnuPG 2 plugin for allow talk to a LDAP keyserver | |
149 | Summary(pl.UTF-8): Wtyczka GnuPG 2 pozwalająca komunikować się z serwerem kluczy LDAP | |
150 | Group: Applications/File | |
151 | Requires: %{name}-common = %{version}-%{release} | |
152 | ||
153 | %description plugin-keys_ldap | |
154 | GnuPG 2 plugin for allow talk to a LDAP keyserver. | |
155 | ||
156 | %description plugin-keys_ldap -l pl.UTF-8 | |
157 | Wtyczka GnuPG 2 pozwalająca komunikować się z serwerem kluczy LDAP. | |
158 | ||
c85d209c AF |
159 | %package -n gnupg-agent |
160 | Summary: GnuPG extension - agent | |
4049c7b1 | 161 | Summary(pl.UTF-8): Rozszerzenie GnuPG - agent |
c85d209c | 162 | Group: Applications/File |
7b3cd4e7 | 163 | Requires: %{name}-common = %{version}-%{release} |
1dbb261a | 164 | Requires: pinentry >= 0.7.5-2 |
c85d209c AF |
165 | Obsoletes: newpg |
166 | ||
167 | %description -n gnupg-agent | |
168 | GnuPG extension - agent. | |
169 | ||
0998c692 | 170 | %description -n gnupg-agent -l pl.UTF-8 |
b626fce0 AM |
171 | Rozszerzenie GnuPG - agent. |
172 | ||
f197b41f | 173 | %package -n gnupg-agent-profile_d |
174 | Summary: gnupg-agent start script for text mode | |
4049c7b1 | 175 | Summary(pl.UTF-8): Skrypt startowy gnupg-agenta dla trybu tekstowego |
f197b41f | 176 | Group: Applications/File |
177 | Requires: gnupg-agent = %{version}-%{release} | |
178 | ||
179 | %description -n gnupg-agent-profile_d | |
180 | gnupg-agent start script for text mode. | |
181 | ||
0998c692 | 182 | %description -n gnupg-agent-profile_d -l pl.UTF-8 |
f197b41f | 183 | Skrypt startowy gnupg-agenta dla trybu tekstowego. |
184 | ||
185 | %package -n gnupg-agent-xinitrc | |
186 | Summary: gnupg-agent start script for X-Window mode | |
4049c7b1 | 187 | Summary(pl.UTF-8): Skrypt startowy gnupg-agenta dla trybu X-Window |
f197b41f | 188 | Group: Applications/File |
189 | Requires: gnupg-agent = %{version}-%{release} | |
190 | Requires: xinitrc | |
191 | ||
192 | %description -n gnupg-agent-xinitrc | |
193 | gnupg-agent start script for X-Window mode. | |
194 | ||
0998c692 | 195 | %description -n gnupg-agent-xinitrc -l pl.UTF-8 |
f197b41f | 196 | Skrypt startowy gnupg-agenta dla trybu X-Window. |
197 | ||
c85d209c AF |
198 | %package -n gnupg-smime |
199 | Summary: GnuPG extension - S/MIME support | |
4049c7b1 | 200 | Summary(pl.UTF-8): Rozszerzenie GnuPG - obsługa S/MIME |
c85d209c | 201 | Group: Applications/File |
7b3cd4e7 | 202 | Requires: %{name}-common = %{version}-%{release} |
c85d209c AF |
203 | Conflicts: gnupg-agent < 1.9.14-2 |
204 | ||
205 | %description -n gnupg-smime | |
206 | GnuPG extension - S/MIME support. | |
207 | ||
0998c692 JR |
208 | %description -n gnupg-smime -l pl.UTF-8 |
209 | Rozszerzenie GnuPG - obsługa S/MIME. | |
c85d209c | 210 | |
74217b8a JB |
211 | %package -n dirmngr |
212 | Summary: X509/LDAP certificate and revocation list client | |
213 | Summary(pl.UTF-8): Klient certyfikatów i list anulujących X509/LDAP | |
214 | Group: Applications | |
215 | Requires: %{name}-common = %{version}-%{release} | |
216 | ||
217 | %description -n dirmngr | |
218 | DirMngr is a client for managing and downloading certificate | |
219 | revocation lists (CRLs) for X509 certificates and for downloading the | |
220 | certificates themselves. DirMngr is usually invoked by gpgsm and in | |
221 | general not used directly. | |
222 | ||
223 | %description -n dirmngr -l pl.UTF-8 | |
224 | DirMngr to klient do zarządzania i pobierania list anulujących | |
225 | certyfikaty (CRLs - certificate revocation lists) dla certyfikatów | |
226 | X509 oraz do pobierania samych certyfikatów. DirMngr jest zwykle | |
227 | wywoływany przez gpgsm i nie używany bezpośrednio. | |
228 | ||
b626fce0 AM |
229 | %prep |
230 | %setup -q -n gnupg-%{version} | |
c85d209c | 231 | %patch0 -p1 |
491f1c67 | 232 | %patch1 -p1 |
19e8899b | 233 | |
ea6e9952 | 234 | %{!?with_tests:%patch2 -p1} |
491f1c67 JR |
235 | %patch3 -p1 |
236 | %patch4 -p1 | |
6f582fc9 JB |
237 | |
238 | %{__rm} po/stamp-po | |
b626fce0 AM |
239 | |
240 | %build | |
3d3dbf69 | 241 | %{__gettextize} |
491f1c67 | 242 | %{__aclocal} -I m4 -I gl/m4 |
3d3dbf69 JB |
243 | %{__autoconf} |
244 | %{__autoheader} | |
155bb60b | 245 | %{__automake} |
19e8899b AM |
246 | if (grep -q ^development_version=yes configure); then |
247 | echo "configure incorrectly rebuild with messed up development status and likely version and revision." >&2 | |
248 | echo "Consider fixing nogit.patch" >&2 | |
249 | exit 1 | |
250 | fi | |
251 | ||
b626fce0 | 252 | %configure \ |
b5bc826d | 253 | --libexecdir=%{pkglibexecdir} \ |
74217b8a | 254 | %{!?with_dirmngr:--disable-dirmngr} \ |
b5bc826d JB |
255 | --enable-g13 \ |
256 | %{!?with_default_gpg:--enable-gpg-is-gpg2} \ | |
169b8933 JB |
257 | %{?with_gnutls:--disable-ntbtls} \ |
258 | %{?with_selinux:--enable-selinux-support} \ | |
d47c18c2 | 259 | --enable-symcryptrun \ |
b5bc826d | 260 | --enable-wks-tools \ |
d47c18c2 | 261 | --with-capabilities \ |
1dbb261a | 262 | --with-pinentry-pgm=%{_bindir}/pinentry \ |
b626fce0 AM |
263 | --with-mailprog=/usr/lib/sendmail |
264 | ||
62f46a6b | 265 | %{__make} |
b626fce0 AM |
266 | |
267 | %install | |
268 | rm -rf $RPM_BUILD_ROOT | |
b626fce0 AM |
269 | |
270 | %{__make} install \ | |
c85d209c AF |
271 | DESTDIR=$RPM_BUILD_ROOT \ |
272 | pkglibdir=%{_libexecdir} | |
b626fce0 | 273 | |
f197b41f | 274 | install -D %{SOURCE1} $RPM_BUILD_ROOT/etc/profile.d/gnupg-agent.sh |
275 | install -D %{SOURCE1} $RPM_BUILD_ROOT/etc/X11/xinit/xinitrc.d/gnupg-agent.sh | |
c85d209c | 276 | |
74217b8a JB |
277 | %if %{without dirmngr} |
278 | %{__rm} $RPM_BUILD_ROOT%{_mandir}/{man1/dirmngr-client.1,man8/dirmngr.8} | |
279 | %endif | |
280 | ||
281 | %{__rm} -f $RPM_BUILD_ROOT%{_datadir}/info/dir | |
282 | ||
283 | # files useful for users packaged as %doc | |
284 | %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/gnupg | |
285 | ||
f1d02fc8 | 286 | %find_lang gnupg2 |
491f1c67 | 287 | rm -f $RPM_BUILD_ROOT%{_datadir}/info/dir |
b626fce0 AM |
288 | |
289 | %clean | |
290 | rm -rf $RPM_BUILD_ROOT | |
291 | ||
491f1c67 | 292 | %post -p /sbin/postshell |
4be7d664 | 293 | -/usr/sbin/fix-info-dir -c %{_infodir} |
b626fce0 | 294 | |
491f1c67 | 295 | %postun -p /sbin/postshell |
4be7d664 | 296 | -/usr/sbin/fix-info-dir -c %{_infodir} |
b626fce0 | 297 | |
f197b41f | 298 | %triggerpostun -n gnupg-agent -- gnupg-agent < 1.9.16-2 |
299 | %banner gnupg-agent-1.9.16-2 << EOF | |
300 | Scripts for starting gnupg-agent have been moved to separate | |
301 | subpackages: gnupg-agent-profile_d and gnupg-agent-xinitrc. | |
84ab814f | 302 | EOF |
f197b41f | 303 | |
84ab814f | 304 | %files |
b626fce0 | 305 | %defattr(644,root,root,755) |
b5bc826d JB |
306 | %if %{with default_gpg} |
307 | %attr(755,root,root) %{_bindir}/gpg | |
308 | %attr(755,root,root) %{_bindir}/gpgv | |
309 | %{_mandir}/man1/gpg.1* | |
310 | %{_mandir}/man1/gpgv.1* | |
311 | %else | |
c85d209c AF |
312 | %attr(755,root,root) %{_bindir}/gpg2 |
313 | %attr(755,root,root) %{_bindir}/gpgv2 | |
579ff0a0 JB |
314 | %{_mandir}/man1/gpg2.1* |
315 | %{_mandir}/man1/gpgv2.1* | |
b5bc826d | 316 | %endif |
c85d209c AF |
317 | |
318 | %files common -f gnupg2.lang | |
319 | %defattr(644,root,root,755) | |
491f1c67 | 320 | %doc AUTHORS ChangeLog ChangeLog-2011 NEWS README THANKS TODO |
df2f3764 | 321 | %attr(755,root,root) %{_bindir}/gpg-connect-agent |
a83b3e7b | 322 | %attr(755,root,root) %{_bindir}/gpgconf |
491f1c67 | 323 | %attr(755,root,root) %{_bindir}/gpgkey2ssh |
da4fafa6 | 324 | %attr(755,root,root) %{_bindir}/gpgparsemail |
579ff0a0 | 325 | %attr(755,root,root) %{_bindir}/kbxutil |
c85d209c AF |
326 | %attr(755,root,root) %{_bindir}/watchgnupg |
327 | %attr(755,root,root) %{_sbindir}/addgnupghome | |
21eea941 | 328 | %attr(755,root,root) %{_sbindir}/applygnupgdefaults |
b5bc826d JB |
329 | %attr(755,root,root) %{_sbindir}/g13-syshelp |
330 | %dir %{pkglibexecdir} | |
331 | ||
c85d209c | 332 | %{_datadir}/gnupg |
579ff0a0 JB |
333 | %{_mandir}/man1/gpg-connect-agent.1* |
334 | %{_mandir}/man1/gpgconf.1* | |
335 | %{_mandir}/man1/gpgparsemail.1* | |
99fb3cd8 | 336 | %{_mandir}/man1/gpgtar.1* |
579ff0a0 JB |
337 | %{_mandir}/man1/watchgnupg.1* |
338 | %{_mandir}/man8/addgnupghome.8* | |
21eea941 | 339 | %{_mandir}/man8/applygnupgdefaults.8* |
00461e0e | 340 | %{_infodir}/gnupg.info* |
c85d209c | 341 | |
491f1c67 JR |
342 | %files plugin-keys_curl |
343 | %defattr(644,root,root,755) | |
344 | %attr(755,root,root) %{_libexecdir}/gpg2keys_curl | |
345 | ||
346 | %files plugin-keys_finger | |
347 | %defattr(644,root,root,755) | |
348 | %attr(755,root,root) %{_libexecdir}/gpg2keys_finger | |
349 | ||
350 | %files plugin-keys_hkp | |
351 | %defattr(644,root,root,755) | |
352 | %attr(755,root,root) %{_libexecdir}/gpg2keys_hkp | |
353 | ||
354 | %files plugin-keys_kdns | |
355 | %defattr(644,root,root,755) | |
356 | %attr(755,root,root) %{_libexecdir}/gpg2keys_kdns | |
357 | ||
358 | %files plugin-keys_ldap | |
359 | %defattr(644,root,root,755) | |
360 | %attr(755,root,root) %{_libexecdir}/gpg2keys_ldap | |
361 | ||
c85d209c AF |
362 | %files -n gnupg-smime |
363 | %defattr(644,root,root,755) | |
b626fce0 | 364 | %attr(755,root,root) %{_bindir}/gpgsm |
491f1c67 | 365 | %attr(755,root,root) %{_bindir}/gpgsm-gencert.sh |
579ff0a0 | 366 | %{_mandir}/man1/gpgsm.1* |
491f1c67 | 367 | %{_mandir}/man1/gpgsm-gencert.sh.1* |
c85d209c AF |
368 | |
369 | %files -n gnupg-agent | |
370 | %defattr(644,root,root,755) | |
c85d209c | 371 | %attr(755,root,root) %{_bindir}/gpg-agent |
b5bc826d | 372 | %attr(755,root,root) %{_bindir}/gpg-wks-server |
d47c18c2 | 373 | %attr(755,root,root) %{_bindir}/symcryptrun |
b5bc826d JB |
374 | %attr(755,root,root) %{pkglibexecdir}/gpg-check-pattern |
375 | %attr(755,root,root) %{pkglibexecdir}/gpg-protect-tool | |
376 | %attr(755,root,root) %{pkglibexecdir}/gpg-preset-passphrase | |
377 | %attr(755,root,root) %{pkglibexecdir}/gpg-wks-client | |
378 | %attr(755,root,root) %{pkglibexecdir}/scdaemon | |
579ff0a0 JB |
379 | %{_mandir}/man1/gpg-agent.1* |
380 | %{_mandir}/man1/gpg-preset-passphrase.1* | |
b5bc826d JB |
381 | %{_mandir}/man1/gpg-wks-client.1* |
382 | %{_mandir}/man1/gpg-wks-server.1* | |
579ff0a0 | 383 | %{_mandir}/man1/scdaemon.1* |
d47c18c2 | 384 | %{_mandir}/man1/symcryptrun.1* |
f197b41f | 385 | |
386 | %files -n gnupg-agent-profile_d | |
387 | %defattr(644,root,root,755) | |
c85d209c | 388 | %attr(755,root,root) /etc/profile.d/gnupg-agent.sh |
f197b41f | 389 | |
390 | %files -n gnupg-agent-xinitrc | |
391 | %defattr(644,root,root,755) | |
392 | %attr(755,root,root) /etc/X11/xinit/xinitrc.d/gnupg-agent.sh | |
74217b8a JB |
393 | |
394 | %if %{with dirmngr} | |
395 | %files -n dirmngr | |
396 | %defattr(644,root,root,755) | |
397 | %attr(755,root,root) %{_bindir}/dirmngr | |
398 | %attr(755,root,root) %{_bindir}/dirmngr-client | |
399 | %attr(755,root,root) %{pkglibexecdir}/dirmngr_ldap | |
400 | %{_mandir}/man1/dirmngr-client.1* | |
401 | %{_mandir}/man8/dirmngr.8* | |
402 | %endif |