1
0
Wolfgang Rosenauer 2010-01-18 14:24:16 +00:00 committed by Git OBS Bridge
parent ac1bf56af0
commit 12c01e40e0
8 changed files with 217 additions and 40 deletions

View File

@ -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 Mon Dec 7 10:04:05 CET 2009 - wr@rosenauer.org

View File

@ -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 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2009 Wolfgang Rosenauer <wr@rosenauer.org> # 2006-2010 Wolfgang Rosenauer <wr@rosenauer.org>
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -20,7 +20,7 @@
Name: MozillaThunderbird 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 %if %suse_version > 1030
BuildRequires: hunspell-devel BuildRequires: hunspell-devel
%endif %endif
@ -28,10 +28,10 @@ BuildRequires: hunspell-devel
BuildRequires: nss-shared-helper-devel BuildRequires: nss-shared-helper-devel
%endif %endif
License: GPLv2+ ; LGPLv2.1+ ; MPLv1.1+ License: GPLv2+ ; LGPLv2.1+ ; MPLv1.1+
%define mainversion 3.0.0 %define mainversion 3.0.1
Version: %{mainversion} Version: %{mainversion}
Release: 1 Release: 1
%define releasedate 2009113000 %define releasedate 2010011100
Summary: The Stand-Alone Mozilla Mail Component Summary: The Stand-Alone Mozilla Mail Component
Url: http://www.mozilla.org/products/thunderbird/ Url: http://www.mozilla.org/products/thunderbird/
Group: Productivity/Networking/Email/Clients Group: Productivity/Networking/Email/Clients
@ -56,6 +56,7 @@ Patch8: mozilla-helper-app.patch
Patch9: mozilla-shared-nss-db.patch Patch9: mozilla-shared-nss-db.patch
Patch10: mozilla-system-hunspell.patch.bz2 Patch10: mozilla-system-hunspell.patch.bz2
Patch11: thunderbird-shared-nss-db.patch Patch11: thunderbird-shared-nss-db.patch
Patch13: mozilla-xsmp.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: coreutils fileutils textutils /bin/sh PreReq: coreutils fileutils textutils /bin/sh
### build options ### build options
@ -65,7 +66,6 @@ PreReq: coreutils fileutils textutils /bin/sh
%define has_system_cairo 1 %define has_system_cairo 1
%endif %endif
%define localize 1 %define localize 1
%define lightning 0
### build options end ### build options end
%define _use_internal_dependency_generator 0 %define _use_internal_dependency_generator 0
%define __find_requires sh %{SOURCE7} %define __find_requires sh %{SOURCE7}
@ -122,21 +122,7 @@ PreReq: %{name} = %{mainversion}
Software Development Kit to build plugins/extensions against Thunderbird. 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 %if %build_enigmail
%package -n enigmail %package -n enigmail
Version: 1.0.0 Version: 1.0.0
Release: 1 Release: 1
@ -171,6 +157,7 @@ pushd mozilla
%patch8 -p1 %patch8 -p1
%patch7 -p1 %patch7 -p1
%patch9 -p1 %patch9 -p1
%patch13 -p1
pushd extensions pushd extensions
%patch10 %patch10
popd popd
@ -217,9 +204,6 @@ ac_add_options --with-system-zlib
ac_add_options --with-l10n-base=../l10n ac_add_options --with-l10n-base=../l10n
ac_add_options --disable-updater ac_add_options --disable-updater
#ac_add_options --with-system-png # no apng support #ac_add_options --with-system-png # no apng support
%if %lightning
ac_add_options --enable-extensions=default,lightning
%endif
%if %suse_version > 1030 %if %suse_version > 1030
ac_add_options --enable-system-myspell ac_add_options --enable-system-myspell
%endif %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}/updater.ini
rm -f $RPM_BUILD_ROOT%{progdir}/update.locale rm -f $RPM_BUILD_ROOT%{progdir}/update.locale
rm -f $RPM_BUILD_ROOT%{progdir}/dictionaries/en-US* 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 # 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. # can't create hardlinks across partitions, we'll do this more than once.
%fdupes $RPM_BUILD_ROOT%{progdir} %fdupes $RPM_BUILD_ROOT%{progdir}
@ -467,14 +448,8 @@ exit 0
%{_libdir}/%{progname}/xpt_link %{_libdir}/%{progname}/xpt_link
#%{_libdir}/pkgconfig/*.pc #%{_libdir}/pkgconfig/*.pc
%{_includedir}/%{progname}/ %{_includedir}/%{progname}/
%if %lightning
%files lightning
%defattr(-,root,root)
%{progdir}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}
%endif
%if %build_enigmail %if %build_enigmail
%files -n enigmail %files -n enigmail
%defattr(-,root,root) %defattr(-,root,root)
%dir %{_libdir}/mozilla %dir %{_libdir}/mozilla

View File

@ -2,8 +2,8 @@
BRANCH="releases/comm-1.9.1" # comm-central BRANCH="releases/comm-1.9.1" # comm-central
RELEASE_TAG="THUNDERBIRD_3_0rc2_RELEASE" RELEASE_TAG="THUNDERBIRD_3_0_1_RELEASE"
VERSION="3.0.0" VERSION="3.0.1"
echo "cloning $BRANCH..." echo "cloning $BRANCH..."
hg clone http://hg.mozilla.org/$BRANCH thunderbird hg clone http://hg.mozilla.org/$BRANCH thunderbird

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1d629c015dc62c47efa22f2d5780889f3fd15dee2ebdda6f063988336bc5acd4
size 19183180

3
l10n-3.0.1.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:71e62aef60197f212593644e8e32a6a17868e1c2312153d3c641a811bcc34f8a
size 19931410

192
mozilla-xsmp.patch Normal file
View File

@ -0,0 +1,192 @@
From: Wolfgang Rosenauer <wr@rosenauer.org>
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<nsIObserverService> obsServ =
- do_GetService("@mozilla.org/observer-service;1");
- nsCOMPtr<nsISupportsPRBool> 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<nsIObserverService> obsServ =
do_GetService("@mozilla.org/observer-service;1");
nsCOMPtr<nsISupportsPRBool> 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<nsISupportsPRBool> 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<nsIFile> 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<nsIAppStartup> 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<nsIFile> 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 )
{

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ce0811dc48058a453fd4d4c647a2fa2029c592b564d12b46806f0f3ab3dcf408
size 60186501

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e40d6bfff23015f757fd88e5224c785f9699626bbdae6a5e567acd31c78a0b5e
size 60243348