From 12c01e40e01b537fdcd843eac82f39aeb5a7eca180031fef1c2768a4bdf1fb7c Mon Sep 17 00:00:00 2001 From: Wolfgang Rosenauer Date: Mon, 18 Jan 2010 14:24:16 +0000 Subject: [PATCH] update to 3.0.1 OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaThunderbird?expand=0&rev=67 --- MozillaThunderbird.changes | 10 ++ MozillaThunderbird.spec | 39 ++----- create-tar.sh | 4 +- l10n-3.0.0.tar.bz2 | 3 - l10n-3.0.1.tar.bz2 | 3 + mozilla-xsmp.patch | 192 +++++++++++++++++++++++++++++++ thunderbird-3.0.0-source.tar.bz2 | 3 - thunderbird-3.0.1-source.tar.bz2 | 3 + 8 files changed, 217 insertions(+), 40 deletions(-) delete mode 100644 l10n-3.0.0.tar.bz2 create mode 100644 l10n-3.0.1.tar.bz2 create mode 100644 mozilla-xsmp.patch delete mode 100644 thunderbird-3.0.0-source.tar.bz2 create mode 100644 thunderbird-3.0.1-source.tar.bz2 diff --git a/MozillaThunderbird.changes b/MozillaThunderbird.changes index 9844d25..3c49b55 100644 --- a/MozillaThunderbird.changes +++ b/MozillaThunderbird.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Tue Jan 12 00:23:23 CET 2010 - wr@rosenauer.org + +- update to 3.0.1 + * fixed UI issues related to some combinations of installed addons + (bmo#398702) +- fixed session restore (bnc#528406, bmo#508986) +- removed obsolete lightning stuff from spec file +- removed obsolete orbit-devel build requirement + ------------------------------------------------------------------- Mon Dec 7 10:04:05 CET 2009 - wr@rosenauer.org diff --git a/MozillaThunderbird.spec b/MozillaThunderbird.spec index 81843b6..6cf34ce 100644 --- a/MozillaThunderbird.spec +++ b/MozillaThunderbird.spec @@ -1,8 +1,8 @@ # -# spec file for package MozillaThunderbird (Version 3.0.0) +# spec file for package MozillaThunderbird (Version 3.0.1) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. -# Copyright (c) 2009 Wolfgang Rosenauer +# 2006-2010 Wolfgang Rosenauer # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -20,7 +20,7 @@ Name: MozillaThunderbird -BuildRequires: autoconf213 fdupes gcc-c++ libgnomeui-devel libidl-devel mozilla-nss-devel orbit-devel python startup-notification-devel unzip update-desktop-files zip +BuildRequires: autoconf213 fdupes gcc-c++ libgnomeui-devel libidl-devel mozilla-nss-devel python startup-notification-devel unzip update-desktop-files zip %if %suse_version > 1030 BuildRequires: hunspell-devel %endif @@ -28,10 +28,10 @@ BuildRequires: hunspell-devel BuildRequires: nss-shared-helper-devel %endif License: GPLv2+ ; LGPLv2.1+ ; MPLv1.1+ -%define mainversion 3.0.0 +%define mainversion 3.0.1 Version: %{mainversion} Release: 1 -%define releasedate 2009113000 +%define releasedate 2010011100 Summary: The Stand-Alone Mozilla Mail Component Url: http://www.mozilla.org/products/thunderbird/ Group: Productivity/Networking/Email/Clients @@ -56,6 +56,7 @@ Patch8: mozilla-helper-app.patch Patch9: mozilla-shared-nss-db.patch Patch10: mozilla-system-hunspell.patch.bz2 Patch11: thunderbird-shared-nss-db.patch +Patch13: mozilla-xsmp.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build PreReq: coreutils fileutils textutils /bin/sh ### build options @@ -65,7 +66,6 @@ PreReq: coreutils fileutils textutils /bin/sh %define has_system_cairo 1 %endif %define localize 1 -%define lightning 0 ### build options end %define _use_internal_dependency_generator 0 %define __find_requires sh %{SOURCE7} @@ -122,21 +122,7 @@ PreReq: %{name} = %{mainversion} Software Development Kit to build plugins/extensions against Thunderbird. -%if %lightning - -%package lightning -Version: 0.9 -Release: 1 -License: GPLv2+ ; LGPLv2.1+ ; MPLv1.1+ -Summary: Calendaring extension for Thunderbird -Group: Productivity/Networking/Email/Clients -PreReq: %{name} = %{mainversion} - -%description lightning -This package contains the Lightning calendar extension for Mozilla Thunderbird. -%endif %if %build_enigmail - %package -n enigmail Version: 1.0.0 Release: 1 @@ -171,6 +157,7 @@ pushd mozilla %patch8 -p1 %patch7 -p1 %patch9 -p1 +%patch13 -p1 pushd extensions %patch10 popd @@ -217,9 +204,6 @@ ac_add_options --with-system-zlib ac_add_options --with-l10n-base=../l10n ac_add_options --disable-updater #ac_add_options --with-system-png # no apng support -%if %lightning -ac_add_options --enable-extensions=default,lightning -%endif %if %suse_version > 1030 ac_add_options --enable-system-myspell %endif @@ -364,9 +348,6 @@ rm -f $RPM_BUILD_ROOT%{progdir}/updater rm -f $RPM_BUILD_ROOT%{progdir}/updater.ini rm -f $RPM_BUILD_ROOT%{progdir}/update.locale rm -f $RPM_BUILD_ROOT%{progdir}/dictionaries/en-US* -%if %lightning -rm -f $RPM_BUILD_ROOT%{progdir}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103} -%endif # Some sites use different partitions for /usr/(lib|lib64) and /usr/share. Since you # can't create hardlinks across partitions, we'll do this more than once. %fdupes $RPM_BUILD_ROOT%{progdir} @@ -467,14 +448,8 @@ exit 0 %{_libdir}/%{progname}/xpt_link #%{_libdir}/pkgconfig/*.pc %{_includedir}/%{progname}/ -%if %lightning -%files lightning -%defattr(-,root,root) -%{progdir}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103} -%endif %if %build_enigmail - %files -n enigmail %defattr(-,root,root) %dir %{_libdir}/mozilla diff --git a/create-tar.sh b/create-tar.sh index 9ba131c..3aa3c0f 100644 --- a/create-tar.sh +++ b/create-tar.sh @@ -2,8 +2,8 @@ BRANCH="releases/comm-1.9.1" # comm-central -RELEASE_TAG="THUNDERBIRD_3_0rc2_RELEASE" -VERSION="3.0.0" +RELEASE_TAG="THUNDERBIRD_3_0_1_RELEASE" +VERSION="3.0.1" echo "cloning $BRANCH..." hg clone http://hg.mozilla.org/$BRANCH thunderbird diff --git a/l10n-3.0.0.tar.bz2 b/l10n-3.0.0.tar.bz2 deleted file mode 100644 index de391b6..0000000 --- a/l10n-3.0.0.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1d629c015dc62c47efa22f2d5780889f3fd15dee2ebdda6f063988336bc5acd4 -size 19183180 diff --git a/l10n-3.0.1.tar.bz2 b/l10n-3.0.1.tar.bz2 new file mode 100644 index 0000000..eeed942 --- /dev/null +++ b/l10n-3.0.1.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71e62aef60197f212593644e8e32a6a17868e1c2312153d3c641a811bcc34f8a +size 19931410 diff --git a/mozilla-xsmp.patch b/mozilla-xsmp.patch new file mode 100644 index 0000000..1b673e3 --- /dev/null +++ b/mozilla-xsmp.patch @@ -0,0 +1,192 @@ +From: Wolfgang Rosenauer +Subject: XSMP restore doesn't work for Thunderbird +References: +https://bugzilla.mozilla.org/show_bug.cgi?id=508986 +https://bugzilla.novell.com/show_bug.cgi?id=528406 + +diff --git a/toolkit/xre/nsNativeAppSupportUnix.cpp b/toolkit/xre/nsNativeAppSupportUnix.cpp +--- a/toolkit/xre/nsNativeAppSupportUnix.cpp ++++ b/toolkit/xre/nsNativeAppSupportUnix.cpp +@@ -89,108 +89,52 @@ typedef enum { + GNOME_DIALOG_NORMAL + } GnomeDialogType; + + typedef GnomeProgram * (*_gnome_program_init_fn)(const char *, const char *, + const GnomeModuleInfo *, int, + char **, const char *, ...); + typedef const GnomeModuleInfo * (*_libgnomeui_module_info_get_fn)(); + typedef GnomeClient * (*_gnome_master_client_fn)(void); +-typedef void (*GnomeInteractFunction)(GnomeClient *, gint, GnomeDialogType, +- gpointer); +-typedef void (*_gnome_client_request_interaction_fn)(GnomeClient *, +- GnomeDialogType, +- GnomeInteractFunction, +- gpointer); +-typedef void (*_gnome_interaction_key_return_fn)(gint, gboolean); + typedef void (*_gnome_client_set_restart_command_fn)(GnomeClient*, gint, gchar*[]); + +-static _gnome_client_request_interaction_fn gnome_client_request_interaction; +-static _gnome_interaction_key_return_fn gnome_interaction_key_return; + static _gnome_client_set_restart_command_fn gnome_client_set_restart_command; + +-void interact_cb(GnomeClient *client, gint key, +- GnomeDialogType type, gpointer data) +-{ +- nsCOMPtr obsServ = +- do_GetService("@mozilla.org/observer-service;1"); +- nsCOMPtr cancelQuit = +- do_CreateInstance(NS_SUPPORTS_PRBOOL_CONTRACTID); +- +- cancelQuit->SetData(PR_FALSE); +- +- obsServ->NotifyObservers(cancelQuit, "quit-application-requested", nsnull); +- +- PRBool abortQuit; +- cancelQuit->GetData(&abortQuit); +- +- gnome_interaction_key_return(key, abortQuit); +-} +- + gboolean save_yourself_cb(GnomeClient *client, gint phase, + GnomeSaveStyle style, gboolean shutdown, + GnomeInteractStyle interact, gboolean fast, + gpointer user_data) + { +- if (!shutdown) +- return TRUE; +- + nsCOMPtr obsServ = + do_GetService("@mozilla.org/observer-service;1"); + + nsCOMPtr didSaveSession = + do_CreateInstance(NS_SUPPORTS_PRBOOL_CONTRACTID); + + if (!obsServ || !didSaveSession) + return TRUE; // OOM + ++ // Notify observers to save the session state + didSaveSession->SetData(PR_FALSE); + obsServ->NotifyObservers(didSaveSession, "session-save", nsnull); + + PRBool status; + didSaveSession->GetData(&status); + +- // Didn't save, or no way of saving. So signal for quit-application. +- if (!status) { +- if (interact == GNOME_INTERACT_ANY) +- gnome_client_request_interaction(client, GNOME_DIALOG_NORMAL, +- interact_cb, nsnull); +- return TRUE; +- } +- +- // Is there a request to suppress default binary launcher? +- char* argv1 = getenv("MOZ_APP_LAUNCHER"); ++ // If there was no session saved and the save_yourself request is ++ // caused by upcoming shutdown we like to prepare for it ++ if (!status && shutdown) { ++ nsCOMPtr cancelQuit = ++ do_CreateInstance(NS_SUPPORTS_PRBOOL_CONTRACTID); + +- if(!argv1) { +- // Tell GNOME the command for restarting us so that we can be part of XSMP session restore +- NS_ASSERTION(gDirServiceProvider, "gDirServiceProvider is NULL! This shouldn't happen!"); +- nsCOMPtr executablePath; +- nsresult rv; ++ cancelQuit->SetData(PR_FALSE); ++ obsServ->NotifyObservers(cancelQuit, "quit-application-requested", nsnull); + +- PRBool dummy; +- rv = gDirServiceProvider->GetFile(XRE_EXECUTABLE_FILE, &dummy, getter_AddRefs(executablePath)); +- +- if (NS_SUCCEEDED(rv)) { +- nsCAutoString path; +- +- // Strip off the -bin suffix to get the shell script we should run; this is what Breakpad does +- nsCAutoString leafName; +- rv = executablePath->GetNativeLeafName(leafName); +- if (NS_SUCCEEDED(rv) && StringEndsWith(leafName, NS_LITERAL_CSTRING("-bin"))) { +- leafName.SetLength(leafName.Length() - strlen("-bin")); +- executablePath->SetNativeLeafName(leafName); +- } +- +- executablePath->GetNativePath(path); +- argv1 = (char*)(path.get()); +- } +- } +- +- if(argv1) { +- gnome_client_set_restart_command(client, 1, &argv1); ++ PRBool abortQuit; ++ cancelQuit->GetData(&abortQuit); + } + + return TRUE; + } + + void die_cb(GnomeClient *client, gpointer user_data) + { + nsCOMPtr appService = +@@ -383,29 +327,59 @@ nsNativeAppSupportUnix::Start(PRBool *aR + } + #endif + + // Careful! These libraries cannot be unloaded after this point because + // gnome_program_init causes atexit handlers to be registered. Strange + // crashes will occur if these libraries are unloaded. + + #ifdef MOZ_X11 +- gnome_client_request_interaction = (_gnome_client_request_interaction_fn) +- PR_FindFunctionSymbol(gnomeuiLib, "gnome_client_request_interaction"); +- gnome_interaction_key_return = (_gnome_interaction_key_return_fn) +- PR_FindFunctionSymbol(gnomeuiLib, "gnome_interaction_key_return"); + gnome_client_set_restart_command = (_gnome_client_set_restart_command_fn) + PR_FindFunctionSymbol(gnomeuiLib, "gnome_client_set_restart_command"); + + _gnome_master_client_fn gnome_master_client = (_gnome_master_client_fn) + PR_FindFunctionSymbol(gnomeuiLib, "gnome_master_client"); + + GnomeClient *client = gnome_master_client(); + g_signal_connect(client, "save-yourself", G_CALLBACK(save_yourself_cb), NULL); + g_signal_connect(client, "die", G_CALLBACK(die_cb), NULL); ++ ++ // Set the correct/requested restart command in any case. ++ ++ // Is there a request to suppress default binary launcher? ++ char* argv1 = getenv("MOZ_APP_LAUNCHER"); ++ ++ if(!argv1) { ++ // Tell the desktop the command for restarting us so that we can be part of XSMP session restore ++ NS_ASSERTION(gDirServiceProvider, "gDirServiceProvider is NULL! This shouldn't happen!"); ++ nsCOMPtr executablePath; ++ nsresult rv; ++ ++ PRBool dummy; ++ rv = gDirServiceProvider->GetFile(XRE_EXECUTABLE_FILE, &dummy, getter_AddRefs(executablePath)); ++ ++ if (NS_SUCCEEDED(rv)) { ++ nsCAutoString path; ++ ++ // Strip off the -bin suffix to get the shell script we should run; this is what Breakpad does ++ nsCAutoString leafName; ++ rv = executablePath->GetNativeLeafName(leafName); ++ if (NS_SUCCEEDED(rv) && StringEndsWith(leafName, NS_LITERAL_CSTRING("-bin"))) { ++ leafName.SetLength(leafName.Length() - strlen("-bin")); ++ executablePath->SetNativeLeafName(leafName); ++ } ++ ++ executablePath->GetNativePath(path); ++ argv1 = (char*)(path.get()); ++ } ++ } ++ ++ if (argv1) { ++ gnome_client_set_restart_command(client, 1, &argv1); ++ } + #endif /* MOZ_X11 */ + + return NS_OK; + } + + NS_IMETHODIMP + nsNativeAppSupportUnix::Stop( PRBool *aResult ) + { diff --git a/thunderbird-3.0.0-source.tar.bz2 b/thunderbird-3.0.0-source.tar.bz2 deleted file mode 100644 index 39a07c5..0000000 --- a/thunderbird-3.0.0-source.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ce0811dc48058a453fd4d4c647a2fa2029c592b564d12b46806f0f3ab3dcf408 -size 60186501 diff --git a/thunderbird-3.0.1-source.tar.bz2 b/thunderbird-3.0.1-source.tar.bz2 new file mode 100644 index 0000000..31c64f4 --- /dev/null +++ b/thunderbird-3.0.1-source.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e40d6bfff23015f757fd88e5224c785f9699626bbdae6a5e567acd31c78a0b5e +size 60243348