]>
Commit | Line | Data |
---|---|---|
1 | # TODO: | |
2 | # - separate spec for enigmail | |
3 | # - build with system mozldap | |
4 | # | |
5 | # Conditional builds | |
6 | %bcond_without enigmail # don't build enigmail - GPG/PGP support | |
7 | %bcond_without gnomeui # disable gnomeui support | |
8 | %bcond_without gnome # alias for gnomeui | |
9 | %bcond_without ldap # disable e-mail address lookups in LDAP directories | |
10 | %bcond_without lightning # disable Sunbird/Lightning calendar | |
11 | %bcond_with xulrunner # system xulrunner | |
12 | %bcond_with crashreporter # report crashes to crash-stats.mozilla.com | |
13 | ||
14 | %if %{without gnome} | |
15 | %undefine with_gnomeui | |
16 | %endif | |
17 | ||
18 | %if 0%{?_enable_debug_packages} != 1 | |
19 | %undefine crashreporter | |
20 | %endif | |
21 | ||
22 | %define enigmail_ver 1.5.1 | |
23 | %define nspr_ver 4.9.3 | |
24 | %define nss_ver 3.14.1 | |
25 | ||
26 | %define xulrunner_ver 2:17.0 | |
27 | ||
28 | %if %{without xulrunner} | |
29 | # The actual sqlite version (see RHBZ#480989): | |
30 | %define sqlite_build_version %(pkg-config --silence-errors --modversion sqlite3 2>/dev/null || echo ERROR) | |
31 | %endif | |
32 | ||
33 | Summary: Icedove - email client | |
34 | Summary(pl.UTF-8): Icedove - klient poczty | |
35 | Name: icedove | |
36 | Version: 17.0.8 | |
37 | Release: 2 | |
38 | License: MPL 1.1 or GPL v2+ or LGPL v2.1+ | |
39 | Group: X11/Applications/Mail | |
40 | Source0: http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/%{version}/source/thunderbird-%{version}.source.tar.bz2 | |
41 | # Source0-md5: e4aee8852e94e455930bf482aecdbcd4 | |
42 | Source1: http://www.mozilla-enigmail.org/download/source/enigmail-%{enigmail_ver}.tar.gz | |
43 | # Source1-md5: 3e71f84ed2c11471282412ebe4f5eb2d | |
44 | Source2: %{name}-branding.tar.bz2 | |
45 | # Source2-md5: 2da351522bdd7f4a3bd8aaff4c776976 | |
46 | Source3: %{name}-rm_nonfree.sh | |
47 | Source4: %{name}.desktop | |
48 | Source5: %{name}.sh | |
49 | Patch0: %{name}-branding.patch | |
50 | Patch1: %{name}-enigmail-shared.patch | |
51 | Patch3: %{name}-fonts.patch | |
52 | Patch4: %{name}-install.patch | |
53 | Patch5: %{name}-hunspell.patch | |
54 | Patch6: %{name}-prefs.patch | |
55 | Patch7: system-mozldap.patch | |
56 | Patch8: %{name}-makefile.patch | |
57 | Patch9: system-cairo.patch | |
58 | Patch10: %{name}-extensiondir.patch | |
59 | Patch11: crashreporter.patch | |
60 | Patch12: no-subshell.patch | |
61 | # Edit patch below and restore --system-site-packages when system virtualenv gets 1.7 upgrade | |
62 | Patch13: system-virtualenv.patch | |
63 | Patch14: gyp-slashism.patch | |
64 | URL: http://www.pld-linux.org/Packages/Icedove | |
65 | BuildRequires: GConf2-devel >= 1.2.1 | |
66 | BuildRequires: alsa-lib-devel | |
67 | BuildRequires: automake | |
68 | BuildRequires: bzip2-devel | |
69 | BuildRequires: cairo-devel >= 1.10 | |
70 | BuildRequires: dbus-glib-devel >= 0.60 | |
71 | BuildRequires: freetype-devel >= 1:2.1.8 | |
72 | BuildRequires: glib2-devel >= 2.0 | |
73 | BuildRequires: gtk+2-devel >= 2:2.10.0 | |
74 | BuildRequires: hunspell-devel | |
75 | BuildRequires: libIDL-devel >= 0.8.0 | |
76 | %{?with_gnomeui:BuildRequires: libgnome-devel >= 2.0} | |
77 | %{?with_gnomeui:BuildRequires: libgnome-keyring-devel} | |
78 | %{?with_gnomeui:BuildRequires: libgnomeui-devel >= 2.2.0} | |
79 | BuildRequires: libiw-devel | |
80 | # requires libjpeg-turbo implementing at least libjpeg 6b API | |
81 | BuildRequires: libjpeg-devel >= 6b | |
82 | BuildRequires: libjpeg-turbo-devel | |
83 | BuildRequires: libnotify-devel >= 0.4 | |
84 | BuildRequires: libpng-devel >= 1.4.1 | |
85 | BuildRequires: libstdc++-devel | |
86 | BuildRequires: nspr-devel >= 1:%{nspr_ver} | |
87 | BuildRequires: nss-devel >= 1:%{nss_ver} | |
88 | BuildRequires: pango-devel >= 1:1.14.0 | |
89 | BuildRequires: perl-base >= 1:5.6 | |
90 | BuildRequires: pkgconfig | |
91 | BuildRequires: python >= 1:2.5 | |
92 | BuildRequires: sed >= 4.0 | |
93 | BuildRequires: sqlite3-devel >= 3.7.4 | |
94 | BuildRequires: startup-notification-devel >= 0.8 | |
95 | BuildRequires: xorg-lib-libXext-devel | |
96 | BuildRequires: xorg-lib-libXinerama-devel | |
97 | BuildRequires: xorg-lib-libXt-devel | |
98 | BuildRequires: yasm | |
99 | BuildRequires: zip | |
100 | %if %{with xulrunner} | |
101 | BuildRequires: xulrunner-devel >= %{xulrunner_ver} | |
102 | BuildRequires: xulrunner-devel < 2:18 | |
103 | %else | |
104 | Requires: myspell-common | |
105 | Requires: nspr >= 1:%{nspr_ver} | |
106 | Requires: nss >= 1:%{nss_ver} | |
107 | Requires: sqlite3 >= %{sqlite_build_version} | |
108 | %endif | |
109 | Requires(post): mktemp >= 1.5-18 | |
110 | %if %{with xulrunner} | |
111 | %requires_eq_to xulrunner xulrunner-devel | |
112 | %endif | |
113 | Requires: libjpeg-turbo | |
114 | Obsoletes: mozilla-thunderbird | |
115 | Obsoletes: mozilla-thunderbird-dictionary-en-US | |
116 | Conflicts: icedove-lang-resources < %{version} | |
117 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
118 | ||
119 | %define filterout_cpp -D_FORTIFY_SOURCE=[0-9]+ | |
120 | ||
121 | # iceweasel/icedove/iceape provide their own versions | |
122 | %define _noautoprovfiles %{_libdir}/%{name}/components | |
123 | %if %{without xulrunner} | |
124 | # we don't want these to satisfy packages depending on xulrunner | |
125 | %define _noautoprov libmozalloc.so libxpcom.so libxul.so | |
126 | # and as we don't provide them, don't require either | |
127 | %define _noautoreq libmozalloc.so libxpcom.so libxul.so | |
128 | %endif | |
129 | ||
130 | %define topdir %{_builddir}/%{name}-%{version} | |
131 | %define objdir %{topdir}/obj-%{_target_cpu} | |
132 | ||
133 | %description | |
134 | Icedove is an open-source, fast and portable email client. | |
135 | ||
136 | %description -l pl.UTF-8 | |
137 | Icedove jest mającym otwarte źródła, szybkim i przenośnym klientem | |
138 | poczty. | |
139 | ||
140 | %package addon-lightning | |
141 | Summary: An integrated calendar for Icedove | |
142 | Summary(pl.UTF-8): Zintegrowany kalendarz dla Icedove | |
143 | License: MPL 1.1 or GPL v2+ or LGPL v2.1+ | |
144 | Group: Applications/Networking | |
145 | Requires: %{name} = %{version}-%{release} | |
146 | ||
147 | %description addon-lightning | |
148 | Lightning is an calendar extension to Icedove email client. | |
149 | ||
150 | %description addon-lightning -l pl.UTF-8 | |
151 | Lightning to rozszerzenie do klienta poczty Icedove dodające | |
152 | funkcjonalność kalendarza. | |
153 | ||
154 | %package addon-enigmail | |
155 | Summary: Extension for the authentication and encryption features provided by GnuPG | |
156 | Summary(pl.UTF-8): Rozszerzenie do uwierzytelniania i szyfrowania zapewnianego przez GnuPG | |
157 | License: MPL/LGPL | |
158 | Group: Applications/Networking | |
159 | URL: http://enigmail.mozdev.org/ | |
160 | Requires: %{name} = %{version}-%{release} | |
161 | Requires: gnupg | |
162 | Obsoletes: mozilla-thunderbird-addon-enigmail | |
163 | ||
164 | %description addon-enigmail | |
165 | Enigmail is an extension to the Icedove mail client which allows users | |
166 | to access the authentication and encryption features provided by | |
167 | GnuPG. | |
168 | ||
169 | Main Features: | |
170 | - Encrypt/sign mail when sending, decrypt/authenticate received mail | |
171 | - Support for inline-PGP (RFC 2440) and PGP/MIME (RFC 3156) | |
172 | - Per-Account based encryption and signing defaults | |
173 | - Per-Recipient rules for automated key selection, and | |
174 | enabling/disabling encryption and signing | |
175 | - OpenPGP key management interface | |
176 | ||
177 | %description addon-enigmail -l pl.UTF-8 | |
178 | Enigmail to rozszerzenie klienta pocztowego Icedove pozwalające | |
179 | użytkownikom na dostęp do uwierzytelniania i szyfrowania zapewnianego | |
180 | przez GnuPG. | |
181 | ||
182 | Główne możliwości: | |
183 | - szyfrowanie/podpisywanie poczty przy wysyłaniu, | |
184 | odszyfrowywanie/uwierzytelnianie poczty odebranej | |
185 | - obsługa inline-PGP (RFC 2440) i PGP/MIME (RFC 3156) | |
186 | - ustawienia domyślne szyfrowania i podpisywania dla każdego konta | |
187 | - reguły automatycznego wyboru kluczy i włączenia szyfrowania oraz | |
188 | podpisywania dla każdego adresata | |
189 | - interfejs do zarządzania kluczami OpenPGP | |
190 | ||
191 | %prep | |
192 | %setup -qc | |
193 | mv comm-esr17 mozilla | |
194 | %setup -q -T -D -a2 | |
195 | cd mozilla | |
196 | %{?with_enigmail:%{__gzip} -dc %{SOURCE1} | %{__tar} -xf - -C mailnews/extensions} | |
197 | /bin/sh %{SOURCE3} | |
198 | %patch0 -p1 | |
199 | %{?with_enigmail:%patch1 -p1} | |
200 | %patch3 -p1 | |
201 | %patch4 -p1 | |
202 | %patch6 -p1 | |
203 | %patch7 -p1 | |
204 | %patch8 -p2 | |
205 | %patch9 -p1 | |
206 | %patch10 -p2 | |
207 | %patch11 -p2 | |
208 | %patch12 -p1 | |
209 | %patch13 -p1 | |
210 | %patch14 -p1 | |
211 | ||
212 | %build | |
213 | cd mozilla | |
214 | cp -f %{_datadir}/automake/config.* mozilla/build/autoconf | |
215 | cp -f %{_datadir}/automake/config.* mozilla/nsprpub/build/autoconf | |
216 | cp -f %{_datadir}/automake/config.* ldap/sdks/c-sdk/config/autoconf | |
217 | ||
218 | cat << EOF > .mozconfig | |
219 | mk_add_options MOZ_OBJDIR=%{objdir} | |
220 | ||
221 | export CFLAGS="%{rpmcflags}" | |
222 | export CXXFLAGS="%{rpmcflags}" | |
223 | ||
224 | %if %{with crashreporter} | |
225 | export MOZ_DEBUG_SYMBOLS=1 | |
226 | %endif | |
227 | ||
228 | # Options for 'configure' (same as command-line options). | |
229 | ac_add_options --prefix=%{_prefix} | |
230 | ac_add_options --exec-prefix=%{_exec_prefix} | |
231 | ac_add_options --bindir=%{_bindir} | |
232 | ac_add_options --sbindir=%{_sbindir} | |
233 | ac_add_options --sysconfdir=%{_sysconfdir} | |
234 | ac_add_options --datadir=%{_datadir} | |
235 | ac_add_options --includedir=%{_includedir} | |
236 | ac_add_options --libdir=%{_libdir} | |
237 | ac_add_options --libexecdir=%{_libexecdir} | |
238 | ac_add_options --localstatedir=%{_localstatedir} | |
239 | ac_add_options --sharedstatedir=%{_sharedstatedir} | |
240 | ac_add_options --mandir=%{_mandir} | |
241 | ac_add_options --infodir=%{_infodir} | |
242 | %if %{?debug:1}0 | |
243 | ac_add_options --disable-optimize | |
244 | ac_add_options --enable-debug | |
245 | ac_add_options --enable-debug-modules | |
246 | ac_add_options --enable-debugger-info-modules | |
247 | ac_add_options --enable-crash-on-assert | |
248 | %else | |
249 | ac_add_options --disable-debug | |
250 | ac_add_options --disable-debug-modules | |
251 | ac_add_options --disable-logging | |
252 | ac_add_options --enable-optimize="%{rpmcflags} -Os" | |
253 | %endif | |
254 | ac_add_options --disable-strip | |
255 | ac_add_options --disable-strip-libs | |
256 | %if %{with tests} | |
257 | ac_add_options --enable-tests | |
258 | %else | |
259 | ac_add_options --disable-tests | |
260 | %endif | |
261 | ac_add_options --enable-gio | |
262 | %if %{with gnomeui} | |
263 | ac_add_options --enable-gnomeui | |
264 | %else | |
265 | ac_add_options --disable-gnomeui | |
266 | %endif | |
267 | ac_add_options --disable-gnomevfs | |
268 | %if %{with ldap} | |
269 | ac_add_options --enable-ldap | |
270 | ac_add_options --with-system-ldap | |
271 | %else | |
272 | ac_add_options --disable-ldap | |
273 | %endif | |
274 | %if %{with crashreporter} | |
275 | ac_add_options --enable-crashreporter | |
276 | %else | |
277 | ac_add_options --disable-crashreporter | |
278 | %endif | |
279 | ac_add_options --disable-xterm-updates | |
280 | ac_add_options --enable-postscript | |
281 | %if %{with lightning} | |
282 | ac_add_options --enable-calendar | |
283 | %else | |
284 | ac_add_options --disable-calendar | |
285 | %endif | |
286 | ac_add_options --disable-installer | |
287 | ac_add_options --disable-updater | |
288 | ac_add_options --disable-xprint | |
289 | ac_add_options --disable-permissions | |
290 | ac_add_options --disable-pref-extensions | |
291 | ac_add_options --enable-canvas | |
292 | ac_add_options --enable-crypto | |
293 | ac_add_options --enable-mathml | |
294 | ac_add_options --enable-pango | |
295 | ac_add_options --enable-reorder | |
296 | ac_add_options --enable-startup-notification | |
297 | ac_add_options --enable-svg | |
298 | ac_add_options --enable-system-cairo | |
299 | ac_add_options --enable-system-hunspell | |
300 | ac_add_options --enable-system-sqlite | |
301 | ac_add_options --enable-xft | |
302 | ac_add_options --enable-application=mail | |
303 | ac_add_options --enable-default-toolkit=cairo-gtk2 | |
304 | ac_add_options --enable-xinerama | |
305 | ac_add_options --with-distribution-id=org.pld-linux | |
306 | ac_add_options --with-branding=icedove/branding | |
307 | %if %{with xulrunner} | |
308 | ac_add_options --enable-shared-js | |
309 | ac_add_options --with-libxul-sdk=$(pkg-config --variable=sdkdir libxul) | |
310 | ac_add_options --with-system-libxul | |
311 | %endif | |
312 | ac_add_options --with-pthreads | |
313 | ac_add_options --with-system-bz2 | |
314 | ac_add_options --with-system-jpeg | |
315 | ac_add_options --with-system-nspr | |
316 | ac_add_options --with-system-nss | |
317 | ac_add_options --with-system-png | |
318 | ac_add_options --with-system-zlib | |
319 | ac_add_options --enable-single-profile | |
320 | ac_add_options --disable-profilesharing | |
321 | ac_add_options --with-default-mozilla-five-home=%{_libdir}/%{name} | |
322 | EOF | |
323 | ||
324 | %{__make} -j1 -f client.mk build \ | |
325 | STRIP="/bin/true" \ | |
326 | MOZ_MAKE_FLAGS="%{?_smp_mflags}" \ | |
327 | XLIBS="-lX11 -lXt" \ | |
328 | CC="%{__cc}" \ | |
329 | CXX="%{__cxx}" | |
330 | ||
331 | %if %{with crashreporter} | |
332 | # create debuginfo for crash-stats.mozilla.com | |
333 | %{__make} -j1 -C obj-%{_target_cpu} buildsymbols | |
334 | %endif | |
335 | ||
336 | %if %{with enigmail} | |
337 | cd mailnews/extensions/enigmail | |
338 | ./makemake -r -o %{objdir} | |
339 | %{__make} -C %{objdir}/mailnews/extensions/enigmail \ | |
340 | STRIP="/bin/true" \ | |
341 | CC="%{__cc}" \ | |
342 | CXX="%{__cxx}" | |
343 | ||
344 | %{__make} -C %{objdir}/mailnews/extensions/enigmail xpi \ | |
345 | STRIP="/bin/true" \ | |
346 | CC="%{__cc}" \ | |
347 | CXX="%{__cxx}" | |
348 | %endif | |
349 | ||
350 | %install | |
351 | rm -rf $RPM_BUILD_ROOT | |
352 | install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir}/%{name},%{_datadir}/%{name},%{_pixmapsdir},%{_desktopdir}} | |
353 | ||
354 | cd %{objdir} | |
355 | %{__make} -C mail/installer stage-package \ | |
356 | DESTDIR=$RPM_BUILD_ROOT \ | |
357 | MOZ_PKG_DIR=%{_libdir}/%{name} \ | |
358 | PKG_SKIP_STRIP=1 | |
359 | ||
360 | %if %{with xulrunner} | |
361 | # needed to find mozilla runtime | |
362 | ln -s ../xulrunner $RPM_BUILD_ROOT%{_libdir}/%{name}/xulrunner | |
363 | %endif | |
364 | ||
365 | # Enable crash reporter for Thunderbird application | |
366 | %if %{with crashreporter} | |
367 | %{__sed} -i -e 's/\[Crash Reporter\]/[Crash Reporter]\nEnabled=1/' $RPM_BUILD_ROOT%{_libdir}/%{name}/application.ini | |
368 | ||
369 | # Add debuginfo for crash-stats.mozilla.com | |
370 | install -d $RPM_BUILD_ROOT%{_exec_prefix}/lib/debug%{_libdir}/%{name} | |
371 | cp -a mozilla/dist/%{name}-%{version}.en-US.linux-*.crashreporter-symbols.zip $RPM_BUILD_ROOT%{_prefix}/lib/debug%{_libdir}/%{name} | |
372 | %endif | |
373 | ||
374 | # copy manually lightning files, somewhy they are not installed by make | |
375 | cp -a mozilla/dist/bin/extensions/calendar-timezones@mozilla.org \ | |
376 | mozilla/dist/bin/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103} \ | |
377 | $RPM_BUILD_ROOT%{_libdir}/%{name}/extensions | |
378 | ||
379 | # move arch independant ones to datadir | |
380 | mv $RPM_BUILD_ROOT%{_libdir}/%{name}/chrome $RPM_BUILD_ROOT%{_datadir}/%{name}/chrome | |
381 | mv $RPM_BUILD_ROOT%{_libdir}/%{name}/defaults $RPM_BUILD_ROOT%{_datadir}/%{name}/defaults | |
382 | mv $RPM_BUILD_ROOT%{_libdir}/%{name}/isp $RPM_BUILD_ROOT%{_datadir}/%{name}/isp | |
383 | mv $RPM_BUILD_ROOT%{_libdir}/%{name}/modules $RPM_BUILD_ROOT%{_datadir}/%{name}/modules | |
384 | mv $RPM_BUILD_ROOT%{_libdir}/%{name}/searchplugins $RPM_BUILD_ROOT%{_datadir}/%{name}/searchplugins | |
385 | ln -s ../../share/%{name}/chrome $RPM_BUILD_ROOT%{_libdir}/%{name}/chrome | |
386 | ln -s ../../share/%{name}/defaults $RPM_BUILD_ROOT%{_libdir}/%{name}/defaults | |
387 | ln -s ../../share/%{name}/isp $RPM_BUILD_ROOT%{_libdir}/%{name}/isp | |
388 | ln -s ../../share/%{name}/modules $RPM_BUILD_ROOT%{_libdir}/%{name}/modules | |
389 | ln -s ../../share/%{name}/searchplugins $RPM_BUILD_ROOT%{_libdir}/%{name}/searchplugins | |
390 | %if %{without xulrunner} | |
391 | mv $RPM_BUILD_ROOT%{_libdir}/%{name}/res $RPM_BUILD_ROOT%{_datadir}/%{name}/res | |
392 | ln -s ../../share/%{name}/res $RPM_BUILD_ROOT%{_libdir}/%{name}/res | |
393 | %endif | |
394 | ||
395 | # dir for arch independant extensions besides arch dependant extensions | |
396 | # see mozilla/xpcom/build/nsXULAppAPI.h | |
397 | # XRE_SYS_LOCAL_EXTENSION_PARENT_DIR and XRE_SYS_SHARE_EXTENSION_PARENT_DIR | |
398 | install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/extensions | |
399 | ||
400 | %if %{without xulrunner} | |
401 | %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{name}/dictionaries | |
402 | ln -s %{_datadir}/myspell $RPM_BUILD_ROOT%{_libdir}/%{name}/dictionaries | |
403 | %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{name}/hyphenation | |
404 | ln -s %{_datadir}/myspell $RPM_BUILD_ROOT%{_libdir}/%{name}/hyphenation | |
405 | %endif | |
406 | ||
407 | %{__sed} -e "s|%MOZAPPDIR%|%{_libdir}/%{name}|" \ | |
408 | -e "s|%MOZ_APP_DISPLAYNAME%|Icedove|" \ | |
409 | %{topdir}/mozilla/mozilla/build/unix/mozilla.in > $RPM_BUILD_ROOT%{_libdir}/%{name}/icedove | |
410 | ||
411 | %{__sed} -e 's,@LIBDIR@,%{_libdir},' %{SOURCE5} > $RPM_BUILD_ROOT%{_bindir}/icedove | |
412 | ln -s %{name} $RPM_BUILD_ROOT%{_bindir}/thunderbird | |
413 | ln -s %{name} $RPM_BUILD_ROOT%{_bindir}/mozilla-thunderbird | |
414 | ||
415 | cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_desktopdir}/%{name}.desktop | |
416 | cp -p %{topdir}/mozilla/icedove/branding/content/icon64.png $RPM_BUILD_ROOT%{_pixmapsdir}/%{name}.png | |
417 | ||
418 | # files created by regxpcom -register in post | |
419 | touch $RPM_BUILD_ROOT%{_libdir}/%{name}/components/compreg.dat | |
420 | touch $RPM_BUILD_ROOT%{_libdir}/%{name}/components/xpti.dat | |
421 | cat << 'EOF' > $RPM_BUILD_ROOT%{_libdir}/%{name}/register | |
422 | #!/bin/sh | |
423 | umask 022 | |
424 | # make temporary HOME, as it attempts to touch files in $HOME/.mozilla | |
425 | # dangerous if you run this with sudo with keep_env += HOME | |
426 | # also TMPDIR could be pointing to sudo user's homedir so we reset that too. | |
427 | t=$(mktemp -d) | |
428 | %{__rm} -f %{_libdir}/%{name}/components/{compreg,xpti}.dat | |
429 | TMPDIR= TMP= HOME=$t %{_libdir}/%{name}/icedove -register | |
430 | rm -rf $t | |
431 | EOF | |
432 | chmod a+rx $RPM_BUILD_ROOT%{_libdir}/%{name}/register | |
433 | ||
434 | %if %{with enigmail} | |
435 | ext_dir=$RPM_BUILD_ROOT%{_libdir}/%{name}/extensions/\{847b3a00-7ab1-11d4-8f02-006008948af5\} | |
436 | install -d $ext_dir/{chrome,components,defaults/preferences,modules} | |
437 | cd mozilla/dist/bin | |
438 | cp -rfLp chrome/enigmail.jar $ext_dir/chrome | |
439 | cp -rfLp components/enig* $ext_dir/components | |
440 | cp -rfLp components/libenigmime.so $ext_dir/components | |
441 | cp -rfLp defaults/preferences/enigmail.js $ext_dir/defaults/preferences | |
442 | cp -rfLp modules/{commonFuncs,enigmailCommon,keyManagement,pipeConsole,subprocess}.jsm $ext_dir/modules | |
443 | cp -rfLp modules/{subprocess_worker_unix,subprocess_worker_win}.js $ext_dir/modules | |
444 | cd - | |
445 | cp -p %{topdir}/mozilla/mailnews/extensions/enigmail/package/install.rdf $ext_dir | |
446 | cp -p %{topdir}/mozilla/mailnews/extensions/enigmail/package/chrome.manifest $ext_dir/chrome.manifest | |
447 | %endif | |
448 | ||
449 | # never package these. always remove | |
450 | # nss | |
451 | %{__rm} -f $RPM_BUILD_ROOT%{_libdir}/%{name}/lib{freebl3,nss3,nssckbi,nssdbm3,nssutil3,smime3,softokn3,ssl3}.* | |
452 | # nspr | |
453 | %{__rm} -f $RPM_BUILD_ROOT%{_libdir}/%{name}/lib{nspr4,plc4,plds4}.so | |
454 | # mozldap | |
455 | %{__rm} -f $RPM_BUILD_ROOT%{_libdir}/%{name}/lib{ldap,ldif,prldap,ssldap}60.so | |
456 | # testpilot quiz | |
457 | %{__rm} -f $RPM_BUILD_ROOT%{_libdir}/%{name}/distribution/extensions/tbtestpilot@labs.mozilla.com.xpi | |
458 | ||
459 | %clean | |
460 | rm -rf $RPM_BUILD_ROOT | |
461 | ||
462 | %pretrans | |
463 | if [ -d %{_libdir}/%{name}/dictionaries ] && [ ! -L %{_libdir}/%{name}/dictionaries ]; then | |
464 | mv -v %{_libdir}/%{name}/dictionaries{,.rpmsave} | |
465 | fi | |
466 | for d in chrome defaults icons isp modules res searchplugins; do | |
467 | if [ -d %{_libdir}/%{name}/$d ] && [ ! -L %{_libdir}/%{name}/$d ]; then | |
468 | install -d %{_datadir}/%{name} | |
469 | mv %{_libdir}/%{name}/$d %{_datadir}/%{name}/$d | |
470 | fi | |
471 | done | |
472 | exit 0 | |
473 | ||
474 | %post | |
475 | %{_libdir}/%{name}/register || : | |
476 | ||
477 | %files | |
478 | %defattr(644,root,root,755) | |
479 | %attr(755,root,root) %{_bindir}/icedove | |
480 | %attr(755,root,root) %{_bindir}/mozilla-thunderbird | |
481 | %attr(755,root,root) %{_bindir}/thunderbird | |
482 | %dir %{_libdir}/%{name} | |
483 | %{_libdir}/%{name}/application.ini | |
484 | %{_libdir}/%{name}/blocklist.xml | |
485 | %{_libdir}/%{name}/chrome.manifest | |
486 | %dir %{_libdir}/%{name}/components | |
487 | %{_libdir}/%{name}/components/*.js | |
488 | %{_libdir}/%{name}/components/*.xpt | |
489 | %{_libdir}/%{name}/components/components.manifest | |
490 | %{_libdir}/%{name}/components/interfaces.manifest | |
491 | %attr(755,root,root) %{_libdir}/%{name}/*.sh | |
492 | %attr(755,root,root) %{_libdir}/%{name}/*-bin | |
493 | %attr(755,root,root) %{_libdir}/%{name}/icedove | |
494 | %attr(755,root,root) %{_libdir}/%{name}/register | |
495 | %if %{without xulrunner} | |
496 | %{_libdir}/%{name}/dependentlibs.list | |
497 | %{_libdir}/%{name}/platform.ini | |
498 | %{_libdir}/%{name}/greprefs.js | |
499 | %attr(755,root,root) %{_libdir}/%{name}/components/*.so | |
500 | %attr(755,root,root) %{_libdir}/%{name}/libmozalloc.so | |
501 | %attr(755,root,root) %{_libdir}/%{name}/libxpcom.so | |
502 | %attr(755,root,root) %{_libdir}/%{name}/libxul.so | |
503 | %attr(755,root,root) %{_libdir}/%{name}/mozilla-xremote-client | |
504 | %attr(755,root,root) %{_libdir}/%{name}/plugin-container | |
505 | %endif | |
506 | ||
507 | # symlinks | |
508 | %{_libdir}/%{name}/chrome | |
509 | %{_libdir}/%{name}/defaults | |
510 | %{_libdir}/%{name}/isp | |
511 | %{_libdir}/%{name}/modules | |
512 | %{_libdir}/%{name}/searchplugins | |
513 | %if %{with xulrunner} | |
514 | %{_libdir}/%{name}/xulrunner | |
515 | %else | |
516 | %{_libdir}/%{name}/dictionaries | |
517 | %{_libdir}/%{name}/hyphenation | |
518 | %{_libdir}/%{name}/res | |
519 | %endif | |
520 | ||
521 | %{_pixmapsdir}/icedove.png | |
522 | %{_desktopdir}/icedove.desktop | |
523 | ||
524 | %dir %{_datadir}/%{name} | |
525 | %{_datadir}/%{name}/chrome | |
526 | %{_datadir}/%{name}/defaults | |
527 | %{_datadir}/%{name}/extensions | |
528 | %{_datadir}/%{name}/isp | |
529 | %{_datadir}/%{name}/modules | |
530 | %if %{with enigmail} | |
531 | %exclude %{_datadir}/%{name}/modules/commonFuncs.jsm | |
532 | %exclude %{_datadir}/%{name}/modules/enigmailCommon.jsm | |
533 | %exclude %{_datadir}/%{name}/modules/keyManagement.jsm | |
534 | %exclude %{_datadir}/%{name}/modules/pipeConsole.jsm | |
535 | %exclude %{_datadir}/%{name}/modules/subprocess.jsm | |
536 | %exclude %{_datadir}/%{name}/modules/subprocess_worker_unix.js | |
537 | %exclude %{_datadir}/%{name}/modules/subprocess_worker_win.js | |
538 | %endif | |
539 | %{_datadir}/%{name}/searchplugins | |
540 | %if %{without xulrunner} | |
541 | %{_datadir}/%{name}/res | |
542 | %endif | |
543 | ||
544 | %if %{with crashreporter} | |
545 | %attr(755,root,root) %{_libdir}/%{name}/crashreporter | |
546 | %{_libdir}/%{name}/crashreporter.ini | |
547 | %{_libdir}/%{name}/Throbber-small.gif | |
548 | %endif | |
549 | ||
550 | %dir %{_libdir}/%{name}/extensions | |
551 | %{_libdir}/%{name}/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd} | |
552 | ||
553 | # files created by regxpcom -register | |
554 | %ghost %{_libdir}/%{name}/components/compreg.dat | |
555 | %ghost %{_libdir}/%{name}/components/xpti.dat | |
556 | ||
557 | %if %{with lightning} | |
558 | %files addon-lightning | |
559 | %defattr(644,root,root,755) | |
560 | %dir %{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103} | |
561 | %{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/application.ini | |
562 | %{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome | |
563 | %{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome.manifest | |
564 | %{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/defaults | |
565 | %{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/install.rdf | |
566 | %dir %{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components | |
567 | %attr(755,root,root) %{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/*.so | |
568 | %{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/*.js | |
569 | %{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/*.manifest | |
570 | %{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/*.xpt | |
571 | %{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules | |
572 | %{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js | |
573 | %{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/timezones.sqlite | |
574 | %{_libdir}/%{name}/extensions/calendar-timezones@mozilla.org | |
575 | %endif | |
576 | ||
577 | %if %{with enigmail} | |
578 | %files addon-enigmail | |
579 | %defattr(644,root,root,755) | |
580 | %dir %{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5} | |
581 | %{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/defaults | |
582 | %{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/chrome | |
583 | %{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/chrome.manifest | |
584 | %{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/install.rdf | |
585 | %dir %{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/components | |
586 | %attr(755,root,root) %{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/components/*.so | |
587 | %{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/components/*.xpt | |
588 | %{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/components/*.js | |
589 | %dir %{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/modules | |
590 | %{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/modules/*.jsm | |
591 | %{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/modules/*.js | |
592 | %endif |