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

  ViewVC Help
Powered by ViewVC 1.1.30