/[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 210136 - (hide annotations) (download)
Fri Feb 17 18:06:31 2012 UTC (12 years, 2 months ago) by doktor5000
File size: 25629 byte(s)
- new version 10.0.1, switch to ESR (Extended Support Release)
  o fixes http://www.mozilla.org/security/announce/2012/mfsa2012-01.html
    (miscellaneous memory safety hazards [CVE-2012-0442] [CVE-2012-0443]
     fixed in 10.0 )
  o fixes http://www.mozilla.org/security/announce/2012/mfsa2012-03.html
    (<iframe> element exposed across domains via name attribute [CVE-2012-0445]
     fixed in 10.0)
  o fixes http://www.mozilla.org/security/announce/2012/mfsa2012-04.html
    (child nodes from nsDOMAttribute still accessible after removal of nodes
     [CVE-2011-3659] fixed in 10.0)
  o fixes http://www.mozilla.org/security/announce/2012/mfsa2012-05.html
    (frame scripts calling into untrusted objects bypass security checks
     [CVE-2012-0446] fixed in 10.0)
  o fixes http://www.mozilla.org/security/announce/2012/mfsa2012-06.html
    (uninitialized memory appended when encoding icon images may cause
     information disclosure [CVE-2012-0447] fixed in 10.0
  o fixes http://www.mozilla.org/security/announce/2012/mfsa2012-07.html
    (potential Memory Corruption When Decoding Ogg Vorbis files
     [CVE-2012-0444] fixed in 10.0)
  o fixes http://www.mozilla.org/security/announce/2012/mfsa2012-08.html
    (crash with malformed embedded XSLT stylesheets [CVE-2012-0449]
     fixed in 10.0)
  o fixes http://www.mozilla.org/security/announce/2012/mfsa2012-10.html
    (use after free in nsXBLDocumentInfo::ReadPrototypeBindings [CVE-2012-0452])
- update enigmail to 1.3.5, needed for thunderbird 10.0
- updated mageia-default-prefs.js, reenabled locale matching to system locale
- change new default preference (extensions.autoDisableScopes) to not
  automatically disable systemwide installed addons, like language packs
- added BuildRequires on yasm, mesagl-devel, startup-notification-devel, dbus,
  libevent-devel and libvpx-devel
- added Requires on libcanberra for playing sounds 
- add Patch100 to use libcanberra for playing sounds (rediffed from upstream,
  mozilla-thunderbird-mga-use-libcanberra.patch)
- rediffed Patch201, disabling default application dialog on Thunderbird start
- use bundled libpng, system one is too old and updating it is a no-go for mga1
- do not build against system libxul, add requires_exception for libxul
- disable updater and bundled lightning, disable compilation of lightning
- enable gio, vpx and libevent and optimization
- use org.mageia as distribution id
- removed thunderbird.cfg
- add -fPIC to CFLAGS
1 ennael 55189 %define __libtoolize /bin/true
2     %define __cputoolize /bin/true
3    
4 doktor5000 210136 %define upstream_version %{version}esr
5     %define release_dir comm-esr10
6    
7 ennael 55189 %define official_branding 1
8    
9 ahmad 93463 %define release %mkrel 1
10 ahmad 68147
11 ennael 55189 %if %{official_branding}
12     %define title Mozilla Thunderbird
13     %else
14     %define title Mail/News
15     %endif
16    
17     %define oname thunderbird
18     %define tb_appid \{3550f703-e582-4d05-9a08-453d09bdfdc6\}
19     %define tbdir %{_libdir}/%{oname}-%{version}
20     %define tbextdir %{_libdir}/mozilla/extensions/%{tb_appid}
21    
22     %define xpi 0
23 doktor5000 210136 %define enigmail_version 1.3.5
24     %define enigmail_short_version 1.4
25 ennael 55189 %define enigmail_id \{847b3a00-7ab1-11d4-8f02-006008948af5\}
26    
27     %define _provides_exceptions libgtkembedmoz.so\\|libxpcom.so
28 doktor5000 210136 %define _requires_exceptions libgtkembedmoz.so\\|libxpcom.so\\|libxul.so
29 ennael 55189
30     # FIXME: Bug in nsExtensionManager.js prevents using x86_64 as arch
31     # FIXME: I tried to modify nsExtensionManager.js.in, but it
32     # FIXME: complained that I had modified it
33     %ifarch %{ix86}
34     %define tbarch x86
35     %else # ix86
36     %ifarch x86_64
37     %define tbarch %{_arch}
38     %else # x86_64
39     %define tbarch %{_arch}
40     %endif # x86_64
41     %endif # ix86
42    
43     # this seems fragile, so require the exact version or later (#58754)
44     %define sqlite3_version %(pkg-config --modversion sqlite3 &>/dev/null && pkg-config --modversion sqlite3 2>/dev/null || echo 0)
45     # this one as well (#59759)
46     %define nss_libname %mklibname nss 3
47     %define nss_version %(pkg-config --modversion nss &>/dev/null && pkg-config --modversion nss 2>/dev/null || echo 0)
48    
49     Name: mozilla-thunderbird
50 doktor5000 210136 Epoch: 0
51     Version: 10.0.1
52 ennael 55189 Release: %{release}
53     Summary: Full-featured email, RSS, and newsgroup client
54     License: MPL
55     Group: Networking/Mail
56 doktor5000 210136 URL: http://www.mozilla.org/en-US/thunderbird/organizations/all-esr.html
57     Source0: ftp://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/%{upstream_version}/source/thunderbird-%{upstream_version}.source.tar.bz2
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     # Language package template
66     Source400: mozilla-thunderbird-enigmail-l10n-template.in
67     # Build patches
68     Patch2: mozilla-firefox-1.0-prdtoa.patch
69 doktor5000 210136 # Mageia patches (patch100+)
70     # use libcanberra to play sounds rather than deprecated esound
71     # taken from upstream: https://bugzilla.mozilla.org/show_bug.cgi?id=635918
72     Patch100: mozilla-thunderbird-mga-use-libcanberra.patch
73 ennael 55189 # Debian patches (Patch200+)
74 doktor5000 210136 #disabled
75 ennael 55189 Patch200: mozilla-thunderbird-gtk-settings.patch
76 doktor5000 210136 #
77    
78     Patch201: mozilla-thunderbird-5.0-mga-default-mailer.patch
79 ennael 55189 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     Patch304: mozilla-thunderbird-run-mozilla.patch
86     Patch306: mozilla-thunderbird-run-mozilla-soundwrapper.patch
87     # Adds support for config file thunderbird.cfg
88     Patch310: thunderbird-2.0b2-configfile.patch
89 doktor5000 166286 # fix for CVE-2011-3640
90     # taken from upstream: https://bugzilla.mozilla.org/show_bug.cgi?id=641052#c6
91     Patch337: fix-CVE-2011-3640.patch
92 ennael 55189 # OpenSuse patches (Patch400+)
93     Patch400: thunderbird-appname.patch
94 doktor5000 210136
95 ennael 55189 BuildRequires: autoconf2.1
96     BuildRequires: cairo-devel >= 1.8.8
97     Requires: %{mklibname sqlite3_ 0} >= %{sqlite3_version}
98 doktor5000 210136 BuildRequires: sqlite3-devel >= 3.7.5
99 ennael 55189 Requires: %{nss_libname} >= 2:%{nss_version}
100 doktor5000 210136 BuildRequires: yasm
101     BuildRequires: mesagl-devel
102 ennael 55189 BuildRequires: gtk2-devel
103     BuildRequires: gzip
104     BuildRequires: python-devel
105     BuildRequires: libjpeg-devel
106 doktor5000 210136 #(tpg) older versions doesn't support apng extension
107     # disabled because we use bundled libpng
108     #BuildRequires: libpng-devel >= 2:1.4
109     BuildRequires: nspr-devel >= 2:4.8.8
110     BuildRequires: nss-static-devel >= 2:3.12.10
111 ennael 55189 BuildRequires: unzip
112     BuildRequires: zip
113     BuildRequires: zlib-devel
114     BuildRequires: libIDL-devel
115     # Needed by xmlterm (not built) and unused enigmail scripts
116     #BuildRequires: tcsh
117     BuildRequires: freetype2-devel
118     BuildRequires: xft2-devel
119     BuildRequires: libxt-devel
120     BuildRequires: hunspell-devel
121 doktor5000 210136 BuildRequires: dbus-glib-devel
122 ennael 55189 Requires(post): mktemp
123     Requires(post): rpm-helper
124     Requires(postun): rpm-helper
125 doktor5000 210136 Requires: %{_lib}canberra0
126 ennael 55189 # 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 doktor5000 210136 BuildRequires: startup-notification-devel
136 ennael 55189 BuildRequires: libiw-devel
137 doktor5000 210136 BuildRequires: libevent-devel >= 1.4.7
138     BuildRequires: libvpx-devel >= 0.9.7
139 ennael 55189
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 doktor5000 210136 Requires: %{name} = %{version}
150 ennael 55189 Obsoletes: %{name}-enigmime
151 doktor5000 210136 Provides: %{name}-enigmime = %{version}
152 ennael 55189 Requires: gnupg
153 doktor5000 210136 Requires(post): %{name} = %{version}
154     Requires(preun): %{name} = %{version}
155 ennael 55189 Requires(post): mktemp
156     Requires(postun): mktemp
157     Suggests: pinentry-gtk
158    
159     %description enigmail
160     Enigmail is an extension to the mail client of %{title}
161     which allows users to access the authentication and encryption
162     features provided by GnuPG.
163    
164     Main Features
165    
166     * Encrypt/sign mail when sending, decrypt/authenticate received
167     mail
168     * Support for inline-PGP (RFC 2440) and PGP/MIME (RFC 3156)
169     * Per-Account based encryption and signing defaults
170     * Per-Recipient rules for automated key selection, and
171     enabling/disabling encryption and signing
172     * OpenPGP key management interface
173    
174     #===============================================================================
175    
176     %package -n nsinstall
177     Summary: Netscape portable install command
178     Group: Development/Other
179    
180     %description -n nsinstall
181     Netscape portable install command.
182    
183     #===============================================================================
184     # enigmail-l10n
185     # Supported l10n language lists
186 doktor5000 210136 %define l10n_langlist ar ca cs de el es fi fr it ja ko nb nl pl pt pt_BR ru sl sv tr vi zh_CN zh_TW
187 ennael 55189
188     # Disabled l10n languages, for any reason
189     # nl sk es_AR do not support 0.95.0 yet
190 doktor5000 210136 %define disabled_l10n_langlist hu
191     # define disabled_l10n_langlist %{nil}
192 ennael 55189
193     # Language descriptions
194     %define language_ar ar
195     %define langname_ar Arabic
196     %define language_ca ca
197     %define langname_ca Catalan
198     %define language_cs cs-CZ
199     %define langname_cs Czech
200 doktor5000 210136 %define language_de de
201 ennael 55189 %define langname_de German
202     %define language_el el
203     %define langname_el Greek
204     %define language_es_AR es-AR
205     %define langname_es_AR Spanish (Argentina)
206     %define language_es es-ES
207     %define langname_es Spanish
208     %define language_fi fi-FI
209     %define langname_fi Finnish
210 doktor5000 210136 %define language_fr fr
211 ennael 55189 %define langname_fr French
212     %define language_hu hu-HU
213     %define langname_hu Hungarian
214     %define language_it it-IT
215     %define langname_it Italian
216     %define language_ja ja-JP
217     %define langname_ja Japanese
218     %define language_ko ko-KR
219     %define langname_ko Korean
220     %define language_nb nb-NO
221     %define langname_nb Norwegian Bokmaal
222     %define langname_nl Dutch
223 doktor5000 210136 %define language_nl nl
224     %define language_pl pl
225 ennael 55189 %define langname_pl Polish
226     %define langname_pt Portuguese
227     %define language_pt pt-PT
228     %define language_pt_BR pt-BR
229     %define langname_pt_BR Brazilian portuguese
230     %define language_ro ro-RO
231     %define langname_ro Romanian
232     %define language_ru ru-RU
233     %define langname_ru Russian
234 doktor5000 210136 %define language_sk sk
235 ennael 55189 %define langname_sk Slovak
236     %define language_sl sl-SI
237     %define langname_sl Slovenian
238     %define language_sv sv-SE
239     %define langname_sv Swedish
240     %define language_tr tr-TR
241     %define langname_tr Turkish
242     %define language_vi vi-VN
243     %define langname_vi Vietnamese
244     %define language_zh_CN zh-CN
245     %define langname_zh_CN Simplified Chinese
246     %define language_zh_TW zh-TW
247     %define langname_zh_TW Traditional Chinese
248    
249     # --- Danger line ---
250    
251     # All langs
252     %{expand:%%define langlist %(for lang in %l10n_langlist; do echo "$lang"; done | sort -u | sed ':a;$!N;s/\n/ /;ta')}
253    
254     # Defaults (all languages enabled by default)
255     # l10n
256     %{expand:%(for lang in %l10n_langlist; do echo "%%define l10n_$lang 1"; done)}
257     %{expand:%(for lang in %disabled_l10n_langlist; do echo "%%define l10n_$lang 0"; done)}
258    
259     # Params
260     %{expand:%(for lang in %langlist; do echo "%%bcond_without $lang"; done)}
261    
262     # Locales
263     %{expand:%(for lang in %l10n_langlist; do echo "%%define locale_$lang `echo $lang | cut -d _ -f 1` "; done)}
264    
265     # Expand all languages packages.
266     %{expand:%(\
267     for lang in %langlist; do\
268     echo "%%{expand:%%(sed "s!__LANG__!$lang!g" %{_sourcedir}/mozilla-thunderbird-enigmail-l10n-template.in 2> /dev/null)}";\
269     done\
270     )
271     }
272     #===============================================================================
273    
274     %prep
275     %setup -q -c -n %{name}-%{version}
276    
277     #===================
278     # Thunderbird itself
279 doktor5000 210136 %setup -q -T -D -n %{name}-%{version}/%{release_dir}
280 ennael 55189
281     %patch2 -p0
282    
283 doktor5000 210136 %patch100 -p2 -b .libcanberra
284 ahmad 68147
285 doktor5000 210136 %patch201 -p0 -b .default_mailer
286 ennael 55189 %patch300 -p0 -b .progname
287     %patch301 -p1 -b .enigmailpackage
288     %patch304 -p0 -b .run-mozilla
289    
290     %patch400 -p1 -b .appname
291    
292     #===============================================================================
293     # Enigmail
294 doktor5000 210136 %setup -q -T -D -n %{name}-%{version}/%{release_dir}/mozilla/extensions -a300
295 ennael 55189
296     %if !%{official_branding}
297 doktor5000 210136 %setup -q -T -D -n %{name}-%{version}/%{release_dir} -a302
298 ennael 55189 %endif
299    
300 doktor5000 210136 %setup -q -T -D -n %{name}-%{version}/%{release_dir}
301 ennael 55189
302     #===============================================================================
303    
304     %build
305     export BUILD_OFFICIAL=1
306     export MOZILLA_OFFICIAL=1
307    
308     #(tpg) please see bug #32024
309     # from fedora: Pragma visibility is broken on most platforms for some reason.
310     # See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20297
311 doktor5000 210136 #export ac_cv_visibility_pragma=no
312     #LDFLAGS="-Wl,--no-keep-memory"
313 ennael 55189
314     CFLAGS=$(echo %optflags | %{__sed} -e 's/-fexceptions//')
315 doktor5000 210136 CFLAGS="$CFLAGS -fno-strict-aliasing -fpermissive"
316 ennael 55189 CXXFLAGS="$CFLAGS"
317     RPM_OPT_FLAGS="$CFLAGS"
318 doktor5000 210136 LDFLAGS="%ldflags"
319 ennael 55189 export CFLAGS
320     export CXXFLAGS
321     export RPM_OPT_FLAGS
322 doktor5000 210136 export LDFLAGS
323 ennael 55189
324 doktor5000 210136 export MOZCONFIG=`pwd`/.mozconfig
325     cat > $MOZCONFIG << EOF
326     mk_add_options MOZILLA_OFFICIAL=1
327     mk_add_options BUILD_OFFICIAL=1
328     mk_add_options MOZ_MAKE_FLAGS="%{_smp_mflags}"
329     mk_add_options MOZ_OBJDIR=@TOPSRCDIR@
330     ac_add_options --prefix="%{_prefix}"
331     ac_add_options --libdir="%{_libdir}"
332     ac_add_options --sysconfdir="%{_sysconfdir}"
333     ac_add_options --mandir="%{_mandir}"
334     ac_add_options --includedir="%{_includedir}"
335     ac_add_options --datadir="%{_datadir}"
336     ac_add_options --enable-application=mail
337     ac_add_options --with-system-nspr
338     ac_add_options --with-system-nss
339     ac_add_options --with-system-jpeg
340     ac_add_options --with-system-zlib
341     ac_add_options --without-system-png
342     ac_add_options --with-system-bz2
343     ac_add_options --enable-system-sqlite
344     ac_add_options --enable-system-hunspell
345     ac_add_options --enable-system-cairo
346     ac_add_options --with-pthreads
347     ac_add_options --disable-tests
348     ac_add_options --disable-debug
349     ac_add_options --disable-installer
350     ac_add_options --disable-updater
351     ac_add_options --enable-xinerama
352     ac_add_options --disable-crashreporter
353     ac_add_options --enable-default-toolkit=cairo-gtk2
354     ac_add_options --disable-xprint
355     ac_add_options --disable-strip
356     ac_add_options --enable-pango
357     ac_add_options --enable-startup-notification
358     ac_add_options --enable-svg
359     ac_add_options --enable-canvas
360     ac_add_options --enable-crypto
361     ac_add_options --enable-mathml
362     ac_add_options --disable-gnomevfs
363     ac_add_options --enable-gio
364     ac_add_options --disable-calendar
365     ac_add_options --with-system-libevent
366     ac_add_options --with-system-libvpx
367     ac_add_options --enable-optimize
368     ac_add_options --enable-official-branding
369     ac_add_options --with-distribution-id=org.mageia
370     EOF
371 ennael 55189
372     # Fix ABI for thunderbird and enigmail
373 doktor5000 210136 %{__perl} -pi -e 's|^TARGET_XPCOM_ABI =.*|TARGET_XPCOM_ABI = %{tbarch}-gcc3|' config/autoconf.mk.in
374     %{__perl} -pi -e 's|^ENIG_XPCOM_ABI =.*|ENIG_XPCOM_ABI = Linux_%{tbarch}-gcc3|' mozilla/extensions/enigmail/Makefile.in
375 ennael 55189
376     # Compress jars
377     %{__perl} -pi -e 's|\-0|\-9|g' config/make-jars.pl
378    
379 doktor5000 210136 %make -f client.mk build
380 ennael 55189
381     #===============================================================================
382    
383     pushd mozilla/extensions/enigmail
384    
385     for i in `find . -type f -name Makefile.in`; do
386     if [ -f $i.bak ]; then
387     cp $i.bak $i
388     else
389     %{__cp} $i $i.bak
390     fi
391     # %{__perl} -pi -e 's|^(DEPTH.*= )../|\1|;' $i
392     done
393    
394     ./makemake -r
395     %{make} LOCAL_INCLUDES+="-I\$(DEPTH)/mailnews/mime/src -I../build -I../src -I../ipc/src"
396    
397     (cd lang
398     %{__perl} -pi -e 's|es-AR/enigmail.properties|es-ES/enigmail.properties|' jar.mn
399     echo 'zh-TW' >> current-languages.txt
400     %{make} LOCAL_INCLUDES+="-I\$(DEPTH)/mailnews/mime/src -I../build -I../src -I../ipc/src"
401     for i in `cat current-languages.txt`; do
402     ./make-lang.sh $i %{enigmail_short_version}
403     done
404     )
405    
406     %{make} xpi
407    
408     popd
409    
410     #===============================================================================
411    
412     %install
413     %{__rm} -rf %{buildroot}
414     %{__mkdir_p} %{buildroot}{%{_libdir},%{_bindir},%{_datadir}/applications}
415     %{__mkdir_p} %buildroot%tbdir
416    
417     rm -f extensions/spellcheck/locales/en-US/hunspell/en-US.{dic,aff}
418    
419 doktor5000 210136 %makeinstall_std
420 ennael 55189
421     rm -rf %buildroot%tbdir/dictionaries
422     ln -s /usr/share/dict/mozilla %buildroot%tbdir/dictionaries
423    
424     ## Compatibility links for now. #29128
425     #ln -s %{_libdir}/%{oname}-%{version} \
426     # %{buildroot}%{_libdir}/mozilla-thunderbird-%{version}
427     #ln -s %{_bindir}/%{oname}-config \
428     # %{buildroot}%{_bindir}/mozilla-thunderbird-config
429    
430     %if %{official_branding}
431     %{__install} -p -D %{buildroot}/%{tbdir}/chrome/icons/default/default256.png %{buildroot}%{_datadir}/pixmaps/%{name}.png
432     %else
433     %{__install} -p -D %{SOURCE302} %{buildroot}%{_datadir}/pixmaps/%{name}.png
434     %endif
435    
436 dmorgan 61400 cat << EOF > %{buildroot}/%{_datadir}/applications/%_real_vendor-%{name}.desktop
437 ennael 55189 [Desktop Entry]
438     Version=1.0
439     Name=%{title}
440     GenericName=Mail/News
441     Comment=Mail and News Client
442     Exec=%{name}
443     Icon=mozilla-thunderbird
444     Terminal=false
445     Type=Application
446     StartupWMClass=Thunderbird-bin
447 doktor5000 210136 MimeType=message/rfc822;x-scheme-handler/mailto;
448 ennael 55189 Categories=GTK;Network;News;Email;X-MandrivaLinux-CrossDesktop;
449     EOF
450    
451     # set up the thunderbird start script
452     (cd %{buildroot}%{_bindir} && %{__ln_s} thunderbird %{name})
453    
454     %{__perl} -pi -e 's|^moz_libdir=.*|moz_libdir=%{tbdir}|' %{buildroot}/%{_bindir}/thunderbird
455     %{__perl} -pi -e 's|^MRE_HOME=.*|MRE_HOME=%{tbdir}|' %{buildroot}/%{_bindir}/thunderbird
456    
457     # <mrl> 200800 is safe here.
458     # For backwards compatibility with old profiles. Bug #37528
459     %{__install} -m 755 %{SOURCE31} %{buildroot}/%{tbdir}/open-browser.sh
460     # For new profiles
461     %define COMMAND /usr/bin/xdg-open
462    
463 doktor5000 210136 #used for matching system locale on startup
464 ennael 55189 %{__cat} %{SOURCE12} | %{__perl} -p -e 's,THUNDERBIRD_RPM_VR,%{version}-%{release},g;' \
465 doktor5000 210136 -e 's,THUNDERBIRD_VENDOR_COMMENT,%{product_release},g;' \
466 ennael 55189 -e 's,COMMAND,%{COMMAND},g' \
467 dmorgan 61407 > %{buildroot}/mga-default-prefs
468 doktor5000 210136 %{__cp} -a %{buildroot}/mga-default-prefs %{buildroot}%{tbdir}/defaults/pref/all-mageia.js
469 dmorgan 61407 %{__rm} -f %{buildroot}/mga-default-prefs
470 ennael 55189
471     #===============================================================================
472    
473     # icons
474     %{__mkdir_p} %{buildroot}{%{_liconsdir},%{_iconsdir},%{_miconsdir}}
475     %if %{official_branding}
476     %{__mkdir_p} %{buildroot}%{_datadir}/icons/hicolor/{16x16,22x22,24x24,32x32,48x48,256x256}/apps
477     %{__install} -m 644 %{buildroot}/%{tbdir}/chrome/icons/default/default48.png %{buildroot}%{_liconsdir}/%{name}.png
478     %{__install} -m 644 %{buildroot}/%{tbdir}/chrome/icons/default/default32.png %{buildroot}%{_iconsdir}/%{name}.png
479     %{__install} -m 644 %{buildroot}/%{tbdir}/chrome/icons/default/default16.png %{buildroot}%{_miconsdir}/%{name}.png
480     %{__install} -m 644 %{buildroot}/%{tbdir}/chrome/icons/default/default16.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/%{name}.png
481     %{__install} -m 644 %{buildroot}/%{tbdir}/chrome/icons/default/default22.png %{buildroot}%{_datadir}/icons/hicolor/22x22/apps/%{name}.png
482     %{__install} -m 644 %{buildroot}/%{tbdir}/chrome/icons/default/default24.png %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/%{name}.png
483     %{__install} -m 644 %{buildroot}/%{tbdir}/chrome/icons/default/default32.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/%{name}.png
484     %{__install} -m 644 %{buildroot}/%{tbdir}/chrome/icons/default/default48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/%{name}.png
485     %{__install} -m 644 %{buildroot}/%{tbdir}/chrome/icons/default/default256.png %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/%{name}.png
486     %else
487 doktor5000 210136 #%{__mkdir_p} %{buildroot}%{_datadir}/icons/hicolor/{64x64,128x128}/apps
488     %{__mkdir_p} %{buildroot}%{_datadir}/icons/hicolor/{16x16,22x22,24x24,32x32,48x48,256x256}/apps
489 ennael 55189 %{__install} -m 644 %{name}-48.png %{buildroot}%{_liconsdir}/%{name}.png
490     %{__install} -m 644 %{name}-32.png %{buildroot}%{_iconsdir}/%{name}.png
491     %{__install} -m 644 %{name}-16.png %{buildroot}%{_miconsdir}/%{name}.png
492     # Converting up, but not a big issue now that we have official branding
493 doktor5000 210136 %{__install} -m 644 %{name}-16.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/%{name}.png
494     %{__install} -m 644 %{name}-22.png %{buildroot}%{_datadir}/icons/hicolor/22x22/apps/%{name}.png
495     %{__install} -m 644 %{name}-24.png %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/%{name}.png
496     %{__install} -m 644 %{name}-32.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/%{name}.png
497     %{__install} -m 644 %{name}-48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/%{name}.png
498     %{__install} -m 644 %{name}-256.png %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/%{name}.png
499 ennael 55189 %endif
500    
501     #===============================================================================
502    
503     #pushd dist
504     #%{__mkdir_p} %{buildroot}%{_includedir}/%{oname}-%{version}
505     #%{__cp} -aL include/* %{buildroot}%{_includedir}/%{oname}-%{version}
506     #%{__mkdir_p} %{buildroot}%{_datadir}/idl/%{oname}-%{version}
507     #%{__cp} -aL idl/* %{buildroot}%{_datadir}/idl/%{oname}-%{version}
508     #popd
509    
510     #pushd dist/sdk
511     #%{__mkdir_p} %{buildroot}%{_libdir}/%{oname}-%{version}
512     #%{__cp} -aL bin/* %{buildroot}%{_libdir}/%{oname}-%{version}
513     #%{__mkdir_p} %{buildroot}%{_includedir}/%{oname}-%{version}
514     #%{__cp} -aL include/* %{buildroot}%{_includedir}/%{oname}-%{version}
515     #%{__mkdir_p} %{buildroot}%{_datadir}/idl/%{oname}-%{version}
516     #%{__cp} -aL idl/* %{buildroot}%{_datadir}/idl/%{oname}-%{version}
517     #popd
518    
519     #===============================================================================
520    
521     %{__mkdir_p} %{buildroot}%{tbextdir}/%{enigmail_id}
522     %if !%{xpi}
523 doktor5000 210136 %{_bindir}/unzip -q mozilla/dist/bin/enigmail-%{enigmail_short_version}*.xpi -d %{buildroot}%{tbextdir}/%{enigmail_id}
524 ennael 55189 %{__chmod} 644 %{buildroot}%{tbextdir}/%{enigmail_id}/chrome.manifest
525 doktor5000 210136 # as we rename libipc.so & libenigmime.so and don't install them into %%{tbdir}
526     # we need to remove them from %%{tbdir}/components/binary.manifest
527     # otherwise thunderbird will try to load them, which will fail
528     sed -i 's,binary-component libipc.so,,' %{buildroot}%{tbdir}/components/binary.manifest
529     sed -i 's,binary-component libenigmime.so,,' %{buildroot}%{tbdir}/components/binary.manifest
530 ennael 55189 %else
531 doktor5000 210136 %{__cp} -aL mozilla/dist/bin/enigmail-%{enigmail_short_version}*.xpi %{buildroot}%{tbextdir}/%{enigmail_id}/%{enigmail_id}.xpi
532 ennael 55189 %endif
533    
534     #==============================================================================
535     #enigmail lang package
536     # Convert rpm macros to bash variables
537     %{expand:%(for lang in %langlist; do echo "language_$lang=%%{language_$lang}"; done)}
538     %{expand:%(for lang in %langlist; do echo "with_$lang=%%{with $lang}"; done)}
539     %{expand:%(for lang in %l10n_langlist; do echo "l10n_$lang=%%{l10n_$lang}"; done)}
540     pushd mozilla/extensions/enigmail/lang
541     for lang in %langlist; do
542     %{__mkdir_p} %{buildroot}%{_datadir}/mozilla/extensions/%{tb_appid}/enigmail-$lang@enigmail.mozdev.org
543     language="language_$lang"
544     language=${!language}
545     %{_bindir}/unzip -q enigmail-${language}-%{enigmail_short_version}.xpi -d %{buildroot}%{_datadir}/mozilla/extensions/%{tb_appid}/enigmail-$lang@enigmail.mozdev.org/
546     done
547     popd
548    
549     #===============================================================================
550    
551 doktor5000 210136 #touch %{buildroot}%{tbdir}/chrome/app-chrome.manifest
552     #%{__chmod} 644 %{buildroot}%{tbdir}/chrome/app-chrome.manifest
553     #touch %{buildroot}%{tbdir}/components/compreg.dat
554     #%{__chmod} 644 %{buildroot}%{tbdir}/components/compreg.dat
555     #touch %{buildroot}%{tbdir}/components/xpti.dat
556     #%{__chmod} 644 %{buildroot}%{tbdir}/components/xpti.dat
557 ennael 55189
558     #===============================================================================
559    
560     # remove files already packaged as system libs
561     #%{__chmod} 644 %{buildroot}%{tbdir}/defaults/pref/enigmail.js
562     #%{__chmod} 644 %{buildroot}%{tbdir}/extensions/*/defaults/pref*/enigmail.js
563     #%{__perl} -pi -e 's|agentPath",""|agentPath","%{_bindir}/gpg"|' %{buildroot}%{tbdir}/extensions/*/defaults/pref*/enigmail.js
564    
565     %{__cp} -aL mozilla/dist/bin/nsinstall %{buildroot}%{_bindir}
566    
567     #===============================================================================
568    
569 doktor5000 210136 #mkdir -p %{buildroot}%{_sysconfdir}
570     #cat << EOF > %{buildroot}/%{_sysconfdir}/thunderbird.cfg
571     #pref("network.protocol-handler.app.http", "/usr/bin/xdg-open");
572     #pref("network.protocol-handler.app.https", "/usr/bin/xdg-open");
573     #pref("network.protocol-handler.app.ftp", "/usr/bin/xdg-open");
574     #EOF
575     #ln -s %{_sysconfdir}/thunderbird.cfg \
576     # %{buildroot}%{tbdir}/thunderbird.cfg
577 ennael 55189
578     #==============================================================================
579 doktor5000 210136 #exclude devel files
580     %{__rm} -rf %{buildroot}%{_datadir}/idl/%{oname}-%{version}
581     %{__rm} -rf %{buildroot}%{_includedir}/%{oname}-%{version}
582     %{__rm} -rf %{buildroot}%{_libdir}/%{oname}-devel-%{version}
583 ennael 55189
584     %clean
585     %{__rm} -rf %{buildroot}
586    
587     #===============================================================================
588    
589     %pre
590     if [ $1 == 2 ]; then
591     if [ -d %{tbdir}/dictionaries ]; then
592     # Otherelse rpm can't switch this into a symlink :(
593     rm -rf %{tbdir}/dictionaries
594     fi
595     fi
596    
597     %post
598    
599 doktor5000 210136 #%create_ghostfile %{tbdir}/chrome/app-chrome.manifest root root 644
600     #%create_ghostfile %{tbdir}/components/compreg.dat root root 644
601     #%create_ghostfile %{tbdir}/components/xpti.dat root root 644
602 ennael 55189
603 doktor5000 210136 #if [ -f %{tbdir}/components/compreg.dat ]; then
604     # %{__rm} -f %{tbdir}/components/compreg.dat
605     #fi
606 ennael 55189
607 doktor5000 210136 #if [ -f %{tbdir}/components/xpti.dat ]; then
608     # %{__rm} -f %{tbdir}/components/xpti.dat
609     #fi
610    
611 ennael 55189 mktemp="/bin/mktemp -d -q -p /tmp -t %{name}.XXXXXXXXXX"
612    
613     TMPDIR= TB_TMPDIR=`$mktemp` && {
614     HOME="$TB_TMPDIR" LD_LIBRARY_PATH="%{tbdir}" %{tbdir}/thunderbird-bin -nox -register
615     test -d "$TB_TMPDIR" && %{__rm} -rf -- "$TB_TMPDIR"
616     }
617    
618 doktor5000 210136
619 ennael 55189 #===============================================================================
620    
621     %post enigmail
622     if [ -f %{tbdir}/components/compreg.dat ]; then
623     %{__rm} -f %{tbdir}/components/compreg.dat
624     fi
625    
626     if [ -f %{tbdir}/components/xpti.dat ]; then
627     %{__rm} -f %{tbdir}/components/xpti.dat
628     fi
629    
630     mktemp="/bin/mktemp -d -q -p /tmp -t %{name}.XXXXXXXXXX"
631    
632     TMPDIR= TB_TMPDIR=`$mktemp` && {
633     %if %{xpi}
634     HOME="$TB_TMPDIR" LD_LIBRARY_PATH="%{tbdir}" %{tbdir}/thunderbird-bin -nox -install-global-extension %{tbextdir}/enigmail-%{enigmail_version}-linux-*.xpi
635     %endif
636     HOME="$TB_TMPDIR" LD_LIBRARY_PATH="%{tbdir}" %{tbdir}/thunderbird-bin -nox -register
637     test -d "$TB_TMPDIR" && %{__rm} -rf -- "$TB_TMPDIR"
638     }
639    
640     %preun enigmail
641     if [ -f %{tbdir}/components/compreg.dat ]; then
642     %{__rm} -f %{tbdir}/components/compreg.dat
643     fi
644    
645     if [ -f %{tbdir}/components/xpti.dat ]; then
646     %{__rm} -f %{tbdir}/components/xpti.dat
647     fi
648    
649     if [ -x %{tbdir}/thunderbird-bin ]; then
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     fi
660    
661     #===============================================================================
662    
663     %files
664     %defattr(-,root,root,-)
665     %doc mozilla/LEGAL
666     %attr(755,root,root) %{_bindir}/mozilla-thunderbird
667     %attr(755,root,root) %{_bindir}/thunderbird
668     %attr(644,root,root) %{_datadir}/applications/*.desktop
669     %attr(644,root,root) %{_datadir}/pixmaps/%{name}.png
670     %{tbdir}
671     %if %{xpi}
672     %dir %{tbextdir}
673     %endif
674 doktor5000 210136 #%config(noreplace) %{_sysconfdir}/thunderbird.cfg
675 ennael 55189 # Mandriva menu
676     %{_miconsdir}/%{name}.png
677     %{_iconsdir}/%{name}.png
678     %{_liconsdir}/%{name}.png
679     # other icons
680     %if %{official_branding}
681     %{_datadir}/icons/hicolor/16x16/apps/%{name}.png
682     %{_datadir}/icons/hicolor/22x22/apps/%{name}.png
683     %{_datadir}/icons/hicolor/24x24/apps/%{name}.png
684     %{_datadir}/icons/hicolor/32x32/apps/%{name}.png
685     %{_datadir}/icons/hicolor/48x48/apps/%{name}.png
686     %{_datadir}/icons/hicolor/256x256/apps/%{name}.png
687     %else
688 doktor5000 210136 %{_datadir}/icons/hicolor/16x16/apps/%{name}.png
689     %{_datadir}/icons/hicolor/22x22/apps/%{name}.png
690     %{_datadir}/icons/hicolor/24x24/apps/%{name}.png
691     %{_datadir}/icons/hicolor/32x32/apps/%{name}.png
692     %{_datadir}/icons/hicolor/48x48/apps/%{name}.png
693     %{_datadir}/icons/hicolor/256x256/apps/%{name}.png
694 ennael 55189 %endif
695     %exclude %{tbextdir}/%{enigmail_id}
696    
697     %files enigmail
698     %defattr(-,root,root)
699     %{tbextdir}/%{enigmail_id}
700    
701     %files -n nsinstall
702     %defattr(-,root,root)
703     %{_bindir}/nsinstall

  ViewVC Help
Powered by ViewVC 1.1.30