[seamonkey] update to 2.30
Dmitry Butskoy
buc at fedoraproject.org
Sat Oct 25 01:27:14 UTC 2014
commit 43a17db903cd87e23b4283f58cb74a08ead03d56
Author: buc <buc at grad.stu.neva.ru>
Date: Sat Oct 25 05:32:26 2014 +0400
update to 2.30
.gitignore | 2 +
firefox-32-rhbz-966424.patch | 23 ---
firefox-33-build-prbool.patch | 11 ++
firefox-33-mozilla-1042889.patch | 81 +++++++++++
firefox-33-mozilla-858919-2.patch | 28 ++++
firefox-33-mozilla-858919-3.patch | 144 ++++++++++++++++++++
firefox-33-rhbz-966424.patch | 14 ++
...alldir.patch => seamonkey-2.30-installdir.patch | 17 ++-
seamonkey.spec | 34 +++--
sources | 4 +-
10 files changed, 315 insertions(+), 43 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 7d4819f..ffe8d01 100644
--- a/.gitignore
+++ b/.gitignore
@@ -68,3 +68,5 @@ seamonkey-2.0.6.source.tar.bz2
/seamonkey-langpacks-2.29-20140920.tar.xz
/seamonkey-2.29.1.source.tar.bz2
/seamonkey-langpacks-2.29.1-20140926.tar.xz
+/seamonkey-2.30.source.tar.bz2
+/seamonkey-langpacks-2.30-20141025.tar.xz
diff --git a/firefox-33-build-prbool.patch b/firefox-33-build-prbool.patch
new file mode 100644
index 0000000..c7424ea
--- /dev/null
+++ b/firefox-33-build-prbool.patch
@@ -0,0 +1,11 @@
+diff -up mozilla-release/security/certverifier/OCSPCache.h.old mozilla-release/security/certverifier/OCSPCache.h
+--- mozilla-release/security/certverifier/OCSPCache.h.old 2014-10-14 12:33:46.519970732 +0200
++++ mozilla-release/security/certverifier/OCSPCache.h 2014-10-14 12:34:44.418000625 +0200
+@@ -25,6 +25,7 @@
+ #ifndef mozilla_psm_OCSPCache_h
+ #define mozilla_psm_OCSPCache_h
+
++#include "prtypes.h"
+ #include "hasht.h"
+ #include "mozilla/Mutex.h"
+ #include "mozilla/Vector.h"
diff --git a/firefox-33-mozilla-1042889.patch b/firefox-33-mozilla-1042889.patch
new file mode 100644
index 0000000..6061b9b
--- /dev/null
+++ b/firefox-33-mozilla-1042889.patch
@@ -0,0 +1,81 @@
+diff --git a/dom/browser-element/BrowserElementChildPreload.js b/dom/browser-element/BrowserElementChildPreload.js
+--- a/dom/browser-element/BrowserElementChildPreload.js
++++ b/dom/browser-element/BrowserElementChildPreload.js
+@@ -90,16 +90,17 @@ function getErrorClass(errorCode) {
+ switch (NSPRCode) {
+ case SEC_ERROR_UNKNOWN_ISSUER:
+ case SEC_ERROR_UNTRUSTED_ISSUER:
+ case SEC_ERROR_EXPIRED_ISSUER_CERTIFICATE:
+ case SEC_ERROR_UNTRUSTED_CERT:
+ case SSL_ERROR_BAD_CERT_DOMAIN:
+ case SEC_ERROR_EXPIRED_CERTIFICATE:
+ case SEC_ERROR_CERT_SIGNATURE_ALGORITHM_DISABLED:
++ case SEC_ERROR_CA_CERT_INVALID:
+ case MOZILLA_PKIX_ERROR_CA_CERT_USED_AS_END_ENTITY:
+ return Ci.nsINSSErrorsService.ERROR_CLASS_BAD_CERT;
+ default:
+ return Ci.nsINSSErrorsService.ERROR_CLASS_SSL_PROTOCOL;
+ }
+
+ return null;
+ }
+diff --git a/security/manager/ssl/src/NSSErrorsService.cpp b/security/manager/ssl/src/NSSErrorsService.cpp
+--- a/security/manager/ssl/src/NSSErrorsService.cpp
++++ b/security/manager/ssl/src/NSSErrorsService.cpp
+@@ -136,16 +136,17 @@ NSSErrorsService::GetErrorClass(nsresult
+ // Overridable errors.
+ case SEC_ERROR_UNKNOWN_ISSUER:
+ case SEC_ERROR_UNTRUSTED_ISSUER:
+ case SEC_ERROR_EXPIRED_ISSUER_CERTIFICATE:
+ case SEC_ERROR_UNTRUSTED_CERT:
+ case SSL_ERROR_BAD_CERT_DOMAIN:
+ case SEC_ERROR_EXPIRED_CERTIFICATE:
+ case SEC_ERROR_CERT_SIGNATURE_ALGORITHM_DISABLED:
++ case SEC_ERROR_CA_CERT_INVALID:
+ case mozilla::pkix::MOZILLA_PKIX_ERROR_CA_CERT_USED_AS_END_ENTITY:
+ *aErrorClass = ERROR_CLASS_BAD_CERT;
+ break;
+ // Non-overridable errors.
+ default:
+ *aErrorClass = ERROR_CLASS_SSL_PROTOCOL;
+ break;
+ }
+diff --git a/security/manager/ssl/src/SSLServerCertVerification.cpp b/security/manager/ssl/src/SSLServerCertVerification.cpp
+--- a/security/manager/ssl/src/SSLServerCertVerification.cpp
++++ b/security/manager/ssl/src/SSLServerCertVerification.cpp
+@@ -287,16 +287,17 @@ private:
+
+ // A probe value of 1 means "no error".
+ uint32_t
+ MapCertErrorToProbeValue(PRErrorCode errorCode)
+ {
+ switch (errorCode)
+ {
+ case SEC_ERROR_UNKNOWN_ISSUER: return 2;
++ case SEC_ERROR_CA_CERT_INVALID: return 3;
+ case SEC_ERROR_UNTRUSTED_ISSUER: return 4;
+ case SEC_ERROR_EXPIRED_ISSUER_CERTIFICATE: return 5;
+ case SEC_ERROR_UNTRUSTED_CERT: return 6;
+ case SEC_ERROR_INADEQUATE_KEY_USAGE: return 7;
+ case SEC_ERROR_CERT_SIGNATURE_ALGORITHM_DISABLED: return 8;
+ case SSL_ERROR_BAD_CERT_DOMAIN: return 9;
+ case SEC_ERROR_EXPIRED_CERTIFICATE: return 10;
+ case mozilla::pkix::MOZILLA_PKIX_ERROR_CA_CERT_USED_AS_END_ENTITY: return 11;
+@@ -321,16 +322,17 @@ DetermineCertOverrideErrors(CERTCertific
+ MOZ_ASSERT(errorCodeMismatch == 0);
+ MOZ_ASSERT(errorCodeExpired == 0);
+
+ // Assumes the error prioritization described in mozilla::pkix's
+ // BuildForward function. Also assumes that CERT_VerifyCertName was only
+ // called if CertVerifier::VerifyCert succeeded.
+ switch (defaultErrorCodeToReport) {
+ case SEC_ERROR_CERT_SIGNATURE_ALGORITHM_DISABLED:
++ case SEC_ERROR_CA_CERT_INVALID:
+ case SEC_ERROR_UNKNOWN_ISSUER:
+ case mozilla::pkix::MOZILLA_PKIX_ERROR_CA_CERT_USED_AS_END_ENTITY:
+ {
+ collectedErrors = nsICertOverrideService::ERROR_UNTRUSTED;
+ errorCodeTrust = defaultErrorCodeToReport;
+
+ SECCertTimeValidity validity = CERT_CheckCertValidTimes(cert, now, false);
+ if (validity == secCertTimeUndetermined) {
diff --git a/firefox-33-mozilla-858919-2.patch b/firefox-33-mozilla-858919-2.patch
new file mode 100644
index 0000000..ece5906
--- /dev/null
+++ b/firefox-33-mozilla-858919-2.patch
@@ -0,0 +1,28 @@
+# HG changeset patch
+# Parent 9d66436af432f057f65d16ab9f5871baca4ada78
+# User Martin Stransky <stransky at redhat.com>
+Bug 858919 - Send "alertshow" event for Web Notifications by libnotify, r=?karlt
+
+diff --git a/toolkit/system/gnome/nsAlertsIconListener.cpp b/toolkit/system/gnome/nsAlertsIconListener.cpp
+--- a/toolkit/system/gnome/nsAlertsIconListener.cpp
++++ b/toolkit/system/gnome/nsAlertsIconListener.cpp
+@@ -175,16 +175,19 @@ nsAlertsIconListener::ShowAlert(GdkPixbu
+ // different signature, so a marshaller is used instead of a C callback to
+ // get the user_data (this) in a parseable format. |closure| is created
+ // with a floating reference, which gets sunk by g_signal_connect_closure().
+ GClosure* closure = g_closure_new_simple(sizeof(GClosure), this);
+ g_closure_set_marshal(closure, notify_closed_marshal);
+ mClosureHandler = g_signal_connect_closure(mNotification, "closed", closure, FALSE);
+ gboolean result = notify_notification_show(mNotification, nullptr);
+
++ if (result && mAlertListener)
++ mAlertListener->Observe(nullptr, "alertshow", mAlertCookie.get());
++
+ return result ? NS_OK : NS_ERROR_FAILURE;
+ }
+
+ nsresult
+ nsAlertsIconListener::StartRequest(const nsAString & aImageUrl)
+ {
+ if (mIconRequest) {
+ // Another icon request is already in flight. Kill it.
diff --git a/firefox-33-mozilla-858919-3.patch b/firefox-33-mozilla-858919-3.patch
new file mode 100644
index 0000000..7d04cd9
--- /dev/null
+++ b/firefox-33-mozilla-858919-3.patch
@@ -0,0 +1,144 @@
+# HG changeset patch
+# Parent 531e0bc755b2335dec5aae2a10f4ba454307981d
+# User Martin Stransky <stransky at redhat.com>
+Bug 858919 - Fixes image loading for libnotify notifications. r=?karlt
+
+diff --git a/toolkit/system/gnome/nsAlertsIconListener.cpp b/toolkit/system/gnome/nsAlertsIconListener.cpp
+--- a/toolkit/system/gnome/nsAlertsIconListener.cpp
++++ b/toolkit/system/gnome/nsAlertsIconListener.cpp
+@@ -46,16 +46,31 @@ static void notify_closed_marshal(GClosu
+ NS_ABORT_IF_FALSE(n_param_values >= 1, "No object in params");
+
+ nsAlertsIconListener* alert =
+ static_cast<nsAlertsIconListener*>(closure->data);
+ alert->SendClosed();
+ NS_RELEASE(alert);
+ }
+
++static GdkPixbuf*
++GetPixbufFromImgRequest(imgIRequest* aRequest)
++{
++ nsCOMPtr<imgIContainer> image;
++ nsresult rv = aRequest->GetImage(getter_AddRefs(image));
++ if (NS_FAILED(rv)) {
++ return nullptr;
++ }
++
++ nsCOMPtr<nsIImageToPixbuf> imgToPixbuf =
++ do_GetService("@mozilla.org/widget/image-to-gdk-pixbuf;1");
++
++ return imgToPixbuf->ConvertImageToPixbuf(image);
++}
++
+ NS_IMPL_ISUPPORTS(nsAlertsIconListener, imgINotificationObserver,
+ nsIObserver, nsISupportsWeakReference)
+
+ nsAlertsIconListener::nsAlertsIconListener()
+ : mLoadedFrame(false),
+ mNotification(nullptr)
+ {
+ if (!libNotifyHandle && !libNotifyNotAvail) {
+@@ -101,57 +116,55 @@ nsAlertsIconListener::Notify(imgIRequest
+ }
+
+ return NS_OK;
+ }
+
+ nsresult
+ nsAlertsIconListener::OnStopRequest(imgIRequest* aRequest)
+ {
++ NS_ASSERTION(mIconRequest == aRequest, "aRequest does not match!");
++
+ uint32_t imgStatus = imgIRequest::STATUS_ERROR;
+ nsresult rv = aRequest->GetImageStatus(&imgStatus);
+ NS_ENSURE_SUCCESS(rv, rv);
+ if (imgStatus == imgIRequest::STATUS_ERROR && !mLoadedFrame) {
+ // We have an error getting the image. Display the notification with no icon.
+ ShowAlert(nullptr);
+- }
+
+- if (mIconRequest) {
++ // Cancel any pending request
+ mIconRequest->Cancel(NS_BINDING_ABORTED);
+ mIconRequest = nullptr;
+ }
++
+ return NS_OK;
+ }
+
+ nsresult
+ nsAlertsIconListener::OnStopFrame(imgIRequest* aRequest)
+ {
+- if (aRequest != mIconRequest)
+- return NS_ERROR_FAILURE;
++ NS_ASSERTION(mIconRequest == aRequest, "aRequest does not match!");
+
+ if (mLoadedFrame)
+ return NS_OK; // only use one frame
+
+- nsCOMPtr<imgIContainer> image;
+- nsresult rv = aRequest->GetImage(getter_AddRefs(image));
+- if (NS_FAILED(rv))
+- return rv;
+-
+- nsCOMPtr<nsIImageToPixbuf> imgToPixbuf =
+- do_GetService("@mozilla.org/widget/image-to-gdk-pixbuf;1");
+-
+- GdkPixbuf* imagePixbuf = imgToPixbuf->ConvertImageToPixbuf(image);
+- if (!imagePixbuf)
+- return NS_ERROR_FAILURE;
+-
+- ShowAlert(imagePixbuf);
+-
+- g_object_unref(imagePixbuf);
++ GdkPixbuf* imagePixbuf = GetPixbufFromImgRequest(aRequest);
++ if (!imagePixbuf) {
++ ShowAlert(nullptr);
++ } else {
++ ShowAlert(imagePixbuf);
++ g_object_unref(imagePixbuf);
++ }
+
+ mLoadedFrame = true;
++
++ // Cancel any pending request (multipart image loading/decoding for instance)
++ mIconRequest->Cancel(NS_BINDING_ABORTED);
++ mIconRequest = nullptr;
++
+ return NS_OK;
+ }
+
+ nsresult
+ nsAlertsIconListener::ShowAlert(GdkPixbuf* aPixbuf)
+ {
+ mNotification = notify_notification_new(mAlertTitle.get(), mAlertText.get(),
+ nullptr, nullptr);
+@@ -196,19 +209,25 @@ nsAlertsIconListener::StartRequest(const
+ NS_NewURI(getter_AddRefs(imageUri), aImageUrl);
+ if (!imageUri)
+ return ShowAlert(nullptr);
+
+ nsCOMPtr<imgILoader> il(do_GetService("@mozilla.org/image/loader;1"));
+ if (!il)
+ return ShowAlert(nullptr);
+
+- return il->LoadImageXPCOM(imageUri, nullptr, nullptr, nullptr, nullptr,
+- this, nullptr, nsIRequest::LOAD_NORMAL, nullptr,
+- nullptr, getter_AddRefs(mIconRequest));
++ nsresult rv = il->LoadImageXPCOM(imageUri, nullptr, nullptr, nullptr, nullptr,
++ this, nullptr, nsIRequest::LOAD_NORMAL, nullptr,
++ nullptr, getter_AddRefs(mIconRequest));
++ if (NS_FAILED(rv))
++ return rv;
++
++ mIconRequest->StartDecoding();
++
++ return NS_OK;
+ }
+
+ void
+ nsAlertsIconListener::SendCallback()
+ {
+ if (mAlertListener)
+ mAlertListener->Observe(nullptr, "alertclickcallback", mAlertCookie.get());
+ }
diff --git a/firefox-33-rhbz-966424.patch b/firefox-33-rhbz-966424.patch
new file mode 100644
index 0000000..7579d09
--- /dev/null
+++ b/firefox-33-rhbz-966424.patch
@@ -0,0 +1,14 @@
+diff -up firefox-33.0/mozilla-release/toolkit/modules/CertUtils.jsm.966424 firefox-33.0/mozilla-release/toolkit/modules/CertUtils.jsm
+--- firefox-33.0/mozilla-release/toolkit/modules/CertUtils.jsm.966424 2014-10-14 08:12:14.358697255 +0200
++++ firefox-33.0/mozilla-release/toolkit/modules/CertUtils.jsm 2014-10-14 08:17:59.962181908 +0200
+@@ -174,7 +174,9 @@ this.checkCert =
+ }
+
+ function isBuiltinToken(tokenName) {
+- return tokenName == "Builtin Object Token";
++ return tokenName == "Builtin Object Token" ||
++ tokenName == "Default Trust" ||
++ tokenName == "System Trust";
+ }
+
+ /**
diff --git a/seamonkey-2.26-installdir.patch b/seamonkey-2.30-installdir.patch
similarity index 58%
rename from seamonkey-2.26-installdir.patch
rename to seamonkey-2.30-installdir.patch
index 2ce9e49..18210fb 100644
--- a/seamonkey-2.26-installdir.patch
+++ b/seamonkey-2.30-installdir.patch
@@ -1,7 +1,10 @@
-diff -Nrbu seamonkey-2.26/comm-release/config/baseconfig.mk seamonkey-2.26-OK/comm-release/config/baseconfig.mk
---- seamonkey-2.26/comm-release/config/baseconfig.mk 2014-04-29 08:55:06.000000000 +0400
-+++ seamonkey-2.26-OK/comm-release/config/baseconfig.mk 2014-05-06 22:24:50.327493588 +0400
-@@ -1,7 +1,7 @@
+diff -Nrbu seamonkey-2.30/comm-release/config/baseconfig.mk seamonkey-2.30-OK/comm-release/config/baseconfig.mk
+--- seamonkey-2.30/comm-release/config/baseconfig.mk 2014-10-14 10:26:59.000000000 +0400
++++ seamonkey-2.30-OK/comm-release/config/baseconfig.mk 2014-10-25 01:31:27.394515999 +0400
+@@ -2,10 +2,10 @@
+ # directly in python/mozbuild/mozbuild/base.py for gmake validation.
+ # We thus use INCLUDED_AUTOCONF_MK to enable/disable some parts depending
+ # whether a normal build is happening or whether the check is running.
-includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
@@ -13,9 +16,9 @@ diff -Nrbu seamonkey-2.26/comm-release/config/baseconfig.mk seamonkey-2.26-OK/co
MOZILLA_SRCDIR = $(topsrcdir)/mozilla
MOZDEPTH = $(DEPTH)/mozilla
DIST = $(MOZDEPTH)/dist
-diff -Nrbu seamonkey-2.26/comm-release/mozilla/config/baseconfig.mk seamonkey-2.26-OK/comm-release/mozilla/config/baseconfig.mk
---- seamonkey-2.26/comm-release/mozilla/config/baseconfig.mk 2014-04-29 09:02:42.000000000 +0400
-+++ seamonkey-2.26-OK/comm-release/mozilla/config/baseconfig.mk 2014-05-06 22:26:01.343493513 +0400
+diff -Nrbu seamonkey-2.30/comm-release/mozilla/config/baseconfig.mk seamonkey-2.30-OK/comm-release/mozilla/config/baseconfig.mk
+--- seamonkey-2.30/comm-release/mozilla/config/baseconfig.mk 2014-10-14 10:36:04.000000000 +0400
++++ seamonkey-2.30-OK/comm-release/mozilla/config/baseconfig.mk 2014-10-25 01:30:53.446516035 +0400
@@ -2,10 +2,10 @@
# directly in python/mozbuild/mozbuild/base.py for gmake validation.
# We thus use INCLUDED_AUTOCONF_MK to enable/disable some parts depending
diff --git a/seamonkey.spec b/seamonkey.spec
index a372cba..51a7c48 100644
--- a/seamonkey.spec
+++ b/seamonkey.spec
@@ -6,8 +6,8 @@
%define default_bookmarks_file %{_datadir}/bookmarks/default-bookmarks.html
%define cairo_version 0.5
-%global minimum_build_nspr_version 4.10.6
-%global minimum_build_nss_version 3.16.2
+%global minimum_build_nspr_version 4.10.3
+%global minimum_build_nss_version 3.17.1
%global minimum_build_vpx_version 1.3.0
%define build_langpacks 1
@@ -22,7 +22,7 @@
Name: seamonkey
Summary: Web browser, e-mail, news, IRC client, HTML editor
-Version: 2.29.1
+Version: 2.30
Release: 1%{?dist}
URL: http://www.mozilla.org/projects/seamonkey/
License: MPLv2.0
@@ -36,7 +36,7 @@ Source0: ftp://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/%{versi
#
# Run script as ./moz-grab-langpacks --app seamonkey %{version}
#
-Source1: seamonkey-langpacks-%{version}-20140926.tar.xz
+Source1: seamonkey-langpacks-%{version}-20141025.tar.xz
Source3: seamonkey.sh.in
Source4: seamonkey.desktop
@@ -52,11 +52,15 @@ Source100: seamonkey-find-requires.sh
Patch1: xulrunner-26.0-gcc47.patch
Patch2: xulrunner-24.0-jemalloc-ppc.patch
Patch3: xulrunner-27.0-build-arm.patch
-Patch4: firefox-32-rhbz-966424.patch
+Patch4: firefox-33-rhbz-966424.patch
Patch5: firefox-32-mozilla-858919.patch
-Patch6: firefox-32-baseline-disable.patch
-Patch10: seamonkey-2.29-enable-addons.patch
-Patch22: seamonkey-2.26-installdir.patch
+Patch6: firefox-33-mozilla-858919-2.patch
+Patch7: firefox-33-mozilla-858919-3.patch
+Patch8: firefox-33-mozilla-1042889.patch
+Patch9: firefox-32-baseline-disable.patch
+Patch10: firefox-33-build-prbool.patch
+Patch15: seamonkey-2.29-enable-addons.patch
+Patch22: seamonkey-2.30-installdir.patch
Patch23: seamonkey-2.25-elfhack.patch
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -142,14 +146,18 @@ pushd mozilla
%patch1 -p2 -b .gcc47
%patch2 -p2 -b .jemalloc-ppc
%patch3 -p2 -b .build-arm
-%patch4 -p1 -b .966424
+%patch4 -p2 -b .966424
%patch5 -p1 -b .858919
+%patch6 -p1 -b .858919-2
+%patch7 -p1 -b .858919-3
+%patch8 -p1 -b .1042889
%ifarch %{ix86}
-%patch6 -p2 -b .baseline
+%patch9 -p2 -b .baseline
%endif
+%patch10 -p1 -b .prbool
popd
-%patch10 -p2 -b .addons
+%patch15 -p2 -b .addons
%patch22 -p2 -b .installdir
%patch23 -p2 -b .elfhack
@@ -489,6 +497,10 @@ fi
%changelog
+* Sat Oct 25 2014 Dmitry Butskoy <Dmitry at Butskoy.name> 2.30-1
+- update to 2.30
+- apply some patches from firefox-33 package
+
* Fri Sep 26 2014 Dmitry Butskoy <Dmitry at Butskoy.name> 2.29.1-1
- update to 2.29.1
diff --git a/sources b/sources
index 6c24b45..8718319 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-2e7de6485848675857f8b8e43221caa7 seamonkey-2.29.1.source.tar.bz2
-58f05ca7afc69ced05471ccabb0a5fd5 seamonkey-langpacks-2.29.1-20140926.tar.xz
+831e91caf7036387f89b369c54250e75 seamonkey-2.30.source.tar.bz2
+bd2236d197cf50d5c0fb617d1250bc7b seamonkey-langpacks-2.30-20141025.tar.xz
More information about the scm-commits
mailing list