update to upstream version 4.0.7
This commit is contained in:
parent
e07a7d7e4b
commit
6877bf391b
62
001-remove-unused-frontend-crypto-and-patch-md4.patch
Normal file
62
001-remove-unused-frontend-crypto-and-patch-md4.patch
Normal file
@ -0,0 +1,62 @@
|
||||
diff --git a/package.json b/package.json
|
||||
index 9469638..d81424f 100644
|
||||
--- a/package.json
|
||||
+++ b/package.json
|
||||
@@ -61,5 +61,9 @@
|
||||
"d3-scale": "^3.2.1",
|
||||
"d3-selection": "^1.4.1",
|
||||
"d3-transition": "^1.3.2"
|
||||
+ },
|
||||
+ "resolutions": {
|
||||
+ "crypto-browserify": "https://registry.yarnpkg.com/@favware/skip-dependency/-/skip-dependency-1.1.1.tgz",
|
||||
+ "http-signature": "https://registry.yarnpkg.com/@favware/skip-dependency/-/skip-dependency-1.1.1.tgz"
|
||||
}
|
||||
}
|
||||
diff --git a/webpack.config.js b/webpack.config.js
|
||||
index 00e171a..8997a9f 100644
|
||||
--- a/webpack.config.js
|
||||
+++ b/webpack.config.js
|
||||
@@ -8,6 +8,13 @@ const ScriptExtHtmlWebpackPlugin = require('script-ext-html-webpack-plugin')
|
||||
const TerserPlugin = require('terser-webpack-plugin')
|
||||
const packageFile = require('./package.json')
|
||||
|
||||
+// monkey patch crypto module to not use deprecated md4 hash algorithm,
|
||||
+// which is removed in OpenSSL 3.0
|
||||
+// https://github.com/webpack/webpack/issues/13572#issuecomment-923736472
|
||||
+const crypto = require("crypto");
|
||||
+const crypto_orig_createHash = crypto.createHash;
|
||||
+crypto.createHash = algorithm => crypto_orig_createHash(algorithm == "md4" ? "sha256" : algorithm);
|
||||
+
|
||||
module.exports = [{
|
||||
context: path.join(__dirname, 'src'),
|
||||
entry: {
|
||||
@@ -21,6 +28,9 @@ module.exports = [{
|
||||
libraryExport: 'default',
|
||||
libraryTarget: 'umd'
|
||||
},
|
||||
+ node: {
|
||||
+ crypto: false
|
||||
+ },
|
||||
plugins: [
|
||||
new CopyWebpackPlugin([{
|
||||
from: 'flamegraph.css',
|
||||
@@ -58,6 +68,9 @@ module.exports = [{
|
||||
library: ['flamegraph', '[name]'],
|
||||
libraryTarget: 'umd'
|
||||
},
|
||||
+ node: {
|
||||
+ crypto: false
|
||||
+ },
|
||||
module: {
|
||||
rules: [{
|
||||
test: /\.js$/,
|
||||
@@ -79,6 +92,9 @@ module.exports = [{
|
||||
path: path.resolve(__dirname, 'dist', 'templates'),
|
||||
filename: 'bundle.js'
|
||||
},
|
||||
+ node: {
|
||||
+ crypto: false
|
||||
+ },
|
||||
plugins: [
|
||||
new CleanWebpackPlugin({
|
||||
protectWebpackAssets: false,
|
@ -1,80 +0,0 @@
|
||||
diff --git a/package.json b/package.json
|
||||
index 2284a2f..26bb09b 100644
|
||||
--- a/package.json
|
||||
+++ b/package.json
|
||||
@@ -58,5 +58,8 @@
|
||||
"d3-selection": "^1.4.1",
|
||||
"d3-transition": "^1.3.2",
|
||||
"d3-dispatch": "^1.0.6"
|
||||
+ },
|
||||
+ "resolutions": {
|
||||
+ "crypto-browserify": "https://registry.yarnpkg.com/@favware/skip-dependency/-/skip-dependency-1.1.1.tgz"
|
||||
}
|
||||
}
|
||||
diff --git a/webpack.config.js b/webpack.config.js
|
||||
index 7153477..e663cf1 100644
|
||||
--- a/webpack.config.js
|
||||
+++ b/webpack.config.js
|
||||
@@ -19,7 +19,11 @@ module.exports = [{
|
||||
filename: '[name].js',
|
||||
library: 'flamegraph',
|
||||
libraryExport: 'default',
|
||||
- libraryTarget: 'umd'
|
||||
+ libraryTarget: 'umd',
|
||||
+ hashFunction: 'sha256',
|
||||
+ },
|
||||
+ node: {
|
||||
+ crypto: false
|
||||
},
|
||||
plugins: [
|
||||
new CopyWebpackPlugin([{
|
||||
@@ -54,7 +58,11 @@ module.exports = [{
|
||||
path: path.resolve(__dirname, 'dist'),
|
||||
filename: '[name].js',
|
||||
library: ['flamegraph', 'colorMapper'],
|
||||
- libraryTarget: 'umd'
|
||||
+ libraryTarget: 'umd',
|
||||
+ hashFunction: 'sha256',
|
||||
+ },
|
||||
+ node: {
|
||||
+ crypto: false
|
||||
},
|
||||
module: {
|
||||
rules: [{
|
||||
@@ -80,7 +88,11 @@ module.exports = [{
|
||||
path: path.resolve(__dirname, 'dist'),
|
||||
filename: '[name].js',
|
||||
library: ['flamegraph', 'tooltip'],
|
||||
- libraryTarget: 'umd'
|
||||
+ libraryTarget: 'umd',
|
||||
+ hashFunction: 'sha256',
|
||||
+ },
|
||||
+ node: {
|
||||
+ crypto: false
|
||||
},
|
||||
module: {
|
||||
rules: [{
|
||||
@@ -101,7 +113,11 @@ module.exports = [{
|
||||
entry: './template.js',
|
||||
output: {
|
||||
path: path.resolve(__dirname, 'dist', 'templates'),
|
||||
- filename: 'bundle.js'
|
||||
+ filename: 'bundle.js',
|
||||
+ hashFunction: 'sha256',
|
||||
+ },
|
||||
+ node: {
|
||||
+ crypto: false
|
||||
},
|
||||
plugins: [
|
||||
new CleanWebpackPlugin({
|
||||
@@ -131,5 +147,10 @@ module.exports = [{
|
||||
use: ['style-loader', 'css-loader']
|
||||
}
|
||||
]
|
||||
+ },
|
||||
+ optimization: {
|
||||
+ minimizer: [
|
||||
+ new TerserPlugin()
|
||||
+ ]
|
||||
}
|
||||
}]
|
@ -1,13 +0,0 @@
|
||||
diff --git a/node_modules/webpack/lib/optimize/ConcatenatedModule.js b/node_modules/webpack/lib/optimize/ConcatenatedModule.js
|
||||
index 03711c4..df4d216 100644
|
||||
--- a/node_modules/webpack/lib/optimize/ConcatenatedModule.js
|
||||
+++ b/node_modules/webpack/lib/optimize/ConcatenatedModule.js
|
||||
@@ -560,7 +560,7 @@ class ConcatenatedModule extends Module {
|
||||
orderedConcatenationListIdentifiers += " ";
|
||||
}
|
||||
}
|
||||
- const hash = createHash("md4");
|
||||
+ const hash = createHash("sha256");
|
||||
hash.update(orderedConcatenationListIdentifiers);
|
||||
return this.rootModule.identifier() + " " + hash.digest("hex");
|
||||
}
|
29
Makefile
29
Makefile
@ -1,19 +1,16 @@
|
||||
ifndef VER
|
||||
$(error VER is undefined)
|
||||
endif
|
||||
ifndef REL
|
||||
$(error REL is undefined)
|
||||
endif
|
||||
VERSION := $(shell rpm --specfile *.spec --qf '%{VERSION}\n' | head -1)
|
||||
RELEASE := $(shell rpm --specfile *.spec --qf '%{RELEASE}\n' | head -1 | cut -d. -f1)
|
||||
|
||||
NAME := d3-flame-graph
|
||||
RPM_NAME := js-$(NAME)
|
||||
SOURCE_DIR := $(NAME)-$(VER)
|
||||
SOURCE_TAR := $(NAME)-$(VER).tar.gz
|
||||
VENDOR_TAR := $(RPM_NAME)-vendor-$(VER)-$(REL).tar.xz
|
||||
SOURCE_DIR := $(NAME)-$(VERSION)
|
||||
SOURCE_TAR := $(NAME)-$(VERSION).tar.gz
|
||||
VENDOR_TAR := $(RPM_NAME)-vendor-$(VERSION)-$(RELEASE).tar.xz
|
||||
|
||||
ALL_PATCHES := $(sort $(wildcard *.patch))
|
||||
VENDOR_PATCHES := $(sort $(wildcard *.vendor.patch))
|
||||
SOURCE_PATCHES := $(filter-out $(VENDOR_PATCHES),$(ALL_PATCHES))
|
||||
ALL_PATCHES := $(sort $(wildcard *.patch))
|
||||
VENDOR_PATCHES := $(sort $(wildcard *.vendor.patch))
|
||||
COND_PATCHES := $(sort $(wildcard *.cond.patch))
|
||||
REGULAR_PATCHES := $(filter-out $(VENDOR_PATCHES) $(COND_PATCHES),$(ALL_PATCHES))
|
||||
|
||||
all: $(SOURCE_TAR) $(VENDOR_TAR)
|
||||
|
||||
@ -25,17 +22,17 @@ $(VENDOR_TAR): $(SOURCE_TAR)
|
||||
tar xf $(SOURCE_TAR)
|
||||
|
||||
# Patches to apply before vendoring
|
||||
for patch in $(SOURCE_PATCHES); do echo $$patch; patch -d $(SOURCE_DIR) -p1 --fuzz=0 < $$patch; done
|
||||
for patch in $(REGULAR_PATCHES); do echo applying $$patch ...; patch -d $(SOURCE_DIR) -p1 --fuzz=0 < $$patch; done
|
||||
|
||||
# Node.js
|
||||
cd $(SOURCE_DIR) && yarn import && yarn install --pure-lockfile
|
||||
./list_bundled_nodejs_packages.py $(SOURCE_DIR)/ >> $@.manifest
|
||||
./list_bundled_nodejs_packages.py $(SOURCE_DIR) >> $@.manifest
|
||||
|
||||
# Patches to apply after vendoring
|
||||
for patch in $(VENDOR_PATCHES); do echo $$patch; patch -d $(SOURCE_DIR) -p1 --fuzz=0 < $$patch; done
|
||||
for patch in $(VENDOR_PATCHES); do echo applying $$patch ...; patch -d $(SOURCE_DIR) -p1 --fuzz=0 < $$patch; done
|
||||
|
||||
# Create tarball
|
||||
XZ_OPT=-9 tar cJf $@ \
|
||||
XZ_OPT=-9 time -p tar cJf $@ \
|
||||
$(SOURCE_DIR)/node_modules
|
||||
|
||||
clean:
|
||||
|
13
README.md
13
README.md
@ -1,17 +1,15 @@
|
||||
# js-d3-flame-graph
|
||||
|
||||
The js-d3-flame-graph package
|
||||
|
||||
## Upgrade instructions
|
||||
(replace X.Y.Z and R with the new version/release)
|
||||
|
||||
* update `Version`, `Release` and `%changelog` in the specfile
|
||||
* create bundles and manifest: `VER=X.Y.Z REL=R make clean all`
|
||||
* update `Version`, `Release`, `%changelog` and tarball NVRs in the specfile
|
||||
* create bundles and manifest: `make clean all`
|
||||
* update specfile with contents of the `.manifest` file
|
||||
* run local build: `rpkg local`
|
||||
* run rpm linter: `rpkg lint -r js-d3-flame-graph.rpmlintrc`
|
||||
* run a scratch build: `fedpkg scratch-build --srpm`
|
||||
* upload new source tarballs: `fedpkg new-sources *.tar.gz *.tar.xz`
|
||||
* commit new `sources` file
|
||||
|
||||
## Backporting
|
||||
* create the patch
|
||||
@ -21,3 +19,8 @@ The js-d3-flame-graph package
|
||||
* update the specfile with new tarball path and contents of the `.manifest` file
|
||||
|
||||
Note: the Makefile automatically applies patches before creating the tarballs
|
||||
|
||||
## Patches
|
||||
* `*.patch`: regular patches applied to the source, applied in the Makefile before vendoring and in the specfile (e.g. updating dependencies)
|
||||
* `*.vendor.patch`: patches applied to the vendor tarball (e.g. patching vendored sources before generating a webpack)
|
||||
* `*.cond.patch`: conditionally applied patches in the specfile
|
||||
|
@ -2,8 +2,8 @@
|
||||
%global github https://github.com/spiermar/d3-flame-graph
|
||||
|
||||
Name: js-d3-flame-graph
|
||||
Version: 3.0.2
|
||||
Release: 5%{?dist}
|
||||
Version: 4.0.7
|
||||
Release: 1%{?dist}
|
||||
Summary: A D3.js plugin that produces flame graphs
|
||||
|
||||
BuildArch: noarch
|
||||
@ -12,42 +12,45 @@ License: ASL 2.0
|
||||
URL: %{github}
|
||||
|
||||
Source0: %{github}/archive/%{version}/%{pkgname}-%{version}.tar.gz
|
||||
Source1: js-d3-flame-graph-vendor-%{version}-6.tar.xz
|
||||
# Note: In case there were no changes to this tarball, the NVR of this tarball
|
||||
# lags behind the NVR of this package.
|
||||
Source1: js-d3-flame-graph-vendor-%{version}-1.tar.xz
|
||||
Source2: Makefile
|
||||
Source3: list_bundled_nodejs_packages.py
|
||||
|
||||
Patch1: 001-remove-unused-frontend-crypto-and-update-hash-fn.patch
|
||||
Patch2: 002-webpack-update-hash-fn.vendor.patch
|
||||
Patch1: 001-remove-unused-frontend-crypto-and-patch-md4.patch
|
||||
|
||||
BuildRequires: web-assets-devel
|
||||
BuildRequires: nodejs
|
||||
Requires: web-assets-filesystem
|
||||
|
||||
# Bundled npm packages
|
||||
Provides: bundled(npm(babel-preset-env)) = 1.7.0
|
||||
Provides: bundled(npm(clean-webpack-plugin)) = 3.0.0
|
||||
Provides: bundled(npm(copy-webpack-plugin)) = 5.1.1
|
||||
Provides: bundled(npm(css-loader)) = 3.4.2
|
||||
Provides: bundled(npm(css-loader)) = 3.5.2
|
||||
Provides: bundled(npm(d3-array)) = 2.4.0
|
||||
Provides: bundled(npm(d3-dispatch)) = 1.0.6
|
||||
Provides: bundled(npm(d3-ease)) = 1.0.6
|
||||
Provides: bundled(npm(d3-format)) = 1.4.3
|
||||
Provides: bundled(npm(d3-format)) = 1.4.4
|
||||
Provides: bundled(npm(d3-hierarchy)) = 1.1.9
|
||||
Provides: bundled(npm(d3-scale)) = 3.2.1
|
||||
Provides: bundled(npm(d3-selection)) = 1.4.1
|
||||
Provides: bundled(npm(d3-transition)) = 1.3.2
|
||||
Provides: bundled(npm(eslint)) = 6.8.0
|
||||
Provides: bundled(npm(eslint-config-standard)) = 14.1.0
|
||||
Provides: bundled(npm(eslint-loader)) = 3.0.3
|
||||
Provides: bundled(npm(eslint-plugin-import)) = 2.20.1
|
||||
Provides: bundled(npm(eslint-plugin-node)) = 11.0.0
|
||||
Provides: bundled(npm(eslint-config-standard)) = 14.1.1
|
||||
Provides: bundled(npm(eslint-loader)) = 4.0.0
|
||||
Provides: bundled(npm(eslint-plugin-import)) = 2.20.2
|
||||
Provides: bundled(npm(eslint-plugin-node)) = 11.1.0
|
||||
Provides: bundled(npm(eslint-plugin-promise)) = 4.2.1
|
||||
Provides: bundled(npm(eslint-plugin-standard)) = 4.0.1
|
||||
Provides: bundled(npm(html-webpack-plugin)) = 3.2.0
|
||||
Provides: bundled(npm(html-webpack-plugin)) = 4.2.0
|
||||
Provides: bundled(npm(jest)) = 25.4.0
|
||||
Provides: bundled(npm(prettier)) = 2.0.4
|
||||
Provides: bundled(npm(script-ext-html-webpack-plugin)) = 2.1.4
|
||||
Provides: bundled(npm(style-loader)) = 1.1.3
|
||||
Provides: bundled(npm(tape)) = 4.13.2
|
||||
Provides: bundled(npm(style-loader)) = 1.1.4
|
||||
Provides: bundled(npm(terser-webpack-plugin)) = 1.4.3
|
||||
Provides: bundled(npm(webpack)) = 4.42.0
|
||||
Provides: bundled(npm(webpack)) = 4.42.1
|
||||
Provides: bundled(npm(webpack-cli)) = 3.3.11
|
||||
Provides: bundled(npm(webpack-dev-server)) = 3.10.3
|
||||
|
||||
@ -82,6 +85,10 @@ install -d -m 755 %{buildroot}/%{_jsdir}/%{pkgname}
|
||||
cp -a dist/* %{buildroot}/%{_jsdir}/%{pkgname}
|
||||
|
||||
|
||||
%check
|
||||
./node_modules/.bin/jest
|
||||
|
||||
|
||||
%files
|
||||
%{_jsdir}/%{pkgname}
|
||||
%{_datadir}/%{pkgname}
|
||||
@ -95,6 +102,9 @@ cp -a dist/* %{buildroot}/%{_jsdir}/%{pkgname}
|
||||
|
||||
|
||||
%changelog
|
||||
* Fri Oct 01 2021 Andreas Gerstmayr <agerstmayr@redhat.com> - 4.0.7-1
|
||||
- update to 4.0.7 tagged upstream community sources, see CHANGELOG
|
||||
|
||||
* Wed Sep 29 2021 Andreas Gerstmayr <agerstmayr@redhat.com> - 3.0.2-5
|
||||
- change webpack hash function to sha256
|
||||
- remove unused cryptographic implementations
|
||||
|
4
sources
4
sources
@ -1,2 +1,2 @@
|
||||
SHA512 (d3-flame-graph-3.0.2.tar.gz) = 992c21ed8e88428cfa2475c6b4cffbc14fbdb163137cdab79a7f93ec9df8acacb890037a763d2e0d81e6e3755c8eb2d502cfaeb9027a077e80c5691c40516e47
|
||||
SHA512 (js-d3-flame-graph-vendor-3.0.2-6.tar.xz) = 8afa777c80d0b8e8fcc8b10e440fbefae9b35f3ee184efa1e8782c88042bca8d1d5b719f97a580b9360b7506786a78e9f9ae0710810c8fa9b1ee5d851362b0d4
|
||||
SHA512 (d3-flame-graph-4.0.7.tar.gz) = 1905fbeac9cef2808330af86495ef2a4ec97a332ed24bb869ed7fe71e0cdf44da179c66464dff125ced2be0768a7fe6f73971dbc4d01f7e39725dd3527ebd05a
|
||||
SHA512 (js-d3-flame-graph-vendor-4.0.7-1.tar.xz) = 1648ff25b800932bb5cdfdfdd8505eb18d0e097c7ea7919ad2a98fdd72ec0ee65ff1bdd67c331b14a8eeb0f3ea533c4b0c0779205ba386c1ed4d8c054328fc53
|
||||
|
Loading…
Reference in New Issue
Block a user