/[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 68246 - (hide annotations) (download)
Fri Mar 11 13:29:18 2011 UTC (13 years, 1 month ago) by ahmad
Original Path: cauldron/mozilla-thunderbird/current/SPECS/mozilla-thunderbird.spec
File size: 26191 byte(s)
- don't obsolete -lightning here and in the mozilla-thunderbird-lightning src.rpm
  urpmi can't smoothly handle a package obsoleted by two packages

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

  ViewVC Help
Powered by ViewVC 1.1.30