%bcond_without gnome # disable all GNOME components (gnome+gnomeui+gnomevfs)
%bcond_without ldap # disable e-mail address lookups in LDAP directories
%bcond_without lightning # disable sunbird calendar
-%bcond_with xulrunner # build with system xulrunner
+%bcond_with xulrunner # build with xulrunner
+%bcond_with crashreporter # report crashes to crash-stats.mozilla.com
%if %{without gnome}
%undefine with_gnomeui
%undefine with_gnomevfs
%endif
+%if %{?_enable_debug_packages} != 1
+%undefine crashreporter
+%endif
+
%define enigmail_ver 1.1.2
%if %{without xulrunner}
Summary(pl.UTF-8): Icedove - klient poczty
Name: icedove
Version: 3.1.2
-Release: 0.2
+Release: 0.10
License: MPL 1.1 or GPL v2+ or LGPL v2.1+
Group: X11/Applications/Networking
Source0: http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/%{version}/source/thunderbird-%{version}.source.tar.bz2
Source1: http://www.mozilla-enigmail.org/download/source/enigmail-%{enigmail_ver}.tar.gz
# Source1-md5: 7d329d5e8afbbb28214ca1995beb09c9
Source2: %{name}-branding.tar.bz2
-# Source2-md5: 2da351522bdd7f4a3bd8aaff4c776976
+# Source2-md5: 85fdf877e2f1bc41329d8086ef5cf0f1
Source3: %{name}-rm_nonfree.sh
Source4: %{name}.desktop
Source5: %{name}.sh
-Source6: %{name}-enigmail.manifest
Patch0: %{name}-branding.patch
Patch1: %{name}-enigmail-shared.patch
Patch2: %{name}-gcc.patch
Patch7: system-mozldap.patch
Patch8: %{name}-makefile.patch
Patch9: %{name}-libpng.patch
+Patch10: %{name}-extensiondir.patch
+Patch11: crashreporter.patch
URL: http://www.pld-linux.org/Packages/Icedove
%{?with_gnomevfs:BuildRequires: GConf2-devel >= 1.2.1}
BuildRequires: automake
%patch7 -p1
%patch8 -p0
%patch9 -p0
+%patch10 -p2
+%patch11 -p2
%build
cd mozilla
-export CFLAGS="%{rpmcflags} `%{_bindir}/pkg-config mozilla-nspr --cflags-only-I`"
-export CXXFLAGS="%{rpmcflags} `%{_bindir}/pkg-config mozilla-nspr --cflags-only-I`"
-
cp -f %{_datadir}/automake/config.* mozilla/build/autoconf
cp -f %{_datadir}/automake/config.* mozilla/nsprpub/build/autoconf
cp -f %{_datadir}/automake/config.* directory/c-sdk/config/autoconf
cat << EOF > .mozconfig
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-%{_target_cpu}
+export CFLAGS="%{rpmcflags}"
+export CXXFLAGS="%{rpmcflags}"
+
+%if %{with crashreporter}
+export MOZ_DEBUG_SYMBOLS=1
+%endif
+
# Options for 'configure' (same as command-line options).
ac_add_options --prefix=%{_prefix}
ac_add_options --exec-prefix=%{_exec_prefix}
%else
ac_add_options --disable-ldap
%endif
+%if %{with crashreporter}
+ac_add_options --enable-crashreporter
+%else
ac_add_options --disable-crashreporter
+%endif
ac_add_options --disable-xterm-updates
ac_add_options --enable-postscript
%if %{with lightning}
%{__make} -j1 -f client.mk build \
STRIP="/bin/true" \
+ MOZ_MAKE_FLAGS="%{?_smp_mflags}" \
CC="%{__cc}" \
CXX="%{__cxx}"
+%if %{with crashreporter}
+# create debuginfo for crash-stats.mozilla.com
+%{__make} -j1 -C obj-%{_target_cpu} buildsymbols
+%endif
+
%if %{with enigmail}
top=$(pwd)
cd mailnews/extensions/enigmail
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_pixmapsdir},%{_desktopdir}} \
- $RPM_BUILD_ROOT%{_datadir}/%{name}
-install -d $RPM_BUILD_ROOT%{_libdir}/%{name}
+install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir}/%{name},%{_datadir}/%{name},%{_pixmapsdir},%{_desktopdir}}
cd mozilla/obj-%{_target_cpu}
%{__make} -C mail/installer stage-package \
MOZ_PKG_APPDIR=%{_libdir}/%{name} \
PKG_SKIP_STRIP=1
+# Enable crash reporter for Firefox application
+%if %{with crashreporter}
+%{__sed} -i -e 's/\[Crash Reporter\]/[Crash Reporter]\nEnabled=1/' $RPM_BUILD_ROOT%{_libdir}/%{name}/application.ini
+
+# Add debuginfo for crash-stats.mozilla.com
+mkdir -p $RPM_BUILD_ROOT%{_exec_prefix}/lib/debug%{_libdir}/%{name}
+cp -a mozilla/dist/%{name}-%{version}.en-US.linux-*.crashreporter-symbols.zip $RPM_BUILD_ROOT%{_prefix}/lib/debug%{_libdir}/%{name}
+%endif
+
# copy manually lightning files, somewhy they are not installed by make
cp -a mozilla/dist/bin/extensions/calendar-timezones@mozilla.org \
mozilla/dist/bin/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103} \
ln -s %{name} $RPM_BUILD_ROOT%{_bindir}/mozilla-thunderbird
cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_desktopdir}/%{name}.desktop
-cp -a ../icedove/branding/content/icon64.png $RPM_BUILD_ROOT%{_pixmapsdir}/icedove.png
+cp -a ../icedove/branding/content/icon64.png $RPM_BUILD_ROOT%{_pixmapsdir}/%{name}.png
+
+# files created by regxpcom -register
+touch $RPM_BUILD_ROOT%{_libdir}/%{name}/components/compreg.dat
+touch $RPM_BUILD_ROOT%{_libdir}/%{name}/components/xpti.dat
%if %{with enigmail}
ext_dir=$RPM_BUILD_ROOT%{_libdir}/%{name}/extensions/\{847b3a00-7ab1-11d4-8f02-006008948af5\}
install -d $ext_dir/{chrome,components,defaults/preferences}
-mv -f $RPM_BUILD_ROOT%{_libdir}/%{name}/chrome/enigmail.jar $ext_dir/chrome
-mv -f $RPM_BUILD_ROOT%{_libdir}/%{name}/components/enig* $ext_dir/components
-mv -f $RPM_BUILD_ROOT%{_libdir}/%{name}/components/libenigmime.so $ext_dir/components
-mv -f $RPM_BUILD_ROOT%{_libdir}/%{name}/components/ipc.xpt $ext_dir/components
-mv -f $RPM_BUILD_ROOT%{_libdir}/%{name}/defaults/preferences/enigmail.js $ext_dir/defaults/preferences
-cp -f mailnews/extensions/enigmail/package/install.rdf $ext_dir
-rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/defaults/preferences
-rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/chrome/enigmail-en-US.jar
-rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/chrome/enigmail-skin.jar
-rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/chrome/enigmime.jar
-rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/components/enig*
-rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/components/libenigmime.so
-rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/components/ipc.xpt
-cp -f %{SOURCE6} $ext_dir/chrome.manifest
+cd mozilla/dist/bin
+cp -rfLp chrome/enigmail.jar $ext_dir/chrome
+cp -rfLp chrome/enigmime.jar $ext_dir/chrome
+cp -rfLp components/enig* $ext_dir/components
+cp -rfLp components/libenigmime.so $ext_dir/components
+cp -rfLp components/libipc.so $ext_dir/components
+cp -rfLp components/ipc.xpt $ext_dir/components
+cp -rfLp defaults/preferences/enigmail.js $ext_dir/defaults/preferences
+cd -
+cp -a ../mailnews/extensions/enigmail/package/install.rdf $ext_dir
+cp -a ../mailnews/extensions/enigmail/package/chrome.manifest $ext_dir/chrome.manifest
%endif
# remove unecessary stuff
rm $RPM_BUILD_ROOT%{_libdir}/%{name}/README.txt
rm $RPM_BUILD_ROOT%{_libdir}/%{name}/components/components.list
+rm $RPM_BUILD_ROOT%{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/components.list
# never package these
# nss
%attr(755,root,root) %{_bindir}/mozilla-thunderbird
%attr(755,root,root) %{_bindir}/thunderbird
%dir %{_libdir}/%{name}
-%{_libdir}/%{name}/*.ini
+%{_libdir}/%{name}/application.ini
+%{_libdir}/%{name}/platform.ini
%dir %{_libdir}/%{name}/components
%attr(755,root,root) %{_libdir}/%{name}/components/*.so
%{_libdir}/%{name}/components/*.js
%{_datadir}/%{name}/modules
%{_datadir}/%{name}/res
+%if %{with crashreporter}
+%attr(755,root,root) %{_libdir}/%{name}/crashreporter
+%{_libdir}/%{name}/crashreporter.ini
+%{_libdir}/%{name}/Throbber-small.gif
+%endif
+
%dir %{_libdir}/%{name}/extensions
%{_libdir}/%{name}/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}
+# files created by regxpcom -register
+%ghost %{_libdir}/%{name}/components/compreg.dat
+%ghost %{_libdir}/%{name}/components/xpti.dat
+
%if %{with lightning}
%files addon-lightning
%defattr(644,root,root,755)
-%{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}
+%dir %{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}
+%{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/defaults
+%{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome
+%{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome.manifest
+%{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/install.rdf
+%dir %{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components
+%attr(755,root,root) %{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/*.so
+%{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/*.xpt
+%{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/*.js
+%{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules
+%{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js
+%{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/timezones.sqlite
+
%{_libdir}/%{name}/extensions/calendar-timezones@mozilla.org
%endif
%if %{with enigmail}
%files addon-enigmail
%defattr(644,root,root,755)
-%{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}
+%dir %{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}
+%{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/defaults
+%{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/chrome
+%{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/chrome.manifest
+%{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/install.rdf
+%dir %{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/components
+%attr(755,root,root) %{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/components/*.so
+%{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/components/*.xpt
+%{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/components/*.js
%endif