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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 166286 - (hide annotations) (download)
Thu Nov 10 21:21:42 2011 UTC (12 years, 4 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 ennael 55189 %define __libtoolize /bin/true
2     %define __cputoolize /bin/true
3    
4     %define official_branding 1
5    
6 ahmad 68147 %define build_bundled_lightning 0
7 ennael 55189
8 ahmad 93463 %define release %mkrel 1
9 ahmad 68147
10 ennael 55189 %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 doktor5000 166286 Version: 3.1.16
50 ennael 55189 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 dmorgan 61400 Source12: mozilla-thunderbird-mageia-default-prefs.js
58 ennael 55189 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 ahmad 68147 %if %{build_bundled_lightning}
71 ennael 55189 Patch4: mozilla-thunderbird-3.1.7-enable-lightning.patch
72 ahmad 68147 %endif
73 ennael 55189 # 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 doktor5000 166286 # 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 ennael 55189 # 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 ahmad 77483 BuildRequires: libgnome-vfs2-devel
108 ennael 55189 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 ahmad 72283 # 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 ennael 55189
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 ahmad 68147 %if %{build_bundled_lightning}
189 ennael 55189 %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 ahmad 68147 %endif
197 ennael 55189 #===============================================================================
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 ahmad 68147 %if %{build_bundled_lightning}
299     %patch4 -p0 -b .enable-lightning
300     %endif
301    
302 ennael 55189 %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 doktor5000 166286 %patch337 -p0 -b .CVE-2011-3640
321 ennael 55189
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 ahmad 73971 --with-distribution-id=org.mageia \
391 ahmad 77483 --disable-updater
392 ennael 55189
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 dmorgan 61400
439 ennael 55189 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 dmorgan 61400 cat << EOF > %{buildroot}/%{_datadir}/applications/%_real_vendor-%{name}.desktop
459 ennael 55189 [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 dmorgan 61407 > %{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 ennael 55189
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 ahmad 68147 %if %{build_bundled_lightning}
562 ennael 55189 # lightning ext here
563     pushd mozilla/dist/xpi-stage/
564     for ext in {calendar-timezones,gdata-provider,lightning}; do
565 colin 66827 hash="$(sed -n '/^ <em:id>\(.*\)<\/em:id>.*/{s//\1/p;q}' $ext/install.rdf)"
566 ennael 55189 mkdir -p %buildroot%{tbextdir}/$hash
567     %{_bindir}/unzip -q $ext.xpi -d %buildroot%{tbextdir}/$hash/
568     done
569     popd
570 ahmad 68147 %endif
571 ennael 55189 #===============================================================================
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 ahmad 68147 %if %{build_bundled_lightning}
722 ennael 55189 %files lightning
723     %defattr(-,root,root)
724     %{tbextdir}/calendar-timezones@mozilla.org
725     %{tbextdir}/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}
726 colin 66827 %{tbextdir}/{e2fda1a4-762b-4020-b5ad-a41df1933103}
727 ahmad 68147 %endif

  ViewVC Help
Powered by ViewVC 1.1.30