Update to 6.0

This commit is contained in:
Martin Stransky 2011-08-16 17:20:15 +02:00
parent 703a267d1c
commit 360a07539e
8 changed files with 23 additions and 3350 deletions

2
.gitignore vendored
View File

@ -26,3 +26,5 @@ firefox-3.6.4.source.tar.bz2
/firefox-langpacks-4.0.1-20110428.tar.xz
/firefox-5.0.source.tar.bz2
/firefox-langpacks-5.0-20110621.tar.xz
/firefox-6.0.source.tar.bz2
/firefox-langpacks-6.0-20110816.tar.xz

File diff suppressed because it is too large Load Diff

View File

@ -1,137 +0,0 @@
From https://bugzilla.mozilla.org/show_bug.cgi?id=611953
Patch 1 - Use MOZ_APP_LAUNCHER for default browser executable (v3, un-bitrotted)
diff --git a/browser/components/shell/src/nsGNOMEShellService.cpp b/browser/components/shell/src/nsGNOMEShellService.cpp
--- a/browser/components/shell/src/nsGNOMEShellService.cpp
+++ b/browser/components/shell/src/nsGNOMEShellService.cpp
@@ -115,16 +115,19 @@ nsGNOMEShellService::Init()
if (!gconf)
return NS_ERROR_NOT_AVAILABLE;
// Check G_BROKEN_FILENAMES. If it's set, then filenames in glib use
// the locale encoding. If it's not set, they use UTF-8.
mUseLocaleFilenames = PR_GetEnv("G_BROKEN_FILENAMES") != nsnull;
+ if (GetAppPathFromLauncher())
+ return NS_OK;
+
nsCOMPtr<nsIProperties> dirSvc
(do_GetService("@mozilla.org/file/directory_service;1"));
NS_ENSURE_TRUE(dirSvc, NS_ERROR_NOT_AVAILABLE);
nsCOMPtr<nsILocalFile> appPath;
rv = dirSvc->Get(NS_XPCOM_CURRENT_PROCESS_DIR, NS_GET_IID(nsILocalFile),
getter_AddRefs(appPath));
NS_ENSURE_SUCCESS(rv, rv);
@@ -133,16 +136,44 @@ nsGNOMEShellService::Init()
NS_ENSURE_SUCCESS(rv, rv);
return appPath->GetNativePath(mAppPath);
}
NS_IMPL_ISUPPORTS1(nsGNOMEShellService, nsIShellService)
PRBool
+nsGNOMEShellService::GetAppPathFromLauncher()
+{
+ gchar *tmp;
+
+ const char *launcher = PR_GetEnv("MOZ_APP_LAUNCHER");
+ if (!launcher)
+ return PR_FALSE;
+
+ if (g_path_is_absolute(launcher)) {
+ mAppPath = launcher;
+ tmp = g_path_get_basename(launcher);
+ gchar *fullpath = g_find_program_in_path(tmp);
+ if (fullpath && mAppPath.Equals(fullpath))
+ mAppIsInPath = PR_TRUE;
+ g_free(fullpath);
+ } else {
+ tmp = g_find_program_in_path(launcher);
+ if (!tmp)
+ return PR_FALSE;
+ mAppPath = tmp;
+ mAppIsInPath = PR_TRUE;
+ }
+
+ g_free(tmp);
+ return PR_TRUE;
+}
+
+PRBool
nsGNOMEShellService::KeyMatchesAppName(const char *aKeyValue) const
{
gchar *commandPath;
if (mUseLocaleFilenames) {
gchar *nativePath = g_filename_from_utf8(aKeyValue, -1, NULL, NULL, NULL);
if (!nativePath) {
NS_ERROR("Error converting path to filesystem encoding");
@@ -210,18 +241,28 @@ nsGNOMEShellService::SetDefaultBrowser(P
{
#ifdef DEBUG
if (aForAllUsers)
NS_WARNING("Setting the default browser for all users is not yet supported");
#endif
nsCOMPtr<nsIGConfService> gconf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
if (gconf) {
- nsCAutoString appKeyValue(mAppPath);
- appKeyValue.Append(" \"%s\"");
+ nsCAutoString appKeyValue;
+ if(mAppIsInPath) {
+ // mAppPath is in the users path, so use only the basename as the launcher
+ gchar *tmp = g_path_get_basename(mAppPath.get());
+ appKeyValue = tmp;
+ g_free(tmp);
+ } else {
+ appKeyValue = mAppPath;
+ }
+
+ appKeyValue.AppendLiteral(" %s");
+
for (unsigned int i = 0; i < NS_ARRAY_LENGTH(appProtocols); ++i) {
if (appProtocols[i].essential || aClaimAllTypes) {
gconf->SetAppForProtocol(nsDependentCString(appProtocols[i].name),
appKeyValue);
}
}
}
diff --git a/browser/components/shell/src/nsGNOMEShellService.h b/browser/components/shell/src/nsGNOMEShellService.h
--- a/browser/components/shell/src/nsGNOMEShellService.h
+++ b/browser/components/shell/src/nsGNOMEShellService.h
@@ -38,26 +38,28 @@
#define nsgnomeshellservice_h____
#include "nsIShellService.h"
#include "nsStringAPI.h"
class nsGNOMEShellService : public nsIShellService
{
public:
- nsGNOMEShellService() : mCheckedThisSession(PR_FALSE) { }
+ nsGNOMEShellService() : mCheckedThisSession(PR_FALSE), mAppIsInPath(PR_FALSE) { }
NS_DECL_ISUPPORTS
NS_DECL_NSISHELLSERVICE
nsresult Init() NS_HIDDEN;
private:
~nsGNOMEShellService() {}
NS_HIDDEN_(PRBool) KeyMatchesAppName(const char *aKeyValue) const;
+ NS_HIDDEN_(PRBool) GetAppPathFromLauncher();
PRPackedBool mCheckedThisSession;
PRPackedBool mUseLocaleFilenames;
nsCString mAppPath;
+ PRPackedBool mAppIsInPath;
};
#endif // nsgnomeshellservice_h____

File diff suppressed because it is too large Load Diff

View File

@ -1,38 +0,0 @@
diff -up firefox-4.0.1/mozilla-2.0/browser/build.mk.stub firefox-4.0.1/mozilla-2.0/browser/build.mk
--- firefox-4.0.1/mozilla-2.0/browser/build.mk.stub 2011-04-14 07:28:21.000000000 +0200
+++ firefox-4.0.1/mozilla-2.0/browser/build.mk 2011-05-10 11:33:21.343196025 +0200
@@ -53,7 +53,7 @@ ifdef MOZ_SERVICES_SYNC
tier_app_dirs += services
endif
-tier_app_dirs += browser
+tier_app_dirs += browser xulrunner
# Never add other tier_app_dirs after browser. They won't get packaged
# properly on mac.
diff -up firefox-4.0.1/mozilla-2.0/xulrunner/Makefile.in.stub firefox-4.0.1/mozilla-2.0/xulrunner/Makefile.in
--- firefox-4.0.1/mozilla-2.0/xulrunner/Makefile.in.stub 2011-04-14 07:28:50.000000000 +0200
+++ firefox-4.0.1/mozilla-2.0/xulrunner/Makefile.in 2011-05-10 11:33:21.343196025 +0200
@@ -44,10 +44,7 @@ VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
PARALLEL_DIRS = \
- app \
- setup \
stub \
- examples \
$(NULL)
ifeq ($(OS_ARCH),WINNT)
diff -up firefox-4.0.1/mozilla-2.0/xulrunner/stub/Makefile.in.stub firefox-4.0.1/mozilla-2.0/xulrunner/stub/Makefile.in
--- firefox-4.0.1/mozilla-2.0/xulrunner/stub/Makefile.in.stub 2011-05-10 11:38:26.000000000 +0200
+++ firefox-4.0.1/mozilla-2.0/xulrunner/stub/Makefile.in 2011-05-10 11:38:35.054399530 +0200
@@ -101,7 +101,7 @@ WIN32_EXE_LDFLAGS += -ENTRY:wmainCRTStar
endif
endif
-LIBS += $(JEMALLOC_LIBS)
+#LIBS += $(JEMALLOC_LIBS)
include $(topsrcdir)/config/rules.mk

View File

@ -1,6 +1,5 @@
diff -up mozilla-central/browser/installer/Makefile.in.version mozilla-central/browser/installer/Makefile.in
--- mozilla-central/browser/installer/Makefile.in.version 2010-08-06 03:08:59.000000000 +0200
+++ mozilla-central/browser/installer/Makefile.in 2010-08-30 15:27:40.000000000 +0200
--- mozilla-release/browser/installer/Makefile.in.version 2011-08-11 23:40:51.000000000 +0200
+++ mozilla-release/browser/installer/Makefile.in 2011-08-16 15:29:42.132101348 +0200
@@ -45,6 +45,8 @@ include $(DEPTH)/config/autoconf.mk
include $(topsrcdir)/config/rules.mk
@ -9,4 +8,4 @@ diff -up mozilla-central/browser/installer/Makefile.in.version mozilla-central/b
+
MOZ_PKG_REMOVALS = $(srcdir)/removed-files.in
ifdef MOZ_ENABLE_LIBXUL
MOZ_PKG_MANIFEST_P = $(srcdir)/package-manifest.in

View File

@ -9,8 +9,8 @@
%define default_bookmarks_file %{_datadir}/bookmarks/default-bookmarks.html
%define firefox_app_id \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
%global firefox_dir_ver 5
%global gecko_version 5.0
%global firefox_dir_ver 6
%global gecko_version 6.0
%global alpha_version 0
%global beta_version 0
%global rc_version 0
@ -44,14 +44,14 @@
Summary: Mozilla Firefox Web browser
Name: firefox
Version: 5.0
Release: 2%{?pre_tag}%{?dist}
Version: 6.0
Release: 1%{?pre_tag}%{?dist}
URL: http://www.mozilla.org/projects/firefox/
License: MPLv1.1 or GPLv2+ or LGPLv2+
Group: Applications/Internet
Source0: ftp://ftp.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.bz2
%if %{build_langpacks}
Source1: firefox-langpacks-%{version}%{?pre_version}-20110621.tar.xz
Source1: firefox-langpacks-%{version}%{?pre_version}-20110816.tar.xz
%endif
Source10: firefox-mozconfig
Source11: firefox-mozconfig-branded
@ -63,16 +63,12 @@ Source23: firefox.1
#Build patches
Patch0: firefox-version.patch
Patch1: firefox-5.0-cache-build.patch
Patch1: firefox-6.0-cache-build.patch
# Fedora patches
Patch12: firefox-stub.patch
Patch13: firefox-5.0-xulstub.patch
Patch14: firefox-5.0-asciidel.patch
# Upstream patches
Patch30: firefox-4.0-moz-app-launcher.patch
Patch31: firefox-4.0-gnome3.patch
%if %{official_branding}
# Required by Mozilla Corporation
@ -97,11 +93,8 @@ Requires: system-bookmarks
Obsoletes: mozilla <= 37:1.7.13
Provides: webclient
# For GNOME 3 support, we need 2.0-2
# The specific BR/Require pair can go away when we bump to >= 2.0.1
# since it will be brought in by the gecko requirements
BuildRequires: xulrunner-devel >= 2.0-2
Requires: xulrunner >= 2.0-2
BuildRequires: xulrunner-devel >= 6.0-1
Requires: xulrunner >= 6.0-1
%description
Mozilla Firefox is an open-source web browser, designed for standards
@ -124,13 +117,9 @@ sed -e 's/__RPM_VERSION_INTERNAL__/%{firefox_dir_ver}/' %{P:%%PATCH0} \
# For branding specific patches.
# Fedora patches
%patch12 -p2 -b .stub
%patch13 -p1 -R -b .xulstub
%patch14 -p1 -b .asciidel
# Upstream patches
%patch30 -p1 -b .moz-app-launcher
%patch31 -p1 -b .gnome3
%if %{official_branding}
# Required by Mozilla Corporation
@ -237,9 +226,8 @@ XULRUNNER_DIR=`pkg-config --variable=libdir libxul | %{__sed} -e "s,%{_libdir},,
$RPM_BUILD_ROOT%{_bindir}/firefox
%{__chmod} 755 $RPM_BUILD_ROOT%{_bindir}/firefox
# Remove binary stub from xulrunner
%{__rm} -rf $RPM_BUILD_ROOT/%{mozappdir}/firefox
# Link with xulrunner
ln -s `pkg-config --variable=libdir libxul` $RPM_BUILD_ROOT/%{mozappdir}/xulrunner
%{__install} -p -D -m 644 %{SOURCE23} $RPM_BUILD_ROOT%{_mandir}/man1/firefox.1
@ -247,7 +235,7 @@ XULRUNNER_DIR=`pkg-config --variable=libdir libxul | %{__sed} -e "s,%{_libdir},,
for s in 16 22 24 32 48 256; do
%{__mkdir_p} $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps
%{__cp} -p other-licenses/branding/%{name}/default${s}.png \
%{__cp} -p browser/branding/official/default${s}.png \
$RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/firefox.png
done
@ -289,10 +277,6 @@ done
sed -i -e "s/\[Crash Reporter\]/[Crash Reporter]\nEnabled=1/" $RPM_BUILD_ROOT/%{mozappdir}/application.ini
%endif
# Install our xulrunner stub
%{__rm} -f $RPM_BUILD_ROOT/%{mozappdir}/firefox
%{__cp} xulrunner/stub/xulrunner-stub $RPM_BUILD_ROOT/%{mozappdir}/firefox
#---------------------------------------------------------------------
%preun
@ -334,6 +318,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%dir %{mozappdir}/components
%{mozappdir}/components/*.so
%{mozappdir}/components/binary.manifest
%{mozappdir}/defaults/preferences/channel-prefs.js
%attr(644, root, root) %{mozappdir}/blocklist.xml
%dir %{mozappdir}/extensions
%{mozappdir}/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}
@ -352,6 +337,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%{_datadir}/icons/hicolor/256x256/apps/firefox.png
%{_datadir}/icons/hicolor/32x32/apps/firefox.png
%{_datadir}/icons/hicolor/48x48/apps/firefox.png
%{mozappdir}/xulrunner
%if %{include_debuginfo}
#%{mozappdir}/crashreporter
@ -363,6 +349,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
#---------------------------------------------------------------------
%changelog
* Tue Aug 16 2011 Martin Stransky <stransky@redhat.com> - 6.0-1
- Update to 6.0
* Fri Jun 24 2011 Bill Nottingham <notting@redhat.com> - 5.0-2
- Fix an issue with a stray glyph in the window title

View File

@ -1,2 +1,2 @@
9f64a01e86a5d424e12a8e3305c5debe firefox-5.0.source.tar.bz2
15f3c8273fb50a1f8b150d7bf19726ec firefox-langpacks-5.0-20110621.tar.xz
1840185865a1a8975df4a3db59080ddc firefox-6.0.source.tar.bz2
0fc03055b2fcd426b62eed9a8f9c0376 firefox-langpacks-6.0-20110816.tar.xz