diff --git a/MozillaThunderbird.changes b/MozillaThunderbird.changes index c62b107..73445bb 100644 --- a/MozillaThunderbird.changes +++ b/MozillaThunderbird.changes @@ -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 diff --git a/MozillaThunderbird.spec b/MozillaThunderbird.spec index eb15d49..400971d 100644 --- a/MozillaThunderbird.spec +++ b/MozillaThunderbird.spec @@ -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 @@ -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 diff --git a/create-tar.sh b/create-tar.sh index 0f59ac3..a05094b 100644 --- a/create-tar.sh +++ b/create-tar.sh @@ -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 \ diff --git a/l10n-3.0b3.tar.bz2 b/l10n-3.0b3.tar.bz2 deleted file mode 100644 index 5c4e73c..0000000 --- a/l10n-3.0b3.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1dcd305aea953c69c5f1765653796507e02195e90099f03acd6ec0b97f34dcdd -size 15431608 diff --git a/l10n-3.0b4.tar.bz2 b/l10n-3.0b4.tar.bz2 new file mode 100644 index 0000000..7995d5a --- /dev/null +++ b/l10n-3.0b4.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae866c27789391b89a4e483ead93d3f9899497680c424c5251ee7c43352cbf32 +size 15400735 diff --git a/mozilla-app-launcher.patch b/mozilla-app-launcher.patch deleted file mode 100644 index b7c0882..0000000 --- a/mozilla-app-launcher.patch +++ /dev/null @@ -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 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 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; diff --git a/mozilla-helper-app.patch b/mozilla-helper-app.patch new file mode 100644 index 0000000..edf164e --- /dev/null +++ b/mozilla-helper-app.patch @@ -0,0 +1,118 @@ +From: Wolfgang Rosenauer +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 + #include + #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 vfs = do_GetService(NS_GNOMEVFSSERVICE_CONTRACTID); +- if (vfs) { +- nsCOMPtr app; +- if (NS_SUCCEEDED(vfs->GetAppForMimeType(mType, getter_AddRefs(app))) && app) +- *_retval = PR_TRUE; ++ nsRefPtr 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 vfs = do_GetService(NS_GNOMEVFSSERVICE_CONTRACTID); + + if (vfs) { + nsCOMPtr 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 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, diff --git a/mozilla-jemalloc_deepbind.patch b/mozilla-jemalloc_deepbind.patch deleted file mode 100644 index 2ebf506..0000000 --- a/mozilla-jemalloc_deepbind.patch +++ /dev/null @@ -1,47 +0,0 @@ -From: Karl Tomlinson -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 -+/* -+ * 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 diff --git a/mozilla-protocol_handler.patch b/mozilla-protocol_handler.patch deleted file mode 100644 index d1bdce2..0000000 --- a/mozilla-protocol_handler.patch +++ /dev/null @@ -1,124 +0,0 @@ -From: Wolfgang Rosenauer -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 srv(do_GetService(NS_PREFSERVICE_CONTRACTID, &rv)); -- if (NS_FAILED(rv)) // we have no pref service... that's bad -- return rv; -- -- nsCOMPtr 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 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 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__ diff --git a/shipped-locales b/shipped-locales deleted file mode 100644 index 6256fe7..0000000 --- a/shipped-locales +++ /dev/null @@ -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 diff --git a/thunderbird-3.0b3-source.tar.bz2 b/thunderbird-3.0b3-source.tar.bz2 deleted file mode 100644 index 3d157c7..0000000 --- a/thunderbird-3.0b3-source.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e482994f70fb39566057cb8de5d0a1cc351ad6284e11f3babd386114cda2cb98 -size 58020044 diff --git a/thunderbird-3.0b4-source.tar.bz2 b/thunderbird-3.0b4-source.tar.bz2 new file mode 100644 index 0000000..631a41a --- /dev/null +++ b/thunderbird-3.0b4-source.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33d28a2847e1b5673c50f8bf63ccf123c96b39dfcbd442dd9966edd952f99f6e +size 59231572