Accepting request 20944 from mozilla:Factory

Copy from mozilla:Factory/MozillaThunderbird based on submit request 20944 from user wrosenauer

OBS-URL: https://build.opensuse.org/request/show/20944
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/MozillaThunderbird?expand=0&rev=39
This commit is contained in:
OBS User autobuild 2009-09-23 18:21:47 +00:00 committed by Git OBS Bridge
commit d555563f17
12 changed files with 148 additions and 309 deletions

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Tue Sep 15 17:58:56 CEST 2009 - wr@rosenauer.org
- update to 3.0b4
* removed upstreamed patches
* based on Gecko 1.9.1.3 (inheriting security fixes)
* new global search
-------------------------------------------------------------------
Tue Aug 25 17:56:36 CEST 2009 - wr@rosenauer.org

View File

@ -1,5 +1,5 @@
#
# spec file for package MozillaThunderbird (Version 3.0b3)
# spec file for package MozillaThunderbird (Version 3.0b4)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2009 Wolfgang Rosenauer <wr@rosenauer.org>
@ -28,9 +28,9 @@ BuildRequires: hunspell-devel
BuildRequires: nss-shared-helper-devel
%endif
License: GPL v2 or later ; LGPL v2.1 or later ; MPL 1.1 or later
%define mainversion 3.0b3
%define mainversion 3.0b4
Version: %{mainversion}
Release: 5
Release: 1
Summary: The Stand-Alone Mozilla Mail Component
Url: http://www.mozilla.org/products/thunderbird/
Group: Productivity/Networking/Email/Clients
@ -39,18 +39,15 @@ Source1: MozillaThunderbird.desktop
Source2: add-plugins.sh.in
Source3: mozilla.sh.in
Source4: l10n-%{version}.tar.bz2
Source5: shipped-locales
#Source5: shipped-locales
Source6: suse-default-prefs.js
Source7: find-external-requires.sh
Source8: MozillaThunderbird-rpmlintrc
Source9: enigmail-20090813.tar.bz2
Source10: create-tar.sh
Patch1: mozilla-app-launcher.patch
Patch2: thunderbird-appname.patch
Patch3: mozilla-jemalloc_deepbind.patch
Patch4: mozilla-gtkfilepicker-buttonorder.patch
Patch5: tb-develdirs.patch
Patch6: mozilla-protocol_handler.patch
Patch7: mozilla-path_len.patch
Patch9: mozilla-shared-nss-db.patch
Patch10: mozilla-system-hunspell.patch.bz2
@ -73,7 +70,7 @@ PreReq: coreutils fileutils textutils /bin/sh
%global __find_provides %provfind
Requires: mozilla-nspr >= %(rpm -q --queryformat '%{VERSION}' mozilla-nspr)
Requires: mozilla-nss >= %(rpm -q --queryformat '%{VERSION}' mozilla-nss)
%define releasedate 2009071500
%define releasedate 2009091500
%define progname thunderbird
%define progdir %{_prefix}/%_lib/thunderbird
%define libgssapi libgssapi_krb5.so.2
@ -140,7 +137,7 @@ This package contains the Lightning calendar extension for Mozilla Thunderbird.
%package -n enigmail
Version: 0.96.99
Release: 1
Release: 2
License: GPL v2 or later ; MPL
Summary: OpenPGP addon for Thunderbird and SeaMonkey
Group: Productivity/Networking/Email/Clients
@ -166,10 +163,7 @@ popd
%endif
# xulrunner patches
pushd mozilla
%patch1 -p1
%patch3 -p1
%patch4 -p1
%patch6 -p1
%patch7 -p1
%patch9 -p1
pushd extensions

View File

@ -1,18 +1,21 @@
#!/bin/bash
RELEASE_TAG="THUNDERBIRD_3_0b3_RELEASE"
VERSION="3.0b3"
RELEASE_TAG="THUNDERBIRD_3_0b4_RELEASE"
VERSION="3.0b4"
# mozilla
echo "cloning comm-central..."
hg clone http://hg.mozilla.org/comm-central thunderbird
pushd thunderbird
hg update -r $RELEASE_TAG
python client.py checkout --skip-chatzilla --skip-venkman
#hg update -r $RELEASE_TAG
echo "running client.py..."
python client.py checkout --skip-chatzilla --skip-venkman --comm-rev=$RELEASE_TAG --mozilla-rev=$RELEASE_TAG
popd
echo "creating archivei..."
tar cjf thunderbird-$VERSION-source.tar.bz2 --exclude=.hgtags --exclude=.hgignore --exclude=.hg --exclude=CVS thunderbird
# l10n
# http://l10n.mozilla.org/dashboard/?tree=tb30x -> shipped-locales
echo "fetching locales..."
if [ -e shipped-locales ]; then
SHIPPED_LOCALES=shipped-locales
else
@ -24,11 +27,13 @@ for locale in $(awk '{ print $1; }' $SHIPPED_LOCALES); do
ja-JP-mac|en-US)
;;
*)
echo "fetching $locale ..."
hg clone http://hg.mozilla.org/releases/l10n-mozilla-1.9.1/$locale l10n/$locale
hg -R l10n/$locale up -C -r $RELEASE_TAG
;;
esac
done
echo "creating l10n archive..."
tar cjf l10n-$VERSION.tar.bz2 \
--exclude=.hgtags --exclude=.hgignore --exclude=.hg --exclude=browser --exclude=calendar \
--exclude=suite \

View File

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

3
l10n-3.0b4.tar.bz2 Normal file
View File

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

View File

@ -1,70 +0,0 @@
From: mozilla-central
Subject: make it possible to define MOZILLA_APP_LAUNCHER to control which
app should be used for session management
References:
https://bugzilla.mozilla.org/show_bug.cgi?id=453689
--- mozilla-1.9.1/toolkit/xre/nsNativeAppSupportUnix.cpp 2009-04-27 09:23:29.000000000 +0200
+++ mozilla-central/toolkit/xre/nsNativeAppSupportUnix.cpp 2009-07-07 12:55:10.000000000 +0200
@@ -155,31 +155,37 @@ gboolean save_yourself_cb(GnomeClient *c
interact_cb, nsnull);
return TRUE;
}
-
- // 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;
-
- PRBool dummy;
- rv = gDirServiceProvider->GetFile(XRE_EXECUTABLE_FILE, &dummy, getter_AddRefs(executablePath));
-
- if (NS_SUCCEEDED(rv)) {
- nsCAutoString path;
- char* argv[1];
-
- // 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);
+
+ // Is there a request to suppress default binary launcher?
+ char* argv1 = getenv("MOZ_APP_LAUNCHER");
+
+ 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;
+
+ 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());
}
+ }
- executablePath->GetNativePath(path);
- argv[0] = (char*)(path.get());
-
- gnome_client_set_restart_command(client, 1, argv);
+ if(argv1) {
+ gnome_client_set_restart_command(client, 1, &argv1);
}
return TRUE;

118
mozilla-helper-app.patch Normal file
View File

@ -0,0 +1,118 @@
From: Wolfgang Rosenauer <wr@rosenauer.org>
Subject: no helper app for application/octet-stream but recognized extensions
References:
https://bugzilla.novell.com/show_bug.cgi?id=406979
https://bugzilla.mozilla.org/show_bug.cgi?id=327323
diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
--- a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
+++ b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
@@ -41,16 +41,17 @@
#include <glib.h>
#include <hildon-uri.h>
#endif
#include "nsMIMEInfoUnix.h"
#include "nsGNOMERegistry.h"
#include "nsIGnomeVFSService.h"
+#include "nsAutoPtr.h"
#ifdef MOZ_ENABLE_DBUS
#include "nsDBusHandlerApp.h"
#endif
nsresult
nsMIMEInfoUnix::LoadUriInternal(nsIURI * aURI)
{
@@ -69,23 +70,26 @@ nsMIMEInfoUnix::LoadUriInternal(nsIURI *
#endif
return rv;
}
NS_IMETHODIMP
nsMIMEInfoUnix::GetHasDefaultHandler(PRBool *_retval)
{
*_retval = PR_FALSE;
- nsCOMPtr<nsIGnomeVFSService> vfs = do_GetService(NS_GNOMEVFSSERVICE_CONTRACTID);
- if (vfs) {
- nsCOMPtr<nsIGnomeVFSMimeApp> app;
- if (NS_SUCCEEDED(vfs->GetAppForMimeType(mType, getter_AddRefs(app))) && app)
- *_retval = PR_TRUE;
+ nsRefPtr<nsMIMEInfoBase> mimeInfo = nsGNOMERegistry::GetFromType(mType);
+ if (!mimeInfo) {
+ nsCAutoString ext;
+ GetPrimaryExtension(ext);
+ mimeInfo = nsGNOMERegistry::GetFromExtension(ext);
}
+ if (mimeInfo)
+ *_retval = PR_TRUE;
+
if (*_retval)
return NS_OK;
#ifdef MOZ_PLATFORM_HILDON
HildonURIAction *action = hildon_uri_get_default_action(mType.get(), nsnull);
if (action) {
*_retval = PR_TRUE;
hildon_uri_action_unref(action);
@@ -104,16 +108,26 @@ nsMIMEInfoUnix::LaunchDefaultWithFile(ns
aFile->GetNativePath(nativePath);
nsCOMPtr<nsIGnomeVFSService> vfs = do_GetService(NS_GNOMEVFSSERVICE_CONTRACTID);
if (vfs) {
nsCOMPtr<nsIGnomeVFSMimeApp> app;
if (NS_SUCCEEDED(vfs->GetAppForMimeType(mType, getter_AddRefs(app))) && app)
return app->Launch(nativePath);
+
+ // If we haven't got an app we try to get a valid one by searching for the
+ // extension mapped type
+ nsRefPtr<nsMIMEInfoBase> mimeInfo = nsGNOMERegistry::GetFromExtension(nativePath);
+ if (mimeInfo) {
+ nsCAutoString type;
+ mimeInfo->GetType(type);
+ if (NS_SUCCEEDED(vfs->GetAppForMimeType(type, getter_AddRefs(app))) && app)
+ return app->Launch(nativePath);
+ }
}
if (!mDefaultApplication)
return NS_ERROR_FILE_NOT_FOUND;
return LaunchWithIProcess(mDefaultApplication, nativePath);
}
diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exthandler/unix/nsOSHelperAppService.cpp
--- a/uriloader/exthandler/unix/nsOSHelperAppService.cpp
+++ b/uriloader/exthandler/unix/nsOSHelperAppService.cpp
@@ -1641,18 +1641,26 @@ nsOSHelperAppService::GetMIMEInfoFromOS(
NS_ADDREF(retval);
if (!aFileExt.IsEmpty())
retval->AppendExtension(aFileExt);
}
return retval;
}
- // Copy the attributes of retval onto miByExt, to return it
+ // Copy the attributes of retval onto miByExt, to return it but keep
+ // just collected mDefaultAppDescription
+ nsAutoString byExtDefault;
+ miByExt->GetDefaultDescription(byExtDefault);
+ retval->SetDefaultDescription(byExtDefault);
retval->CopyBasicDataTo(miByExt);
+ // But set the extensions primary since CopyBasicDataTo overwrites the
+ // list
+ if (!aFileExt.IsEmpty())
+ miByExt->SetPrimaryExtension(aFileExt);
miByExt.swap(retval);
}
return retval;
}
NS_IMETHODIMP
nsOSHelperAppService::GetProtocolHandlerInfoFromOS(const nsACString &aScheme,

View File

@ -1,47 +0,0 @@
From: Karl Tomlinson <mozbugz@karlt.net>
Subject: jemalloc integration cause crashes when libraries or plugins dlopen with RTLD_DEEPBIND
References:
https://bugzilla.mozilla.org/show_bug.cgi?id=493541
https://bugzilla.novell.com/show_bug.cgi?id=503151
diff --git a/memory/jemalloc/jemalloc.c b/memory/jemalloc/jemalloc.c
--- a/memory/jemalloc/jemalloc.c
+++ b/memory/jemalloc/jemalloc.c
@@ -7225,8 +7225,37 @@ jemalloc_darwin_init(void)
* default zone.
*/
assert(malloc_num_zones > 1);
memmove(&malloc_zones[1], &malloc_zones[0],
sizeof(malloc_zone_t *) * (malloc_num_zones - 1));
malloc_zones[0] = &zone;
}
#endif
+
+#ifdef HAVE_LIBDL
+# include <dlfcn.h>
+/*
+ * glibc provides the RTLD_DEEPBIND flag for dlopen which can make it possible
+ * to inconsistently reference libc's malloc(3)-compatible functions
+ * (bug 493541).
+ *
+ * XXX On systems that support RTLD_GROUP or DF_1_GROUP, do their
+ * implementations permit similar inconsistencies? Should STV_SINGLETON
+ * visibility be used for interposition where available?
+ */
+# ifdef RTLD_DEEPBIND
+# if defined(__GLIBC__) && !defined(__UCLIBC__)
+
+/*
+ * These interpose hooks in glibc. They are actually passed an extra
+ * argument for the caller return address, which will be ignored.
+ */
+void (*__free_hook)(void *ptr) = free;
+void *(*__malloc_hook)(size_t size) = malloc;
+void *(*__realloc_hook)(void *ptr, size_t size) = realloc;
+void *(*__memalign_hook)(size_t alignment, size_t size) = memalign;
+
+# elif !defined(malloc)
+# error "Interposing malloc is unsafe on this system without libc malloc hooks."
+# endif
+# endif
+#endif

View File

@ -1,124 +0,0 @@
From: Wolfgang Rosenauer <wr@rosenauer.org>
Subject: Remove obsolete code which only confuses UI behaviour
References:
https://bugzilla.mozilla.org/show_bug.cgi?id=389732
https://bugzilla.mozilla.org/show_bug.cgi?id=480709
diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exthandler/unix/nsOSHelperAppService.cpp
--- a/uriloader/exthandler/unix/nsOSHelperAppService.cpp
+++ b/uriloader/exthandler/unix/nsOSHelperAppService.cpp
@@ -1199,97 +1199,28 @@ nsOSHelperAppService::GetHandlerAndDescr
rv = mailcap->ReadLine(cBuffer, &more);
} while (NS_SUCCEEDED(rv));
mailcapFile->Close();
return rv;
}
-/* Looks up the handler for a specific scheme from prefs and returns the
- * file representing it in aApp. Note: This function doesn't guarantee the
- * existance of *aApp.
- */
-nsresult
-nsOSHelperAppService::GetHandlerAppFromPrefs(const char* aScheme, /*out*/ nsIFile** aApp)
-{
- nsresult rv;
- nsCOMPtr<nsIPrefService> srv(do_GetService(NS_PREFSERVICE_CONTRACTID, &rv));
- if (NS_FAILED(rv)) // we have no pref service... that's bad
- return rv;
-
- nsCOMPtr<nsIPrefBranch> branch;
- srv->GetBranch("network.protocol-handler.app.", getter_AddRefs(branch));
- if (!branch) // No protocol handlers set up -> can't load url
- return NS_ERROR_NOT_AVAILABLE;
-
- nsXPIDLCString appPath;
- rv = branch->GetCharPref(aScheme, getter_Copies(appPath));
- if (NS_FAILED(rv))
- return rv;
-
- LOG((" found app %s\n", appPath.get()));
-
- // First, try to treat |appPath| as absolute path, if it starts with '/'
- NS_ConvertUTF8toUTF16 utf16AppPath(appPath);
- if (appPath.First() == '/') {
- nsILocalFile* file;
- rv = NS_NewLocalFile(utf16AppPath, PR_TRUE, &file);
- *aApp = file;
- // If this worked, we are finished
- if (NS_SUCCEEDED(rv))
- return NS_OK;
- }
-
- // Second, check for a file in the mozilla app directory
- rv = NS_GetSpecialDirectory(NS_OS_CURRENT_PROCESS_DIR, aApp);
- if (NS_SUCCEEDED(rv)) {
- rv = (*aApp)->Append(utf16AppPath);
- if (NS_SUCCEEDED(rv)) {
- PRBool exists = PR_FALSE;
- rv = (*aApp)->Exists(&exists);
- if (NS_SUCCEEDED(rv) && exists)
- return NS_OK;
- }
- NS_RELEASE(*aApp);
- }
-
- // Thirdly, search the path
- return GetFileTokenForPath(utf16AppPath.get(), aApp);
-}
-
nsresult nsOSHelperAppService::OSProtocolHandlerExists(const char * aProtocolScheme, PRBool * aHandlerExists)
{
LOG(("-- nsOSHelperAppService::OSProtocolHandlerExists for '%s'\n",
aProtocolScheme));
*aHandlerExists = PR_FALSE;
- nsCOMPtr<nsIFile> app;
- nsresult rv = GetHandlerAppFromPrefs(aProtocolScheme, getter_AddRefs(app));
- if (NS_SUCCEEDED(rv)) {
- PRBool isExecutable = PR_FALSE, exists = PR_FALSE;
- nsresult rv1 = app->Exists(&exists);
- nsresult rv2 = app->IsExecutable(&isExecutable);
- *aHandlerExists = (NS_SUCCEEDED(rv1) && exists && NS_SUCCEEDED(rv2) && isExecutable);
- LOG((" handler exists: %s\n", *aHandlerExists ? "yes" : "no"));
- }
-
#ifdef MOZ_WIDGET_GTK2
// Check the GConf registry for a protocol handler
- if (!*aHandlerExists)
- *aHandlerExists = nsGNOMERegistry::HandlerExists(aProtocolScheme);
+ *aHandlerExists = nsGNOMERegistry::HandlerExists(aProtocolScheme);
#endif
return NS_OK;
}
NS_IMETHODIMP nsOSHelperAppService::GetApplicationDescription(const nsACString& aScheme, nsAString& _retval)
{
- nsCOMPtr<nsIFile> appFile;
- nsresult rv = GetHandlerAppFromPrefs(PromiseFlatCString(aScheme).get(),
- getter_AddRefs(appFile));
- if (NS_SUCCEEDED(rv))
- return appFile->GetLeafName(_retval);
-
#ifdef MOZ_WIDGET_GTK2
nsGNOMERegistry::GetAppDescForScheme(aScheme, _retval);
return _retval.IsEmpty() ? NS_ERROR_NOT_AVAILABLE : NS_OK;
#else
return NS_ERROR_NOT_AVAILABLE;
#endif
diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.h b/uriloader/exthandler/unix/nsOSHelperAppService.h
--- a/uriloader/exthandler/unix/nsOSHelperAppService.h
+++ b/uriloader/exthandler/unix/nsOSHelperAppService.h
@@ -159,11 +159,9 @@ private:
const nsAString& aMajorType,
const nsAString& aMinorType,
nsHashtable& aTypeOptions,
nsAString& aHandler,
nsAString& aDescription,
nsAString& aMozillaFlags);
-
- nsresult GetHandlerAppFromPrefs(const char* aScheme, nsIFile** aApp);
};
#endif // nsOSHelperAppService_h__

View File

@ -1,45 +0,0 @@
af
ar
be
bn-BD
ca
cs
de
el
en-GB
en-US
es-AR
es-ES
et
eu
fi
fr
fy-NL
ga-IE
gl
hu
id
is
it
ja linux win32
ja-JP-mac osx
ko
lt
nb-NO
nl
nn-NO
pa-IN
pl
pt-BR
pt-PT
ro
ru
si
sk
sq
sv-SE
ta-LK
tr
uk
vi
zh-CN

View File

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

View File

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