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

  ViewVC Help
Powered by ViewVC 1.1.30