From 729c17e0ad1e9d1d540f2669cbd072a8afc139c2 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Sat, 30 Apr 2011 16:08:29 +0200 Subject: thunderbird, sync with rawhide, update to 3.1.10 --- crashreporter-remove-static.patch | 2 + mozilla-build-s390.patch | 8 +- mozilla-jemalloc.patch | 57 +++++++--- thunderbird-default.patch | 34 ++++++ thunderbird-mozconfig | 5 +- thunderbird-open-browser.sh | 76 ------------- thunderbird-redhat-default-prefs.js | 5 - thunderbird-shared-error.patch | 16 --- thunderbird.desktop | 7 +- thunderbird.png | Bin 21835 -> 0 bytes thunderbird.sh.in | 32 +++--- thunderbird.spec | 215 +++++++++++++----------------------- xulrunner-1.9.2.1-build.patch | 4 + xulrunner-2.0-os2cc.patch | 21 ++++ 14 files changed, 204 insertions(+), 278 deletions(-) create mode 100644 thunderbird-default.patch delete mode 100644 thunderbird-open-browser.sh delete mode 100644 thunderbird-shared-error.patch delete mode 100644 thunderbird.png create mode 100644 xulrunner-2.0-os2cc.patch 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::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 +# 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 dirSvc +- (do_GetService("@mozilla.org/file/directory_service;1")); +- NS_ENSURE_TRUE(dirSvc, NS_ERROR_NOT_AVAILABLE); +- +- nsCOMPtr 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 -## Contributors: David Hill -# -# 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 Binary files a/thunderbird.png and /dev/null 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 3.1.10-1 +- Thunderbird 3.1.10 + +* Thu Apr 28 2011 Jan Horak - 3.1.10-1 +- Update to 3.1.10 + +* Thu Apr 21 2011 Christopher Aillon - 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 - 3.1.9-5 +- Enable startup notification + +* Mon Mar 7 2011 Jan Horak - 3.1.9-1 +- Update to 3.1.9 + * Sat Mar 5 2011 Remi Collet 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 ++ + #include "os2.h" + + #include "head.h" + + // OS/2 - OS/2 and Windows Metrics + // http://www.microsoft.com/opentype/otspec/os2.htm + + namespace ots { + -- cgit