Bundle mozjs
Bundling mozjs in both gjs and polkit should make it possible to remove the system wide mozjs78 package from base RHEL 9, which makes it easier in the future if we need to update gjs to use newer mozjs. At that point, we can just update gjs to the new mozjs version it needs and not have to worry about maintaining a system-wide mozjs78 for all of RHEL 9 lifetime. Resolves: #1958111
This commit is contained in:
parent
c23564feee
commit
19febb8bec
1
.gitignore
vendored
1
.gitignore
vendored
@ -32,3 +32,4 @@ polkit-0.98.tar.gz
|
||||
/polkit-0.116.tar.gz.sign
|
||||
/polkit-0.117.tar.gz
|
||||
/polkit-0.117.tar.gz.sign
|
||||
/firefox-78.10.0esr.source.tar.xz
|
||||
|
30
0001-Skip-failing-tests-on-ppc64-and-s390x.patch
Normal file
30
0001-Skip-failing-tests-on-ppc64-and-s390x.patch
Normal file
@ -0,0 +1,30 @@
|
||||
From db3a0a25b97377b388532b23e73a10d246f66496 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
|
||||
Date: Mon, 3 Aug 2020 10:27:00 +0200
|
||||
Subject: [PATCH] Skip failing tests on ppc64 and s390x
|
||||
|
||||
ppc64 and s390x: non262/extensions/clone-errors.js
|
||||
s390x: test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js
|
||||
---
|
||||
js/src/tests/jstests.list | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/js/src/tests/jstests.list b/js/src/tests/jstests.list
|
||||
index 4085ce3..4f014f5 100644
|
||||
--- a/js/src/tests/jstests.list
|
||||
+++ b/js/src/tests/jstests.list
|
||||
@@ -56,6 +56,11 @@ skip-if(!this.hasOwnProperty('addIntlExtras')) include test262/intl402/DisplayNa
|
||||
skip-if(!this.hasOwnProperty("Atomics")) include test262/built-ins/Atomics/jstests.list
|
||||
skip-if(!this.hasOwnProperty("SharedArrayBuffer")) include test262/built-ins/SharedArrayBuffer/jstests.list
|
||||
|
||||
+# Crashes on s390x and ppc64, avoid it
|
||||
+skip-if(xulRuntime.XPCOMABI.match(/s390x|ppc64-/)) script non262/extensions/clone-errors.js
|
||||
+
|
||||
+# Crashes on s390x, avoid it
|
||||
+skip-if(xulRuntime.XPCOMABI.match(/s390x/)) script test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js
|
||||
|
||||
#####################################
|
||||
# Test262 tests disabled on browser #
|
||||
--
|
||||
2.26.2
|
||||
|
5771
0002-D89554-autoconf1.diff
Normal file
5771
0002-D89554-autoconf1.diff
Normal file
File diff suppressed because it is too large
Load Diff
118
0003-D94538-autoconf2.diff
Normal file
118
0003-D94538-autoconf2.diff
Normal file
@ -0,0 +1,118 @@
|
||||
diff -up firefox-78.8.0/python/mozboot/mozboot/archlinux.py.D94538-autoconf2.diff firefox-78.8.0/python/mozboot/mozboot/archlinux.py
|
||||
--- firefox-78.8.0/python/mozboot/mozboot/archlinux.py.D94538-autoconf2.diff 2021-02-25 13:53:04.963982705 +0100
|
||||
+++ firefox-78.8.0/python/mozboot/mozboot/archlinux.py 2021-02-25 13:53:25.713053151 +0100
|
||||
@@ -26,7 +26,6 @@ class ArchlinuxBootstrapper(
|
||||
'''Archlinux experimental bootstrapper.'''
|
||||
|
||||
SYSTEM_PACKAGES = [
|
||||
- 'autoconf2.13',
|
||||
'base-devel',
|
||||
'nodejs',
|
||||
'python2',
|
||||
diff -up firefox-78.8.0/python/mozboot/mozboot/centosfedora.py.D94538-autoconf2.diff firefox-78.8.0/python/mozboot/mozboot/centosfedora.py
|
||||
--- firefox-78.8.0/python/mozboot/mozboot/centosfedora.py.D94538-autoconf2.diff 2021-02-17 08:49:42.000000000 +0100
|
||||
+++ firefox-78.8.0/python/mozboot/mozboot/centosfedora.py 2021-02-25 13:53:04.963982705 +0100
|
||||
@@ -26,7 +26,6 @@ class CentOSFedoraBootstrapper(
|
||||
# For CentOS 7, later versions of nodejs come from nodesource
|
||||
# and include the npm package.
|
||||
self.packages = [
|
||||
- 'autoconf213',
|
||||
'nodejs',
|
||||
'which',
|
||||
]
|
||||
diff -up firefox-78.8.0/python/mozboot/mozboot/debian.py.D94538-autoconf2.diff firefox-78.8.0/python/mozboot/mozboot/debian.py
|
||||
--- firefox-78.8.0/python/mozboot/mozboot/debian.py.D94538-autoconf2.diff 2021-02-25 13:53:04.963982705 +0100
|
||||
+++ firefox-78.8.0/python/mozboot/mozboot/debian.py 2021-02-25 13:53:42.874111415 +0100
|
||||
@@ -32,7 +32,6 @@ class DebianBootstrapper(
|
||||
# These are common packages for all Debian-derived distros (such as
|
||||
# Ubuntu).
|
||||
COMMON_PACKAGES = [
|
||||
- 'autoconf2.13',
|
||||
'build-essential',
|
||||
'nodejs',
|
||||
'python-setuptools',
|
||||
diff -up firefox-78.8.0/python/mozboot/mozboot/freebsd.py.D94538-autoconf2.diff firefox-78.8.0/python/mozboot/mozboot/freebsd.py
|
||||
--- firefox-78.8.0/python/mozboot/mozboot/freebsd.py.D94538-autoconf2.diff 2021-02-17 08:49:42.000000000 +0100
|
||||
+++ firefox-78.8.0/python/mozboot/mozboot/freebsd.py 2021-02-25 13:53:04.963982705 +0100
|
||||
@@ -15,7 +15,6 @@ class FreeBSDBootstrapper(BaseBootstrapp
|
||||
self.flavor = flavor.lower()
|
||||
|
||||
self.packages = [
|
||||
- 'autoconf213',
|
||||
'gmake',
|
||||
'gtar',
|
||||
'pkgconf',
|
||||
diff -up firefox-78.8.0/python/mozboot/mozboot/gentoo.py.D94538-autoconf2.diff firefox-78.8.0/python/mozboot/mozboot/gentoo.py
|
||||
--- firefox-78.8.0/python/mozboot/mozboot/gentoo.py.D94538-autoconf2.diff 2021-02-17 08:49:38.000000000 +0100
|
||||
+++ firefox-78.8.0/python/mozboot/mozboot/gentoo.py 2021-02-25 13:53:04.963982705 +0100
|
||||
@@ -36,7 +36,6 @@ class GentooBootstrapper(
|
||||
def ensure_system_packages(self):
|
||||
self.run_as_root(['emerge', '--noreplace', '--quiet',
|
||||
'app-arch/zip',
|
||||
- 'sys-devel/autoconf:2.1'
|
||||
])
|
||||
|
||||
def ensure_browser_packages(self, artifact_mode=False):
|
||||
diff -up firefox-78.8.0/python/mozboot/mozboot/openbsd.py.D94538-autoconf2.diff firefox-78.8.0/python/mozboot/mozboot/openbsd.py
|
||||
--- firefox-78.8.0/python/mozboot/mozboot/openbsd.py.D94538-autoconf2.diff 2021-02-17 08:49:15.000000000 +0100
|
||||
+++ firefox-78.8.0/python/mozboot/mozboot/openbsd.py 2021-02-25 13:53:04.964982709 +0100
|
||||
@@ -12,7 +12,6 @@ class OpenBSDBootstrapper(BaseBootstrapp
|
||||
BaseBootstrapper.__init__(self, **kwargs)
|
||||
|
||||
self.packages = [
|
||||
- 'autoconf-2.13',
|
||||
'gmake',
|
||||
'gtar',
|
||||
'rust',
|
||||
diff -up firefox-78.8.0/python/mozboot/mozboot/opensuse.py.D94538-autoconf2.diff firefox-78.8.0/python/mozboot/mozboot/opensuse.py
|
||||
--- firefox-78.8.0/python/mozboot/mozboot/opensuse.py.D94538-autoconf2.diff 2021-02-17 08:49:42.000000000 +0100
|
||||
+++ firefox-78.8.0/python/mozboot/mozboot/opensuse.py 2021-02-25 13:53:04.964982709 +0100
|
||||
@@ -13,7 +13,6 @@ class OpenSUSEBootstrapper(
|
||||
'''openSUSE experimental bootstrapper.'''
|
||||
|
||||
SYSTEM_PACKAGES = [
|
||||
- 'autoconf213',
|
||||
'nodejs',
|
||||
'npm',
|
||||
'which',
|
||||
diff -up firefox-78.8.0/python/mozboot/mozboot/osx.py.D94538-autoconf2.diff firefox-78.8.0/python/mozboot/mozboot/osx.py
|
||||
--- firefox-78.8.0/python/mozboot/mozboot/osx.py.D94538-autoconf2.diff 2021-02-25 13:53:04.964982709 +0100
|
||||
+++ firefox-78.8.0/python/mozboot/mozboot/osx.py 2021-02-25 13:54:07.162193882 +0100
|
||||
@@ -353,7 +353,6 @@ class OSXBootstrapper(BaseBootstrapper):
|
||||
# least on 10.8) and because the build system wants a version
|
||||
# newer than what Apple ships.
|
||||
packages = [
|
||||
- 'autoconf@2.13',
|
||||
'git',
|
||||
'gnu-tar',
|
||||
'node',
|
||||
@@ -428,7 +427,6 @@ class OSXBootstrapper(BaseBootstrapper):
|
||||
'python27',
|
||||
'python36',
|
||||
'py27-gnureadline',
|
||||
- 'autoconf213',
|
||||
'gnutar',
|
||||
'watchman',
|
||||
'nodejs8'
|
||||
diff -up firefox-78.8.0/python/mozboot/mozboot/solus.py.D94538-autoconf2.diff firefox-78.8.0/python/mozboot/mozboot/solus.py
|
||||
--- firefox-78.8.0/python/mozboot/mozboot/solus.py.D94538-autoconf2.diff 2021-02-25 13:53:04.964982709 +0100
|
||||
+++ firefox-78.8.0/python/mozboot/mozboot/solus.py 2021-02-25 13:53:32.090074802 +0100
|
||||
@@ -23,7 +23,6 @@ class SolusBootstrapper(
|
||||
'''Solus experimental bootstrapper.'''
|
||||
|
||||
SYSTEM_PACKAGES = [
|
||||
- 'autoconf213',
|
||||
'nodejs',
|
||||
'python',
|
||||
'python3',
|
||||
diff -up firefox-78.8.0/python/mozboot/mozboot/windows.py.D94538-autoconf2.diff firefox-78.8.0/python/mozboot/mozboot/windows.py
|
||||
--- firefox-78.8.0/python/mozboot/mozboot/windows.py.D94538-autoconf2.diff 2021-02-17 08:49:34.000000000 +0100
|
||||
+++ firefox-78.8.0/python/mozboot/mozboot/windows.py 2021-02-25 13:53:04.978982756 +0100
|
||||
@@ -48,7 +48,6 @@ class WindowsBootstrapper(BaseBootstrapp
|
||||
'patch',
|
||||
'patchutils',
|
||||
'diffutils',
|
||||
- 'autoconf2.13',
|
||||
'tar',
|
||||
'zip',
|
||||
'unzip',
|
12
FixSharedArray.diff
Normal file
12
FixSharedArray.diff
Normal file
@ -0,0 +1,12 @@
|
||||
--- a/js/public/StructuredClone.h
|
||||
+++ b/js/public/StructuredClone.h
|
||||
@@ -381,7 +381,7 @@ enum OwnTransferablePolicy {
|
||||
namespace js {
|
||||
class SharedArrayRawBuffer;
|
||||
|
||||
-class SharedArrayRawBufferRefs {
|
||||
+class JS_PUBLIC_API SharedArrayRawBufferRefs {
|
||||
public:
|
||||
SharedArrayRawBufferRefs() = default;
|
||||
SharedArrayRawBufferRefs(SharedArrayRawBufferRefs&& other) = default;
|
||||
--
|
38
copy-headers.patch
Normal file
38
copy-headers.patch
Normal file
@ -0,0 +1,38 @@
|
||||
From 3b3c8e37cca418e07bdeceaf3a601805df28d925 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
|
||||
Date: Wed, 15 Jul 2020 08:27:39 +0200
|
||||
Subject: [PATCH] build: Copy headers on install instead of symlinking
|
||||
|
||||
Patch by Philip Chimento ported forward to mozjs78
|
||||
---
|
||||
python/mozbuild/mozbuild/backend/recursivemake.py | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/python/mozbuild/mozbuild/backend/recursivemake.py b/python/mozbuild/mozbuild/backend/recursivemake.py
|
||||
index e3fc8fe..bed5ae9 100644
|
||||
--- a/python/mozbuild/mozbuild/backend/recursivemake.py
|
||||
+++ b/python/mozbuild/mozbuild/backend/recursivemake.py
|
||||
@@ -1457,9 +1457,9 @@ class RecursiveMakeBackend(MakeBackend):
|
||||
raise Exception("Wildcards are only supported in the filename part"
|
||||
" of srcdir-relative or absolute paths.")
|
||||
|
||||
- install_manifest.add_pattern_link(basepath, wild, path)
|
||||
+ install_manifest.add_pattern_copy(basepath, wild, path)
|
||||
else:
|
||||
- install_manifest.add_pattern_link(f.srcdir, f, path)
|
||||
+ install_manifest.add_pattern_copy(f.srcdir, f, path)
|
||||
elif isinstance(f, AbsolutePath):
|
||||
if not f.full_path.lower().endswith(('.dll', '.pdb', '.so')):
|
||||
raise Exception("Absolute paths installed to FINAL_TARGET_FILES must"
|
||||
@@ -1468,7 +1468,7 @@ class RecursiveMakeBackend(MakeBackend):
|
||||
install_manifest.add_optional_exists(dest)
|
||||
absolute_files.append(f.full_path)
|
||||
else:
|
||||
- install_manifest.add_link(f.full_path, dest)
|
||||
+ install_manifest.add_copy(f.full_path, dest)
|
||||
else:
|
||||
install_manifest.add_optional_exists(dest)
|
||||
objdir_files.append(self._pretty_path(f, backend_file))
|
||||
--
|
||||
2.26.2
|
||||
|
35
definitions_for_user_vfp.patch
Normal file
35
definitions_for_user_vfp.patch
Normal file
@ -0,0 +1,35 @@
|
||||
From fd6847c9416f9eebde636e21d794d25d1be8791d Mon Sep 17 00:00:00 2001
|
||||
From: Mike Hommey <mh@glandium.org>
|
||||
Date: Sat, 1 Jun 2019 09:06:01 +0900
|
||||
Subject: [PATCH] Bug 1526653 - Include struct definitions for user_vfp and
|
||||
user_vfp_exc.
|
||||
|
||||
---
|
||||
js/src/wasm/WasmSignalHandlers.cpp | 11 ++++++++++-
|
||||
1 file changed, 10 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/js/src/wasm/WasmSignalHandlers.cpp b/js/src/wasm/WasmSignalHandlers.cpp
|
||||
index 636537f8478..383c380f04c 100644
|
||||
--- a/js/src/wasm/WasmSignalHandlers.cpp
|
||||
+++ b/js/src/wasm/WasmSignalHandlers.cpp
|
||||
@@ -249,7 +249,16 @@ using mozilla::DebugOnly;
|
||||
#endif
|
||||
|
||||
#ifdef WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
|
||||
-# include <sys/user.h>
|
||||
+struct user_vfp {
|
||||
+ unsigned long long fpregs[32];
|
||||
+ unsigned long fpscr;
|
||||
+};
|
||||
+
|
||||
+struct user_vfp_exc {
|
||||
+ unsigned long fpexc;
|
||||
+ unsigned long fpinst;
|
||||
+ unsigned long fpinst2;
|
||||
+};
|
||||
#endif
|
||||
|
||||
#if defined(ANDROID)
|
||||
--
|
||||
2.30.2
|
||||
|
61
emitter.patch
Normal file
61
emitter.patch
Normal file
@ -0,0 +1,61 @@
|
||||
From d1d785c169345b81c76213f6dd9be32b4db60294 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
|
||||
Date: Wed, 15 Jul 2020 08:39:47 +0200
|
||||
Subject: [PATCH] Build: allow LOCAL_INCLUDES paths with topsrcdir or topobjdir
|
||||
|
||||
---
|
||||
python/mozbuild/mozbuild/frontend/emitter.py | 6 ------
|
||||
.../mozbuild/test/frontend/test_emitter.py | 20 -------------------
|
||||
2 files changed, 26 deletions(-)
|
||||
|
||||
diff --git a/python/mozbuild/mozbuild/frontend/emitter.py b/python/mozbuild/mozbuild/frontend/emitter.py
|
||||
index 8d5ab8e..65c43ff 100644
|
||||
--- a/python/mozbuild/mozbuild/frontend/emitter.py
|
||||
+++ b/python/mozbuild/mozbuild/frontend/emitter.py
|
||||
@@ -1239,12 +1239,6 @@ class TreeMetadataEmitter(LoggingMixin):
|
||||
'is a filename, but a directory is required: %s '
|
||||
'(resolved to %s)' % (local_include, full_path),
|
||||
context)
|
||||
- if (full_path == context.config.topsrcdir or
|
||||
- full_path == context.config.topobjdir):
|
||||
- raise SandboxValidationError(
|
||||
- 'Path specified in LOCAL_INCLUDES '
|
||||
- '(%s) resolves to the topsrcdir or topobjdir (%s), which is '
|
||||
- 'not allowed' % (local_include, full_path), context)
|
||||
include_obj = LocalInclude(context, local_include)
|
||||
local_includes.append(include_obj.path.full_path)
|
||||
yield include_obj
|
||||
diff --git a/python/mozbuild/mozbuild/test/frontend/test_emitter.py b/python/mozbuild/mozbuild/test/frontend/test_emitter.py
|
||||
index e8cbd81..d45ccee 100644
|
||||
--- a/python/mozbuild/mozbuild/test/frontend/test_emitter.py
|
||||
+++ b/python/mozbuild/mozbuild/test/frontend/test_emitter.py
|
||||
@@ -1040,26 +1040,6 @@ class TestEmitterBasic(unittest.TestCase):
|
||||
|
||||
self.assertEqual(local_includes, expected)
|
||||
|
||||
- def test_local_includes_invalid(self):
|
||||
- """Test that invalid LOCAL_INCLUDES are properly detected."""
|
||||
- reader = self.reader('local_includes-invalid/srcdir')
|
||||
-
|
||||
- with six.assertRaisesRegex(
|
||||
- self,
|
||||
- SandboxValidationError,
|
||||
- 'Path specified in LOCAL_INCLUDES.*resolves to the '
|
||||
- 'topsrcdir or topobjdir'):
|
||||
- self.read_topsrcdir(reader)
|
||||
-
|
||||
- reader = self.reader('local_includes-invalid/objdir')
|
||||
-
|
||||
- with six.assertRaisesRegex(
|
||||
- self,
|
||||
- SandboxValidationError,
|
||||
- 'Path specified in LOCAL_INCLUDES.*resolves to the '
|
||||
- 'topsrcdir or topobjdir'):
|
||||
- self.read_topsrcdir(reader)
|
||||
-
|
||||
def test_local_includes_file(self):
|
||||
"""Test that a filename can't be used in LOCAL_INCLUDES."""
|
||||
reader = self.reader('local_includes-filename')
|
||||
--
|
||||
2.26.2
|
||||
|
34
icu_sources_data-Write-command-output-to-our-stderr.patch
Normal file
34
icu_sources_data-Write-command-output-to-our-stderr.patch
Normal file
@ -0,0 +1,34 @@
|
||||
From: Simon McVittie <smcv@debian.org>
|
||||
Date: Mon, 9 Oct 2017 09:23:14 +0100
|
||||
Subject: icu_sources_data: Write command output to our stderr
|
||||
|
||||
Saying "See output in /tmp/foobar" is all very well for a developer
|
||||
build, but on a buildd our /tmp is going to get thrown away after
|
||||
the build. Just log the usual way instead.
|
||||
---
|
||||
intl/icu_sources_data.py | 7 ++-----
|
||||
1 file changed, 2 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/intl/icu_sources_data.py b/intl/icu_sources_data.py
|
||||
index 8cf9290..7d2d983 100644
|
||||
--- a/intl/icu_sources_data.py
|
||||
+++ b/intl/icu_sources_data.py
|
||||
@@ -190,16 +190,13 @@ def update_sources(topsrcdir):
|
||||
|
||||
def try_run(name, command, cwd=None, **kwargs):
|
||||
try:
|
||||
- with tempfile.NamedTemporaryFile(prefix=name, delete=False) as f:
|
||||
- subprocess.check_call(command, cwd=cwd, stdout=f,
|
||||
- stderr=subprocess.STDOUT, **kwargs)
|
||||
+ subprocess.check_call(command, cwd=cwd, stdout=sys.stderr,
|
||||
+ stderr=subprocess.STDOUT, **kwargs)
|
||||
except subprocess.CalledProcessError:
|
||||
- print('''Error running "{}" in directory {}
|
||||
- See output in {}'''.format(' '.join(command), cwd, f.name),
|
||||
- file=sys.stderr)
|
||||
+ print('''Error running "{}" in directory {}'''.format(' '.join(command), cwd),
|
||||
+ file=sys.stderr)
|
||||
return False
|
||||
else:
|
||||
- os.unlink(f.name)
|
||||
return True
|
26
icu_sources_data.py-Decouple-from-Mozilla-build-system.patch
Normal file
26
icu_sources_data.py-Decouple-from-Mozilla-build-system.patch
Normal file
@ -0,0 +1,26 @@
|
||||
From: Simon McVittie <smcv@debian.org>
|
||||
Date: Mon, 9 Oct 2017 09:22:12 +0100
|
||||
Subject: icu_sources_data.py: Decouple from Mozilla build system
|
||||
|
||||
mozpack.path is a wrapper around os.path that normalizes path
|
||||
separators on Windows, but on Unix we only have one path separator
|
||||
so there's nothing to normalize. Avoid needing to import all of it.
|
||||
---
|
||||
intl/icu_sources_data.py | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/intl/icu_sources_data.py b/intl/icu_sources_data.py
|
||||
index 98c0ccb..8cf9290 100644
|
||||
--- a/intl/icu_sources_data.py
|
||||
+++ b/intl/icu_sources_data.py
|
||||
@@ -22,7 +22,9 @@ import subprocess
|
||||
import sys
|
||||
import tempfile
|
||||
|
||||
-from mozpack import path as mozpath
|
||||
+# Close enough
|
||||
+import os.path as mozpath
|
||||
+mozpath.normsep = lambda p: p
|
||||
|
||||
# The following files have been determined to be dead/unused by a
|
||||
# semi-automated analysis. You can just remove any of the files below
|
12
init_patch.patch
Normal file
12
init_patch.patch
Normal file
@ -0,0 +1,12 @@
|
||||
--- a/python/mozbuild/mozbuild/configure/__init__.py
|
||||
+++ b/python/mozbuild/mozbuild/configure/__init__.py
|
||||
@@ -491,7 +491,8 @@ class ConfigureSandbox(dict):
|
||||
if self._help:
|
||||
self._logger.warning(msg)
|
||||
else:
|
||||
- raise InvalidOptionError(msg)
|
||||
+ #raise InvalidOptionError(msg)
|
||||
+ pass
|
||||
|
||||
# Run the execution queue
|
||||
for func, args in self._execution_queue:
|
216
polkit.spec
216
polkit.spec
@ -3,17 +3,67 @@
|
||||
#
|
||||
%define enable_autoreconf 1
|
||||
|
||||
%global bundled_mozjs 1
|
||||
|
||||
%if 0%{?bundled_mozjs}
|
||||
%global mozjs_major 78
|
||||
%global mozjs_version 78.10.0
|
||||
|
||||
# Big endian platforms
|
||||
%ifarch ppc ppc64 s390 s390x
|
||||
%global big_endian 1
|
||||
%endif
|
||||
|
||||
# Make sure we don't add requires/provides for private libraries
|
||||
%global __provides_exclude_from ^%{_libdir}/polkit-1/
|
||||
%global __requires_exclude ^libmozjs-%{mozjs_major}\\.so.*
|
||||
%endif
|
||||
|
||||
Summary: An authorization framework
|
||||
Name: polkit
|
||||
Version: 0.117
|
||||
Release: 5%{?dist}
|
||||
Release: 6%{?dist}
|
||||
License: LGPLv2+
|
||||
URL: http://www.freedesktop.org/wiki/Software/polkit
|
||||
Source0: http://www.freedesktop.org/software/polkit/releases/%{name}-%{version}.tar.gz
|
||||
Source1: http://www.freedesktop.org/software/polkit/releases/%{name}-%{version}.tar.gz.sign
|
||||
|
||||
Patch1: mozjs78.patch
|
||||
Patch2: CVE-2021-3560.patch
|
||||
Patch1001: mozjs78.patch
|
||||
Patch1002: CVE-2021-3560.patch
|
||||
|
||||
%if 0%{?bundled_mozjs}
|
||||
Source2: https://ftp.mozilla.org/pub/firefox/releases/%{mozjs_version}esr/source/firefox-%{mozjs_version}esr.source.tar.xz
|
||||
|
||||
# Patches from mozjs68, rebased for mozjs78:
|
||||
Patch02: copy-headers.patch
|
||||
Patch03: tests-increase-timeout.patch
|
||||
Patch09: icu_sources_data.py-Decouple-from-Mozilla-build-system.patch
|
||||
Patch10: icu_sources_data-Write-command-output-to-our-stderr.patch
|
||||
|
||||
# Build fixes - https://hg.mozilla.org/mozilla-central/rev/ca36a6c4f8a4a0ddaa033fdbe20836d87bbfb873
|
||||
Patch12: emitter.patch
|
||||
|
||||
# Build fixes
|
||||
Patch14: init_patch.patch
|
||||
# TODO: Check with mozilla for cause of these fails and re-enable spidermonkey compile time checks if needed
|
||||
Patch15: spidermonkey_checks_disable.patch
|
||||
|
||||
# armv7 fixes
|
||||
Patch17: definitions_for_user_vfp.patch
|
||||
|
||||
# s390x/ppc64 fixes, TODO: file bug report upstream?
|
||||
Patch18: spidermonkey_style_check_disable_s390x.patch
|
||||
Patch19: 0001-Skip-failing-tests-on-ppc64-and-s390x.patch
|
||||
|
||||
# Fix for https://bugzilla.mozilla.org/show_bug.cgi?id=1644600 ( SharedArrayRawBufferRefs is not exported )
|
||||
# https://github.com/0ad/0ad/blob/83e81362d850cc6f2b3b598255b873b6d04d5809/libraries/source/spidermonkey/FixSharedArray.diff
|
||||
Patch30: FixSharedArray.diff
|
||||
|
||||
# Avoid autoconf213 dependency, backported from upstream
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1663863
|
||||
Patch31: 0002-D89554-autoconf1.diff
|
||||
Patch32: 0003-D94538-autoconf2.diff
|
||||
%endif
|
||||
|
||||
BuildRequires: make
|
||||
BuildRequires: gcc-c++
|
||||
@ -24,8 +74,33 @@ BuildRequires: gtk-doc
|
||||
BuildRequires: intltool
|
||||
BuildRequires: gobject-introspection-devel
|
||||
BuildRequires: systemd, systemd-devel
|
||||
%if 0%{?bundled_mozjs}
|
||||
BuildRequires: cargo
|
||||
BuildRequires: clang-devel
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: m4
|
||||
BuildRequires: make
|
||||
%if !0%{?rhel}
|
||||
BuildRequires: nasm
|
||||
%endif
|
||||
BuildRequires: llvm
|
||||
BuildRequires: llvm-devel
|
||||
BuildRequires: rust
|
||||
BuildRequires: perl-devel
|
||||
BuildRequires: pkgconfig(libffi)
|
||||
BuildRequires: pkgconfig(zlib)
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-setuptools
|
||||
BuildRequires: python3-six
|
||||
BuildRequires: readline-devel
|
||||
BuildRequires: zip
|
||||
%if 0%{?big_endian}
|
||||
BuildRequires: icu
|
||||
%endif
|
||||
%else
|
||||
BuildRequires: pkgconfig(mozjs-78)
|
||||
BuildRequires: git
|
||||
%endif
|
||||
|
||||
%if 0%{?enable_autoreconf}
|
||||
BuildRequires: autoconf
|
||||
@ -85,15 +160,116 @@ Development documentation for polkit.
|
||||
|
||||
%package libs
|
||||
Summary: Libraries for polkit
|
||||
%if 0%{?bundled_mozjs}
|
||||
License: MIT and (MPLv1.1 or GPLv2+ or LGPLv2+) and MPLv2.0 and MPLv1.1 and BSD and GPLv2+ and GPLv3+ and LGPLv2+ and AFL and ASL 2.0
|
||||
Provides: bundled(mozjs) = %{mozjs_version}
|
||||
%endif
|
||||
|
||||
%description libs
|
||||
Libraries files for polkit.
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -S git
|
||||
%setup -q
|
||||
|
||||
# Apply polkit patches
|
||||
%patch1001 -p1
|
||||
%patch1002 -p1
|
||||
|
||||
%if 0%{?bundled_mozjs}
|
||||
# Extract mozjs archive
|
||||
tar -xf %{S:2}
|
||||
|
||||
# Apply mozjs patches
|
||||
pushd firefox-%{mozjs_version}
|
||||
%patch02 -p1
|
||||
%patch03 -p1
|
||||
%patch09 -p1
|
||||
%patch10 -p1
|
||||
|
||||
%patch12 -p1
|
||||
|
||||
%patch14 -p1
|
||||
%patch15 -p1
|
||||
|
||||
%ifarch armv7hl
|
||||
# Include definitions for user vfp on armv7 as it causes the compilation to fail without them
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1526653
|
||||
%patch17 -p1
|
||||
%endif
|
||||
|
||||
%ifarch s390x
|
||||
%patch18 -p1
|
||||
%endif
|
||||
|
||||
# Fixes for ppc64 and s390x, there is no need to keep it in ifarch here since mozilla tests support ifarch conditions
|
||||
%patch19 -p1
|
||||
|
||||
# Export SharedArrayRawBufferRefs
|
||||
%patch30 -p1
|
||||
|
||||
# Avoid autoconf213 dependency
|
||||
%patch31 -p1 -b .autoconf213
|
||||
%patch32 -p1 -b .autoconf213-2
|
||||
|
||||
# Remove zlib directory (to be sure using system version)
|
||||
rm -rf modules/zlib
|
||||
popd
|
||||
%endif
|
||||
|
||||
%build
|
||||
%if 0%{?bundled_mozjs}
|
||||
pushd firefox-%{mozjs_version}/js/src
|
||||
# Prefer GCC for now
|
||||
export CC=gcc
|
||||
export CXX=g++
|
||||
|
||||
# Workaround
|
||||
# error: options `-C embed-bitcode=no` and `-C lto` are incompatible
|
||||
# error: could not compile `jsrust`.
|
||||
# https://github.com/japaric/cargo-call-stack/issues/25
|
||||
export RUSTFLAGS="-C embed-bitcode"
|
||||
|
||||
# https://github.com/ptomato/mozjs/commit/36bb7982b41e0ef9a65f7174252ab996cd6777bd
|
||||
export CARGO_PROFILE_RELEASE_LTO=true
|
||||
|
||||
export LINKFLAGS="%{?__global_ldflags}"
|
||||
export PYTHON="%{__python3}"
|
||||
|
||||
%configure \
|
||||
--without-system-icu \
|
||||
--with-system-zlib \
|
||||
--disable-tests \
|
||||
--disable-strip \
|
||||
--with-intl-api \
|
||||
--enable-readline \
|
||||
--enable-shared-js \
|
||||
--enable-optimize \
|
||||
--disable-debug \
|
||||
--enable-pie \
|
||||
--disable-jemalloc
|
||||
|
||||
%if 0%{?big_endian}
|
||||
echo "Generate big endian version of config/external/icu/data/icud67l.dat"
|
||||
pushd ../..
|
||||
icupkg -tb config/external/icu/data/icudt67l.dat config/external/icu/data/icudt67b.dat
|
||||
rm -f config/external/icu/data/icudt*l.dat
|
||||
popd
|
||||
%endif
|
||||
|
||||
%make_build
|
||||
popd
|
||||
|
||||
cat > mozjs-%{mozjs_major}.pc << EOF
|
||||
Name: SpiderMonkey %{mozjs_version}
|
||||
Description: The Mozilla library for JavaScript
|
||||
Version: %{mozjs_version}
|
||||
|
||||
Libs: -L`pwd`/firefox-%{mozjs_version}/js/src/dist/bin -lmozjs-%{mozjs_major}
|
||||
Cflags: -include `pwd`/firefox-%{mozjs_version}/js/src/dist/include/js/RequiredDefines.h -I`pwd`/firefox-%{mozjs_version}/js/src/dist/include
|
||||
EOF
|
||||
%endif
|
||||
|
||||
%if 0%{?enable_autoreconf}
|
||||
autoreconf -i
|
||||
%endif
|
||||
@ -101,6 +277,11 @@ autoreconf -i
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=962005
|
||||
export CFLAGS='-fPIC %optflags'
|
||||
export LDFLAGS='-pie -Wl,-z,now -Wl,-z,relro'
|
||||
%if 0%{?bundled_mozjs}
|
||||
export PKG_CONFIG_PATH=`pwd`
|
||||
export LD_LIBRARY_PATH=`pwd`/firefox-%{mozjs_version}/js/src/dist/bin
|
||||
export LDFLAGS="$LDFLAGS -Wl,-rpath=%{_libdir}/polkit-1"
|
||||
%endif
|
||||
%configure --enable-gtk-doc \
|
||||
--disable-static \
|
||||
--enable-introspection \
|
||||
@ -109,6 +290,11 @@ export LDFLAGS='-pie -Wl,-z,now -Wl,-z,relro'
|
||||
make V=1
|
||||
|
||||
%install
|
||||
%if 0%{?bundled_mozjs}
|
||||
mkdir -p %{buildroot}%{_libdir}/polkit-1
|
||||
cp -p firefox-%{mozjs_version}/js/src/dist/bin/libmozjs-%{mozjs_major}.so %{buildroot}%{_libdir}/polkit-1/
|
||||
%endif
|
||||
|
||||
%make_install \
|
||||
typelibsdir=%{_libdir}/girepository-1.0 \
|
||||
girdir=%{_datadir}/gir-1.0
|
||||
@ -118,6 +304,19 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
|
||||
|
||||
%find_lang polkit-1
|
||||
|
||||
%check
|
||||
%if 0%{?bundled_mozjs}
|
||||
export LD_LIBRARY_PATH=`pwd`/firefox-%{mozjs_version}/js/src/dist/bin
|
||||
|
||||
pushd firefox-%{mozjs_version}/js/src
|
||||
# Run SpiderMonkey tests
|
||||
PYTHONPATH=tests/lib %{__python3} tests/jstests.py -d -s -t 1800 --no-progress --wpt=disabled ../../js/src/dist/bin/js
|
||||
|
||||
# Run basic JIT tests
|
||||
PYTHONPATH=tests/lib %{__python3} jit-test/jit_test.py -s -t 1800 --no-progress ../../js/src/dist/bin/js basic
|
||||
popd
|
||||
%endif
|
||||
|
||||
%pre
|
||||
getent group polkitd >/dev/null || groupadd -r polkitd
|
||||
getent passwd polkitd >/dev/null || useradd -r -g polkitd -d / -s /sbin/nologin -c "User for polkitd" polkitd
|
||||
@ -176,8 +375,15 @@ exit 0
|
||||
%files libs
|
||||
%{_libdir}/lib*.so.*
|
||||
%{_libdir}/girepository-1.0/*.typelib
|
||||
%if 0%{?bundled_mozjs}
|
||||
%dir %{_libdir}/polkit-1
|
||||
%{_libdir}/polkit-1/libmozjs-%{mozjs_major}.so
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Wed Jun 30 2021 Kalev Lember <klember@redhat.com> - 0.117-6
|
||||
- Bundle mozjs (#1958111)
|
||||
|
||||
* Mon Jun 28 2021 Jan Rybar <jrybar@redhat.com> - 0.117-5
|
||||
- CVE-2021-3560 mitigation
|
||||
- Resolves: CVE-2021-3560
|
||||
|
1
sources
1
sources
@ -1,2 +1,3 @@
|
||||
SHA512 (polkit-0.117.tar.gz) = c10ea984f2386fe436e58a2866e5323afc80d24f744f0ee61d966941259aa491bd96b07d911434aa731b300c3cca25b647804b396501175ab5b3c53384e94c70
|
||||
SHA512 (polkit-0.117.tar.gz.sign) = 4f050d585317f000a8f7b2f54a4fd028e4be3ace2a5080277c160878641e851c297e4d275b3462fc43d6ef6feb1706f0c4c4dacf868655ea67528e1d237899d7
|
||||
SHA512 (firefox-78.10.0esr.source.tar.xz) = 5e2cf137dc781855542c29df6152fa74ba749801640ade3cf01487ce993786b87a4f603d25c0af9323e67c7e15c75655523428c1c1426527b8623c7ded9f5946
|
||||
|
9
spidermonkey_checks_disable.patch
Normal file
9
spidermonkey_checks_disable.patch
Normal file
@ -0,0 +1,9 @@
|
||||
--- a/config/run_spidermonkey_checks.py
|
||||
+++ b/config/run_spidermonkey_checks.py
|
||||
@@ -13,4 +13,5 @@ def main(output, lib_file, *scripts):
|
||||
retcode = subprocess.call(
|
||||
[sys.executable, script], cwd=buildconfig.topsrcdir)
|
||||
if retcode != 0:
|
||||
- raise Exception(script + " failed")
|
||||
+ #raise Exception(script + " failed")
|
||||
+ pass
|
11
spidermonkey_style_check_disable_s390x.patch
Normal file
11
spidermonkey_style_check_disable_s390x.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/config/check_spidermonkey_style.py
|
||||
+++ b/config/check_spidermonkey_style.py
|
||||
|
||||
@@ -779,6 +779,7 @@ def tarjan(V, E):
|
||||
|
||||
|
||||
def main():
|
||||
+ sys.exit(0)
|
||||
if sys.argv[1:] == ["--fixup"]:
|
||||
# Sort #include directives in-place. Fixup mode doesn't solve
|
||||
# all possible silliness that the script checks for; it's just a
|
26
tests-increase-timeout.patch
Normal file
26
tests-increase-timeout.patch
Normal file
@ -0,0 +1,26 @@
|
||||
From 9be85b155c6df0454c5faef9e850f572c99e3615 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
|
||||
Date: Wed, 15 Jul 2020 08:32:44 +0200
|
||||
Subject: [PATCH] Increase the test timeout for slower buildds
|
||||
|
||||
Ported forward from Debian: https://bugs.debian.org/878284
|
||||
---
|
||||
js/src/Makefile.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/js/src/Makefile.in b/js/src/Makefile.in
|
||||
index b86aeed..d68655a 100644
|
||||
--- a/js/src/Makefile.in
|
||||
+++ b/js/src/Makefile.in
|
||||
@@ -53,7 +53,7 @@ check:: check-js-msg
|
||||
|
||||
check-jstests:
|
||||
$(wildcard $(RUN_TEST_PROGRAM)) $(PYTHON3) -u $(srcdir)/tests/jstests.py \
|
||||
- --no-progress --format=automation --timeout 300 \
|
||||
+ --no-progress --format=automation --timeout 600 \
|
||||
$(JSTESTS_EXTRA_ARGS) \
|
||||
$(DIST)/bin/$(JS_SHELL_NAME)$(BIN_SUFFIX)
|
||||
|
||||
--
|
||||
2.26.2
|
||||
|
Loading…
Reference in New Issue
Block a user