From 70fd5cdd4bd8f4271e0f39abd524c59e790ab7d9993084cd787e6d7700e42c76 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Sun, 25 Feb 2007 22:32:56 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/MozillaFirefox?expand=0&rev=5 --- 358797.patch | 37 ------ MozillaFirefox.changes | 31 +++++ MozillaFirefox.spec | 45 ++++++-- cjk-postscript-fonts.dif | 8 +- em-356370.patch | 25 +++++ firefox-2.0-source.tar.bz2 | 3 - firefox-2.0.0.2-source.tar.bz2 | 3 + firefox.1 | 8 +- l10n.tar.bz2 | 4 +- mozilla.sh.in | 88 ++++++++++++--- startup.patch | 200 ++++++++++++++++++--------------- tango-maxversion.patch | 11 ++ 12 files changed, 304 insertions(+), 159 deletions(-) delete mode 100644 358797.patch create mode 100644 em-356370.patch delete mode 100644 firefox-2.0-source.tar.bz2 create mode 100644 firefox-2.0.0.2-source.tar.bz2 create mode 100644 tango-maxversion.patch diff --git a/358797.patch b/358797.patch deleted file mode 100644 index df184bee..00000000 --- a/358797.patch +++ /dev/null @@ -1,37 +0,0 @@ -Index: parser/htmlparser/src/nsParser.cpp -=================================================================== -RCS file: /cvsroot/mozilla/parser/htmlparser/src/nsParser.cpp,v -retrieving revision 3.370.4.4 -diff -u -p -6 -r3.370.4.4 nsParser.cpp ---- parser/htmlparser/src/nsParser.cpp 13 Jul 2006 17:28:08 -0000 3.370.4.4 -+++ parser/htmlparser/src/nsParser.cpp 1 Nov 2006 23:28:14 -0000 -@@ -1870,19 +1870,27 @@ nsParser::ParseFragment(const nsAString& - if (NS_FAILED(result)) { - mFlags |= NS_PARSER_FLAG_OBSERVERS_ENABLED; - return result; - } - - nsCOMPtr fragSink = do_QueryInterface(mSink); -- NS_ASSERTION(fragSink, "ParseFragment requires a fragment content sink"); -+ if (!fragSink) { -+ NS_ERROR("ParseFragment requires a fragment content sink"); -+ mFlags |= NS_PARSER_FLAG_OBSERVERS_ENABLED; -+ return kUnknownError; -+ } - - if (!aXMLMode) { - // First, we have to flush any tags that don't belong in the head if there - // was no in the context. - // XXX This is extremely ugly. Maybe CNavDTD should have FlushMisplaced()? -- NS_ASSERTION(mParserContext, "Parsing didn't create a parser context?"); -+ if (!mParserContext) { -+ NS_ERROR("Parsing didn't create a parser context?"); -+ mFlags |= NS_PARSER_FLAG_OBSERVERS_ENABLED; -+ return kInvalidParserContext; -+ } - nsCOMPtr dtd = do_QueryInterface(mParserContext->mDTD); - - if (dtd) { - CStartToken bodyToken(NS_LITERAL_STRING("BODY"), eHTMLTag_body); - nsCParserNode bodyNode(&bodyToken, 0); - diff --git a/MozillaFirefox.changes b/MozillaFirefox.changes index b3274609..85a1848c 100644 --- a/MozillaFirefox.changes +++ b/MozillaFirefox.changes @@ -1,3 +1,34 @@ +------------------------------------------------------------------- +Wed Feb 21 16:37:25 CST 2007 - maw@suse.de + +- Security update to 2.0.0.2 (#244923), which covers: + + mfsa2007-01 + * CVE-2007-0775 - layout engine crashes + * CVE-2007-0776 - SVG + * CVE-2007-0777 - javascript engine corruption + + mfsa2007-02 + * CVE-2007-0995 - Invalid trailing characters in HTML tag attributes + * CVE-2007-0996 - Child frame character set inheritance + * CVE-2006-6077 - Injected password forms + + mfsa2007-02 + + mfsa2007-03 + * CVE-2007-0078 + + mfsa2007-04 + * CVE-2007-0079 + + mfsa2007-05 + * CVE-2007-0780 + * CVE-2007-0800 + + mfsa2007-06 + * CVE-2007-0008 - client flaw + * CVE-2007-0009 - server flaw + + mfsa2007-07 + * CVE-2007-0981 +- Updates mozilla.sh.in (#230681) +- Fixes #232209 +- Updates the man page (#243037) +- Properly propagates exit codes (#241492) +- Adds em-356370.patch (#217374) + ------------------------------------------------------------------- Thu Jan 25 10:16:56 CST 2007 - maw@suse.de diff --git a/MozillaFirefox.spec b/MozillaFirefox.spec index 573d7b00..d6bde623 100644 --- a/MozillaFirefox.spec +++ b/MozillaFirefox.spec @@ -1,5 +1,5 @@ # -# spec file for package MozillaFirefox (Version 2.0) +# spec file for package MozillaFirefox (Version 2.0.0.2) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -25,8 +25,8 @@ Obsoletes: MozillaFirebird <= 1.0.7 %if %sles_version == 10 Obsoletes: mozilla %endif -Version: 2.0 -Release: 43 +Version: 2.0.0.2 +Release: 1 Summary: Mozilla Firefox Web Browser URL: http://www.mozilla.org/ Group: Productivity/Networking/Web/Browsers @@ -69,6 +69,7 @@ Patch11: gnome-vfs.patch Patch12: misc.dif Patch13: nss-opt.patch Patch14: credits.patch +Patch15: em-356370.patch # bmo #273524 (only for NLD) Patch16: gnome-vfs-default.patch # integration @@ -91,7 +92,7 @@ Patch33: proxy-dev.patch Patch34: skin-selection.patch Patch36: greasemonkey.patch Patch37: make-perl.patch -Patch38: 358797.patch +Patch38: tango-maxversion.patch # pango-cairo.patch dbus.patch startup.patch Patch100: configure.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -194,6 +195,7 @@ cd $RPM_BUILD_DIR/mozilla %patch12 %patch13 %patch14 +%patch15 %patch17 %patch18 %patch19 @@ -211,8 +213,9 @@ cd $RPM_BUILD_DIR/mozilla %patch33 %patch34 %patch36 -%patch37 +pushd $RPM_BUILD_DIR %patch38 +popd %patch100 %if %has_system_nss #%patch101 @@ -312,7 +315,7 @@ for locale in $(cat browser/locales/all-locales); do # Removed he since it's broken #for locale in ar bg ca cs da de el en-GB es-AR es-ES eu fi fr ga-IE hu it ja ko lt mk nb-NO nl pl pt-BR ro ru sk sl sv-SE tr zh-CN zh-TW ; do case $locale in - he|hy-AM|ro|sq) + en-ZA|ja-JP-mac|hy-AM|he|hr|hy-AM|nr|nso|ro|sq|ss|st|tn|ts|ve|xh|zu) # broken locales, do not work ;; *) @@ -538,7 +541,35 @@ exit 0 %defattr(-,root,root) %endif -%changelog -n MozillaFirefox +%changelog +* Wed Feb 21 2007 - maw@suse.de +- Security update to 2.0.0.2 (#244923), which covers: + + mfsa2007-01 + * CVE-2007-0775 - layout engine crashes + * CVE-2007-0776 - SVG + * CVE-2007-0777 - javascript engine corruption + + mfsa2007-02 + * CVE-2007-0995 - Invalid trailing characters in HTML tag attributes + * CVE-2007-0996 - Child frame character set inheritance + * CVE-2006-6077 - Injected password forms + + mfsa2007-02 + + mfsa2007-03 + * CVE-2007-0078 + + mfsa2007-04 + * CVE-2007-0079 + + mfsa2007-05 + * CVE-2007-0780 + * CVE-2007-0800 + + mfsa2007-06 + * CVE-2007-0008 - client flaw + * CVE-2007-0009 - server flaw + + mfsa2007-07 + * CVE-2007-0981 +- Updates mozilla.sh.in (#230681) +- Fixes #232209 +- Updates the man page (#243037) +- Properly propagates exit codes (#241492) +- Adds em-356370.patch (#217374) * Thu Jan 25 2007 - maw@suse.de - Fixup the Gnome paths, keeping in closer sync with the buildservice. diff --git a/cjk-postscript-fonts.dif b/cjk-postscript-fonts.dif index 7cda3c82..d40c733c 100644 --- a/cjk-postscript-fonts.dif +++ b/cjk-postscript-fonts.dif @@ -1,6 +1,8 @@ ---- modules/libpref/src/init/all.js +Index: modules/libpref/src/init/all.js +=================================================================== +--- modules/libpref/src/init/all.js.orig +++ modules/libpref/src/init/all.js -@@ -2250,8 +2250,10 @@ +@@ -2251,8 +2251,10 @@ pref("print.postscript.print_command", " pref("print.postscript.nativefont.ar", ""); pref("print.postscript.nativefont.el", ""); pref("print.postscript.nativefont.he", ""); @@ -13,7 +15,7 @@ pref("print.postscript.nativefont.th", ""); pref("print.postscript.nativefont.tr", ""); pref("print.postscript.nativefont.x-baltic", ""); -@@ -2260,8 +2262,10 @@ +@@ -2261,8 +2263,10 @@ pref("print.postscript.nativefont.x-cyri pref("print.postscript.nativefont.x-unicode", ""); pref("print.postscript.nativefont.x-user-def", ""); pref("print.postscript.nativefont.x-western", ""); diff --git a/em-356370.patch b/em-356370.patch new file mode 100644 index 00000000..65d404b3 --- /dev/null +++ b/em-356370.patch @@ -0,0 +1,25 @@ +References: +https://bugzilla.novell.com/show_bug.cgi?id=217374 +https://bugzilla.mozilla.org/show_bug.cgi?id=356370 + +Index: toolkit/mozapps/extensions/src/nsExtensionManager.js.in +=================================================================== +RCS file: /cvsroot/mozilla/toolkit/mozapps/extensions/src/nsExtensionManager.js.in,v +retrieving revision 1.144.2.60 +diff -u -p -6 -r1.144.2.60 nsExtensionManager.js.in +--- toolkit/mozapps/extensions/src/nsExtensionManager.js.in 17 Sep 2006 22:17:11 -0000 1.144.2.60 ++++ toolkit/mozapps/extensions/src/nsExtensionManager.js.in 29 Nov 2006 07:54:31 -0000 +@@ -4008,12 +4008,13 @@ ExtensionManager.prototype = { + for (var i = 0; i < allItems.length; ++i) { + var item = allItems[i]; + + // An item entry is valid only if it is not disabled, not about to + // be disabled, and not about to be uninstalled. + var installLocation = this.getInstallLocation(item.id); ++ if (! installLocation) continue; + if (installLocation.name in StartupCache.entries && + item.id in StartupCache.entries[installLocation.name] && + StartupCache.entries[installLocation.name][item.id]) { + var op = StartupCache.entries[installLocation.name][item.id].op; + if (op == OP_NEEDS_INSTALL || op == OP_NEEDS_UPGRADE || + op == OP_NEEDS_UNINSTALL || op == OP_NEEDS_DISABLE) diff --git a/firefox-2.0-source.tar.bz2 b/firefox-2.0-source.tar.bz2 deleted file mode 100644 index 5d8d38ca..00000000 --- a/firefox-2.0-source.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5631f4936535866481f6ce190446b516288eb1e94bdb6d34e9b93464b203345d -size 37350148 diff --git a/firefox-2.0.0.2-source.tar.bz2 b/firefox-2.0.0.2-source.tar.bz2 new file mode 100644 index 00000000..13ded399 --- /dev/null +++ b/firefox-2.0.0.2-source.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:313436574cfcf7227d64d1b7901dc26286becb3aa9db03a493280ed9d74aeb9a +size 37143472 diff --git a/firefox.1 b/firefox.1 index d5b38a52..42f572dd 100644 --- a/firefox.1 +++ b/firefox.1 @@ -87,6 +87,9 @@ Start with \fIlang-region\fR resources. Execute \fIcommand\fR in an already running Firefox process. For more info, see: \fIhttp://www.mozilla.org/unix/remote.html\fR .TP +.B \-no-remote +Don't try to control an already running instance. +.TP .B \-jsconsole Start with Javascript Console .TP @@ -102,6 +105,9 @@ Open URL in a new tab if Firefox is already running. \fB\-preferences\fR Open Firefox preferences menu. .TP +.B \-safe-mode +Disables extensions and themes for this session. +.TP .SH FILES \fI/usr/bin/firefox\fR - shell script wrapping @@ -111,7 +117,7 @@ Open Firefox preferences menu. executable .SH VERSION -1.5 +2.0 .SH BUGS To report a bug, please visit \fIhttp://bugzilla.mozilla.org/\fR diff --git a/l10n.tar.bz2 b/l10n.tar.bz2 index d89a0bcc..8db8dce6 100644 --- a/l10n.tar.bz2 +++ b/l10n.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0b6d85090c1d464c570fb198e12d59f27081f0db6f295c7a71d28281e11e4781 -size 11407982 +oid sha256:53d23397422034b8742a42ea836f533d58e5b560daa6c3f8bd75d3069d167030 +size 9939337 diff --git a/mozilla.sh.in b/mozilla.sh.in index d769c95f..9ff528f0 100644 --- a/mozilla.sh.in +++ b/mozilla.sh.in @@ -1,30 +1,47 @@ #!/bin/sh # -# The contents of this file are subject to the Netscape 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/NPL/ +# ***** BEGIN LICENSE BLOCK ***** +# Version: MPL 1.1/GPL 2.0/LGPL 2.1 # -# 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 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/ # -# The Original Code is mozilla.org code. +# 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 Initial Developer of the Original Code is Netscape -# Communications Corporation. Portions created by Netscape are -# Copyright (C) 1998 Netscape Communications Corporation. All -# Rights Reserved. +# The Original Code is mozilla.org Code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. # # Contributor(s): # Wolfgang Rosenauer +# # +# 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 ***** ## ## Usage: ## -## $ mozilla +## $ mozilla [args] ## ## This script is meant to run a mozilla program from the mozilla ## rpm installation. @@ -150,16 +167,51 @@ moz_pis_startstop_scripts() esac } +moz_debug=0 +script_args="" +pass_arg_count=0 +while [ $# -gt $pass_arg_count ] +do + case "$1" in + -d | --debugger) + moz_debugger=$2; + if [ "${moz_debugger}" != "" ]; then + shift 2 + moz_debug=1 + else + echo "-d requires an argument" + exit 1 + fi + ;; + *) + # Move the unrecognized argument to the end of the list. + arg="$1" + shift + set -- "$@" "$arg" + pass_arg_count=`expr $pass_arg_count + 1` + ;; + esac +done + ## Start addon scripts moz_pis_startstop_scripts "start" -if [ -d /proc/asound ]; then - LD_PRELOAD=/usr/$LIB/libaoss.so${LD_PRELOAD:+:$LD_PRELOAD} $MOZ_PROGRAM $@ +if [ $moz_debug -eq 1 ]; then + tmpfile=`mktemp /tmp/mozargs.XXXXXX` || { echo "Cannot create temporary file" >&2; exit 1; } + trap " [ -f \"$tmpfile\" ] && /bin/rm -f -- \"$tmpfile\"" 0 1 2 3 13 15 + echo -e "set args ${1+"$@"}\nrun" > $tmpfile + echo "$moz_debugger $MOZ_PROGRAM -x $tmpfile" + $moz_debugger "$MOZ_PROGRAM" -x $tmpfile else - $MOZ_PROGRAM $@ + if [ -d /proc/asound ]; then + export LD_PRELOAD=/usr/$LIB/libaoss.so${LD_PRELOAD:+:$LD_PRELOAD} + fi + $MOZ_PROGRAM "$@" fi +exitcode=$? +unset LD_PRELOAD ## Stop addon scripts moz_pis_startstop_scripts "stop" -exit 0 +exit $exitcode diff --git a/startup.patch b/startup.patch index b6248276..e094b61e 100644 --- a/startup.patch +++ b/startup.patch @@ -4,11 +4,11 @@ References: https://bugzilla.novell.com/show_bug.cgi?id=115417 https://bugzilla.mozilla.org/show_bug.cgi?id=223492 -Index: configure.in -================================================================================ ---- config/autoconf.mk.in +Index: config/autoconf.mk.in +=================================================================== +--- config/autoconf.mk.in.orig +++ config/autoconf.mk.in -@@ -223,6 +223,10 @@ +@@ -223,6 +223,10 @@ MOZ_ENABLE_GNOMEUI = @MOZ_ENABLE_GNOMEUI MOZ_GNOMEUI_CFLAGS = @MOZ_GNOMEUI_CFLAGS@ MOZ_GNOMEUI_LIBS = @MOZ_GNOMEUI_LIBS@ @@ -19,9 +19,11 @@ Index: configure.in MOZ_GNOMEVFS_CFLAGS = @MOZ_GNOMEVFS_CFLAGS@ MOZ_GNOMEVFS_LIBS = @MOZ_GNOMEVFS_LIBS@ ---- configure.in +Index: configure.in +=================================================================== +--- configure.in.orig +++ configure.in -@@ -125,6 +125,7 @@ +@@ -125,6 +125,7 @@ GNOMEVFS_VERSION=2.0 GNOMEUI_VERSION=2.2.0 GCONF_VERSION=1.2.1 LIBGNOME_VERSION=2.0 @@ -29,7 +31,7 @@ Index: configure.in dnl Set various checks dnl ======================================================== -@@ -4088,6 +4089,42 @@ +@@ -4088,6 +4089,42 @@ fi # COMPILE_ENVIRONMENT AC_SUBST(MOZ_DEFAULT_TOOLKIT) @@ -72,9 +74,11 @@ Index: configure.in AC_SUBST(GTK_CONFIG) AC_SUBST(TK_CFLAGS) AC_SUBST(TK_LIBS) ---- toolkit/components/remote/Makefile.in +Index: toolkit/components/remote/Makefile.in +=================================================================== +--- toolkit/components/remote/Makefile.in.orig +++ toolkit/components/remote/Makefile.in -@@ -56,8 +56,9 @@ +@@ -56,8 +56,9 @@ REQUIRES = \ string \ appcomps \ toolkitcomps \ @@ -85,7 +89,9 @@ Index: configure.in widget \ gfx \ dom \ ---- toolkit/components/remote/nsGTKRemoteService.cpp +Index: toolkit/components/remote/nsGTKRemoteService.cpp +=================================================================== +--- toolkit/components/remote/nsGTKRemoteService.cpp.orig +++ toolkit/components/remote/nsGTKRemoteService.cpp @@ -50,7 +50,7 @@ @@ -116,7 +122,7 @@ Index: configure.in #define MOZILLA_VERSION_PROP "_MOZILLA_VERSION" #define MOZILLA_LOCK_PROP "_MOZILLA_LOCK" #define MOZILLA_COMMAND_PROP "_MOZILLA_COMMAND" -@@ -155,20 +161,44 @@ +@@ -155,20 +161,44 @@ nsGTKRemoteService::StartupHandler(const return PL_DHASH_NEXT; } @@ -165,7 +171,7 @@ Index: configure.in NS_ENSURE_TRUE(mainWidget, NS_ERROR_FAILURE); // walk up the widget tree and find the toplevel window in the -@@ -260,7 +290,7 @@ +@@ -260,7 +290,7 @@ nsGTKRemoteService::EnsureAtoms(void) #ifndef MOZ_XUL_APP const char* @@ -174,7 +180,7 @@ Index: configure.in { nsresult rv; -@@ -283,8 +313,60 @@ +@@ -283,8 +313,60 @@ nsGTKRemoteService::HandleCommand(char* } #else //MOZ_XUL_APP @@ -236,7 +242,7 @@ Index: configure.in { nsresult rv; -@@ -314,6 +396,12 @@ +@@ -314,6 +396,12 @@ nsGTKRemoteService::HandleCommand(char* #endif if (!command.EqualsLiteral("ping")) { @@ -249,7 +255,7 @@ Index: configure.in char* argv[3] = {"dummyappname", "-remote", aCommand}; rv = cmdline->Init(3, argv, nsnull, nsICommandLine::STATE_REMOTE_EXPLICIT); if (NS_FAILED(rv)) -@@ -322,6 +410,8 @@ +@@ -322,6 +410,8 @@ nsGTKRemoteService::HandleCommand(char* if (aWindow) cmdline->SetWindowContext(aWindow); @@ -258,7 +264,7 @@ Index: configure.in rv = cmdline->Run(); if (NS_ERROR_ABORT == rv) return "500 command not parseable"; -@@ -333,7 +423,8 @@ +@@ -333,7 +423,8 @@ nsGTKRemoteService::HandleCommand(char* } const char* @@ -268,7 +274,7 @@ Index: configure.in { nsresult rv; -@@ -364,6 +455,8 @@ +@@ -364,6 +455,8 @@ nsGTKRemoteService::HandleCommandLine(ch if (NS_FAILED(rv)) return "509 internal error"; @@ -277,7 +283,7 @@ Index: configure.in char **argv = (char**) malloc(sizeof(char*) * argc); if (!argv) return "509 internal error"; -@@ -372,6 +465,12 @@ +@@ -372,6 +465,12 @@ nsGTKRemoteService::HandleCommandLine(ch for (int i = 0; i < argc; ++i) { argv[i] = aBuffer + TO_LITTLE_ENDIAN32(offset[i]); @@ -290,7 +296,7 @@ Index: configure.in #ifdef DEBUG_bsmedberg printf(" argv[%i]:\t%s\n", i, argv[i]); #endif -@@ -386,7 +485,10 @@ +@@ -386,7 +485,10 @@ nsGTKRemoteService::HandleCommandLine(ch if (aWindow) cmdline->SetWindowContext(aWindow); @@ -301,7 +307,7 @@ Index: configure.in if (NS_ERROR_ABORT == rv) return "500 command not parseable"; -@@ -486,7 +588,7 @@ +@@ -486,7 +588,7 @@ nsGTKRemoteService::HandlePropertyChange return FALSE; // cool, we got the property data. @@ -310,7 +316,7 @@ Index: configure.in // put the property onto the window as the response XChangeProperty (GDK_DISPLAY(), GDK_WINDOW_XWINDOW(pevent->window), -@@ -531,7 +633,7 @@ +@@ -531,7 +633,7 @@ nsGTKRemoteService::HandlePropertyChange return FALSE; // cool, we got the property data. @@ -319,9 +325,11 @@ Index: configure.in // put the property onto the window as the response XChangeProperty (GDK_DISPLAY(), GDK_WINDOW_XWINDOW(pevent->window), ---- toolkit/components/remote/nsGTKRemoteService.h +Index: toolkit/components/remote/nsGTKRemoteService.h +=================================================================== +--- toolkit/components/remote/nsGTKRemoteService.h.orig +++ toolkit/components/remote/nsGTKRemoteService.h -@@ -80,10 +80,12 @@ +@@ -80,10 +80,12 @@ private: nsIWeakReference* aData, void* aClosure); @@ -336,9 +344,11 @@ Index: configure.in #endif static gboolean HandlePropertyChange(GtkWidget *widget, ---- toolkit/library/Makefile.in +Index: toolkit/library/Makefile.in +=================================================================== +--- toolkit/library/Makefile.in.orig +++ toolkit/library/Makefile.in -@@ -344,6 +344,10 @@ +@@ -350,6 +350,10 @@ ifneq (,$(filter gtk gtk2 qt xlib,$(MOZ_ EXTRA_DSO_LDOPTS += $(XLDFLAGS) $(XLIBS) $(MOZ_GTK_LDFLAGS) $(MOZ_XFT_LIBS) $(MOZ_GTK2_LIBS) $(XT_LIBS) endif @@ -349,9 +359,11 @@ Index: configure.in ifdef MOZ_ENABLE_XPRINT EXTRA_DSO_LDOPTS += $(MOZ_XPRINT_LDFLAGS) endif ---- toolkit/xre/Makefile.in +Index: toolkit/xre/Makefile.in +=================================================================== +--- toolkit/xre/Makefile.in.orig +++ toolkit/xre/Makefile.in -@@ -69,6 +69,7 @@ +@@ -69,6 +69,7 @@ REQUIRES = \ shellservice \ string \ uriloader \ @@ -359,17 +371,19 @@ Index: configure.in widget \ windowwatcher \ xpcom \ ---- toolkit/xre/nsAppRunner.cpp +Index: toolkit/xre/nsAppRunner.cpp +=================================================================== +--- toolkit/xre/nsAppRunner.cpp.orig +++ toolkit/xre/nsAppRunner.cpp @@ -96,6 +96,7 @@ #include "nsIWindowWatcher.h" #include "nsIXULAppInfo.h" #include "nsIXULRuntime.h" +#include "nsIScriptGlobalObject.h" - - #include "nsCRT.h" - #include "nsCOMPtr.h" -@@ -112,6 +113,12 @@ + #ifdef XP_WIN + #include "nsIWinAppHelper.h" + #endif +@@ -115,6 +116,12 @@ #include "nsXULAppAPI.h" #include "nsXREDirProvider.h" #include "nsToolkitCompsCID.h" @@ -382,7 +396,7 @@ Index: configure.in #include "nsINIParser.h" -@@ -249,6 +256,9 @@ +@@ -262,6 +269,9 @@ static char **gRestartArgv; #if defined(MOZ_WIDGET_GTK) || defined(MOZ_WIDGET_GTK2) #include #endif //MOZ_WIDGET_GTK || MOZ_WIDGET_GTK2 @@ -392,7 +406,7 @@ Index: configure.in #if defined(MOZ_WIDGET_QT) #include -@@ -916,7 +926,7 @@ +@@ -1105,7 +1115,7 @@ DumpVersion() // use int here instead of a PR type since it will be returned // from main - just to keep types consistent static int @@ -401,7 +415,7 @@ Index: configure.in { nsresult rv; ArgResult ar; -@@ -957,7 +967,7 @@ +@@ -1146,7 +1156,7 @@ HandleRemoteArgument(const char* remote) nsXPIDLCString response; PRBool success = PR_FALSE; rv = client.SendCommand(program.get(), username, profile, remote, @@ -410,7 +424,7 @@ Index: configure.in // did the command fail? if (NS_FAILED(rv)) { PR_fprintf(PR_STDERR, "Error: Failed to send command: %s\n", -@@ -974,7 +984,7 @@ +@@ -1163,7 +1173,7 @@ HandleRemoteArgument(const char* remote) } static PRBool @@ -419,7 +433,7 @@ Index: configure.in { nsresult rv; ArgResult ar; -@@ -1006,7 +1016,7 @@ +@@ -1195,7 +1205,7 @@ RemoteCommandLine() nsXPIDLCString response; PRBool success = PR_FALSE; rv = client.SendCommandLine(program.get(), username, nsnull, @@ -428,7 +442,7 @@ Index: configure.in getter_Copies(response), &success); // did the command fail? if (NS_FAILED(rv) || !success) -@@ -1865,6 +1875,41 @@ +@@ -2080,6 +2090,41 @@ public: #ifdef MOZ_WIDGET_GTK2 #include "prlink.h" typedef void (*_g_set_application_name_fn)(const gchar *application_name); @@ -470,7 +484,7 @@ Index: configure.in #endif int -@@ -2033,6 +2078,19 @@ +@@ -2248,6 +2293,19 @@ XRE_main(int argc, char* argv[], const n return 0; } @@ -490,7 +504,7 @@ Index: configure.in #if defined(MOZ_WIDGET_GTK) || defined(MOZ_WIDGET_GTK2) // setup for private colormap. Ideally we'd like to do this // in nsAppShell::Create, but we need to get in before gtk -@@ -2058,6 +2116,7 @@ +@@ -2273,6 +2331,7 @@ XRE_main(int argc, char* argv[], const n if (glib2) { PR_UnloadLibrary(glib2); } @@ -498,7 +512,7 @@ Index: configure.in #endif gtk_widget_set_default_visual(gdk_rgb_get_visual()); -@@ -2122,12 +2181,12 @@ +@@ -2337,12 +2396,12 @@ XRE_main(int argc, char* argv[], const n return 1; } if (ar) { @@ -513,7 +527,7 @@ Index: configure.in return 0; } #endif -@@ -2329,6 +2388,13 @@ +@@ -2586,6 +2645,13 @@ XRE_main(int argc, char* argv[], const n NS_TIMELINE_LEAVE("appStartup->CreateHiddenWindow"); NS_ENSURE_SUCCESS(rv, 1); @@ -527,7 +541,7 @@ Index: configure.in // Extension Compatibility Checking and Startup if (gAppData->flags & NS_XRE_ENABLE_EXTENSION_MANAGER) { nsCOMPtr em(do_GetService("@mozilla.org/extensions/manager;1")); -@@ -2505,9 +2571,28 @@ +@@ -2766,9 +2832,28 @@ XRE_main(int argc, char* argv[], const n } #endif @@ -546,7 +560,7 @@ Index: configure.in + } +#endif + - rv = LaunchChild(nativeApp, appInitiatedRestart); + rv = LaunchChild(nativeApp, appInitiatedRestart, upgraded ? -1 : 0); return rv == NS_ERROR_LAUNCHED_CHILD_PROCESS ? 0 : 1; } @@ -556,9 +570,11 @@ Index: configure.in + return NS_FAILED(rv) ? 1 : 0; } ---- widget/src/gtk2/Makefile.in +Index: widget/src/gtk2/Makefile.in +=================================================================== +--- widget/src/gtk2/Makefile.in.orig +++ widget/src/gtk2/Makefile.in -@@ -97,6 +97,7 @@ +@@ -97,6 +97,7 @@ EXTRA_DSO_LDOPTS += \ $(MOZ_COMPONENT_LIBS) \ -lgkgfx \ -lgtkxtbin \ @@ -566,7 +582,7 @@ Index: configure.in $(XLDFLAGS) \ $(XLIBS) \ $(MOZ_GTK2_LIBS) -@@ -107,14 +108,15 @@ +@@ -107,14 +108,15 @@ endif EXPORTS = \ nsIGdkPixbufImage.h \ @@ -584,7 +600,9 @@ Index: configure.in DEFINES += -DUSE_XIM ---- widget/src/gtk2/nsGTKToolkit.h +Index: widget/src/gtk2/nsGTKToolkit.h +=================================================================== +--- /dev/null +++ widget/src/gtk2/nsGTKToolkit.h @@ -0,0 +1,87 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ @@ -674,7 +692,9 @@ Index: configure.in +}; + +#endif // GTKTOOLKIT_H ---- widget/src/gtk2/nsToolkit.cpp +Index: widget/src/gtk2/nsToolkit.cpp +=================================================================== +--- widget/src/gtk2/nsToolkit.cpp.orig +++ widget/src/gtk2/nsToolkit.cpp @@ -38,7 +38,7 @@ * ***** END LICENSE BLOCK ***** */ @@ -685,7 +705,7 @@ Index: configure.in // // Static thread local storage index of the Toolkit -@@ -51,9 +51,10 @@ +@@ -51,9 +51,10 @@ static PRUintn gToolkitTLSIndex = 0; // constructor // //------------------------------------------------------------------------- @@ -697,7 +717,7 @@ Index: configure.in } //------------------------------------------------------------------------- -@@ -61,7 +62,7 @@ +@@ -61,7 +62,7 @@ nsToolkit::nsToolkit() // destructor // //------------------------------------------------------------------------- @@ -706,7 +726,7 @@ Index: configure.in { if (mSharedGC) { gdk_gc_unref(mSharedGC); -@@ -77,9 +78,9 @@ +@@ -77,9 +78,9 @@ nsToolkit::~nsToolkit() // //------------------------------------------------------------------------- @@ -718,7 +738,7 @@ Index: configure.in { GdkPixmap *pixmap; -@@ -91,7 +92,7 @@ +@@ -91,7 +92,7 @@ void nsToolkit::CreateSharedGC(void) gdk_pixmap_unref(pixmap); } @@ -727,7 +747,7 @@ Index: configure.in { return gdk_gc_ref(mSharedGC); } -@@ -100,7 +101,7 @@ +@@ -100,7 +101,7 @@ GdkGC *nsToolkit::GetSharedGC(void) // // //------------------------------------------------------------------------- @@ -736,7 +756,7 @@ Index: configure.in { CreateSharedGC(); -@@ -135,7 +136,7 @@ +@@ -135,7 +136,7 @@ NS_METHOD NS_GetCurrentToolkit(nsIToolki // Create a new toolkit for this thread... // if (!toolkit) { @@ -745,7 +765,9 @@ Index: configure.in if (!toolkit) { rv = NS_ERROR_OUT_OF_MEMORY; ---- widget/src/gtk2/nsWindow.cpp +Index: widget/src/gtk2/nsWindow.cpp +=================================================================== +--- widget/src/gtk2/nsWindow.cpp.orig +++ widget/src/gtk2/nsWindow.cpp @@ -40,7 +40,7 @@ #include "prlink.h" @@ -768,7 +790,7 @@ Index: configure.in #include "gtk2xtbin.h" #include "nsIPrefService.h" -@@ -655,6 +660,70 @@ +@@ -660,6 +665,70 @@ nsWindow::Enable(PRBool aState) return NS_ERROR_NOT_IMPLEMENTED; } @@ -839,24 +861,18 @@ Index: configure.in NS_IMETHODIMP nsWindow::SetFocus(PRBool aRaise) { -@@ -675,10 +744,15 @@ +@@ -680,6 +749,10 @@ nsWindow::SetFocus(PRBool aRaise) // set properly. GtkWidget *toplevelWidget = gtk_widget_get_toplevel(owningWidget); + if (toplevelWidget && aRaise) { + SetUserTimeAndStartupIDForActivatedWindow(toplevelWidget); + } -+ ++ if (gRaiseWindows && aRaise && toplevelWidget && !GTK_WIDGET_HAS_FOCUS(owningWidget) && -- !GTK_WIDGET_HAS_FOCUS(toplevelWidget)) -+ !GTK_WIDGET_HAS_FOCUS(toplevelWidget)) { - GetAttention(-1); -+ } - - nsWindow *owningWindow = get_window_for_gtk_widget(owningWidget); - if (!owningWindow) -@@ -1147,7 +1221,7 @@ + !GTK_WIDGET_HAS_FOCUS(toplevelWidget)) { +@@ -1167,7 +1240,7 @@ nsWindow::GetNativeData(PRUint32 aDataTy case NS_NATIVE_GRAPHIC: { NS_ASSERTION(nsnull != mToolkit, "NULL toolkit, unable to get a GC"); @@ -865,7 +881,7 @@ Index: configure.in break; } -@@ -2755,7 +2829,7 @@ +@@ -2802,7 +2875,7 @@ nsWindow::NativeShow (PRBool aAction) // is shown. // XXX that may or may not be true for GTK+ 2.x if (mTransparencyBitmap) { @@ -874,7 +890,7 @@ Index: configure.in } // unset our flag now that our window has been shown -@@ -2765,6 +2839,11 @@ +@@ -2812,6 +2885,11 @@ nsWindow::NativeShow (PRBool aAction) moz_drawingarea_set_visibility(mDrawingarea, aAction); gtk_widget_show(GTK_WIDGET(mContainer)); gtk_widget_show(mShell); @@ -886,9 +902,11 @@ Index: configure.in } else if (mContainer) { moz_drawingarea_set_visibility(mDrawingarea, TRUE); ---- widget/src/xremoteclient/XRemoteClient.cpp +Index: widget/src/xremoteclient/XRemoteClient.cpp +=================================================================== +--- widget/src/xremoteclient/XRemoteClient.cpp.orig +++ widget/src/xremoteclient/XRemoteClient.cpp -@@ -173,6 +173,7 @@ +@@ -173,6 +173,7 @@ XRemoteClient::Shutdown (void) nsresult XRemoteClient::SendCommand (const char *aProgram, const char *aUsername, const char *aProfile, const char *aCommand, @@ -896,7 +914,7 @@ Index: configure.in char **aResponse, PRBool *aWindowFound) { PR_LOG(sRemoteLm, PR_LOG_DEBUG, ("XRemoteClient::SendCommand")); -@@ -198,7 +199,7 @@ +@@ -198,7 +199,7 @@ XRemoteClient::SendCommand (const char * if (NS_SUCCEEDED(rv)) { // send our command @@ -905,7 +923,7 @@ Index: configure.in // if the window was destroyed, don't bother trying to free the // lock. -@@ -217,6 +218,7 @@ +@@ -217,6 +218,7 @@ nsresult XRemoteClient::SendCommandLine (const char *aProgram, const char *aUsername, const char *aProfile, PRInt32 argc, char **argv, @@ -913,7 +931,7 @@ Index: configure.in char **aResponse, PRBool *aWindowFound) { PR_LOG(sRemoteLm, PR_LOG_DEBUG, ("XRemoteClient::SendCommandLine")); -@@ -242,7 +244,7 @@ +@@ -242,7 +244,7 @@ XRemoteClient::SendCommandLine (const ch if (NS_SUCCEEDED(rv)) { // send our command @@ -922,7 +940,7 @@ Index: configure.in // if the window was destroyed, don't bother trying to free the // lock. -@@ -643,6 +645,7 @@ +@@ -643,6 +645,7 @@ XRemoteClient::FreeLock(Window aWindow) nsresult XRemoteClient::DoSendCommand(Window aWindow, const char *aCommand, @@ -930,7 +948,7 @@ Index: configure.in char **aResponse, PRBool *aDestroyed) { *aDestroyed = PR_FALSE; -@@ -651,9 +654,28 @@ +@@ -651,9 +654,28 @@ XRemoteClient::DoSendCommand(Window aWin ("(writing " MOZILLA_COMMAND_PROP " \"%s\" to 0x%x)\n", aCommand, (unsigned int) aWindow)); @@ -961,7 +979,7 @@ Index: configure.in if (!WaitForResponse(aWindow, aResponse, aDestroyed, mMozCommandAtom)) return NS_ERROR_FAILURE; -@@ -663,7 +685,7 @@ +@@ -663,7 +685,7 @@ XRemoteClient::DoSendCommand(Window aWin /* like strcpy, but return the char after the final null */ static char* @@ -970,7 +988,7 @@ Index: configure.in { while (*s) *d++ = *s++; -@@ -674,6 +696,7 @@ +@@ -674,6 +696,7 @@ estrcpy(char* s, char* d) nsresult XRemoteClient::DoSendCommandLine(Window aWindow, PRInt32 argc, char **argv, @@ -978,7 +996,7 @@ Index: configure.in char **aResponse, PRBool *aDestroyed) { int i; -@@ -690,9 +713,16 @@ +@@ -690,9 +713,16 @@ XRemoteClient::DoSendCommandLine(Window // [argc][offsetargv0][offsetargv1...]\0\0argv[1]...\0 // (offset is from the beginning of the buffer) @@ -997,7 +1015,7 @@ Index: configure.in PRInt32* buffer = (PRInt32*) malloc(argvlen + argc + 1 + sizeof(PRInt32) * (argc + 1)); -@@ -708,6 +738,10 @@ +@@ -708,6 +738,10 @@ XRemoteClient::DoSendCommandLine(Window for (int i = 0; i < argc; ++i) { buffer[i + 1] = TO_LITTLE_ENDIAN32(bufend - ((char*) buffer)); bufend = estrcpy(argv[i], bufend); @@ -1008,9 +1026,11 @@ Index: configure.in } #ifdef DEBUG_bsmedberg ---- widget/src/xremoteclient/XRemoteClient.h +Index: widget/src/xremoteclient/XRemoteClient.h +=================================================================== +--- widget/src/xremoteclient/XRemoteClient.h.orig +++ widget/src/xremoteclient/XRemoteClient.h -@@ -48,10 +48,12 @@ +@@ -48,10 +48,12 @@ public: virtual nsresult Init(); virtual nsresult SendCommand(const char *aProgram, const char *aUsername, const char *aProfile, const char *aCommand, @@ -1023,7 +1043,7 @@ Index: configure.in char **aResponse, PRBool *aSucceeded); void Shutdown(); -@@ -67,10 +69,12 @@ +@@ -67,10 +69,12 @@ private: PRBool aSupportsCommandLine); nsresult DoSendCommand (Window aWindow, const char *aCommand, @@ -1036,7 +1056,9 @@ Index: configure.in char **aResponse, PRBool *aDestroyed); PRBool WaitForResponse (Window aWindow, char **aResponse, ---- widget/src/xremoteclient/mozilla-xremote-client.cpp +Index: widget/src/xremoteclient/mozilla-xremote-client.cpp +=================================================================== +--- widget/src/xremoteclient/mozilla-xremote-client.cpp.orig +++ widget/src/xremoteclient/mozilla-xremote-client.cpp @@ -40,6 +40,7 @@ #include @@ -1046,7 +1068,7 @@ Index: configure.in #ifdef MOZ_WIDGET_PHOTON #include "PhRemoteClient.h" #else -@@ -99,7 +100,7 @@ +@@ -99,7 +100,7 @@ int main(int argc, char **argv) // send the command - it doesn't get any easier than this PRBool success = PR_FALSE; char *error = 0; @@ -1055,9 +1077,11 @@ Index: configure.in &error, &success); // failed to send command ---- widget/src/xremoteclient/nsRemoteClient.h +Index: widget/src/xremoteclient/nsRemoteClient.h +=================================================================== +--- widget/src/xremoteclient/nsRemoteClient.h.orig +++ widget/src/xremoteclient/nsRemoteClient.h -@@ -85,6 +85,7 @@ +@@ -85,6 +85,7 @@ public: */ virtual nsresult SendCommand(const char *aProgram, const char *aUsername, const char *aProfile, const char *aCommand, @@ -1065,7 +1089,7 @@ Index: configure.in char **aResponse, PRBool *aSucceeded) = 0; /** -@@ -97,6 +98,7 @@ +@@ -97,6 +98,7 @@ public: virtual nsresult SendCommandLine(const char *aProgram, const char *aUsername, const char *aProfile, PRInt32 argc, char **argv, diff --git a/tango-maxversion.patch b/tango-maxversion.patch new file mode 100644 index 00000000..3db45363 --- /dev/null +++ b/tango-maxversion.patch @@ -0,0 +1,11 @@ +--- tango@novell.com/install.rdf 2006-11-27 19:40:24.000000000 +0100 ++++ tango@novell.com/install.rdf.new 2006-12-19 23:22:41.846376000 +0100 +@@ -14,7 +14,7 @@ + + {ec8030f7-c20a-464f-9b0e-13a3a9e97384} + 1.9 +- 2.0 ++ 2.0.0.* + + +