fix GIO helper app launch (bnc#672903) (mozilla-gio-launch-uri.patch)
call to the ntlm_auth helper fails (bmo#634334) (mozilla-ntlm-full-path.patch from Petr Cerny)
--- a/MozillaFirefox/MozillaFirefox.spec Thu Feb 03 10:42:10 2011 +0100
+++ b/MozillaFirefox/MozillaFirefox.spec Thu Feb 17 20:14:47 2011 +0100
@@ -220,7 +220,7 @@
ac_add_options --disable-updater
ac_add_options --disable-tests
ac_add_options --disable-debug
-ac_add_options --enable-update-channel=beta
+#ac_add_options --enable-update-channel=beta
EOF
%if 0%{?use_xulrunner}
cat << EOF >> $MOZCONFIG
@@ -249,6 +249,7 @@
# copy tree into RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/%{progdir}
cp -rf $RPM_BUILD_DIR/obj/dist/firefox/* $RPM_BUILD_ROOT%{progdir}
+mkdir -p $RPM_BUILD_ROOT/%{progdir}/distribution/extensions
# remove some executable permissions
find $RPM_BUILD_ROOT%{progdir} \
-name "*.js" -o -name "*.jsm" -o -name "*.rdf" | xargs chmod a-x
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mozilla-gio-launch-uri.patch Thu Feb 17 20:14:47 2011 +0100
@@ -0,0 +1,75 @@
+# HG changeset patch
+# Parent f81b405b9adebc56c3af5cfbf2f74cf01c22956b
+
+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
+@@ -51,16 +51,18 @@
+ #include <contentaction/contentaction.h>
+ #include "nsContentHandlerApp.h"
+ #endif
+
+ #include "nsMIMEInfoUnix.h"
+ #include "nsCommonRegistry.h"
+ #include "nsIGIOService.h"
+ #include "nsIGnomeVFSService.h"
++#include "nsNetCID.h"
++#include "nsIIOService.h"
+ #include "nsAutoPtr.h"
+ #ifdef MOZ_ENABLE_DBUS
+ #include "nsDBusHandlerApp.h"
+ #endif
+ #if defined(XP_UNIX) && !defined(XP_MACOSX)
+ #include "nsKDEUtils.h"
+ #endif
+
+@@ -170,38 +172,47 @@ nsMIMEInfoUnix::LaunchDefaultWithFile(ns
+ }
+ if (!mDefaultApplication)
+ return NS_ERROR_FILE_NOT_FOUND;
+
+ return LaunchWithIProcess(mDefaultApplication, nativePath);
+ }
+
+ nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
++ nsCAutoString uriSpec;
++ if (giovfs) {
++ // nsGIOMimeApp->Launch wants a URI string instead of local file
++ nsCOMPtr<nsIIOService> ioservice = do_GetService(NS_IOSERVICE_CONTRACTID);
++ nsCOMPtr<nsIURI> uri;
++ ioservice->NewFileURI(aFile, getter_AddRefs(uri));
++ uri->GetSpec(uriSpec);
++ }
++
+ nsCOMPtr<nsIGnomeVFSService> gnomevfs = do_GetService(NS_GNOMEVFSSERVICE_CONTRACTID);
+ if (giovfs) {
+ nsCOMPtr<nsIGIOMimeApp> app;
+ if (NS_SUCCEEDED(giovfs->GetAppForMimeType(mSchemeOrType, getter_AddRefs(app))) && app)
+- return app->Launch(nativePath);
++ return app->Launch(uriSpec);
+ } else if (gnomevfs) {
+ /* Fallback to GnomeVFS */
+ nsCOMPtr<nsIGnomeVFSMimeApp> app;
+ if (NS_SUCCEEDED(gnomevfs->GetAppForMimeType(mSchemeOrType, 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 = nsCommonRegistry::GetFromExtension(nativePath);
+ if (mimeInfo) {
+ nsCAutoString type;
+ mimeInfo->GetType(type);
+ if (giovfs) {
+ nsCOMPtr<nsIGIOMimeApp> app;
+ if (NS_SUCCEEDED(giovfs->GetAppForMimeType(type, getter_AddRefs(app))) && app)
+- return app->Launch(nativePath);
++ return app->Launch(uriSpec);
+ } else if (gnomevfs) {
+ nsCOMPtr<nsIGnomeVFSMimeApp> app;
+ if (NS_SUCCEEDED(gnomevfs->GetAppForMimeType(type, getter_AddRefs(app))) && app)
+ return app->Launch(nativePath);
+ }
+ }
+
+ if (!mDefaultApplication)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mozilla-ntlm-full-path.patch Thu Feb 17 20:14:47 2011 +0100
@@ -0,0 +1,27 @@
+# HG changeset patch
+# User Petr Cerny <pcerny@novell.com>
+# Parent 971259052418fda3b7fc81da75be4557ea5d82bc
+Bug 634334 - call to the ntlm_auth helper fails
+
+diff --git a/extensions/auth/nsAuthSambaNTLM.cpp b/extensions/auth/nsAuthSambaNTLM.cpp
+--- a/extensions/auth/nsAuthSambaNTLM.cpp
++++ b/extensions/auth/nsAuthSambaNTLM.cpp
+@@ -200,17 +200,17 @@ static PRUint8* ExtractMessage(const nsA
+ nsresult
+ nsAuthSambaNTLM::SpawnNTLMAuthHelper()
+ {
+ const char* username = PR_GetEnv("USER");
+ if (!username)
+ return NS_ERROR_FAILURE;
+
+ char* args[] = {
+- "ntlm_auth",
++ "/usr/bin/ntlm_auth",
+ "--helper-protocol", "ntlmssp-client-1",
+ "--use-cached-creds",
+ "--username", const_cast<char*>(username),
+ nsnull
+ };
+
+ PRBool isOK = SpawnIOChild(args, &mChildPID, &mFromChildFD, &mToChildFD);
+ if (!isOK)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mozilla-xulrunner20/mozilla-gio-launch-uri.patch Thu Feb 17 20:14:47 2011 +0100
@@ -0,0 +1,1 @@
+../mozilla-gio-launch-uri.patch
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mozilla-xulrunner20/mozilla-ntlm-full-path.patch Thu Feb 17 20:14:47 2011 +0100
@@ -0,0 +1,1 @@
+../mozilla-ntlm-full-path.patch
\ No newline at end of file
--- a/mozilla-xulrunner20/mozilla-xulrunner20.changes Thu Feb 03 10:42:10 2011 +0100
+++ b/mozilla-xulrunner20/mozilla-xulrunner20.changes Thu Feb 17 20:14:47 2011 +0100
@@ -1,5 +1,13 @@
-------------------------------------------------------------------
-Wed Feb 2 19:15:14 UTC 2011 - wr@rosenauer.org
+Thu Feb 17 16:50:53 UTC 2011 - wr@rosenauer.org
+
+- fix GIO helper app launch (bnc#672903)
+ (mozilla-gio-launch-uri.patch)
+- call to the ntlm_auth helper fails (bmo#634334)
+ (mozilla-ntlm-full-path.patch from Petr Cerny)
+
+-------------------------------------------------------------------
+Fri Feb 4 09:11:40 UTC 2011 - wr@rosenauer.org
- update to 2.0b11
- fixed build check for missing return value (bmo#631155 )
--- a/mozilla-xulrunner20/mozilla-xulrunner20.spec Thu Feb 03 10:42:10 2011 +0100
+++ b/mozilla-xulrunner20/mozilla-xulrunner20.spec Thu Feb 17 20:14:47 2011 +0100
@@ -32,7 +32,7 @@
License: GPLv2+ ; LGPLv2.1+ ; MPLv1.1+
Version: 2.0b11
Release: 1
-%define releasedate 2011020200
+%define releasedate 2011020300
%define version_internal 2.0b11
%define apiversion 2.0
%define uaweight 199900
@@ -73,6 +73,8 @@
Patch12: mozilla-language.patch
Patch13: mozilla-gio.patch
Patch14: mozilla-cairo-return.patch
+Patch15: mozilla-gio-launch-uri.patch
+Patch16: mozilla-ntlm-full-path.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires: mozilla-js20 = %{version}
Requires(post): update-alternatives coreutils
@@ -215,6 +217,8 @@
%patch12 -p1
%patch13 -p1
%patch14 -p1
+%patch15 -p1
+%patch16 -p1
%build
kdehelperversion=$(cat toolkit/xre/nsKDEUtils.cpp | grep '#define KMOZILLAHELPER_VERSION' | cut -d ' ' -f 3)
--- a/series Thu Feb 03 10:42:10 2011 +0100
+++ b/series Thu Feb 17 20:14:47 2011 +0100
@@ -14,6 +14,8 @@
mozilla-language.patch
mozilla-gio.patch
mozilla-cairo-return.patch
+mozilla-gio-launch-uri.patch
+mozilla-ntlm-full-path.patch
# Firefox patches
firefox-linkorder.patch