forked from pool/MozillaThunderbird
Accepting request 18428 from mozilla:Factory
Copy from mozilla:Factory/MozillaThunderbird based on submit request 18428 from user wrosenauer OBS-URL: https://build.opensuse.org/request/show/18428 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/MozillaThunderbird?expand=0&rev=37
This commit is contained in:
parent
6e64e432d3
commit
ef30101499
@ -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
|
Sun Aug 9 09:02:25 CEST 2009 - wr@rosenauer.org
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@ BuildRequires: nss-shared-helper-devel
|
|||||||
License: GPL v2 or later ; LGPL v2.1 or later ; MPL 1.1 or later
|
License: GPL v2 or later ; LGPL v2.1 or later ; MPL 1.1 or later
|
||||||
%define mainversion 3.0b3
|
%define mainversion 3.0b3
|
||||||
Version: %{mainversion}
|
Version: %{mainversion}
|
||||||
Release: 3
|
Release: 4
|
||||||
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
|
||||||
@ -43,13 +43,14 @@ Source5: shipped-locales
|
|||||||
Source6: suse-default-prefs.js
|
Source6: suse-default-prefs.js
|
||||||
Source7: find-external-requires.sh
|
Source7: find-external-requires.sh
|
||||||
Source8: MozillaThunderbird-rpmlintrc
|
Source8: MozillaThunderbird-rpmlintrc
|
||||||
Source9: enigmail-20090716.tar.bz2
|
Source9: enigmail-20090813.tar.bz2
|
||||||
Source10: create-tar.sh
|
Source10: create-tar.sh
|
||||||
Patch1: mozilla-app-launcher.patch
|
Patch1: mozilla-app-launcher.patch
|
||||||
Patch2: thunderbird-appname.patch
|
Patch2: thunderbird-appname.patch
|
||||||
Patch3: mozilla-jemalloc_deepbind.patch
|
Patch3: mozilla-jemalloc_deepbind.patch
|
||||||
Patch4: mozilla-gtkfilepicker-buttonorder.patch
|
Patch4: mozilla-gtkfilepicker-buttonorder.patch
|
||||||
Patch5: tb-develdirs.patch
|
Patch5: tb-develdirs.patch
|
||||||
|
Patch6: mozilla-protocol_handler.patch
|
||||||
Patch7: mozilla-path_len.patch
|
Patch7: mozilla-path_len.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
|
||||||
@ -139,13 +140,17 @@ This package contains the Lightning calendar extension for Mozilla Thunderbird.
|
|||||||
|
|
||||||
%package -n enigmail
|
%package -n enigmail
|
||||||
Version: 0.95.99
|
Version: 0.95.99
|
||||||
Release: 3
|
Release: 4
|
||||||
License: GPL v2 or later ; MPL
|
License: GPL v2 or later ; MPL
|
||||||
Summary: OpenPGP addon for Thunderbird and SeaMonkey
|
Summary: OpenPGP addon for Thunderbird and SeaMonkey
|
||||||
Group: Productivity/Networking/Email/Clients
|
Group: Productivity/Networking/Email/Clients
|
||||||
Url: http://enigmail.mozdev.org
|
Url: http://enigmail.mozdev.org
|
||||||
Requires: /usr/bin/gpg
|
Requires: /usr/bin/gpg
|
||||||
|
%if %suse_version > 1110
|
||||||
|
Requires: pinentry-gui
|
||||||
|
%else
|
||||||
Requires: pinentry-dialog
|
Requires: pinentry-dialog
|
||||||
|
%endif
|
||||||
|
|
||||||
%description -n enigmail
|
%description -n enigmail
|
||||||
This package contains the Enigmail OpenPGP Addon for Thunderbird and SeaMonkey.
|
This package contains the Enigmail OpenPGP Addon for Thunderbird and SeaMonkey.
|
||||||
@ -164,6 +169,7 @@ pushd mozilla
|
|||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch3 -p1
|
%patch3 -p1
|
||||||
%patch4 -p1
|
%patch4 -p1
|
||||||
|
%patch6 -p1
|
||||||
%patch7 -p1
|
%patch7 -p1
|
||||||
%patch9 -p1
|
%patch9 -p1
|
||||||
pushd extensions
|
pushd extensions
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:ce63e22bf581d5152f9aaa3f0049a68d5c3027e8f21f8850c3b515da7895d0b5
|
|
||||||
size 759314
|
|
3
enigmail-20090813.tar.bz2
Normal file
3
enigmail-20090813.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:8620d4d69826726b0c98d82e58ef76a9f5f3b72eb408e740a6d89447430ff885
|
||||||
|
size 789423
|
124
mozilla-protocol_handler.patch
Normal file
124
mozilla-protocol_handler.patch
Normal file
@ -0,0 +1,124 @@
|
|||||||
|
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__
|
Loading…
Reference in New Issue
Block a user