diff --git a/MozillaFirefox.changes b/MozillaFirefox.changes index ace63da4..4dd74ced 100644 --- a/MozillaFirefox.changes +++ b/MozillaFirefox.changes @@ -1,3 +1,26 @@ +------------------------------------------------------------------- +Mon Sep 14 00:07:55 CEST 2009 - wr@rosenauer.org + +- added KDE integration patch from llunak@novell.com + (firefox-kde.patch) + * support for knotify, making -kde4-addon obsolete + * KDE-specific support functional (bnc#170055) +- do not build libnkgnomevfs (bmo#512671) (firefox-no-gnomevfs) + +------------------------------------------------------------------- +Thu Sep 10 09:34:26 CEST 2009 - wr@rosenauer.org + +- security update to version 3.5.3 (bnc#534458) + * MFSA 2009-47/CVE-2009-3069/CVE-2009-3070/CVE-2009-3071/ + CVE-2009-3072/CVE-2009-3073/CVE-2009-3074/CVE-2009-3075 + Crashes with evidence of memory corruption + * MFSA 2009-49/CVE-2009-3077 (bmo#506871) + TreeColumns dangling pointer vulnerability + * MFSA 2009-50/CVE-2009-3078 (bmo#453827) + Location bar spoofing via tall line-height Unicode characters + * MFSA 2009-51/CVE-2009-3079 (bmo#454363) + Chrome privilege escalation with FeedWriter + ------------------------------------------------------------------- Wed Aug 19 22:14:07 CEST 2009 - wr@rosenauer.org diff --git a/MozillaFirefox.spec b/MozillaFirefox.spec index f2b8c56f..bfae635a 100644 --- a/MozillaFirefox.spec +++ b/MozillaFirefox.spec @@ -1,5 +1,5 @@ # -# spec file for package MozillaFirefox (Version 3.5.2) +# spec file for package MozillaFirefox (Version 3.5.3) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # Copyright (c) 2006-2009 Wolfgang Rosenauer @@ -21,15 +21,15 @@ Name: MozillaFirefox BuildRequires: autoconf213 gcc-c++ libgnomeui-devel libidl-devel orbit-devel python unzip update-desktop-files zip -BuildRequires: mozilla-xulrunner191-devel = 1.9.1.2 +BuildRequires: mozilla-xulrunner191-devel = 1.9.1.3 %if %suse_version > 1020 BuildRequires: fdupes %endif License: GPL v2 or later ; LGPL v2.1 or later ; MPL 1.1 or later Provides: web_browser Provides: firefox -Version: 3.5.2 -Release: 3 +Version: 3.5.3 +Release: 1 Summary: Mozilla Firefox Web Browser Url: http://www.mozilla.org/ Group: Productivity/Networking/Web/Browsers @@ -40,6 +40,7 @@ Source3: mozilla.sh.in Source4: find-external-requires.sh # this needs to be shipped when lockdown changes are back Source5: firefox.schemas +Source6: kde.js Source7: l10n-%{version}.tar.bz2 Source8: firefox-mimeinfo.xml Source16: firefox.1 @@ -50,6 +51,8 @@ Patch3: toolkit-download-folder.patch Patch4: mozilla-linkorder.patch Patch5: firefox-bug506901.patch Patch6: firefox-cross-desktop.patch +Patch7: firefox-kde.patch +Patch8: firefox-no-gnomevfs.patch Patch14: credits.patch Patch17: firefox-appname.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -66,7 +69,7 @@ Requires: %{name}-branding = 3.5 %define __find_requires sh %{SOURCE4} %global provfind sh -c "grep -v '.so' | %__find_provides" %global __find_provides %provfind -%define releasedate 2009073000 +%define releasedate 2009090900 %define progname firefox %define progdir %{_prefix}/%_lib/%{progname} %if %suse_version > 1020 @@ -147,8 +150,12 @@ cd $RPM_BUILD_DIR/mozilla %patch4 -p1 %patch5 -p1 %patch6 -p1 +%patch7 -p1 +%patch8 -p1 %patch14 %patch17 +# install kde.js +install -m 644 %{SOURCE6} browser/app/profile/kde.js %build export MOZ_BUILD_DATE=%{releasedate} @@ -244,7 +251,7 @@ cp %{SOURCE16} $RPM_BUILD_ROOT%{_mandir}/man1/%{progname}.1 # apply SUSE defaults sed -e 's,RPM_VERSION,%{version}-%{release},g' \ %{SOURCE17} > suse-default-prefs -cp suse-default-prefs $RPM_BUILD_ROOT/%{progdir}/defaults/preferences/firefox-build.js +cp suse-default-prefs $RPM_BUILD_ROOT%{progdir}/defaults/preferences/firefox-build.js rm suse-default-prefs # use correct locale for useragent cat > $RPM_BUILD_ROOT%{progdir}/defaults/preferences/firefox-l10n.js << EOF @@ -342,7 +349,6 @@ fi %{progdir}/%{progname} %{progdir}/application.ini %{progdir}/blocklist.xml -%exclude %{progdir}/components/libnkgnomevfs.so %{_datadir}/applications/%{name}.desktop %{_datadir}/mime/packages/%{progname}.xml %{_datadir}/pixmaps/firefox* diff --git a/firefox-3.5.2-source.tar.bz2 b/firefox-3.5.2-source.tar.bz2 deleted file mode 100644 index 34ca1d34..00000000 --- a/firefox-3.5.2-source.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:26e741a0d841881baaa5f9313aa2ff45da8ba33a9daa8bbc896d606e880fa4c3 -size 46501680 diff --git a/firefox-3.5.3-source.tar.bz2 b/firefox-3.5.3-source.tar.bz2 new file mode 100644 index 00000000..3b09fd18 --- /dev/null +++ b/firefox-3.5.3-source.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f79209d34f558f7fdc8528c176bdb42de553a16ddb5132fb2176b8000c2008f +size 46604125 diff --git a/firefox-cross-desktop.patch b/firefox-cross-desktop.patch index 4b7b9e7b..ef9da9a3 100644 --- a/firefox-cross-desktop.patch +++ b/firefox-cross-desktop.patch @@ -24,46 +24,3 @@ diff --git a/browser/base/content/nsContextMenu.js b/browser/base/content/nsCont haveSetDesktopBackground && this.onLoadedImage); if (haveSetDesktopBackground && this.onLoadedImage) { -diff --git a/browser/components/preferences/advanced.js b/browser/components/preferences/advanced.js ---- a/browser/components/preferences/advanced.js -+++ b/browser/components/preferences/advanced.js -@@ -594,20 +594,38 @@ var gAdvancedPane = { - var brandShortName = brandBundle.getString("brandShortName"); - var promptTitle = shellBundle.getString("setDefaultBrowserTitle"); - var promptMessage; - const IPS = Components.interfaces.nsIPromptService; - var psvc = Components.classes["@mozilla.org/embedcomp/prompt-service;1"] - .getService(IPS); -+ -+ var env = Components.classes["@mozilla.org/process/environment;1"] -+ .getService(Components.interfaces.nsIEnvironment); -+ var kde_session = 0; -+ if (env.get('KDE_FULL_SESSION') == "true") -+ kde_session = 1; -+ - if (!shellSvc.isDefaultBrowser(false)) { - promptMessage = shellBundle.getFormattedString("setDefaultBrowserMessage", - [brandShortName]); - var rv = psvc.confirmEx(window, promptTitle, promptMessage, - IPS.STD_YES_NO_BUTTONS, - null, null, null, null, { }); -- if (rv == 0) -+ if (rv == 0) { - shellSvc.setDefaultBrowser(true, false); -+ if (kde_session == 1) { -+ var shellObj = Components.classes["@mozilla.org/file/local;1"] -+ .createInstance(Components.interfaces.nsILocalFile); -+ shellObj.initWithPath("/usr/bin/kwriteconfig"); -+ var process = Components.classes["@mozilla.org/process/util;1"] -+ .createInstance(Components.interfaces.nsIProcess); -+ process.init(shellObj); -+ var args = ["--file", "kdeglobals", "--group", "General", "--key", "BrowserApplication", "MozillaFirefox"]; -+ process.run(false, args, args.length); -+ } -+ } - } - else { - promptMessage = shellBundle.getFormattedString("alreadyDefaultBrowser", - [brandShortName]); - psvc.alert(window, promptTitle, promptMessage); - } diff --git a/firefox-kde.patch b/firefox-kde.patch new file mode 100644 index 00000000..bbdb7381 --- /dev/null +++ b/firefox-kde.patch @@ -0,0 +1,427 @@ +--- mozilla/browser/app/Makefile.in.sav 2009-09-14 10:00:21.000000000 +0200 ++++ mozilla/browser/app/Makefile.in 2009-09-14 10:04:14.000000000 +0200 +@@ -49,6 +49,7 @@ DIRS = profile/extensions + + PREF_JS_EXPORTS = $(srcdir)/profile/firefox.js \ + $(srcdir)/profile/channel-prefs.js \ ++ $(srcdir)/profile/kde.js \ + $(NULL) + + ifndef MOZ_BRANDING_DIRECTORY +--- mozilla/browser/components/build/nsModule.cpp.sav 2009-09-14 10:00:21.000000000 +0200 ++++ mozilla/browser/components/build/nsModule.cpp 2009-09-14 10:04:14.000000000 +0200 +@@ -46,7 +46,7 @@ + #elif defined(XP_MACOSX) + #include "nsMacShellService.h" + #elif defined(MOZ_WIDGET_GTK2) +-#include "nsGNOMEShellService.h" ++#include "nsUnixShellService.h" + #endif + + #ifndef WINCE +@@ -88,7 +88,8 @@ NS_GENERIC_FACTORY_CONSTRUCTOR(nsWindows + #elif defined(XP_MACOSX) + NS_GENERIC_FACTORY_CONSTRUCTOR(nsMacShellService) + #elif defined(MOZ_WIDGET_GTK2) +-NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGNOMEShellService, Init) ++// in nsUnixShellService ++//NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsUnixShellService, Init) + #endif + + #ifndef WINCE +@@ -132,7 +133,7 @@ static const nsModuleComponentInfo compo + { "Browser Shell Service", + NS_SHELLSERVICE_CID, + NS_SHELLSERVICE_CONTRACTID, +- nsGNOMEShellServiceConstructor }, ++ nsUnixShellServiceConstructor }, + + #endif + +--- mozilla/browser/components/shell/src/Makefile.in.sav 2009-09-14 10:00:21.000000000 +0200 ++++ mozilla/browser/components/shell/src/Makefile.in 2009-09-14 10:04:14.000000000 +0200 +@@ -75,11 +75,12 @@ ifneq (,$(filter mac cocoa,$(MOZ_WIDGET_ + CPPSRCS = nsMacShellService.cpp + else + ifeq ($(MOZ_WIDGET_TOOLKIT), gtk2) +-CPPSRCS = nsGNOMEShellService.cpp ++CPPSRCS = nsUnixShellService.cpp nsGNOMEShellService.cpp nsKDEShellService.cpp + REQUIRES += \ + mozgnome \ + thebes \ + $(NULL) ++LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre + endif + endif + endif +--- mozilla/browser/components/shell/src/nsKDEShellService.cpp.sav 2009-09-14 10:00:21.000000000 +0200 ++++ mozilla/browser/components/shell/src/nsKDEShellService.cpp 2009-09-14 10:04:14.000000000 +0200 +@@ -0,0 +1,193 @@ ++/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ ++/* ***** BEGIN LICENSE BLOCK ***** ++ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 ++ * ++ * The contents of this file are subject to the Mozilla Public License Version ++ * 1.1 (the "License"); you may not use this file except in compliance with ++ * the License. You may obtain a copy of the License at ++ * http://www.mozilla.org/MPL/ ++ * ++ * Software distributed under the License is distributed on an "AS IS" basis, ++ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License ++ * for the specific language governing rights and limitations under the ++ * License. ++ * ++ * The Original Code is Shell Service. ++ * ++ * The Initial Developer of the Original Code is mozilla.org. ++ * Portions created by the Initial Developer are Copyright (C) 2004 ++ * the Initial Developer. All Rights Reserved. ++ * ++ * Contributor(s): ++ * ++ * Alternatively, the contents of this file may be used under the terms of ++ * either the GNU General Public License Version 2 or later (the "GPL"), or ++ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), ++ * in which case the provisions of the GPL or the LGPL are applicable instead ++ * of those above. If you wish to allow use of your version of this file only ++ * under the terms of either the GPL or the LGPL, and not to allow others to ++ * use your version of this file under the terms of the MPL, indicate your ++ * decision by deleting the provisions above and replace them with the notice ++ * and other provisions required by the GPL or the LGPL. If you do not delete ++ * the provisions above, a recipient may use your version of this file under ++ * the terms of any one of the MPL, the GPL or the LGPL. ++ * ++ * ***** END LICENSE BLOCK ***** */ ++ ++#include "nsKDEShellService.h" ++#include "nsShellService.h" ++#include "nsKDEUtils.h" ++#include "nsCOMPtr.h" ++#include "nsIPrefService.h" ++#include "nsIProcess.h" ++#include "nsILocalFile.h" ++#include "nsServiceManagerUtils.h" ++#include "nsComponentManagerUtils.h" ++ ++nsresult ++nsKDEShellService::Init() ++ { ++ if( !nsKDEUtils::kdeSupport()) ++ return NS_ERROR_NOT_AVAILABLE; ++ return NS_OK; ++ } ++ ++NS_IMPL_ISUPPORTS1(nsKDEShellService, nsIShellService) ++ ++NS_IMETHODIMP ++nsKDEShellService::IsDefaultBrowser(PRBool aStartupCheck, ++ PRBool* aIsDefaultBrowser) ++ { ++ *aIsDefaultBrowser = PR_FALSE; ++ if (aStartupCheck) ++ mCheckedThisSession = PR_TRUE; ++ nsCStringArray command; ++ command.AppendCString( NS_LITERAL_CSTRING( "ISDEFAULTBROWSER" )); ++ if( nsKDEUtils::command( command )) ++ *aIsDefaultBrowser = PR_TRUE; ++ return NS_OK; ++ } ++ ++NS_IMETHODIMP ++nsKDEShellService::SetDefaultBrowser(PRBool aClaimAllTypes, ++ PRBool aForAllUsers) ++ { ++ nsCStringArray command; ++ command.AppendCString( NS_LITERAL_CSTRING( "SETDEFAULTBROWSER" )); ++ command.AppendCString( aClaimAllTypes ? NS_LITERAL_CSTRING( "ALLTYPES" ) : NS_LITERAL_CSTRING( "NORMAL" )); ++ return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE; ++ } ++ ++NS_IMETHODIMP ++nsKDEShellService::GetShouldCheckDefaultBrowser(PRBool* aResult) ++{ ++ // If we've already checked, the browser has been started and this is a ++ // new window open, and we don't want to check again. ++ if (mCheckedThisSession) { ++ *aResult = PR_FALSE; ++ return NS_OK; ++ } ++ ++ nsCOMPtr prefs; ++ nsCOMPtr pserve(do_GetService(NS_PREFSERVICE_CONTRACTID)); ++ if (pserve) ++ pserve->GetBranch("", getter_AddRefs(prefs)); ++ ++ if (prefs) ++ prefs->GetBoolPref(PREF_CHECKDEFAULTBROWSER, aResult); ++ ++ return NS_OK; ++} ++ ++NS_IMETHODIMP ++nsKDEShellService::SetShouldCheckDefaultBrowser(PRBool aShouldCheck) ++{ ++ nsCOMPtr prefs; ++ nsCOMPtr pserve(do_GetService(NS_PREFSERVICE_CONTRACTID)); ++ if (pserve) ++ pserve->GetBranch("", getter_AddRefs(prefs)); ++ ++ if (prefs) ++ prefs->SetBoolPref(PREF_CHECKDEFAULTBROWSER, aShouldCheck); ++ ++ return NS_OK; ++} ++ ++NS_IMETHODIMP ++nsKDEShellService::SetDesktopBackground(nsIDOMElement* aElement, ++ PRInt32 aPosition) ++ { ++ return NS_ERROR_NOT_IMPLEMENTED; ++ } ++ ++NS_IMETHODIMP ++nsKDEShellService::GetDesktopBackgroundColor(PRUint32 *aColor) ++ { ++ return NS_ERROR_NOT_IMPLEMENTED; ++ } ++ ++NS_IMETHODIMP ++nsKDEShellService::SetDesktopBackgroundColor(PRUint32 aColor) ++ { ++ return NS_ERROR_NOT_IMPLEMENTED; ++ } ++ ++NS_IMETHODIMP ++nsKDEShellService::OpenApplication(PRInt32 aApplication) ++ { ++ nsCStringArray command; ++ if( aApplication == APPLICATION_MAIL ) ++ command.AppendCString( NS_LITERAL_CSTRING( "OPENMAIL" )); ++ else if( aApplication == APPLICATION_NEWS ) ++ command.AppendCString( NS_LITERAL_CSTRING( "OPENNEWS" )); ++ else ++ return NS_ERROR_NOT_IMPLEMENTED; ++ return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE; ++ } ++ ++NS_IMETHODIMP ++nsKDEShellService::OpenApplicationWithURI(nsILocalFile* aApplication, const nsACString& aURI) ++ { ++ nsCStringArray command; ++ command.AppendCString( NS_LITERAL_CSTRING( "RUN" )); ++ nsCString app; ++ nsresult rv = aApplication->GetNativePath( app ); ++ NS_ENSURE_SUCCESS( rv, rv ); ++ command.AppendCString( app ); ++ command.AppendCString( aURI ); ++ return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE; ++ } ++ ++NS_IMETHODIMP ++nsKDEShellService::GetDefaultFeedReader(nsILocalFile** _retval) ++ { ++ *_retval = nsnull; ++ ++ nsCStringArray command; ++ command.AppendCString( NS_LITERAL_CSTRING( "GETDEFAULTFEEDREADER" )); ++ nsCStringArray output; ++ if( !nsKDEUtils::command( command, &output ) || output.Count() != 1 ) ++ return NS_ERROR_FAILURE; ++ ++ nsCString path; ++ path = *output[ 0 ]; ++ if (path.IsEmpty()) ++ return NS_ERROR_FAILURE; ++ ++ nsresult rv; ++ nsCOMPtr defaultReader = ++ do_CreateInstance("@mozilla.org/file/local;1", &rv); ++ NS_ENSURE_SUCCESS(rv, rv); ++ ++ rv = defaultReader->InitWithNativePath(path); ++ NS_ENSURE_SUCCESS(rv, rv); ++ ++ PRBool exists; ++ rv = defaultReader->Exists(&exists); ++ NS_ENSURE_SUCCESS(rv, rv); ++ if (!exists) ++ return NS_ERROR_FAILURE; ++ ++ NS_ADDREF(*_retval = defaultReader); ++ return NS_OK; ++ } +--- mozilla/browser/components/shell/src/nsKDEShellService.h.sav 2009-09-14 10:00:21.000000000 +0200 ++++ mozilla/browser/components/shell/src/nsKDEShellService.h 2009-09-14 10:04:14.000000000 +0200 +@@ -0,0 +1,59 @@ ++/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ ++/* ***** BEGIN LICENSE BLOCK ***** ++ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 ++ * ++ * The contents of this file are subject to the Mozilla Public License Version ++ * 1.1 (the "License"); you may not use this file except in compliance with ++ * the License. You may obtain a copy of the License at ++ * http://www.mozilla.org/MPL/ ++ * ++ * Software distributed under the License is distributed on an "AS IS" basis, ++ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License ++ * for the specific language governing rights and limitations under the ++ * License. ++ * ++ * The Original Code is Shell Service. ++ * ++ * The Initial Developer of the Original Code is mozilla.org. ++ * Portions created by the Initial Developer are Copyright (C) 2004 ++ * the Initial Developer. All Rights Reserved. ++ * ++ * Contributor(s): ++ * ++ * Alternatively, the contents of this file may be used under the terms of ++ * either the GNU General Public License Version 2 or later (the "GPL"), or ++ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), ++ * in which case the provisions of the GPL or the LGPL are applicable instead ++ * of those above. If you wish to allow use of your version of this file only ++ * under the terms of either the GPL or the LGPL, and not to allow others to ++ * use your version of this file under the terms of the MPL, indicate your ++ * decision by deleting the provisions above and replace them with the notice ++ * and other provisions required by the GPL or the LGPL. If you do not delete ++ * the provisions above, a recipient may use your version of this file under ++ * the terms of any one of the MPL, the GPL or the LGPL. ++ * ++ * ***** END LICENSE BLOCK ***** */ ++ ++#ifndef nskdeshellservice_h____ ++#define nskdeshellservice_h____ ++ ++#include "nsIShellService.h" ++#include "nsStringAPI.h" ++ ++class nsKDEShellService : public nsIShellService ++{ ++public: ++ nsKDEShellService() : mCheckedThisSession(PR_FALSE) { } ++ ++ NS_DECL_ISUPPORTS ++ NS_DECL_NSISHELLSERVICE ++ ++ nsresult Init() NS_HIDDEN; ++ ++private: ++ ~nsKDEShellService() {} ++ ++ PRPackedBool mCheckedThisSession; ++}; ++ ++#endif // nskdeshellservice_h____ +--- mozilla/browser/components/shell/src/nsUnixShellService.cpp.sav 2009-09-14 10:00:21.000000000 +0200 ++++ mozilla/browser/components/shell/src/nsUnixShellService.cpp 2009-09-14 10:04:14.000000000 +0200 +@@ -0,0 +1,52 @@ ++/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ ++/* ***** BEGIN LICENSE BLOCK ***** ++ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 ++ * ++ * The contents of this file are subject to the Mozilla Public License Version ++ * 1.1 (the "License"); you may not use this file except in compliance with ++ * the License. You may obtain a copy of the License at ++ * http://www.mozilla.org/MPL/ ++ * ++ * Software distributed under the License is distributed on an "AS IS" basis, ++ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License ++ * for the specific language governing rights and limitations under the ++ * License. ++ * ++ * The Original Code is Shell Service. ++ * ++ * The Initial Developer of the Original Code is mozilla.org. ++ * Portions created by the Initial Developer are Copyright (C) 2004 ++ * the Initial Developer. All Rights Reserved. ++ * ++ * Contributor(s): ++ * ++ * Alternatively, the contents of this file may be used under the terms of ++ * either the GNU General Public License Version 2 or later (the "GPL"), or ++ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), ++ * in which case the provisions of the GPL or the LGPL are applicable instead ++ * of those above. If you wish to allow use of your version of this file only ++ * under the terms of either the GPL or the LGPL, and not to allow others to ++ * use your version of this file under the terms of the MPL, indicate your ++ * decision by deleting the provisions above and replace them with the notice ++ * and other provisions required by the GPL or the LGPL. If you do not delete ++ * the provisions above, a recipient may use your version of this file under ++ * the terms of any one of the MPL, the GPL or the LGPL. ++ * ++ * ***** END LICENSE BLOCK ***** */ ++ ++#include "nsUnixShellService.h" ++#include "nsGNOMEShellService.h" ++#include "nsKDEShellService.h" ++#include "nsKDEUtils.h" ++#include "nsIGenericFactory.h" ++ ++NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGNOMEShellService, Init) ++NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsKDEShellService, Init) ++ ++NS_METHOD ++nsUnixShellServiceConstructor(nsISupports *aOuter, REFNSIID aIID, void **aResult) ++{ ++ if( nsKDEUtils::kdeSupport()) ++ return nsKDEShellServiceConstructor( aOuter, aIID, aResult ); ++ return nsGNOMEShellServiceConstructor( aOuter, aIID, aResult ); ++} +--- mozilla/browser/components/shell/src/nsUnixShellService.h.sav 2009-09-14 10:00:21.000000000 +0200 ++++ mozilla/browser/components/shell/src/nsUnixShellService.h 2009-09-14 10:04:14.000000000 +0200 +@@ -0,0 +1,45 @@ ++/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ ++/* ***** BEGIN LICENSE BLOCK ***** ++ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 ++ * ++ * The contents of this file are subject to the Mozilla Public License Version ++ * 1.1 (the "License"); you may not use this file except in compliance with ++ * the License. You may obtain a copy of the License at ++ * http://www.mozilla.org/MPL/ ++ * ++ * Software distributed under the License is distributed on an "AS IS" basis, ++ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License ++ * for the specific language governing rights and limitations under the ++ * License. ++ * ++ * The Original Code is Shell Service. ++ * ++ * The Initial Developer of the Original Code is mozilla.org. ++ * Portions created by the Initial Developer are Copyright (C) 2004 ++ * the Initial Developer. All Rights Reserved. ++ * ++ * Contributor(s): ++ * ++ * Alternatively, the contents of this file may be used under the terms of ++ * either the GNU General Public License Version 2 or later (the "GPL"), or ++ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), ++ * in which case the provisions of the GPL or the LGPL are applicable instead ++ * of those above. If you wish to allow use of your version of this file only ++ * under the terms of either the GPL or the LGPL, and not to allow others to ++ * use your version of this file under the terms of the MPL, indicate your ++ * decision by deleting the provisions above and replace them with the notice ++ * and other provisions required by the GPL or the LGPL. If you do not delete ++ * the provisions above, a recipient may use your version of this file under ++ * the terms of any one of the MPL, the GPL or the LGPL. ++ * ++ * ***** END LICENSE BLOCK ***** */ ++ ++#ifndef nsunixshellservice_h____ ++#define nsunixshellservice_h____ ++ ++#include "nsIShellService.h" ++ ++NS_METHOD ++nsUnixShellServiceConstructor(nsISupports *aOuter, REFNSIID aIID, void **aResult); ++ ++#endif // nsunixshellservice_h____ +--- mozilla/browser/installer/unix/packages-static.sav 2009-09-14 10:00:21.000000000 +0200 ++++ mozilla/browser/installer/unix/packages-static 2009-09-14 10:04:14.000000000 +0200 +@@ -291,6 +291,7 @@ bin/icons/*.png + bin/@PREF_DIR@/firefox.js + bin/@PREF_DIR@/firefox-branding.js + bin/@PREF_DIR@/channel-prefs.js ++bin/@PREF_DIR@/kde.js + bin/greprefs/all.js + bin/greprefs/security-prefs.js + bin/greprefs/xpinstall.js diff --git a/firefox-no-gnomevfs.patch b/firefox-no-gnomevfs.patch new file mode 100644 index 00000000..902f2fc8 --- /dev/null +++ b/firefox-no-gnomevfs.patch @@ -0,0 +1,25 @@ +diff --git a/configure.in b/configure.in +--- a/configure.in ++++ b/configure.in +@@ -5632,16 +5632,21 @@ done], + if test -z "$MOZ_ENABLE_GNOMEVFS" && test `echo "$MOZ_EXTENSIONS" | grep -c gnomevfs` -ne 0; then + # Suppress warning on non-X11 platforms + if test -n "$MOZ_X11"; then + AC_MSG_WARN([Cannot build gnomevfs without required libraries. Removing gnomevfs from MOZ_EXTENSIONS.]) + fi + MOZ_EXTENSIONS=`echo $MOZ_EXTENSIONS | sed -e 's|gnomevfs||'` + fi + ++dnl Do not build gnomevfs with libxul based apps ++if test -n "$LIBXUL_SDK_DIR" && test `echo "$MOZ_EXTENSIONS" | grep -c gnomevfs` -ne 0; then ++ MOZ_EXTENSIONS=`echo $MOZ_EXTENSIONS | sed -e 's|gnomevfs||'` ++fi ++ + if test -z "$MOZ_JSDEBUGGER" && test `echo "$MOZ_EXTENSIONS" | grep -c venkman` -ne 0; then + AC_MSG_WARN([Cannot build venkman without JavaScript debug library. Removing venkman from MOZ_EXTENSIONS.]) + MOZ_EXTENSIONS=`echo $MOZ_EXTENSIONS | sed -e 's|venkman||'` + fi + + dnl This might be temporary: build tridentprofile only on Windows + if test `echo "$MOZ_EXTENSIONS" | grep -c tridentprofile` -ne 0 && test "$OS_ARCH" != "WINNT"; then + AC_MSG_WARN([tridentprofile extension works only on Windows at this time. Removing tridentprofile from MOZ_EXTENSIONS.]) diff --git a/kde.js b/kde.js new file mode 100644 index 00000000..f06d73ae --- /dev/null +++ b/kde.js @@ -0,0 +1 @@ +pref("browser.preferences.instantApply", false); diff --git a/l10n-3.5.2.tar.bz2 b/l10n-3.5.2.tar.bz2 deleted file mode 100644 index c6c9ebd1..00000000 --- a/l10n-3.5.2.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:16048646365c89d47e300f1b2f3911eba2716b09441e828d34c3f026e4b0d2e8 -size 36119768 diff --git a/l10n-3.5.3.tar.bz2 b/l10n-3.5.3.tar.bz2 new file mode 100644 index 00000000..7ea44de4 --- /dev/null +++ b/l10n-3.5.3.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34ba43d6bcfe77a0856fac75ff40ceed0b45514641d22ccc0891cb71431ab5cb +size 36119024