diff --git a/MozillaThunderbird.changes b/MozillaThunderbird.changes index 0f1ff88..e3d6811 100644 --- a/MozillaThunderbird.changes +++ b/MozillaThunderbird.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Fri Aug 21 13:58:54 CEST 2009 - wr@rosenauer.org + +- remove obsolete code for protocol handlers (bmo#389732) + (mozilla-protocol_handler.patch) +- new enigmail snapshot (20090813) +- require pinentry-gui for 11.2 and up (bnc#441084) + ------------------------------------------------------------------- Sun Aug 9 09:02:25 CEST 2009 - wr@rosenauer.org diff --git a/MozillaThunderbird.spec b/MozillaThunderbird.spec index 42c2985..7f26a60 100644 --- a/MozillaThunderbird.spec +++ b/MozillaThunderbird.spec @@ -30,7 +30,7 @@ BuildRequires: nss-shared-helper-devel License: GPL v2 or later ; LGPL v2.1 or later ; MPL 1.1 or later %define mainversion 3.0b3 Version: %{mainversion} -Release: 3 +Release: 4 Summary: The Stand-Alone Mozilla Mail Component Url: http://www.mozilla.org/products/thunderbird/ Group: Productivity/Networking/Email/Clients @@ -43,13 +43,14 @@ Source5: shipped-locales Source6: suse-default-prefs.js Source7: find-external-requires.sh Source8: MozillaThunderbird-rpmlintrc -Source9: enigmail-20090716.tar.bz2 +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 @@ -139,13 +140,17 @@ This package contains the Lightning calendar extension for Mozilla Thunderbird. %package -n enigmail Version: 0.95.99 -Release: 3 +Release: 4 License: GPL v2 or later ; MPL Summary: OpenPGP addon for Thunderbird and SeaMonkey Group: Productivity/Networking/Email/Clients Url: http://enigmail.mozdev.org Requires: /usr/bin/gpg +%if %suse_version > 1110 +Requires: pinentry-gui +%else Requires: pinentry-dialog +%endif %description -n enigmail This package contains the Enigmail OpenPGP Addon for Thunderbird and SeaMonkey. @@ -164,6 +169,7 @@ pushd mozilla %patch1 -p1 %patch3 -p1 %patch4 -p1 +%patch6 -p1 %patch7 -p1 %patch9 -p1 pushd extensions diff --git a/enigmail-20090716.tar.bz2 b/enigmail-20090716.tar.bz2 deleted file mode 100644 index b580c65..0000000 --- a/enigmail-20090716.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ce63e22bf581d5152f9aaa3f0049a68d5c3027e8f21f8850c3b515da7895d0b5 -size 759314 diff --git a/enigmail-20090813.tar.bz2 b/enigmail-20090813.tar.bz2 new file mode 100644 index 0000000..15f3e3e --- /dev/null +++ b/enigmail-20090813.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8620d4d69826726b0c98d82e58ef76a9f5f3b72eb408e740a6d89447430ff885 +size 789423 diff --git a/mozilla-protocol_handler.patch b/mozilla-protocol_handler.patch new file mode 100644 index 0000000..d1bdce2 --- /dev/null +++ b/mozilla-protocol_handler.patch @@ -0,0 +1,124 @@ +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__