/[packages]/updates/1/mozilla-thunderbird/current/SPECS/mozilla-thunderbird.spec
ViewVC logotype

Contents of /updates/1/mozilla-thunderbird/current/SPECS/mozilla-thunderbird.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 61407 - (show annotations) (download)
Mon Feb 28 08:44:32 2011 UTC (13 years, 1 month ago) by dmorgan
Original Path: cauldron/mozilla-thunderbird/current/SPECS/mozilla-thunderbird.spec
File size: 26058 byte(s)
Remove remaining mdv macro
1 %define __libtoolize /bin/true
2 %define __cputoolize /bin/true
3
4 %define official_branding 1
5
6 #if %mandriva_branch == Cauldron
7 # Cauldron
8 %define release %mkrel 3
9 #%else
10 # Old distros
11 #define subrel 1
12 #define release %mkrel 0
13 #endif
14
15 %if %{official_branding}
16 %define title Mozilla Thunderbird
17 %else
18 %define title Mail/News
19 %endif
20
21 %define oname thunderbird
22 %define tb_appid \{3550f703-e582-4d05-9a08-453d09bdfdc6\}
23 %define tbdir %{_libdir}/%{oname}-%{version}
24 %define tbextdir %{_libdir}/mozilla/extensions/%{tb_appid}
25
26 %define xpi 0
27 %define enigmail_version 1.1.2
28 %define enigmail_short_version 1.1.2
29 %define enigmail_id \{847b3a00-7ab1-11d4-8f02-006008948af5\}
30
31 %define _provides_exceptions libgtkembedmoz.so\\|libxpcom.so
32 %define _requires_exceptions libgtkembedmoz.so\\|libxpcom.so
33
34 # FIXME: Bug in nsExtensionManager.js prevents using x86_64 as arch
35 # FIXME: I tried to modify nsExtensionManager.js.in, but it
36 # FIXME: complained that I had modified it
37 %ifarch %{ix86}
38 %define tbarch x86
39 %else # ix86
40 %ifarch x86_64
41 %define tbarch %{_arch}
42 %else # x86_64
43 %define tbarch %{_arch}
44 %endif # x86_64
45 %endif # ix86
46
47 # this seems fragile, so require the exact version or later (#58754)
48 %define sqlite3_version %(pkg-config --modversion sqlite3 &>/dev/null && pkg-config --modversion sqlite3 2>/dev/null || echo 0)
49 # this one as well (#59759)
50 %define nss_libname %mklibname nss 3
51 %define nss_version %(pkg-config --modversion nss &>/dev/null && pkg-config --modversion nss 2>/dev/null || echo 0)
52
53 Name: mozilla-thunderbird
54 Version: 3.1.7
55 Release: %{release}
56 Epoch: 0
57 Summary: Full-featured email, RSS, and newsgroup client
58 License: MPL
59 Group: Networking/Mail
60 URL: http://www.mozillamessaging.com/
61 Source0: http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/%{version}/source/thunderbird-%{version}.source.tar.bz2
62 Source1: http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/%{version}/source/thunderbird-%{version}.source.tar.bz2.asc
63 Source12: mozilla-thunderbird-mageia-default-prefs.js
64 Source30: mozilla-thunderbird-open-browser.sh
65 Source31: mozilla-thunderbird-open-browser-xdg.sh
66 # Mandriva sources (Source300+)
67 Source300: http://www.mozilla-enigmail.org/download/source/enigmail-%{enigmail_version}.tar.gz
68 Source301: http://www.mozilla-enigmail.org/download/source/enigmail-%{enigmail_version}.tar.gz.asc
69 Source302: %{name}-icons.tar.bz2
70 Source303: mozilla-thunderbird-unofficial.png
71 # Language package template
72 Source400: mozilla-thunderbird-enigmail-l10n-template.in
73 # Build patches
74 Patch2: mozilla-firefox-1.0-prdtoa.patch
75 Patch3: mozilla-thunderbird-2.0.0.19-fix-str-fmt.patch
76 Patch4: mozilla-thunderbird-3.1.7-enable-lightning.patch
77 # Debian patches (Patch200+)
78 Patch200: mozilla-thunderbird-gtk-settings.patch
79 Patch212: mozilla-thunderbird-enigmail-ui-content-contents-rdf.patch
80 Patch213: mozilla-thunderbird-enigmail-build-package-contents-rdf.patch
81 Patch215: mozilla-thunderbird-enigmail-visibility.patch
82 # Mandriva patches (Patch300+)
83 Patch300: mozilla-thunderbird-0.8-progname.patch
84 Patch301: mozilla-thunderbird-enigmail-package.patch
85 Patch302: mozilla-thunderbird-check-default-mailer.patch
86 Patch304: mozilla-thunderbird-run-mozilla.patch
87 Patch305: mozilla-thunderbird-2.0b1-x11libs.patch
88 Patch306: mozilla-thunderbird-run-mozilla-soundwrapper.patch
89 Patch307: mozilla-thunderbird-system-hunspell.patch
90 # Adds support for config file thunderbird.cfg
91 Patch310: thunderbird-2.0b2-configfile.patch
92 Patch334: mozilla-thunderbird-2.0.0.22-CVE-2009-XXXX.diff
93 Patch335: thunderbird-3.0rc1-format-not-a-string-literal.patch
94 Patch336: mozilla-thunderbird-CVE-2009-3560.diff
95 # OpenSuse patches (Patch400+)
96 Patch400: thunderbird-appname.patch
97 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
98 BuildRequires: autoconf2.1
99 BuildRequires: cairo-devel >= 1.8.8
100 Requires: %{mklibname sqlite3_ 0} >= %{sqlite3_version}
101 BuildRequires: libsqlite3-devel >= 3.6.22
102 Requires: %{nss_libname} >= 2:%{nss_version}
103 BuildRequires: gtk2-devel
104 BuildRequires: gzip
105 BuildRequires: python-devel
106 BuildRequires: libgnome2-devel
107 BuildRequires: libgnomeui2-devel
108 BuildRequires: libjpeg-devel
109 BuildRequires: libpng-devel >= 1.2.25-2
110 BuildRequires: nspr-devel >= 2:4.8.4
111 BuildRequires: nss-devel >= 2:3.12.6
112 BuildRequires: nss-static-devel
113 BuildRequires: unzip
114 BuildRequires: zip
115 BuildRequires: zlib-devel
116 BuildRequires: libIDL-devel
117 # Needed by xmlterm (not built) and unused enigmail scripts
118 #BuildRequires: tcsh
119 BuildRequires: freetype2-devel
120 BuildRequires: xft2-devel
121 BuildRequires: libxt-devel
122 BuildRequires: hunspell-devel
123 # fixes bug 46107
124 Requires(post): desktop-file-utils
125 Requires(postun): desktop-file-utils
126 Requires(post): mktemp
127 Requires(post): rpm-helper
128 Requires(postun): rpm-helper
129 # Integrates thunderbird with xdg-utils.
130 Requires: xdg-utils
131 %if %{official_branding}
132 BuildRequires: imagemagick
133 %endif
134 # Thunderbird 3 requires alsa
135 BuildRequires: libalsa-devel
136 BuildRequires: python
137 BuildRequires: libnotify-devel
138 BuildRequires: libiw-devel
139
140 %description
141 %{title} is a full-featured email, RSS and newsgroup client that
142 makes emailing safer, faster and easier than ever before.
143
144 #===============================================================================
145
146 %package enigmail
147 Summary: Access the authentication and encryption features provided by GnuPG
148 Group: Networking/Mail
149 Requires: %{name} = %{epoch}:%{version}
150 Obsoletes: %{name}-enigmime
151 Provides: %{name}-enigmime = %{epoch}:%{version}
152 Requires: gnupg
153 Requires(post): %{name} = %{epoch}:%{version}
154 Requires(preun): %{name} = %{epoch}:%{version}
155 Requires(post): mktemp
156 Requires(postun): mktemp
157 # Bug #35180
158 Suggests: pinentry-gtk
159
160 %description enigmail
161 Enigmail is an extension to the mail client of %{title}
162 which allows users to access the authentication and encryption
163 features provided by GnuPG.
164
165 Main Features
166
167 * Encrypt/sign mail when sending, decrypt/authenticate received
168 mail
169 * Support for inline-PGP (RFC 2440) and PGP/MIME (RFC 3156)
170 * Per-Account based encryption and signing defaults
171 * Per-Recipient rules for automated key selection, and
172 enabling/disabling encryption and signing
173 * OpenPGP key management interface
174
175 #===============================================================================
176
177 %package -n nsinstall
178 Summary: Netscape portable install command
179 Group: Development/Other
180
181 %description -n nsinstall
182 Netscape portable install command.
183
184 #===============================================================================
185 %package lightning
186 Summary: Calendar extension for Thunderbird
187 URL: http://www.mozilla.org/projects/calendar/lightning/
188 Requires: %{name} >= %{epoch}:%{version}
189
190 %description lightning
191 Calendar extension for Thunderbird.
192
193 #===============================================================================
194 # enigmail-l10n
195 # Supported l10n language lists
196 %define l10n_langlist ar ca cs de el es fi fr hu it ja ko nb nl pl pt pt_BR ru sl sv tr vi zh_CN zh_TW
197
198 # Disabled l10n languages, for any reason
199 # nl sk es_AR do not support 0.95.0 yet
200 #define disabled_l10n_langlist nl sk es_AR ro
201 %define disabled_l10n_langlist %{nil}
202
203 # Language descriptions
204 %define language_ar ar
205 %define langname_ar Arabic
206 %define language_ca ca
207 %define langname_ca Catalan
208 %define language_cs cs-CZ
209 %define langname_cs Czech
210 %define language_de de-DE
211 %define langname_de German
212 %define language_el el
213 %define langname_el Greek
214 %define language_es_AR es-AR
215 %define langname_es_AR Spanish (Argentina)
216 %define language_es es-ES
217 %define langname_es Spanish
218 %define language_fi fi-FI
219 %define langname_fi Finnish
220 %define language_fr fr-FR
221 %define langname_fr French
222 %define language_hu hu-HU
223 %define langname_hu Hungarian
224 %define language_it it-IT
225 %define langname_it Italian
226 %define language_ja ja-JP
227 %define langname_ja Japanese
228 %define language_ko ko-KR
229 %define langname_ko Korean
230 %define language_nb nb-NO
231 %define langname_nb Norwegian Bokmaal
232 %define langname_nl Dutch
233 %define language_nl nl-NL
234 %define language_pl pl-PL
235 %define langname_pl Polish
236 %define langname_pt Portuguese
237 %define language_pt pt-PT
238 %define language_pt_BR pt-BR
239 %define langname_pt_BR Brazilian portuguese
240 %define language_ro ro-RO
241 %define langname_ro Romanian
242 %define language_ru ru-RU
243 %define langname_ru Russian
244 %define language_sk sk-SK
245 %define langname_sk Slovak
246 %define language_sl sl-SI
247 %define langname_sl Slovenian
248 %define language_sv sv-SE
249 %define langname_sv Swedish
250 %define language_tr tr-TR
251 %define langname_tr Turkish
252 %define language_vi vi-VN
253 %define langname_vi Vietnamese
254 %define language_zh_CN zh-CN
255 %define langname_zh_CN Simplified Chinese
256 %define language_zh_TW zh-TW
257 %define langname_zh_TW Traditional Chinese
258
259 # --- Danger line ---
260
261 # All langs
262 %{expand:%%define langlist %(for lang in %l10n_langlist; do echo "$lang"; done | sort -u | sed ':a;$!N;s/\n/ /;ta')}
263
264 # Defaults (all languages enabled by default)
265 # l10n
266 %{expand:%(for lang in %l10n_langlist; do echo "%%define l10n_$lang 1"; done)}
267 %{expand:%(for lang in %disabled_l10n_langlist; do echo "%%define l10n_$lang 0"; done)}
268
269 # Params
270 %{expand:%(for lang in %langlist; do echo "%%bcond_without $lang"; done)}
271
272 # Locales
273 %{expand:%(for lang in %l10n_langlist; do echo "%%define locale_$lang `echo $lang | cut -d _ -f 1` "; done)}
274
275 # Expand all languages packages.
276 %{expand:%(\
277 for lang in %langlist; do\
278 echo "%%{expand:%%(sed "s!__LANG__!$lang!g" %{_sourcedir}/mozilla-thunderbird-enigmail-l10n-template.in 2> /dev/null)}";\
279 done\
280 )
281 }
282 #===============================================================================
283
284 %prep
285 %setup -q -c -n %{name}-%{version}
286
287 #===================
288 # Thunderbird itself
289 %setup -q -T -D -n %{name}-%{version}/comm-1.9.2
290
291 %patch2 -p0
292 %patch3 -p0
293 %patch4 -p0
294
295 %patch200 -p1
296
297 %patch300 -p0 -b .progname
298 %patch301 -p1 -b .enigmailpackage
299 %patch302 -p1 -b .check
300 %patch304 -p0 -b .run-mozilla
301 %patch305 -p1 -b .x11libs
302 %patch307 -p1 -b .system-hunspell
303
304 #%%if %{mdkversion} < 201000
305 #%%patch306 -p0 -b .run-mozilla-soundwrapper
306 #%%endif
307
308 %patch310 -p1
309
310 %patch334 -p0 -b .CVE-2009-XXXX
311 %patch335 -p1 -b .literal
312 %patch336 -p0 -b .CVE-2009-3560
313
314 %patch400 -p1 -b .appname
315
316 #===============================================================================
317 # Enigmail
318 %setup -q -T -D -n %{name}-%{version}/comm-1.9.2/mozilla/extensions -a300
319 %if 0
320 %patch212 -p2 -b .enigmail-ui-content-contents-rdf
321 %patch213 -p2 -b .enigmail-build-package-contents-rdf
322 %endif
323 %patch215 -p2 -b .enigmail-visibility
324
325 %if !%{official_branding}
326 %setup -q -T -D -n %{name}-%{version}/comm-1.9.2 -a302
327 %endif
328
329 %setup -q -T -D -n %{name}-%{version}/comm-1.9.2
330
331 #===============================================================================
332
333 %build
334 export BUILD_OFFICIAL=1
335 export MOZILLA_OFFICIAL=1
336
337 #(tpg) please see bug #32024
338 # from fedora: Pragma visibility is broken on most platforms for some reason.
339 # See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20297
340 export ac_cv_visibility_pragma=no
341
342 CFLAGS=$(echo %optflags | %{__sed} -e 's/-fexceptions//')
343 CFLAGS="$CFLAGS -fno-strict-aliasing"
344 CXXFLAGS="$CFLAGS"
345 RPM_OPT_FLAGS="$CFLAGS"
346 export CFLAGS
347 export CXXFLAGS
348 export RPM_OPT_FLAGS
349
350 autoconf-2.13
351 %configure2_5x \
352 --enable-application=mail \
353 --with-system-nspr \
354 --with-system-nss \
355 --with-system-jpeg \
356 --with-system-zlib \
357 --enable-system-png \
358 --with-pthreads \
359 --disable-tests \
360 --disable-debug \
361 --disable-installer \
362 --enable-xinerama \
363 --enable-default-toolkit=cairo-gtk2 \
364 --disable-xprint \
365 --disable-strip \
366 --enable-pango \
367 --enable-system-cairo \
368 --enable-svg \
369 --enable-canvas \
370 --enable-crypto \
371 --enable-extensions=default,inspector \
372 --enable-mathml \
373 --enable-system-hunspell \
374 --enable-calendar \
375 --disable-crashreporter \
376 --enable-static \
377 --disable-libxul \
378 --disable-dbus \
379 --enable-system-sqlite \
380 --enable-system-hunspell \
381 --enable-official-branding \
382 --with-distribution-id=org.mageia
383
384 # Fix ABI for thunderbird and enigmail
385 %{__perl} -pi -e 's|^TARGET_XPCOM_ABI =.*|TARGET_XPCOM_ABI = %{tbarch}-gcc3|' config/autoconf.mk
386 %{__perl} -pi -e 's|^ENIG_XPCOM_ABI =.*|ENIG_XPCOM_ABI = Linux_%{tbarch}-gcc3|' extensions/enigmail/Makefile
387
388 # Compress jars
389 %{__perl} -pi -e 's|\-0|\-9|g' config/make-jars.pl
390
391 %make
392
393 #===============================================================================
394
395 pushd mozilla/extensions/enigmail
396
397 for i in `find . -type f -name Makefile.in`; do
398 if [ -f $i.bak ]; then
399 cp $i.bak $i
400 else
401 %{__cp} $i $i.bak
402 fi
403 # %{__perl} -pi -e 's|^(DEPTH.*= )../|\1|;' $i
404 done
405
406 ./makemake -r
407 %{make} LOCAL_INCLUDES+="-I\$(DEPTH)/mailnews/mime/src -I../build -I../src -I../ipc/src"
408
409 (cd lang
410 %{__perl} -pi -e 's|es-AR/enigmail.properties|es-ES/enigmail.properties|' jar.mn
411 echo 'zh-TW' >> current-languages.txt
412 %{make} LOCAL_INCLUDES+="-I\$(DEPTH)/mailnews/mime/src -I../build -I../src -I../ipc/src"
413 for i in `cat current-languages.txt`; do
414 ./make-lang.sh $i %{enigmail_short_version}
415 done
416 )
417
418 %{make} xpi
419
420 popd
421
422 #===============================================================================
423
424 %install
425 %{__rm} -rf %{buildroot}
426 %{__mkdir_p} %{buildroot}{%{_libdir},%{_bindir},%{_datadir}/applications}
427 %{__mkdir_p} %buildroot%tbdir
428
429
430 rm -f extensions/spellcheck/locales/en-US/hunspell/en-US.{dic,aff}
431
432 make install DESTDIR=%{buildroot} -j ${NRPROC:-1}
433
434 rm -rf %buildroot%tbdir/dictionaries
435 ln -s /usr/share/dict/mozilla %buildroot%tbdir/dictionaries
436
437 ## Compatibility links for now. #29128
438 #ln -s %{_libdir}/%{oname}-%{version} \
439 # %{buildroot}%{_libdir}/mozilla-thunderbird-%{version}
440 #ln -s %{_bindir}/%{oname}-config \
441 # %{buildroot}%{_bindir}/mozilla-thunderbird-config
442
443 %if %{official_branding}
444 %{__install} -p -D %{buildroot}/%{tbdir}/chrome/icons/default/default256.png %{buildroot}%{_datadir}/pixmaps/%{name}.png
445 %else
446 %{__install} -p -D %{SOURCE302} %{buildroot}%{_datadir}/pixmaps/%{name}.png
447 %endif
448
449 cat << EOF > %{buildroot}/%{_datadir}/applications/%_real_vendor-%{name}.desktop
450 [Desktop Entry]
451 Version=1.0
452 Name=%{title}
453 GenericName=Mail/News
454 Comment=Mail and News Client
455 Exec=%{name}
456 Icon=mozilla-thunderbird
457 Terminal=false
458 Type=Application
459 StartupWMClass=Thunderbird-bin
460 Categories=GTK;Network;News;Email;X-MandrivaLinux-CrossDesktop;
461 EOF
462
463 # set up the thunderbird start script
464 (cd %{buildroot}%{_bindir} && %{__ln_s} thunderbird %{name})
465
466 %{__perl} -pi -e 's|^moz_libdir=.*|moz_libdir=%{tbdir}|' %{buildroot}/%{_bindir}/thunderbird
467 %{__perl} -pi -e 's|^MRE_HOME=.*|MRE_HOME=%{tbdir}|' %{buildroot}/%{_bindir}/thunderbird
468
469 # <mrl> 200800 is safe here.
470 # For backwards compatibility with old profiles. Bug #37528
471 %{__install} -m 755 %{SOURCE31} %{buildroot}/%{tbdir}/open-browser.sh
472 # For new profiles
473 %define COMMAND /usr/bin/xdg-open
474
475 %{__cat} %{SOURCE12} | %{__perl} -p -e 's,THUNDERBIRD_RPM_VR,%{version}-%{release},g;' \
476 -e 's,THUNDERBIRD_VENDOR_COMMENT,%{mandriva_release},g;' \
477 -e 's,COMMAND,%{COMMAND},g' \
478 > %{buildroot}/mga-default-prefs
479 %{__cp} -a %{buildroot}/mga-default-prefs %{buildroot}/%{tbdir}/greprefs/all-mandriva.js
480 %{__cp} -a %{buildroot}/mga-default-prefs %{buildroot}/%{tbdir}/defaults/pref/all-mandriva.js
481 %{__rm} -f %{buildroot}/mga-default-prefs
482
483 #===============================================================================
484
485 # icons
486 %{__mkdir_p} %{buildroot}{%{_liconsdir},%{_iconsdir},%{_miconsdir}}
487 %if %{official_branding}
488 %{__mkdir_p} %{buildroot}%{_datadir}/icons/hicolor/{16x16,22x22,24x24,32x32,48x48,256x256}/apps
489 %{__install} -m 644 %{buildroot}/%{tbdir}/chrome/icons/default/default48.png %{buildroot}%{_liconsdir}/%{name}.png
490 %{__install} -m 644 %{buildroot}/%{tbdir}/chrome/icons/default/default32.png %{buildroot}%{_iconsdir}/%{name}.png
491 %{__install} -m 644 %{buildroot}/%{tbdir}/chrome/icons/default/default16.png %{buildroot}%{_miconsdir}/%{name}.png
492 %{__install} -m 644 %{buildroot}/%{tbdir}/chrome/icons/default/default16.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/%{name}.png
493 %{__install} -m 644 %{buildroot}/%{tbdir}/chrome/icons/default/default22.png %{buildroot}%{_datadir}/icons/hicolor/22x22/apps/%{name}.png
494 %{__install} -m 644 %{buildroot}/%{tbdir}/chrome/icons/default/default24.png %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/%{name}.png
495 %{__install} -m 644 %{buildroot}/%{tbdir}/chrome/icons/default/default32.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/%{name}.png
496 %{__install} -m 644 %{buildroot}/%{tbdir}/chrome/icons/default/default48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/%{name}.png
497 %{__install} -m 644 %{buildroot}/%{tbdir}/chrome/icons/default/default256.png %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/%{name}.png
498 %else
499 %{__mkdir_p} %{buildroot}%{_datadir}/icons/hicolor/{64x64,128x128}/apps
500 %{__install} -m 644 %{name}-48.png %{buildroot}%{_liconsdir}/%{name}.png
501 %{__install} -m 644 %{name}-32.png %{buildroot}%{_iconsdir}/%{name}.png
502 %{__install} -m 644 %{name}-16.png %{buildroot}%{_miconsdir}/%{name}.png
503 # Converting up, but not a big issue now that we have official branding
504 %{_bindir}/convert %{name}-48.png -resize 128x128 %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/%{name}.png
505 %{_bindir}/convert %{name}-48.png -resize 64x64 %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/%{name}.png
506 %endif
507
508 #===============================================================================
509
510 #pushd dist
511 #%{__mkdir_p} %{buildroot}%{_includedir}/%{oname}-%{version}
512 #%{__cp} -aL include/* %{buildroot}%{_includedir}/%{oname}-%{version}
513 #%{__mkdir_p} %{buildroot}%{_datadir}/idl/%{oname}-%{version}
514 #%{__cp} -aL idl/* %{buildroot}%{_datadir}/idl/%{oname}-%{version}
515 #popd
516
517 #pushd dist/sdk
518 #%{__mkdir_p} %{buildroot}%{_libdir}/%{oname}-%{version}
519 #%{__cp} -aL bin/* %{buildroot}%{_libdir}/%{oname}-%{version}
520 #%{__mkdir_p} %{buildroot}%{_includedir}/%{oname}-%{version}
521 #%{__cp} -aL include/* %{buildroot}%{_includedir}/%{oname}-%{version}
522 #%{__mkdir_p} %{buildroot}%{_datadir}/idl/%{oname}-%{version}
523 #%{__cp} -aL idl/* %{buildroot}%{_datadir}/idl/%{oname}-%{version}
524 #popd
525
526 #===============================================================================
527
528 %{__mkdir_p} %{buildroot}%{tbextdir}/%{enigmail_id}
529 %if !%{xpi}
530 %{_bindir}/unzip -q mozilla/dist/bin/enigmail-%{enigmail_short_version}-linux-*.xpi -d %{buildroot}%{tbextdir}/%{enigmail_id}
531 %{__chmod} 644 %{buildroot}%{tbextdir}/%{enigmail_id}/chrome.manifest
532 %else
533 %{__cp} -aL mozilla/dist/bin/enigmail-%{enigmail_short_version}-linux-*.xpi %{buildroot}%{tbextdir}/%{enigmail_id}/%{enigmail_id}.xpi
534 %endif
535
536 #==============================================================================
537 #enigmail lang package
538 # Convert rpm macros to bash variables
539 %{expand:%(for lang in %langlist; do echo "language_$lang=%%{language_$lang}"; done)}
540 %{expand:%(for lang in %langlist; do echo "with_$lang=%%{with $lang}"; done)}
541 %{expand:%(for lang in %l10n_langlist; do echo "l10n_$lang=%%{l10n_$lang}"; done)}
542 pushd mozilla/extensions/enigmail/lang
543 for lang in %langlist; do
544 %{__mkdir_p} %{buildroot}%{_datadir}/mozilla/extensions/%{tb_appid}/enigmail-$lang@enigmail.mozdev.org
545 language="language_$lang"
546 language=${!language}
547 %{_bindir}/unzip -q enigmail-${language}-%{enigmail_short_version}.xpi -d %{buildroot}%{_datadir}/mozilla/extensions/%{tb_appid}/enigmail-$lang@enigmail.mozdev.org/
548 done
549 popd
550
551 #===============================================================================
552 # lightning ext here
553 pushd mozilla/dist/xpi-stage/
554 for ext in {calendar-timezones,gdata-provider,lightning}; do
555 hash="$(sed -n '/.*em:id>\(.*\)<\/em:id>.*/{s//\1/p;q}' $ext/install.rdf)"
556 mkdir -p %buildroot%{tbextdir}/$hash
557 %{_bindir}/unzip -q $ext.xpi -d %buildroot%{tbextdir}/$hash/
558 done
559 popd
560
561 #===============================================================================
562
563 touch %{buildroot}%{tbdir}/chrome/app-chrome.manifest
564 %{__chmod} 644 %{buildroot}%{tbdir}/chrome/app-chrome.manifest
565 touch %{buildroot}%{tbdir}/components/compreg.dat
566 %{__chmod} 644 %{buildroot}%{tbdir}/components/compreg.dat
567 touch %{buildroot}%{tbdir}/components/xpti.dat
568 %{__chmod} 644 %{buildroot}%{tbdir}/components/xpti.dat
569
570 #===============================================================================
571
572 # remove files already packaged as system libs
573 #%{__chmod} 644 %{buildroot}%{tbdir}/defaults/pref/enigmail.js
574 #%{__chmod} 644 %{buildroot}%{tbdir}/extensions/*/defaults/pref*/enigmail.js
575 #%{__perl} -pi -e 's|agentPath",""|agentPath","%{_bindir}/gpg"|' %{buildroot}%{tbdir}/extensions/*/defaults/pref*/enigmail.js
576
577 %{__cp} -aL mozilla/dist/bin/nsinstall %{buildroot}%{_bindir}
578
579 #===============================================================================
580
581 mkdir -p %{buildroot}%{_sysconfdir}
582 cat << EOF > %{buildroot}/%{_sysconfdir}/thunderbird.cfg
583 pref("network.protocol-handler.app.http", "/usr/bin/xdg-open");
584 pref("network.protocol-handler.app.https", "/usr/bin/xdg-open");
585 pref("network.protocol-handler.app.ftp", "/usr/bin/xdg-open");
586 EOF
587 ln -s %{_sysconfdir}/thunderbird.cfg \
588 %{buildroot}%{tbdir}/thunderbird.cfg
589
590 #==============================================================================
591
592 %clean
593 %{__rm} -rf %{buildroot}
594
595 #===============================================================================
596
597 %pre
598 if [ $1 == 2 ]; then
599 if [ -d %{tbdir}/dictionaries ]; then
600 # Otherelse rpm can't switch this into a symlink :(
601 rm -rf %{tbdir}/dictionaries
602 fi
603 fi
604
605 %post
606 %{_bindir}/update-desktop-database %{_datadir}/applications
607
608 %create_ghostfile %{tbdir}/chrome/app-chrome.manifest root root 644
609 %create_ghostfile %{tbdir}/components/compreg.dat root root 644
610 %create_ghostfile %{tbdir}/components/xpti.dat root root 644
611
612 if [ -f %{tbdir}/components/compreg.dat ]; then
613 %{__rm} -f %{tbdir}/components/compreg.dat
614 fi
615
616 if [ -f %{tbdir}/components/xpti.dat ]; then
617 %{__rm} -f %{tbdir}/components/xpti.dat
618 fi
619
620 mktemp="/bin/mktemp -d -q -p /tmp -t %{name}.XXXXXXXXXX"
621
622 TMPDIR= TB_TMPDIR=`$mktemp` && {
623 HOME="$TB_TMPDIR" LD_LIBRARY_PATH="%{tbdir}" %{tbdir}/thunderbird-bin -nox -register
624 test -d "$TB_TMPDIR" && %{__rm} -rf -- "$TB_TMPDIR"
625 }
626
627 if [ -x %{_bindir}/gtk-update-icon-cache ]; then
628 %{_bindir}/gtk-update-icon-cache --force --quiet %{_datadir}/icons/hicolor
629 fi
630
631
632 %postun
633 %{_bindir}/update-desktop-database %{_datadir}/applications
634 if [ "$1" = "0" -a -x %{_bindir}/gtk-update-icon-cache ]; then
635 %{_bindir}/gtk-update-icon-cache --force --quiet %{_datadir}/icons/hicolor
636 fi
637
638
639 #===============================================================================
640
641 %post enigmail
642 if [ -f %{tbdir}/components/compreg.dat ]; then
643 %{__rm} -f %{tbdir}/components/compreg.dat
644 fi
645
646 if [ -f %{tbdir}/components/xpti.dat ]; then
647 %{__rm} -f %{tbdir}/components/xpti.dat
648 fi
649
650 mktemp="/bin/mktemp -d -q -p /tmp -t %{name}.XXXXXXXXXX"
651
652 TMPDIR= TB_TMPDIR=`$mktemp` && {
653 %if %{xpi}
654 HOME="$TB_TMPDIR" LD_LIBRARY_PATH="%{tbdir}" %{tbdir}/thunderbird-bin -nox -install-global-extension %{tbextdir}/enigmail-%{enigmail_version}-linux-*.xpi
655 %endif
656 HOME="$TB_TMPDIR" LD_LIBRARY_PATH="%{tbdir}" %{tbdir}/thunderbird-bin -nox -register
657 test -d "$TB_TMPDIR" && %{__rm} -rf -- "$TB_TMPDIR"
658 }
659
660 %preun enigmail
661 if [ -f %{tbdir}/components/compreg.dat ]; then
662 %{__rm} -f %{tbdir}/components/compreg.dat
663 fi
664
665 if [ -f %{tbdir}/components/xpti.dat ]; then
666 %{__rm} -f %{tbdir}/components/xpti.dat
667 fi
668
669 if [ -x %{tbdir}/thunderbird-bin ]; then
670 mktemp="/bin/mktemp -d -q -p /tmp -t %{name}.XXXXXXXXXX"
671
672 TMPDIR= TB_TMPDIR=`$mktemp` && {
673 %if %{xpi}
674 HOME="$TB_TMPDIR" LD_LIBRARY_PATH="%{tbdir}" %{tbdir}/thunderbird-bin -nox -install-global-extension %{tbextdir}/enigmail-%{enigmail_version}-linux-*.xpi
675 %endif
676 HOME="$TB_TMPDIR" LD_LIBRARY_PATH="%{tbdir}" %{tbdir}/thunderbird-bin -nox -register
677 test -d "$TB_TMPDIR" && %{__rm} -rf -- "$TB_TMPDIR"
678 }
679 fi
680
681 #===============================================================================
682
683 %files
684 %defattr(-,root,root,-)
685 %doc mozilla/LEGAL
686 %attr(755,root,root) %{_bindir}/mozilla-thunderbird
687 %attr(755,root,root) %{_bindir}/thunderbird
688 %attr(644,root,root) %{_datadir}/applications/*.desktop
689 %attr(644,root,root) %{_datadir}/pixmaps/%{name}.png
690 %ghost %{tbdir}/chrome/app-chrome.manifest
691 %ghost %{tbdir}/components/compreg.dat
692 %ghost %{tbdir}/components/xpti.dat
693 %{tbdir}
694 %if %{xpi}
695 %dir %{tbextdir}
696 %endif
697 %config(noreplace) %{_sysconfdir}/thunderbird.cfg
698 # Mandriva menu
699 %{_miconsdir}/%{name}.png
700 %{_iconsdir}/%{name}.png
701 %{_liconsdir}/%{name}.png
702 # other icons
703 %if %{official_branding}
704 %{_datadir}/icons/hicolor/16x16/apps/%{name}.png
705 %{_datadir}/icons/hicolor/22x22/apps/%{name}.png
706 %{_datadir}/icons/hicolor/24x24/apps/%{name}.png
707 %{_datadir}/icons/hicolor/32x32/apps/%{name}.png
708 %{_datadir}/icons/hicolor/48x48/apps/%{name}.png
709 %{_datadir}/icons/hicolor/256x256/apps/%{name}.png
710 %else
711 %{_datadir}/icons/hicolor/64x64/apps/%{name}.png
712 %{_datadir}/icons/hicolor/128x128/apps/%{name}.png
713 %endif
714 # enigmail
715 %exclude %{tbextdir}/%{enigmail_id}
716 # exclude enigmail stuff
717 #%exclude %{tbdir}/components/enigmail*
718 #%exclude %{tbdir}/components/enigMsgCompFields.js
719 #%exclude %{tbdir}/components/enigprefs-service.js
720 #%exclude %{tbdir}/chrome/enigmail*.jar
721 #%exclude %{tbdir}/defaults/pref/enigmail.js
722 #%exclude %{tbdir}/defaults/preferences/enigmail.js
723 #%exclude %{tbdir}/enigmail*xpi
724 # enigmime
725 #%exclude %{tbdir}/components/enigmime.xpt
726 #%exclude %{tbdir}/components/ipc.xpt
727 #%exclude %{tbdir}/components/libenigmime.so
728 #%exclude %{tbdir}/chrome/enigmime.jar
729 #%exclude %{tbdir}/platform/*/components/*enigmime*
730
731 %files enigmail
732 %defattr(-,root,root)
733 %{tbextdir}/%{enigmail_id}
734
735 %files -n nsinstall
736 %defattr(-,root,root)
737 %{_bindir}/nsinstall
738
739 %files lightning
740 %defattr(-,root,root)
741 %{tbextdir}/calendar-timezones@mozilla.org
742 %{tbextdir}/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}
743 %{tbextdir}/{3550f703-e582-4d05-9a08-453d09bdfdc6}
744
745

  ViewVC Help
Powered by ViewVC 1.1.30