summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemi Collet <fedora@famillecollet.com>2011-04-30 16:08:29 +0200
committerRemi Collet <fedora@famillecollet.com>2011-04-30 16:08:29 +0200
commit729c17e0ad1e9d1d540f2669cbd072a8afc139c2 (patch)
tree0cca2f05cb3fac9367e49bfda39876b031ad9cc6
parent036a7f0c7e7bd2606b048a34f8a12c739ee1c813 (diff)
thunderbird, sync with rawhide, update to 3.1.10
-rw-r--r--crashreporter-remove-static.patch2
-rw-r--r--mozilla-build-s390.patch8
-rw-r--r--mozilla-jemalloc.patch57
-rw-r--r--thunderbird-default.patch34
-rw-r--r--thunderbird-mozconfig5
-rw-r--r--thunderbird-open-browser.sh76
-rw-r--r--thunderbird-redhat-default-prefs.js5
-rw-r--r--thunderbird-shared-error.patch16
-rw-r--r--thunderbird.desktop7
-rw-r--r--thunderbird.pngbin21835 -> 0 bytes
-rw-r--r--thunderbird.sh.in32
-rw-r--r--thunderbird.spec215
-rw-r--r--xulrunner-1.9.2.1-build.patch4
-rw-r--r--xulrunner-2.0-os2cc.patch21
14 files changed, 204 insertions, 278 deletions
diff --git a/crashreporter-remove-static.patch b/crashreporter-remove-static.patch
index 9cc94fb..330ab1a 100644
--- a/crashreporter-remove-static.patch
+++ b/crashreporter-remove-static.patch
@@ -1,3 +1,5 @@
+Remove static build option from crashreporter to remove dependency on static libraries
+
diff -up comm-1.9.2/mozilla/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/Makefile.in.static comm-1.9.2/mozilla/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/Makefile.in
--- comm-1.9.2/mozilla/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/Makefile.in.static 2010-06-23 19:47:11.000000000 +0200
+++ comm-1.9.2/mozilla/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/Makefile.in 2010-07-12 15:51:41.000000000 +0200
diff --git a/mozilla-build-s390.patch b/mozilla-build-s390.patch
index efdc54e..2bfe1d5 100644
--- a/mozilla-build-s390.patch
+++ b/mozilla-build-s390.patch
@@ -1,8 +1,8 @@
-diff -up mozilla/js/src/jstl.h.old mozilla/js/src/jstl.h
---- mozilla/js/src/jstl.h.old 2010-03-10 10:01:51.000000000 +0100
-+++ mozilla/js/src/jstl.h 2010-03-10 12:24:55.000000000 +0100
+diff -up mozilla-1.9.2/js/src/jstl.h.s390 mozilla-1.9.2/js/src/jstl.h
+--- mozilla-1.9.2/js/src/jstl.h.s390 2011-02-18 19:33:24.000000000 +0100
++++ mozilla-1.9.2/js/src/jstl.h 2011-03-07 08:41:29.000000000 +0100
@@ -195,7 +195,6 @@ class ReentrancyGuard
- static JS_ALWAYS_INLINE size_t
+ JS_ALWAYS_INLINE size_t
RoundUpPow2(size_t x)
{
- typedef tl::StaticAssert<tl::IsSameType<size_t,JSUword>::result>::result _;
diff --git a/mozilla-jemalloc.patch b/mozilla-jemalloc.patch
index 2ef0b97..ed255c0 100644
--- a/mozilla-jemalloc.patch
+++ b/mozilla-jemalloc.patch
@@ -1,24 +1,47 @@
-diff -r f1af606531f5 memory/jemalloc/jemalloc.h
---- mozilla/memory/jemalloc/jemalloc.h Sat Nov 22 20:22:22 2008 +0100
-+++ mozilla/memory/jemalloc/jemalloc.h Mon Dec 01 16:53:06 2008 -0500
-@@ -45,14 +45,14 @@
+# HG changeset patch
+# User Takanori MATSUURA <t.matsuu@gmail.com>
+# Date 1267955626 -3600
+# Node ID 7a2802932585e73f9fc817497b1d323f820d8fc9
+# Parent c2630edd612be6e301616c5219327560ea3955f5
+Bug 526389 - Skip redefinition of memory allocation functions for MacOS X and Linux. r=jasone
+
+diff --git mozilla/memory/jemalloc/jemalloc.h mozilla/memory/jemalloc/jemalloc.h
+--- mozilla/memory/jemalloc/jemalloc.h
++++ mozilla/memory/jemalloc/jemalloc.h
+@@ -74,26 +74,31 @@ typedef struct {
+ * Current memory usage statistics.
+ */
+ size_t mapped; /* Bytes mapped (not necessarily committed). */
+ size_t committed; /* Bytes committed (readable/writable). */
+ size_t allocated; /* Bytes allocted (in use by application). */
+ size_t dirty; /* Bytes dirty (committed unused pages). */
} jemalloc_stats_t;
- #ifndef MOZ_MEMORY_DARWIN
--void *malloc(size_t size);
--void *valloc(size_t size);
--void *calloc(size_t num, size_t size);
--void *realloc(void *ptr, size_t size);
--void free(void *ptr);
-+void *malloc(size_t size) __THROW __attribute_malloc__ __wur;
-+void *valloc(size_t size) __THROW __attribute_malloc__ __wur;
-+void *calloc(size_t num, size_t size) __THROW __attribute_malloc__ __wur;
-+void *realloc(void *ptr, size_t size) __THROW __attribute_malloc__ __wur;
-+void free(void *ptr) __THROW __attribute_malloc__ __wur;
- #endif
+-#ifndef MOZ_MEMORY_DARWIN
++/* Darwin and Linux already have memory allocation functions */
++#if (!defined(MOZ_MEMORY_DARWIN) && !defined(MOZ_MEMORY_LINUX))
+ void *malloc(size_t size);
+ void *valloc(size_t size);
+ void *calloc(size_t num, size_t size);
+ void *realloc(void *ptr, size_t size);
+ void free(void *ptr);
+-#endif
++int posix_memalign(void **memptr, size_t alignment, size_t size);
++#endif /* MOZ_MEMORY_DARWIN, MOZ_MEMORY_LINUX */
-int posix_memalign(void **memptr, size_t alignment, size_t size);
-+int posix_memalign(void **memptr, size_t alignment, size_t size) __THROW __attribute_malloc__ __wur;
++/* Linux has memalign */
++#if !defined(MOZ_MEMORY_LINUX)
void *memalign(size_t alignment, size_t size);
++#endif /* MOZ_MEMORY_LINUX */
++
size_t malloc_usable_size(const void *ptr);
void jemalloc_stats(jemalloc_stats_t *stats);
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+ #endif /* _JEMALLOC_H_ */
+
+
diff --git a/thunderbird-default.patch b/thunderbird-default.patch
new file mode 100644
index 0000000..7ab2104
--- /dev/null
+++ b/thunderbird-default.patch
@@ -0,0 +1,34 @@
+diff -up comm-1.9.2/mozilla/browser/components/shell/src/nsGNOMEShellService.cpp.default comm-1.9.2/mozilla/browser/components/shell/src/nsGNOMEShellService.cpp
+--- comm-1.9.2/mozilla/browser/components/shell/src/nsGNOMEShellService.cpp.default 2010-12-07 08:35:33.000000000 -0800
++++ comm-1.9.2/mozilla/browser/components/shell/src/nsGNOMEShellService.cpp 2011-02-07 17:32:42.866343508 -0800
+@@ -104,8 +104,6 @@ static const char kDesktopColorKey[] = D
+ nsresult
+ nsGNOMEShellService::Init()
+ {
+- nsresult rv;
+-
+ // GConf and GnomeVFS _must_ be available, or we do not allow
+ // CreateInstance to succeed.
+
+@@ -120,19 +118,9 @@ nsGNOMEShellService::Init()
+ // the locale encoding. If it's not set, they use UTF-8.
+ mUseLocaleFilenames = PR_GetEnv("G_BROKEN_FILENAMES") != nsnull;
+
+- nsCOMPtr<nsIProperties> dirSvc
+- (do_GetService("@mozilla.org/file/directory_service;1"));
+- NS_ENSURE_TRUE(dirSvc, NS_ERROR_NOT_AVAILABLE);
+-
+- nsCOMPtr<nsILocalFile> appPath;
+- rv = dirSvc->Get(NS_XPCOM_CURRENT_PROCESS_DIR, NS_GET_IID(nsILocalFile),
+- getter_AddRefs(appPath));
+- NS_ENSURE_SUCCESS(rv, rv);
++ mAppPath.Assign(NS_LITERAL_CSTRING(MOZ_APP_NAME));
+
+- rv = appPath->AppendNative(NS_LITERAL_CSTRING(MOZ_APP_NAME));
+- NS_ENSURE_SUCCESS(rv, rv);
+-
+- return appPath->GetNativePath(mAppPath);
++ return NS_OK;
+ }
+
+ NS_IMPL_ISUPPORTS1(nsGNOMEShellService, nsIShellService)
diff --git a/thunderbird-mozconfig b/thunderbird-mozconfig
index 3bbd52c..6b5fc85 100644
--- a/thunderbird-mozconfig
+++ b/thunderbird-mozconfig
@@ -1,6 +1,6 @@
mk_add_options MOZ_CO_PROJECT=mail
ac_add_options --enable-application=mail
-mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-tb/
+mk_add_options MOZ_OBJDIR=@TOPSRCDIR@
mk_add_options AUTOCONF=autoconf-2.13
#ac_add_options --with-system-png
@@ -15,7 +15,7 @@ ac_add_options --with-pthreads
ac_add_options --disable-tests
ac_add_options --disable-debug
ac_add_options --disable-installer
-ac_add_options --enable-optimize="$RPM_OPT_FLAGS"
+ac_add_options --enable-optimize
ac_add_options --enable-xinerama
ac_add_options --enable-default-toolkit=cairo-gtk2
ac_add_options --disable-xprint
@@ -30,6 +30,7 @@ ac_add_options --disable-crashreporter
ac_add_options --disable-necko-wifi
ac_add_options --disable-updater
ac_add_options --enable-static
+ac_add_options --enable-startup-notification
export BUILD_OFFICIAL=1
export MOZILLA_OFFICIAL=1
diff --git a/thunderbird-open-browser.sh b/thunderbird-open-browser.sh
deleted file mode 100644
index c9cefb4..0000000
--- a/thunderbird-open-browser.sh
+++ /dev/null
@@ -1,76 +0,0 @@
-#!/bin/bash
-## Copyright (C) 2004 Warren Togami <wtogami@redhat.com>
-## Contributors: David Hill <djh[at]ii.net>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-#
-# open-browser.sh for MozillaThunderbird
-# Release 5
-#
-# This script is called by MozillaThunderbird in order to launch the web
-# browser specified in gconf key /desktop/gnome/url-handlers/http/command
-#
-
-# Exit with Error Message
-function error_exit() {
- echo "$1"
- if [ -a /usr/bin/zenity ]; then
- /usr/bin/zenity --error --text="$1"
- else
- xmessage "$1" &
- fi
- exit 1
-}
-
-# No URL specified so set to blank
-url=$1
-if [ -z $url ]; then
- url=about:blank
-fi
-
-# Use xdg-open if it exists (Gnome 2.6+ only)
-if [ -f /usr/bin/xdg-open ]; then
- OUTPUT="$(/usr/bin/xdg-open "$url" 2>&1)"
- if [ $? -ne 0 ]; then
- error_exit "$OUTPUT"
- fi
- exit 0
-fi
-
-# Pull key from gconf, remove %s or "%s", trim leading & trailing spaces
-GCONF=$(gconftool-2 -g /desktop/gnome/url-handlers/http/command 2>/dev/null | sed -e 's/%s//; s/\"\"//; s/^\ *//; s/\ *$//')
-NEEDTERM=$(gconftool-2 -g /desktop/gnome/url-handlers/http/need-terminal 2>/dev/null | sed -e 's/^\ *//; s/\ *$//')
-
-# Check if browser really exists
-which $GCONF 2> /dev/null > /dev/null
-if [ $? -ne 0 ]; then
- error_exit "ERROR: The browser $GCONF specified in Preferences -> Preferred Applications does not exist."
-fi
-
-# Check if text-mode browser
-if [ "$NEEDTERM" == "true" ]; then
- PREFTERM=$(gconftool-2 -g /desktop/gnome/applications/terminal/exec 2>/dev/null | sed -e 's/^\ *//; s/\ *$//')
- TERMARGS=$(gconftool-2 -g /desktop/gnome/applications/terminal/exec_arg 2>/dev/null | sed -e 's/^\ *//; s/\ *$//')
- # Check if terminal exists
- which $PREFTERM 2> /dev/null > /dev/null
- if [ $? -ne 0 ]; then
- error_exit "ERROR: The terminal $GCONF specified in Preferences -> Preferred Applications does not exist."
- fi
- # Execute
- exec $PREFTERM $TERMARGS $GCONF "$url"
-fi
-
-exec $GCONF "$url"
-
diff --git a/thunderbird-redhat-default-prefs.js b/thunderbird-redhat-default-prefs.js
index a4bd7a9..eeb5c98 100644
--- a/thunderbird-redhat-default-prefs.js
+++ b/thunderbird-redhat-default-prefs.js
@@ -8,11 +8,6 @@ pref("intl.locale.matchOS", true);
pref("mail.shell.checkDefaultClient", false);
pref("toolkit.networkmanager.disable", false);
-# Make hyperlinks work
-pref("network.protocol-handler.app.http", "COMMAND");
-pref("network.protocol-handler.app.https", "COMMAND");
-pref("network.protocol-handler.app.ftp", "COMMAND");
-
# Disable global indexing by default
pref("mailnews.database.global.indexer.enabled", false);
diff --git a/thunderbird-shared-error.patch b/thunderbird-shared-error.patch
deleted file mode 100644
index 2869fd8..0000000
--- a/thunderbird-shared-error.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -up comm-central/mail/installer/Makefile.in.shared-error comm-central/mail/installer/Makefile.in
---- comm-central/mail/installer/Makefile.in.shared-error 2009-09-16 13:47:43.000000000 +0200
-+++ comm-central/mail/installer/Makefile.in 2009-09-16 13:48:25.000000000 +0200
-@@ -95,9 +95,11 @@ endif
- # mozconfig instead.
- ifndef MAIL_PKG_SHARED
- ifndef BUILD_STATIC_LIBS
-+ifeq (BUILD_STATIC_LIBS, 1)
- $(error you need an "--enable-static" build to package a build)
- endif
- endif
-+endif
-
- include $(MOZILLA_SRCDIR)/toolkit/mozapps/installer/packager.mk
-
-
diff --git a/thunderbird.desktop b/thunderbird.desktop
index 81dda0f..37086d0 100644
--- a/thunderbird.desktop
+++ b/thunderbird.desktop
@@ -3,11 +3,12 @@ Version=1.0
Name=Thunderbird
GenericName=Email
Comment=Send and Receive Email
-Exec=thunderbird
+Exec=thunderbird %u
TryExec=thunderbird
Icon=thunderbird
Terminal=false
Type=Application
StartupWMClass=Thunderbird-bin
-MimeType=message/rfc822;
-StartupNotify=true \ No newline at end of file
+MimeType=message/rfc822;x-scheme-handler/mailto;
+StartupNotify=true
+Categories=Network;Email;
diff --git a/thunderbird.png b/thunderbird.png
deleted file mode 100644
index d1f9827..0000000
--- a/thunderbird.png
+++ /dev/null
Binary files differ
diff --git a/thunderbird.sh.in b/thunderbird.sh.in
index 0630fd3..cf8d3ec 100644
--- a/thunderbird.sh.in
+++ b/thunderbird.sh.in
@@ -99,26 +99,20 @@ if [ $MOZILLA_DOWN -ne 0 ]; then
SHORTMOZLOCALE=`echo $CURRENT_LOCALE | sed "s|_\([^.]*\).*||g"`
MOZLOCALE=`echo $CURRENT_LOCALE | sed "s|_\([^.]*\).*|-\1|g"`
- # Try to link global langpacks to an extension directory
- if [ -f $MOZ_LANGPACKS_DIR/langpack-${SHORTMOZLOCALE}@thunderbird.mozilla.org/chrome/$SHORTMOZLOCALE.jar ]; then
- if [ -d $MOZ_EXTENSIONS_PROFILE_DIR/langpack-${SHORTMOZLOCALE}@thunderbird.mozilla.org ]; then
- rmdir "$MOZ_EXTENSIONS_PROFILE_DIR/langpack-${SHORTMOZLOCALE}@thunderbird.mozilla.org" > /dev/null 2>&1
- fi
- if ! [ -e $MOZ_EXTENSIONS_PROFILE_DIR/langpack-${SHORTMOZLOCALE}@thunderbird.mozilla.org ]; then
- ln -s $MOZ_LANGPACKS_DIR/langpack-${SHORTMOZLOCALE}@thunderbird.mozilla.org \
- $MOZ_EXTENSIONS_PROFILE_DIR/langpack-${SHORTMOZLOCALE}@thunderbird.mozilla.org
- echo "$MOZ_EXTENSIONS_PROFILE_DIR/langpack-${SHORTMOZLOCALE}@thunderbird.mozilla.org" > $FEDORA_LANGPACK_CONFIG
+ function create_langpack_link() {
+ local language=$*
+ local langpack=langpack-${language}@thunderbird.mozilla.org
+ if [ -f $MOZ_LANGPACKS_DIR/$langpack/chrome.manifest ]; then
+ rm -rf $MOZ_EXTENSIONS_PROFILE_DIR/$langpack
+ ln -s $MOZ_LANGPACKS_DIR/$langpack \
+ $MOZ_EXTENSIONS_PROFILE_DIR/$langpack
+ echo $MOZ_EXTENSIONS_PROFILE_DIR/$langpack > $FEDORA_LANGPACK_CONFIG
+ return 0
fi
- elif [ -f $MOZ_LANGPACKS_DIR/langpack-${MOZLOCALE}@thunderbird.mozilla.org/chrome/$MOZLOCALE.jar ]; then
- if [ -d $MOZ_EXTENSIONS_PROFILE_DIR/langpack-${MOZLOCALE}@thunderbird.mozilla.org ]; then
- rmdir "$MOZ_EXTENSIONS_PROFILE_DIR/langpack-${MOZLOCALE}@thunderbird.mozilla.org" > /dev/null 2>&1
- fi
- if ! [ -e $MOZ_EXTENSIONS_PROFILE_DIR/langpack-${MOZLOCALE}@thunderbird.mozilla.org ]; then
- ln -s $MOZ_LANGPACKS_DIR/langpack-${MOZLOCALE}@thunderbird.mozilla.org \
- $MOZ_EXTENSIONS_PROFILE_DIR/langpack-${MOZLOCALE}@thunderbird.mozilla.org
- echo "$MOZ_EXTENSIONS_PROFILE_DIR/langpack-${MOZLOCALE}@thunderbird.mozilla.org" > $FEDORA_LANGPACK_CONFIG
- fi
- fi
+ return 1
+ }
+
+ create_langpack_link $SHORTMOZLOCALE || create_langpack_link $MOZLOCALE || true
fi
exec $MOZ_PROGRAM "$@"
diff --git a/thunderbird.spec b/thunderbird.spec
index cbff333..3759f19 100644
--- a/thunderbird.spec
+++ b/thunderbird.spec
@@ -6,13 +6,7 @@
%define sqlite_version 3.6.22
%define libnotify_version 0.4
%define build_langpacks 1
-%define thunderbird_version 3.1.9
-%define moz_objdir objdir-tb
%define thunderbird_app_id \{3550f703-e582-4d05-9a08-453d09bdfdc6\}
-%define with_lightning_extension 1
-%define lightning_release 0.40.b3pre
-%define lightning_extname %{_libdir}/mozilla/extensions/{3550f703-e582-4d05-9a08-453d09bdfdc6}/{e2fda1a4-762b-4020-b5ad-a41df1933103}
-%define gdata_extname %{_libdir}/mozilla/extensions/{3550f703-e582-4d05-9a08-453d09bdfdc6}/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}
# The tarball is pretty inconsistent with directory structure.
# Sometimes there is a top level directory. That goes here.
@@ -35,7 +29,7 @@
Summary: Mozilla Thunderbird mail/newsgroup client
Name: thunderbird
-Version: %{thunderbird_version}
+Version: 3.1.10
Release: 1%{?dist}
URL: http://www.mozilla.org/projects/thunderbird/
License: MPLv1.1 or GPLv2+ or LGPLv2+
@@ -47,40 +41,27 @@ Group: Applications/Internet
%endif
Source0: %{tarball}
%if %{build_langpacks}
-# Language package archive is build by RH
-Source1: thunderbird-langpacks-%{version}-20110305.tar.bz2
+Source1: thunderbird-langpacks-%{version}-20110430.tar.bz2
%endif
-Source4: http://releases.mozilla.org/pub/mozilla.org/calendar/lightning/releases/1.0b2/linux-i686/lightning.xpi
-Source5: http://releases.mozilla.org/pub/mozilla.org/calendar/lightning/releases/1.0b2/linux-i686/gdata-provider.xpi
-# Config file for compilation
Source10: thunderbird-mozconfig
-# Config file for branded compilation
Source11: thunderbird-mozconfig-branded
-# Default preferences for Thunderbird
Source12: thunderbird-redhat-default-prefs.js
-# Config file for debug builds
Source13: thunderbird-mozconfig-debuginfo
-# Desktop file
Source20: thunderbird.desktop
-# TB execute script
Source21: thunderbird.sh.in
-# Script called when user click on link in message
-Source30: thunderbird-open-browser.sh
-# Finds requirements provided outside of the current file set
Source100: find-external-requires
-# Fix for version issues
+# Mozilla (XULRunner) patches
Patch0: thunderbird-version.patch
-# Fix for jemalloc
-Patch1: mozilla-jemalloc.patch
-# Fixes gcc complain that nsFrame::delete is protected
-Patch4: xulrunner-1.9.2.1-build.patch
-Patch6: mozilla-libjpeg-turbo.patch
-Patch7: mozilla-missing-cflags.patch
-Patch8: mozilla-build-s390.patch
-# Remove static build option from crashreporter to remove dependency on static libraries
-Patch9: crashreporter-remove-static.patch
+Patch1: thunderbird-default.patch
+Patch2: mozilla-jemalloc.patch
+Patch3: xulrunner-1.9.2.1-build.patch
+Patch4: mozilla-libjpeg-turbo.patch
+Patch5: mozilla-missing-cflags.patch
+Patch6: mozilla-build-s390.patch
+Patch7: crashreporter-remove-static.patch
+Patch9: xulrunner-2.0-os2cc.patch
%if %{official_branding}
# Required by Mozilla Corporation
@@ -156,32 +137,32 @@ AutoProv: 0
%description
Mozilla Thunderbird is a standalone mail and newsgroup client.
-%if %{with_lightning_extension}
-%package -n thunderbird-lightning
-Summary: The calendar extension to Thunderbird
-Version: 1.0
-Release: %{lightning_release}%{?dist}
-Group: Applications/Productivity
-Requires: thunderbird >= %{thunderbird_version}
-Obsoletes: thunderbird-lightning-wcap <= 0.8
-Provides: thunderbird-lightning-wcap = %{version}-%{release}
-AutoProv: 0
-
-%description -n thunderbird-lightning
-Lightning brings the Sunbird calendar to the popular email client,
-Mozilla Thunderbird. Since it's an extension, Lightning is tightly
-integrated with Thunderbird, allowing it to easily perform email-related
-calendaring tasks.
-
+%if %{enable_mozilla_crashreporter}
+%global moz_debug_prefix %{_prefix}/lib/debug
+%global moz_debug_dir %{moz_debug_prefix}%{mozappdir}
+%global uname_m %(uname -m)
+%global symbols_file_name %{name}-%{version}.en-US.%{_os}-%{uname_m}.crashreporter-symbols.zip
+%global symbols_file_path %{moz_debug_dir}/%{symbols_file_name}
+%global _find_debuginfo_opts -p %{symbols_file_path} -o debugcrashreporter.list
+%global crashreporter_pkg_name mozilla-crashreporter-%{name}-debuginfo
+%package -n %{crashreporter_pkg_name}
+Summary: Debugging symbols used by Mozilla's crash reporter servers
+Group: Development/Debug
+%description -n %{crashreporter_pkg_name}
+This package provides debug information for XULRunner, for use by
+Mozilla's crash reporter servers. If you are trying to locally
+debug %{name}, you want to install %{name}-debuginfo instead.
+%files -n %{crashreporter_pkg_name} -f debugcrashreporter.list
+%defattr(-,root,root)
%endif
%prep
-echo CIBLE = %{name}-%{thunderbird_version}-%{release}
+echo CIBLE = %{name}-%{version}-%{release}
[ -f %{SOURCE1} ] || exit 1
%setup -q -c
-sed -e "s/^Name=.*/Name=Thunderbird %{thunderbird_version} %{?relcan}/" \
+sed -e "s/^Name=.*/Name=Thunderbird %{version} %{?relcan}/" \
-e "s/thunderbird/%{name}/" \
%{SOURCE20} | tee %{name}.desktop
@@ -191,17 +172,21 @@ sed -e 's/__RPM_VERSION_INTERNAL__/%{version_internal}/' %{P:%%PATCH0} \
> version.patch
%{__patch} -p1 -b --suffix .version --fuzz=0 < version.patch
-%patch1 -p0 -b .jemalloc
-%patch4 -p1 -b .protected
+# Mozilla (XULRunner) patches
+cd mozilla
+%patch1 -p2 -b .default-application
+%patch2 -p1 -b .jemalloc
+%patch3 -p2 -b .protected
%if %{fedora} >= 14
-%patch6 -p1 -b .turbo
+%patch4 -p2 -b .turbo
%endif
-%patch7 -p1 -b .mozcflags
+%patch5 -p2 -b .mozcflags
%ifarch s390
-%patch8 -p0 -b .s390
+%patch6 -p1 -b .s390
%endif
-%patch9 -p1 -b .static
-
+%patch7 -p2 -b .static
+%patch9 -p1 -b .os2cc
+cd ..
%if %{official_branding}
# Required by Mozilla Corporation
@@ -211,8 +196,8 @@ sed -e 's/__RPM_VERSION_INTERNAL__/%{version_internal}/' %{P:%%PATCH0} \
%endif
-
%{__rm} -f .mozconfig
+#{__cp} %{SOURCE10} .mozconfig
cat %{SOURCE10} \
%if %{fedora} < 15
| grep -v system-sqlite \
@@ -244,16 +229,12 @@ ac_add_options --enable-system-sqlite
%endif
EOF
-#{__cp} %{SOURCE10} .mozconfig
%if %{official_branding}
%{__cat} %{SOURCE11} >> .mozconfig
%endif
%if %{enable_mozilla_crashreporter}
%{__cat} %{SOURCE13} >> .mozconfig
%endif
-%if %{with_lightning_extension}
-echo "ac_add_options --enable-calendar" >> .mozconfig
-%endif
#===============================================================================
@@ -263,11 +244,18 @@ cd %{tarballdir}
INTERNAL_GECKO=%{version_internal}
MOZ_APP_DIR=%{mozappdir}
-# Build with -Os as it helps the browser; also, don't override mozilla's warning
-# level; they use -Wall but disable a few warnings that show up _everywhere_
-MOZ_OPT_FLAGS=$(echo $RPM_OPT_FLAGS | %{__sed} -e 's/-O2/-Os/' -e 's/-Wall//')
+# -fpermissive is needed to build with gcc 4.6+ which has become stricter
+#
+# Mozilla builds with -Wall with exception of a few warnings which show up
+# everywhere in the code; so, don't override that.
+#
+# Disable C++ exceptions since Mozilla code is not exception-safe
+#
+MOZ_OPT_FLAGS=$(echo "$RPM_OPT_FLAGS -fpermissive" | \
+ %{__sed} -e 's/-Wall//' -e 's/-fexceptions/-fno-exceptions/g')
+export CFLAGS=$MOZ_OPT_FLAGS
+export CXXFLAGS=$MOZ_OPT_FLAGS
-export RPM_OPT_FLAGS=$MOZ_OPT_FLAGS
export PREFIX='%{_prefix}'
export LIBDIR='%{_libdir}'
@@ -284,7 +272,6 @@ make -f client.mk build
# create debuginfo for crash-stats.mozilla.com
%if %{enable_mozilla_crashreporter}
-cd %{moz_objdir}
make buildsymbols
%endif
@@ -299,29 +286,14 @@ INTERNAL_GECKO=%{version_internal}
INTERNAL_APP_NAME=%{name}-${INTERNAL_GECKO}
MOZ_APP_DIR=%{_libdir}/${INTERNAL_APP_NAME}
-cd %{moz_objdir}
DESTDIR=$RPM_BUILD_ROOT make install
# install icons
-cd -
-%{__mkdir_p} $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps
-%{__cp} other-licenses/branding/%{name}/mailicon16.png \
- $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps/thunderbird.png
-%{__mkdir_p} $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/22x22/apps
-%{__cp} other-licenses/branding/%{name}/mailicon22.png \
- $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/22x22/apps/thunderbird.png
-%{__mkdir_p} $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/24x24/apps
-%{__cp} other-licenses/branding/%{name}/mailicon24.png \
- $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/24x24/apps/thunderbird.png
-%{__mkdir_p} $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps
-%{__cp} other-licenses/branding/%{name}/mailicon32.png \
- $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps/thunderbird.png
-%{__mkdir_p} $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps
-%{__cp} other-licenses/branding/%{name}/mailicon48.png \
- $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps/thunderbird.png
-%{__mkdir_p} $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/256x256/apps
-%{__cp} other-licenses/branding/%{name}/mailicon256.png \
- $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/256x256/apps/thunderbird.png
+for s in 16 22 24 32 48 256; do
+ %{__mkdir_p} $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps
+ %{__cp} -p other-licenses/branding/%{name}/mailicon${s}.png \
+ $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/thunderbird.png
+done
desktop-file-install --vendor mozilla \
@@ -337,13 +309,9 @@ rm -f $RPM_BUILD_ROOT/%{_bindir}/thunderbird
$RPM_BUILD_ROOT%{_bindir}/thunderbird
%{__chmod} 755 $RPM_BUILD_ROOT/%{_bindir}/thunderbird
-install -Dm755 %{SOURCE30} $RPM_BUILD_ROOT/%{mozappdir}/open-browser.sh
-%{__sed} -i -e 's|LIBDIR|%{_libdir}|g' $RPM_BUILD_ROOT/%{mozappdir}/open-browser.sh
-
# set up our default preferences
-%{__cat} %{SOURCE12} | %{__sed} -e 's,THUNDERBIRD_RPM_VR,fc%{fedora},g' \
- -e 's,Fedora,Remi,g' \
- -e 's,COMMAND,%{mozappdir}/open-browser.sh,g' > \
+%{__cat} %{SOURCE12} | %{__sed} -e 's,Fedora,Remi,g' \
+ -e 's,THUNDERBIRD_RPM_VR,fc%{fedora},g' > \
$RPM_BUILD_ROOT/rh-default-prefs
%{__install} -D $RPM_BUILD_ROOT/rh-default-prefs $RPM_BUILD_ROOT/%{mozappdir}/greprefs/all-remi.js
%{__install} -D $RPM_BUILD_ROOT/rh-default-prefs $RPM_BUILD_ROOT/%{mozappdir}/defaults/pref/all-remi.js
@@ -408,43 +376,10 @@ touch $RPM_BUILD_ROOT%{mozappdir}/components/xpti.dat
# Add debuginfo for crash-stats.mozilla.com
%if %{enable_mozilla_crashreporter}
-# Debug symbols are stored in /usr/lib even in x86_64 arch
-DEBUG_LIB_DIR=`echo %{_libdir}|sed -e "s/lib64/lib/"`
-mkdir -p $RPM_BUILD_ROOT$DEBUG_LIB_DIR/debug%{mozappdir}
-cp objdir-tb/mozilla/dist/%{name}-%{thunderbird_version}*.crashreporter-symbols.zip $RPM_BUILD_ROOT$DEBUG_LIB_DIR/debug%{mozappdir}
+%{__mkdir_p} $RPM_BUILD_ROOT/%{moz_debug_dir}
+%{__cp} mozilla/dist/%{symbols_file_name} $RPM_BUILD_ROOT/%{moz_debug_dir}
%endif
-%if %{with_lightning_extension}
-# Avoid "Chrome Registration Failed" message on first startup and extension installation
-mkdir -p $RPM_BUILD_ROOT%{lightning_extname}
-touch $RPM_BUILD_ROOT%{lightning_extname}/chrome.manifest
-mkdir -p $RPM_BUILD_ROOT%{gdata_extname}
-touch $RPM_BUILD_ROOT%{gdata_extname}/chrome.manifest
-
-# Lightning and GData provider for it
-unzip -qod $RPM_BUILD_ROOT%{lightning_extname} objdir-tb/mozilla/dist/xpi-stage/lightning.xpi
-unzip -qod $RPM_BUILD_ROOT%{gdata_extname} objdir-tb/mozilla/dist/xpi-stage/gdata-provider.xpi
-
-# Unpack lightning language packs, except en_US
-unzip -l %{SOURCE4} '*.jar' |
- awk '/-[^\/]*\.jar/ && !/en-US/ {print $4}' |
- xargs unzip -qod $RPM_BUILD_ROOT%{lightning_extname} %{SOURCE4}
-
-# Register them
-ls $RPM_BUILD_ROOT%{lightning_extname}/chrome |
- sed -n '/en-US/n;s/\(\([^-]*\)-\(.*\)\.jar\)/locale \2 \3 jar:chrome\/\1!\/locale\/\3\/\2\//p' \
- | tee -a $RPM_BUILD_ROOT%{lightning_extname}/chrome.manifest
-
-# Unpack gdata language packs, except en_US
-unzip -l %{SOURCE5} '*.jar' |
- awk '/-[^\/]*\.jar/ && !/en-US/ {print $4}' |
- xargs unzip -qod $RPM_BUILD_ROOT%{gdata_extname} %{SOURCE5}
-
-# Register them
-ls $RPM_BUILD_ROOT%{gdata_extname}/chrome |
- sed -n '/en-US/n;s/\(\([^-]*\)-\(.*\)\.jar\)/locale \2 \3 jar:chrome\/\1!\/locale\/\3\/\2\//p' \
- | tee -a $RPM_BUILD_ROOT%{gdata_extname}/chrome.manifest
-%endif
# RC - provide account type
[ -f $RPM_BUILD_ROOT%{mozappdir}/isp/gmail.rdf ] || \
@@ -521,7 +456,6 @@ fi
%{mozappdir}/greprefs
%{mozappdir}/isp
%{mozappdir}/mozilla-xremote-client
-%{mozappdir}/open-browser.sh
%{mozappdir}/res
%{mozappdir}/run-mozilla.sh
%{mozappdir}/thunderbird-bin
@@ -551,17 +485,26 @@ fi
%{mozappdir}/Throbber-small.gif
%endif
-%if %{with_lightning_extension}
-%files -n thunderbird-lightning
-%doc %{tarballdir}/mozilla/LEGAL %{tarballdir}/mozilla/LICENSE %{tarballdir}/mozilla/README.txt
-%defattr(-,root,root,-)
-%{lightning_extname}
-%{gdata_extname}
-%endif
-
#===============================================================================
%changelog
+* Sat Apr 30 2011 Remi Collet <rpms@famillecollet.com> 3.1.10-1
+- Thunderbird 3.1.10
+
+* Thu Apr 28 2011 Jan Horak <jhorak@redhat.com> - 3.1.10-1
+- Update to 3.1.10
+
+* Thu Apr 21 2011 Christopher Aillon <caillon@redhat.com> - 3.1.9-7
+- Make gvfs-open launch a compose window (salimma)
+- Spec file cleanups (salimma, caillon)
+- Split out mozilla crashreporter symbols to its own debuginfo package (caillon)
+
+* Fri Apr 1 2011 Orion Poplawski <orion@cora.nwra.com> - 3.1.9-5
+- Enable startup notification
+
+* Mon Mar 7 2011 Jan Horak <jhorak@redhat.com> - 3.1.9-1
+- Update to 3.1.9
+
* Sat Mar 5 2011 Remi Collet <rpms@famillecollet.com> 3.1.9-1
- Thunderbird 3.1.9
diff --git a/xulrunner-1.9.2.1-build.patch b/xulrunner-1.9.2.1-build.patch
index 4d9ee43..1d32a0c 100644
--- a/xulrunner-1.9.2.1-build.patch
+++ b/xulrunner-1.9.2.1-build.patch
@@ -1,3 +1,7 @@
+XXX FIXME
+GCC complains that nsFrame::delete is protected
+..but this really needs to get solved a better way...
+
diff -up xulrunner-1.9.2.1/mozilla-1.9.2/layout/generic/nsFrame.h.old xulrunner-1.9.2.1/mozilla-1.9.2/layout/generic/nsFrame.h
--- xulrunner-1.9.2.1/mozilla/layout/generic/nsFrame.h.old 2009-11-11 15:34:51.000000000 +0100
+++ xulrunner-1.9.2.1/mozilla/layout/generic/nsFrame.h 2009-11-11 15:33:09.000000000 +0100
diff --git a/xulrunner-2.0-os2cc.patch b/xulrunner-2.0-os2cc.patch
new file mode 100644
index 0000000..3aa5286
--- /dev/null
+++ b/xulrunner-2.0-os2cc.patch
@@ -0,0 +1,21 @@
+https://bugzilla.mozilla.org/show_bug.cgi?id=628252
+
+diff -r b5ee327bf536 gfx/ots/src/os2.cc
+--- a/gfx/ots/src/os2.cc Fri Jan 28 19:59:59 2011 +0100
++++ b/gfx/ots/src/os2.cc Sat Jan 29 10:56:30 2011 -0800
+@@ -1,12 +1,14 @@
+ // Copyright (c) 2009 The Chromium Authors. All rights reserved.
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+
++#include <cstddef>
++
+ #include "os2.h"
+
+ #include "head.h"
+
+ // OS/2 - OS/2 and Windows Metrics
+ // http://www.microsoft.com/opentype/otspec/os2.htm
+
+ namespace ots {
+