Compare commits
No commits in common. "c9-beta-stream-22" and "c8-stream-10" have entirely different histories.
c9-beta-st
...
c8-stream-
5
.gitignore
vendored
5
.gitignore
vendored
@ -1,3 +1,2 @@
|
|||||||
SOURCES/icu4c-75_1-data-bin-b.zip
|
SOURCES/icu4c-64_2-src.tgz
|
||||||
SOURCES/icu4c-75_1-data-bin-l.zip
|
SOURCES/node-v10.24.0-stripped.tar.gz
|
||||||
SOURCES/node-v22.4.1-stripped.tar.gz
|
|
||||||
|
@ -1,3 +1,2 @@
|
|||||||
6c7291d88272d84fdadf1395166acd40dd12f623 SOURCES/icu4c-75_1-data-bin-b.zip
|
3127155ecf2b75ab4835f501b7478e39c07bb852 SOURCES/icu4c-64_2-src.tgz
|
||||||
ef164aa671780d004e304b4c789b05450e912304 SOURCES/icu4c-75_1-data-bin-l.zip
|
be0e0b385a852c376f452b3d94727492e05407e4 SOURCES/node-v10.24.0-stripped.tar.gz
|
||||||
cd053741b2f50dc3c9c54f5014a0480978f9cb16 SOURCES/node-v22.4.1-stripped.tar.gz
|
|
||||||
|
31
SOURCES/0001-Disable-running-gyp-on-shared-deps.patch
Normal file
31
SOURCES/0001-Disable-running-gyp-on-shared-deps.patch
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
From 2cd4c12776af3da588231d3eb498e6451c30eae5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Zuzana Svetlikova <zsvetlik@redhat.com>
|
||||||
|
Date: Thu, 27 Apr 2017 14:25:42 +0200
|
||||||
|
Subject: [PATCH] Disable running gyp on shared deps
|
||||||
|
|
||||||
|
Signed-off-by: rpm-build <rpm-build>
|
||||||
|
---
|
||||||
|
Makefile | 7 +++----
|
||||||
|
1 file changed, 3 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Makefile b/Makefile
|
||||||
|
index 73feb4c..45bbceb 100644
|
||||||
|
--- a/Makefile
|
||||||
|
+++ b/Makefile
|
||||||
|
@@ -123,10 +123,9 @@ with-code-cache:
|
||||||
|
test-code-cache: with-code-cache
|
||||||
|
$(PYTHON) tools/test.py $(PARALLEL_ARGS) --mode=$(BUILDTYPE_LOWER) code-cache
|
||||||
|
|
||||||
|
-out/Makefile: common.gypi deps/uv/uv.gyp deps/http_parser/http_parser.gyp \
|
||||||
|
- deps/zlib/zlib.gyp deps/v8/gypfiles/toolchain.gypi \
|
||||||
|
- deps/v8/gypfiles/features.gypi deps/v8/gypfiles/v8.gyp node.gyp \
|
||||||
|
- config.gypi
|
||||||
|
+out/Makefile: common.gypi deps/http_parser/http_parser.gyp \
|
||||||
|
+ deps/v8/gypfiles/toolchain.gypi deps/v8/gypfiles/features.gypi \
|
||||||
|
+ deps/v8/gypfiles/v8.gyp node.gyp config.gypi
|
||||||
|
$(PYTHON) tools/gyp_node.py -f make
|
||||||
|
|
||||||
|
config.gypi: configure configure.py
|
||||||
|
--
|
||||||
|
2.26.2
|
||||||
|
|
@ -1,45 +0,0 @@
|
|||||||
From 0aaaf4104a1f23f3de105ffdaffc282c4477bb0e Mon Sep 17 00:00:00 2001
|
|
||||||
From: Stephen Gallagher <sgallagh@redhat.com>
|
|
||||||
Date: Fri, 17 Apr 2020 12:59:44 +0200
|
|
||||||
Subject: [PATCH] Remove unused OpenSSL config
|
|
||||||
|
|
||||||
The build process will try to create these config files, even when
|
|
||||||
using the system OpenSSL and will thus fail since we strip this path
|
|
||||||
from the tarball.
|
|
||||||
|
|
||||||
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
|
|
||||||
---
|
|
||||||
node.gyp | 17 -----------------
|
|
||||||
1 file changed, 17 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/node.gyp b/node.gyp
|
|
||||||
index dc4d77330a811d3448d84318c065a3447b159906..e1824d462ec876a66146092aab4dba3d085f4658 100644
|
|
||||||
--- a/node.gyp
|
|
||||||
+++ b/node.gyp
|
|
||||||
@@ -808,23 +808,6 @@
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
- }, {
|
|
||||||
- 'variables': {
|
|
||||||
- 'opensslconfig_internal': '<(obj_dir)/deps/openssl/openssl.cnf',
|
|
||||||
- 'opensslconfig': './deps/openssl/nodejs-openssl.cnf',
|
|
||||||
- },
|
|
||||||
- 'actions': [
|
|
||||||
- {
|
|
||||||
- 'action_name': 'reset_openssl_cnf',
|
|
||||||
- 'inputs': [ '<(opensslconfig)', ],
|
|
||||||
- 'outputs': [ '<(opensslconfig_internal)', ],
|
|
||||||
- 'action': [
|
|
||||||
- '<(python)', 'tools/copyfile.py',
|
|
||||||
- '<(opensslconfig)',
|
|
||||||
- '<(opensslconfig_internal)',
|
|
||||||
- ],
|
|
||||||
- },
|
|
||||||
- ],
|
|
||||||
}],
|
|
||||||
],
|
|
||||||
}, # node_core_target_name
|
|
||||||
--
|
|
||||||
2.44.0
|
|
||||||
|
|
84
SOURCES/0002-Suppress-NPM-message-to-run-global-update.patch
Normal file
84
SOURCES/0002-Suppress-NPM-message-to-run-global-update.patch
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
From e7afb2d6e2a6c8f9c9c32e12a10c3c5c4902a251 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stephen Gallagher <sgallagh@redhat.com>
|
||||||
|
Date: Tue, 1 May 2018 08:05:30 -0400
|
||||||
|
Subject: [PATCH] Suppress NPM message to run global update
|
||||||
|
|
||||||
|
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
|
||||||
|
Signed-off-by: rpm-build <rpm-build>
|
||||||
|
---
|
||||||
|
deps/npm/bin/npm-cli.js | 54 -----------------------------------------
|
||||||
|
1 file changed, 54 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/deps/npm/bin/npm-cli.js b/deps/npm/bin/npm-cli.js
|
||||||
|
index c0d9be0..0f0892e 100755
|
||||||
|
--- a/deps/npm/bin/npm-cli.js
|
||||||
|
+++ b/deps/npm/bin/npm-cli.js
|
||||||
|
@@ -71,65 +71,11 @@
|
||||||
|
npm.command = 'help'
|
||||||
|
}
|
||||||
|
|
||||||
|
- var isGlobalNpmUpdate = conf.global && ['install', 'update'].includes(npm.command) && npm.argv.includes('npm')
|
||||||
|
-
|
||||||
|
// now actually fire up npm and run the command.
|
||||||
|
// this is how to use npm programmatically:
|
||||||
|
conf._exit = true
|
||||||
|
npm.load(conf, function (er) {
|
||||||
|
if (er) return errorHandler(er)
|
||||||
|
- if (
|
||||||
|
- !isGlobalNpmUpdate &&
|
||||||
|
- npm.config.get('update-notifier') &&
|
||||||
|
- !unsupported.checkVersion(process.version).unsupported
|
||||||
|
- ) {
|
||||||
|
- const pkg = require('../package.json')
|
||||||
|
- let notifier = require('update-notifier')({pkg})
|
||||||
|
- const isCI = require('ci-info').isCI
|
||||||
|
- if (
|
||||||
|
- notifier.update &&
|
||||||
|
- notifier.update.latest !== pkg.version &&
|
||||||
|
- !isCI
|
||||||
|
- ) {
|
||||||
|
- const color = require('ansicolors')
|
||||||
|
- const useColor = npm.config.get('color')
|
||||||
|
- const useUnicode = npm.config.get('unicode')
|
||||||
|
- const old = notifier.update.current
|
||||||
|
- const latest = notifier.update.latest
|
||||||
|
- let type = notifier.update.type
|
||||||
|
- if (useColor) {
|
||||||
|
- switch (type) {
|
||||||
|
- case 'major':
|
||||||
|
- type = color.red(type)
|
||||||
|
- break
|
||||||
|
- case 'minor':
|
||||||
|
- type = color.yellow(type)
|
||||||
|
- break
|
||||||
|
- case 'patch':
|
||||||
|
- type = color.green(type)
|
||||||
|
- break
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- const changelog = `https://github.com/npm/cli/releases/tag/v${latest}`
|
||||||
|
- notifier.notify({
|
||||||
|
- message: `New ${type} version of ${pkg.name} available! ${
|
||||||
|
- useColor ? color.red(old) : old
|
||||||
|
- } ${useUnicode ? '→' : '->'} ${
|
||||||
|
- useColor ? color.green(latest) : latest
|
||||||
|
- }\n` +
|
||||||
|
- `${
|
||||||
|
- useColor ? color.yellow('Changelog:') : 'Changelog:'
|
||||||
|
- } ${
|
||||||
|
- useColor ? color.cyan(changelog) : changelog
|
||||||
|
- }\n` +
|
||||||
|
- `Run ${
|
||||||
|
- useColor
|
||||||
|
- ? color.green(`npm install -g ${pkg.name}`)
|
||||||
|
- : `npm i -g ${pkg.name}`
|
||||||
|
- } to update!`
|
||||||
|
- })
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
npm.commands[npm.command](npm.argv, function (err) {
|
||||||
|
// https://genius.com/Lin-manuel-miranda-your-obedient-servant-lyrics
|
||||||
|
if (
|
||||||
|
--
|
||||||
|
2.26.2
|
||||||
|
|
@ -0,0 +1,122 @@
|
|||||||
|
From 0028cc74dac4dd24b8599ade85cb49fdafa9f559 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stephen Gallagher <sgallagh@redhat.com>
|
||||||
|
Date: Fri, 6 Dec 2019 16:40:25 -0500
|
||||||
|
Subject: [PATCH] build: auto-load ICU data from --with-icu-default-data-dir
|
||||||
|
|
||||||
|
When compiled with `--with-intl=small` and
|
||||||
|
`--with-icu-default-data-dir=PATH`, Node.js will use PATH as a
|
||||||
|
fallback location for the ICU data.
|
||||||
|
|
||||||
|
We will first perform an access check using fopen(PATH, 'r') to
|
||||||
|
ensure that the file is readable. If it is, we'll set the
|
||||||
|
icu_data_directory and proceed. There's a slight overhead for the
|
||||||
|
fopen() check, but it should be barely measurable.
|
||||||
|
|
||||||
|
This will be useful for Linux distribution packagers who want to
|
||||||
|
be able to ship a minimal node binary in a container image but
|
||||||
|
also be able to add on the full i18n support where needed. With
|
||||||
|
this patch, it becomes possible to ship the interpreter as
|
||||||
|
/usr/bin/node in one package for the distribution and to ship the
|
||||||
|
data files in another package (without a strict dependency
|
||||||
|
between the two). This means that users of the distribution will
|
||||||
|
not need to explicitly direct Node.js to locate the ICU data. It
|
||||||
|
also means that in environments where full internationalization is
|
||||||
|
not required, they do not need to carry the extra content (with
|
||||||
|
the associated storage costs).
|
||||||
|
|
||||||
|
Refs: https://github.com/nodejs/node/issues/3460
|
||||||
|
|
||||||
|
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
|
||||||
|
Signed-off-by: rpm-build <rpm-build>
|
||||||
|
---
|
||||||
|
configure.py | 9 +++++++++
|
||||||
|
node.gypi | 7 +++++++
|
||||||
|
src/node.cc | 20 ++++++++++++++++++++
|
||||||
|
3 files changed, 36 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/configure.py b/configure.py
|
||||||
|
index 89f7bf5..d611a88 100755
|
||||||
|
--- a/configure.py
|
||||||
|
+++ b/configure.py
|
||||||
|
@@ -433,6 +433,14 @@ intl_optgroup.add_option('--with-icu-source',
|
||||||
|
'the icu4c source archive. '
|
||||||
|
'v%d.x or later recommended.' % icu_versions['minimum_icu'])
|
||||||
|
|
||||||
|
+intl_optgroup.add_option('--with-icu-default-data-dir',
|
||||||
|
+ action='store',
|
||||||
|
+ dest='with_icu_default_data_dir',
|
||||||
|
+ help='Path to the icuXXdt{lb}.dat file. If unspecified, ICU data will '
|
||||||
|
+ 'only be read if the NODE_ICU_DATA environment variable or the '
|
||||||
|
+ '--icu-data-dir runtime argument is used. This option has effect '
|
||||||
|
+ 'only when Node.js is built with --with-intl=small-icu.')
|
||||||
|
+
|
||||||
|
parser.add_option('--with-ltcg',
|
||||||
|
action='store_true',
|
||||||
|
dest='with_ltcg',
|
||||||
|
@@ -1359,6 +1367,7 @@ def configure_intl(o):
|
||||||
|
locs.add('root') # must have root
|
||||||
|
o['variables']['icu_locales'] = string.join(locs,',')
|
||||||
|
# We will check a bit later if we can use the canned deps/icu-small
|
||||||
|
+ o['variables']['icu_default_data'] = options.with_icu_default_data_dir or ''
|
||||||
|
elif with_intl == 'full-icu':
|
||||||
|
# full ICU
|
||||||
|
o['variables']['v8_enable_i18n_support'] = 1
|
||||||
|
diff --git a/node.gypi b/node.gypi
|
||||||
|
index 466a174..65b97d6 100644
|
||||||
|
--- a/node.gypi
|
||||||
|
+++ b/node.gypi
|
||||||
|
@@ -113,6 +113,13 @@
|
||||||
|
'conditions': [
|
||||||
|
[ 'icu_small=="true"', {
|
||||||
|
'defines': [ 'NODE_HAVE_SMALL_ICU=1' ],
|
||||||
|
+ 'conditions': [
|
||||||
|
+ [ 'icu_default_data!=""', {
|
||||||
|
+ 'defines': [
|
||||||
|
+ 'NODE_ICU_DEFAULT_DATA_DIR="<(icu_default_data)"',
|
||||||
|
+ ],
|
||||||
|
+ }],
|
||||||
|
+ ],
|
||||||
|
}]],
|
||||||
|
}],
|
||||||
|
[ 'node_use_bundled_v8=="true" and \
|
||||||
|
diff --git a/src/node.cc b/src/node.cc
|
||||||
|
index 7c01187..c9840e3 100644
|
||||||
|
--- a/src/node.cc
|
||||||
|
+++ b/src/node.cc
|
||||||
|
@@ -92,6 +92,7 @@
|
||||||
|
|
||||||
|
#if defined(NODE_HAVE_I18N_SUPPORT)
|
||||||
|
#include <unicode/uvernum.h>
|
||||||
|
+#include <unicode/utypes.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(LEAK_SANITIZER)
|
||||||
|
@@ -2643,6 +2644,25 @@ void Init(std::vector<std::string>* argv,
|
||||||
|
// If the parameter isn't given, use the env variable.
|
||||||
|
if (per_process_opts->icu_data_dir.empty())
|
||||||
|
SafeGetenv("NODE_ICU_DATA", &per_process_opts->icu_data_dir);
|
||||||
|
+
|
||||||
|
+#ifdef NODE_ICU_DEFAULT_DATA_DIR
|
||||||
|
+ // If neither the CLI option nor the environment variable was specified,
|
||||||
|
+ // fall back to the configured default
|
||||||
|
+ if (per_process_opts->icu_data_dir.empty()) {
|
||||||
|
+ // Check whether the NODE_ICU_DEFAULT_DATA_DIR contains the right data
|
||||||
|
+ // file and can be read.
|
||||||
|
+ static const char full_path[] =
|
||||||
|
+ NODE_ICU_DEFAULT_DATA_DIR "/" U_ICUDATA_NAME ".dat";
|
||||||
|
+
|
||||||
|
+ FILE* f = fopen(full_path, "rb");
|
||||||
|
+
|
||||||
|
+ if (f != nullptr) {
|
||||||
|
+ fclose(f);
|
||||||
|
+ per_process_opts->icu_data_dir = NODE_ICU_DEFAULT_DATA_DIR;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+#endif // NODE_ICU_DEFAULT_DATA_DIR
|
||||||
|
+
|
||||||
|
// Initialize ICU.
|
||||||
|
// If icu_data_dir is empty here, it will load the 'minimal' data.
|
||||||
|
if (!i18n::InitializeICUDirectory(per_process_opts->icu_data_dir)) {
|
||||||
|
--
|
||||||
|
2.26.2
|
||||||
|
|
@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/deps/npm/node_modules/y18n/index.js b/deps/npm/node_modules/y18n/index.js
|
||||||
|
index d720681628..727362aac0 100644
|
||||||
|
--- a/deps/npm/node_modules/y18n/index.js
|
||||||
|
+++ b/deps/npm/node_modules/y18n/index.js
|
||||||
|
@@ -11,7 +11,7 @@ function Y18N (opts) {
|
||||||
|
this.fallbackToLanguage = typeof opts.fallbackToLanguage === 'boolean' ? opts.fallbackToLanguage : true
|
||||||
|
|
||||||
|
// internal stuff.
|
||||||
|
- this.cache = {}
|
||||||
|
+ this.cache = Object.create(null)
|
||||||
|
this.writeQueue = []
|
||||||
|
}
|
||||||
|
|
@ -1,347 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# Uses Argbash to generate command argument parsing. To update
|
|
||||||
# arguments, make sure to call
|
|
||||||
# `argbash nodejs-tarball.sh -o nodejs-tarball.sh`
|
|
||||||
|
|
||||||
# ARG_POSITIONAL_SINGLE([version],[Node.js release version])
|
|
||||||
# ARG_OPTIONAL_BOOLEAN([push],[],[Whether to upload to the lookaside cache],[on])
|
|
||||||
# ARG_OPTIONAL_BOOLEAN([debug],[],[Print all commands],[off])
|
|
||||||
# ARG_DEFAULTS_POS([])
|
|
||||||
# ARG_HELP([Tool to aid in Node.js packaging of new releases])
|
|
||||||
# ARGBASH_GO()
|
|
||||||
# needed because of Argbash --> m4_ignore([
|
|
||||||
### START OF CODE GENERATED BY Argbash v2.10.0 one line above ###
|
|
||||||
# Argbash is a bash code generator used to get arguments parsing right.
|
|
||||||
# Argbash is FREE SOFTWARE, see https://argbash.io for more info
|
|
||||||
|
|
||||||
|
|
||||||
die()
|
|
||||||
{
|
|
||||||
local _ret="${2:-1}"
|
|
||||||
test "${_PRINT_HELP:-no}" = yes && print_help >&2
|
|
||||||
echo "$1" >&2
|
|
||||||
exit "${_ret}"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
begins_with_short_option()
|
|
||||||
{
|
|
||||||
local first_option all_short_options='h'
|
|
||||||
first_option="${1:0:1}"
|
|
||||||
test "$all_short_options" = "${all_short_options/$first_option/}" && return 1 || return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
# THE DEFAULTS INITIALIZATION - POSITIONALS
|
|
||||||
_positionals=()
|
|
||||||
_arg_version=
|
|
||||||
# THE DEFAULTS INITIALIZATION - OPTIONALS
|
|
||||||
_arg_push="on"
|
|
||||||
_arg_debug="off"
|
|
||||||
|
|
||||||
|
|
||||||
print_help()
|
|
||||||
{
|
|
||||||
printf '%s\n' "Tool to aid in Node.js packaging of new releases"
|
|
||||||
printf 'Usage: %s [--(no-)push] [--(no-)debug] [-h|--help] <version>\n' "$0"
|
|
||||||
printf '\t%s\n' "<version>: Node.js release version"
|
|
||||||
printf '\t%s\n' "--push, --no-push: Whether to upload to the lookaside cache (on by default)"
|
|
||||||
printf '\t%s\n' "--debug, --no-debug: Print all commands (off by default)"
|
|
||||||
printf '\t%s\n' "-h, --help: Prints help"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
parse_commandline()
|
|
||||||
{
|
|
||||||
_positionals_count=0
|
|
||||||
while test $# -gt 0
|
|
||||||
do
|
|
||||||
_key="$1"
|
|
||||||
case "$_key" in
|
|
||||||
--no-push|--push)
|
|
||||||
_arg_push="on"
|
|
||||||
test "${1:0:5}" = "--no-" && _arg_push="off"
|
|
||||||
;;
|
|
||||||
--no-debug|--debug)
|
|
||||||
_arg_debug="on"
|
|
||||||
test "${1:0:5}" = "--no-" && _arg_debug="off"
|
|
||||||
;;
|
|
||||||
-h|--help)
|
|
||||||
print_help
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
-h*)
|
|
||||||
print_help
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
_last_positional="$1"
|
|
||||||
_positionals+=("$_last_positional")
|
|
||||||
_positionals_count=$((_positionals_count + 1))
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
handle_passed_args_count()
|
|
||||||
{
|
|
||||||
local _required_args_string="'version'"
|
|
||||||
test "${_positionals_count}" -ge 1 || _PRINT_HELP=yes die "FATAL ERROR: Not enough positional arguments - we require exactly 1 (namely: $_required_args_string), but got only ${_positionals_count}." 1
|
|
||||||
test "${_positionals_count}" -le 1 || _PRINT_HELP=yes die "FATAL ERROR: There were spurious positional arguments --- we expect exactly 1 (namely: $_required_args_string), but got ${_positionals_count} (the last one was: '${_last_positional}')." 1
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
assign_positional_args()
|
|
||||||
{
|
|
||||||
local _positional_name _shift_for=$1
|
|
||||||
_positional_names="_arg_version "
|
|
||||||
|
|
||||||
shift "$_shift_for"
|
|
||||||
for _positional_name in ${_positional_names}
|
|
||||||
do
|
|
||||||
test $# -gt 0 || break
|
|
||||||
eval "$_positional_name=\${1}" || die "Error during argument parsing, possibly an Argbash bug." 1
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
parse_commandline "$@"
|
|
||||||
handle_passed_args_count
|
|
||||||
assign_positional_args 1 "${_positionals[@]}"
|
|
||||||
|
|
||||||
# OTHER STUFF GENERATED BY Argbash
|
|
||||||
|
|
||||||
### END OF CODE GENERATED BY Argbash (sortof) ### ])
|
|
||||||
# [ <-- needed because of Argbash
|
|
||||||
|
|
||||||
if [ $_arg_debug = 'on' ]; then
|
|
||||||
set -x
|
|
||||||
fi
|
|
||||||
|
|
||||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
||||||
|
|
||||||
alias wget='wget --quiet'
|
|
||||||
|
|
||||||
packages=("jq" "wget" "tar" "fedpkg" "grep" "sed" "python3-jinja2-cli" "nodejs")
|
|
||||||
|
|
||||||
rpm -q ${packages[@]} >/dev/null
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
sudo dnf -y install ${packages[@]}
|
|
||||||
fi
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
version=$_arg_version
|
|
||||||
|
|
||||||
NODE_MAJOR=$(echo $version | cut -d. -f1)
|
|
||||||
NODE_MINOR=$(echo $version | cut -d. -f2)
|
|
||||||
NODE_PATCH=$(echo $version | cut -d. -f3)
|
|
||||||
|
|
||||||
# Treat odd-numbered major releases as pre-releases for the
|
|
||||||
# next LTS release.
|
|
||||||
if [[ $((NODE_MAJOR % 2)) -eq 0 ]];
|
|
||||||
then NODE_PKG_MAJOR=${NODE_MAJOR};
|
|
||||||
else NODE_PKG_MAJOR=$((NODE_MAJOR + 1));
|
|
||||||
fi
|
|
||||||
|
|
||||||
FEDORA_DEFAULT_RELEASE_LOW=$((NODE_PKG_MAJOR + 19))
|
|
||||||
FEDORA_DEFAULT_RELEASE_HIGH=$((NODE_PKG_MAJOR + 20))
|
|
||||||
|
|
||||||
if [[ $((NODE_PKG_MAJOR)) -eq 20 ]]
|
|
||||||
then RHEL_DEFAULT_RELEASE=" || 0%{?rhel} == 10"
|
|
||||||
elif [[ $((NODE_PKG_MAJOR)) -eq 22 ]];
|
|
||||||
then RHEL_DEFAULT_RELEASE=" || 0%{?rhel} == 11"
|
|
||||||
fi
|
|
||||||
|
|
||||||
rm -rf node-v${version}.tar.gz \
|
|
||||||
node-v${version}-stripped.tar.gz \
|
|
||||||
node-v${version}/ \
|
|
||||||
wasi-sdk-* \
|
|
||||||
cjs-module-lexer* \
|
|
||||||
undici* \
|
|
||||||
SHASUMS256.txt
|
|
||||||
echo Downloading node-v${version}.tar.gz
|
|
||||||
wget http://nodejs.org/dist/v${version}/node-v${version}.tar.gz \
|
|
||||||
http://nodejs.org/dist/v${version}/SHASUMS256.txt
|
|
||||||
echo Validating sha256sum
|
|
||||||
sha256sum -c SHASUMS256.txt --ignore-missing
|
|
||||||
rm -f SHASUMS256.txt
|
|
||||||
tar -zxf node-v${version}.tar.gz
|
|
||||||
|
|
||||||
# Remove bundled OpenSSL
|
|
||||||
# We will link to the system version
|
|
||||||
rm -rf node-v${version}/deps/openssl
|
|
||||||
tar -zcf node-v${version}-stripped.tar.gz node-v${version}
|
|
||||||
|
|
||||||
# Record the bundled cjs-module-lexer version
|
|
||||||
LEXER_VERSION=$(jq -r '.version' node-v${version}/deps/cjs-module-lexer/package.json)
|
|
||||||
|
|
||||||
# Record the bundled undici version
|
|
||||||
UNDICI_VERSION=$(jq -r '.version' node-v${version}/deps/undici/src/package.json)
|
|
||||||
|
|
||||||
ICU_MAJOR=$(jq -r '.[0].url' node-v${version}/tools/icu/current_ver.dep | sed --expression='s/.*release-\([[:digit:]]\+\)-\([[:digit:]]\+\).*/\1/g')
|
|
||||||
ICU_MINOR=$(jq -r '.[0].url' node-v${version}/tools/icu/current_ver.dep | sed --expression='s/.*release-\([[:digit:]]\+\)-\([[:digit:]]\+\).*/\2/g')
|
|
||||||
|
|
||||||
# Download the ICU binary data files
|
|
||||||
rm -Rf icu4c-${ICU_MAJOR}_${ICU_MINOR}-data-bin-*.zip
|
|
||||||
wget $(grep Source3 packaging/nodejs.spec.j2 | sed --expression="s/.*http/http/g" --expression="s/\(\%{icu_major}\)/${ICU_MAJOR}/g" --expression="s/\(\%{icu_minor}\)/${ICU_MINOR}/g")
|
|
||||||
wget $(grep Source4 packaging/nodejs.spec.j2 | sed --expression="s/.*http/http/g" --expression="s/\(\%{icu_major}\)/${ICU_MAJOR}/g" --expression="s/\(\%{icu_minor}\)/${ICU_MINOR}/g")
|
|
||||||
|
|
||||||
rm -f node-v${version}.tar.gz
|
|
||||||
|
|
||||||
set +e
|
|
||||||
|
|
||||||
# Determine the bundled versions of the various packages
|
|
||||||
echo "Included software versions"
|
|
||||||
echo "-------------------------"
|
|
||||||
echo
|
|
||||||
echo "Node.js version"
|
|
||||||
echo "========================="
|
|
||||||
echo "${version}"
|
|
||||||
echo
|
|
||||||
echo "libnode shared object version"
|
|
||||||
echo "========================="
|
|
||||||
NODE_SOVERSION=$(grep -oP '(?<=#define NODE_MODULE_VERSION )\d+' node-v${version}/src/node_version.h)
|
|
||||||
echo "${NODE_SOVERSION}"
|
|
||||||
echo
|
|
||||||
echo "V8"
|
|
||||||
echo "========================="
|
|
||||||
V8_MAJOR=$(grep -oP '(?<=#define V8_MAJOR_VERSION )\d+' node-v${version}/deps/v8/include/v8-version.h)
|
|
||||||
V8_MINOR=$(grep -oP '(?<=#define V8_MINOR_VERSION )\d+' node-v${version}/deps/v8/include/v8-version.h)
|
|
||||||
V8_BUILD=$(grep -oP '(?<=#define V8_BUILD_NUMBER )\d+' node-v${version}/deps/v8/include/v8-version.h)
|
|
||||||
V8_PATCH=$(grep -oP '(?<=#define V8_PATCH_LEVEL )\d+' node-v${version}/deps/v8/include/v8-version.h)
|
|
||||||
echo "${V8_MAJOR}.${V8_MINOR}.${V8_BUILD}.${V8_PATCH}"
|
|
||||||
echo
|
|
||||||
echo "c-ares"
|
|
||||||
echo "========================="
|
|
||||||
C_ARES_VERSION=$(grep -oP '(?<=#define ARES_VERSION_STR ).*\"' node-v${version}/deps/cares/include/ares_version.h |sed -e 's/^"//' -e 's/"$//')
|
|
||||||
echo $C_ARES_VERSION
|
|
||||||
echo
|
|
||||||
echo "llhttp"
|
|
||||||
echo "========================="
|
|
||||||
LLHTTP_MAJOR=$(grep -oP '(?<=#define LLHTTP_VERSION_MAJOR )\d+' node-v${version}/deps/llhttp/include/llhttp.h)
|
|
||||||
LLHTTP_MINOR=$(grep -oP '(?<=#define LLHTTP_VERSION_MINOR )\d+' node-v${version}/deps/llhttp/include/llhttp.h)
|
|
||||||
LLHTTP_PATCH=$(grep -oP '(?<=#define LLHTTP_VERSION_PATCH )\d+' node-v${version}/deps/llhttp/include/llhttp.h)
|
|
||||||
LLHTTP_VERSION="${LLHTTP_MAJOR}.${LLHTTP_MINOR}.${LLHTTP_PATCH}"
|
|
||||||
echo $LLHTTP_VERSION
|
|
||||||
echo
|
|
||||||
echo "libuv"
|
|
||||||
echo "========================="
|
|
||||||
UV_MAJOR=$(grep -oP '(?<=#define UV_VERSION_MAJOR )\d+' node-v${version}/deps/uv/include/uv/version.h)
|
|
||||||
UV_MINOR=$(grep -oP '(?<=#define UV_VERSION_MINOR )\d+' node-v${version}/deps/uv/include/uv/version.h)
|
|
||||||
UV_PATCH=$(grep -oP '(?<=#define UV_VERSION_PATCH )\d+' node-v${version}/deps/uv/include/uv/version.h)
|
|
||||||
LIBUV_VERSION="${UV_MAJOR}.${UV_MINOR}.${UV_PATCH}"
|
|
||||||
echo $LIBUV_VERSION
|
|
||||||
echo
|
|
||||||
echo "nghttp2"
|
|
||||||
echo "========================="
|
|
||||||
NGHTTP2_VERSION=$(grep -oP '(?<=#define NGHTTP2_VERSION ).*\"' node-v${version}/deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h |sed -e 's/^"//' -e 's/"$//')
|
|
||||||
echo $NGHTTP2_VERSION
|
|
||||||
echo
|
|
||||||
echo "nghttp3"
|
|
||||||
echo "========================="
|
|
||||||
NGHTTP3_VERSION=$(grep -oP '(?<=#define NGHTTP3_VERSION ).*\"' node-v${version}/deps/ngtcp2/nghttp3/lib/includes/nghttp3/version.h |sed -e 's/^"//' -e 's/"$//')
|
|
||||||
echo $NGHTTP3_VERSION
|
|
||||||
echo
|
|
||||||
echo "ngtcp2"
|
|
||||||
echo "========================="
|
|
||||||
NGTCP2_VERSION=$(grep -oP '(?<=#define NGTCP2_VERSION ).*\"' node-v${version}/deps/ngtcp2/ngtcp2/lib/includes/ngtcp2/version.h |sed -e 's/^"//' -e 's/"$//')
|
|
||||||
echo $NGTCP2_VERSION
|
|
||||||
echo
|
|
||||||
echo "ICU"
|
|
||||||
echo "========================="
|
|
||||||
echo "${ICU_MAJOR}.${ICU_MINOR}"
|
|
||||||
echo
|
|
||||||
echo "simdutf"
|
|
||||||
echo "========================="
|
|
||||||
SIMDUTF_VERSION=$(grep -oP '(?<=#define SIMDUTF_VERSION ).*\"' node-v${version}/deps/simdutf/simdutf.h |sed -e 's/^"//' -e 's/"$//')
|
|
||||||
echo $SIMDUTF_VERSION
|
|
||||||
echo
|
|
||||||
echo "punycode"
|
|
||||||
echo "========================="
|
|
||||||
PUNYCODE_VERSION=$(/usr/bin/node -e "console.log(require('punycode').version)")
|
|
||||||
echo $PUNYCODE_VERSION
|
|
||||||
echo
|
|
||||||
echo "uvwasi"
|
|
||||||
echo "========================="
|
|
||||||
UVWASI_MAJOR=$(grep -oP '(?<=#define UVWASI_VERSION_MAJOR )\d+' node-v${version}/deps/uvwasi/include/uvwasi.h)
|
|
||||||
UVWASI_MINOR=$(grep -oP '(?<=#define UVWASI_VERSION_MINOR )\d+' node-v${version}/deps/uvwasi/include/uvwasi.h)
|
|
||||||
UVWASI_PATCH=$(grep -oP '(?<=#define UVWASI_VERSION_PATCH )\d+' node-v${version}/deps/uvwasi/include/uvwasi.h)
|
|
||||||
UVWASI_VERSION="${UVWASI_MAJOR}.${UVWASI_MINOR}.${UVWASI_PATCH}"
|
|
||||||
echo $UVWASI_VERSION
|
|
||||||
echo
|
|
||||||
echo "npm"
|
|
||||||
echo "========================="
|
|
||||||
NPM_VERSION=$(jq -r .version ./node-v${version}/deps/npm/package.json)
|
|
||||||
echo $NPM_VERSION
|
|
||||||
echo
|
|
||||||
echo "zlib"
|
|
||||||
echo "========================="
|
|
||||||
ZLIB_VERSION=$(grep -oP '(?<=#define ZLIB_VERSION ).*\"' node-v${version}/deps/zlib/zlib.h |sed -e 's/^"//' -e 's/"$//')
|
|
||||||
echo $ZLIB_VERSION
|
|
||||||
echo
|
|
||||||
echo "cjs-module-lexer"
|
|
||||||
echo "========================="
|
|
||||||
echo "${LEXER_VERSION}"
|
|
||||||
echo
|
|
||||||
echo "undici"
|
|
||||||
echo "========================="
|
|
||||||
echo "${UNDICI_VERSION}"
|
|
||||||
echo
|
|
||||||
echo "ada"
|
|
||||||
echo "========================="
|
|
||||||
ADA_VERSION=$(grep -osP '(?<=#define ADA_VERSION ).*\"' node-v${version}/deps/ada/ada.h |sed -e 's/^"//' -e 's/"$//')
|
|
||||||
ADA_VERSION=${ADA_VERSION:-0}
|
|
||||||
echo "${ADA_VERSION}"
|
|
||||||
echo
|
|
||||||
echo "Applying versions to spec template"
|
|
||||||
|
|
||||||
# Get the list of patches we need to add to the specfile
|
|
||||||
readarray -t patchlist < <(git ls-files |grep '^[0-9]\{4\}-.*\.patch')
|
|
||||||
json_patchlist=$(jq --compact-output --null-input '$ARGS.positional' --args -- "${patchlist[@]}")
|
|
||||||
|
|
||||||
IFS='' read -r -d '' template_json <<EOF
|
|
||||||
{
|
|
||||||
"NODE_PKG_MAJOR": $NODE_PKG_MAJOR,
|
|
||||||
"NODE_MAJOR": $NODE_MAJOR,
|
|
||||||
"NODE_MINOR": $NODE_MINOR,
|
|
||||||
"NODE_PATCH": $NODE_PATCH,
|
|
||||||
"FEDORA_DEFAULT_RELEASE_LOW": $FEDORA_DEFAULT_RELEASE_LOW,
|
|
||||||
"FEDORA_DEFAULT_RELEASE_HIGH": $FEDORA_DEFAULT_RELEASE_HIGH,
|
|
||||||
"RHEL_DEFAULT_RELEASE": "$RHEL_DEFAULT_RELEASE",
|
|
||||||
"NODE_SOVERSION": $NODE_SOVERSION,
|
|
||||||
"V8_MAJOR": $V8_MAJOR,
|
|
||||||
"V8_MINOR": $V8_MINOR,
|
|
||||||
"V8_BUILD": $V8_BUILD,
|
|
||||||
"V8_PATCH": $V8_PATCH,
|
|
||||||
"C_ARES_VERSION": $C_ARES_VERSION,
|
|
||||||
"LLHTTP_VERSION": $LLHTTP_VERSION,
|
|
||||||
"LIBUV_VERSION": $LIBUV_VERSION,
|
|
||||||
"NGHTTP2_VERSION": $NGHTTP2_VERSION,
|
|
||||||
"NGHTTP3_VERSION": $NGHTTP3_VERSION,
|
|
||||||
"NGTCP2_VERSION": $NGTCP2_VERSION,
|
|
||||||
"ICU_MAJOR": $ICU_MAJOR,
|
|
||||||
"ICU_MINOR": $ICU_MINOR,
|
|
||||||
"SIMDUTF_VERSION": $SIMDUTF_VERSION,
|
|
||||||
"PUNYCODE_VERSION": $PUNYCODE_VERSION,
|
|
||||||
"UVWASI_VERSION": $UVWASI_VERSION,
|
|
||||||
"NPM_VERSION": $NPM_VERSION,
|
|
||||||
"ZLIB_VERSION": $ZLIB_VERSION,
|
|
||||||
"LEXER_VERSION": $LEXER_VERSION,
|
|
||||||
"UNDICI_VERSION": $UNDICI_VERSION,
|
|
||||||
"ADA_VERSION": $ADA_VERSION,
|
|
||||||
"PATCHES": $json_patchlist
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
echo ${template_json} | jinja2 ${SCRIPT_DIR}/packaging/nodejs.spec.j2 \
|
|
||||||
> ${SCRIPT_DIR}/nodejs${NODE_PKG_MAJOR}.spec
|
|
||||||
|
|
||||||
if [ $_arg_push = 'on' ]; then
|
|
||||||
fedpkg new-sources node-v${version}-stripped.tar.gz \
|
|
||||||
icu4c-${ICU_MAJOR}_${ICU_MINOR}-data-bin-*.zip
|
|
||||||
fi
|
|
||||||
|
|
||||||
rm -rf node-v${version}
|
|
||||||
# ] <-- needed because of Argbash
|
|
189
SOURCES/nodejs-tarball.sh
Executable file
189
SOURCES/nodejs-tarball.sh
Executable file
@ -0,0 +1,189 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Uses Argbash to generate command argument parsing. To update
|
||||||
|
# arguments, make sure to call
|
||||||
|
# `argbash nodejs-tarball.sh -o nodejs-tarball.sh`
|
||||||
|
|
||||||
|
# ARG_POSITIONAL_SINGLE([version],[Node.js release version],[""])
|
||||||
|
# ARG_DEFAULTS_POS([])
|
||||||
|
# ARG_HELP([Tool to aid in Node.js packaging of new releases])
|
||||||
|
# ARGBASH_GO()
|
||||||
|
# needed because of Argbash --> m4_ignore([
|
||||||
|
### START OF CODE GENERATED BY Argbash v2.8.1 one line above ###
|
||||||
|
# Argbash is a bash code generator used to get arguments parsing right.
|
||||||
|
# Argbash is FREE SOFTWARE, see https://argbash.io for more info
|
||||||
|
|
||||||
|
|
||||||
|
die()
|
||||||
|
{
|
||||||
|
local _ret=$2
|
||||||
|
test -n "$_ret" || _ret=1
|
||||||
|
test "$_PRINT_HELP" = yes && print_help >&2
|
||||||
|
echo "$1" >&2
|
||||||
|
exit ${_ret}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
begins_with_short_option()
|
||||||
|
{
|
||||||
|
local first_option all_short_options='h'
|
||||||
|
first_option="${1:0:1}"
|
||||||
|
test "$all_short_options" = "${all_short_options/$first_option/}" && return 1 || return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# THE DEFAULTS INITIALIZATION - POSITIONALS
|
||||||
|
_positionals=()
|
||||||
|
_arg_version=""
|
||||||
|
# THE DEFAULTS INITIALIZATION - OPTIONALS
|
||||||
|
|
||||||
|
|
||||||
|
print_help()
|
||||||
|
{
|
||||||
|
printf '%s\n' "Tool to aid in Node.js packaging of new releases"
|
||||||
|
printf 'Usage: %s [-h|--help] [<version>]\n' "$0"
|
||||||
|
printf '\t%s\n' "<version>: Node.js release version (default: '""')"
|
||||||
|
printf '\t%s\n' "-h, --help: Prints help"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
parse_commandline()
|
||||||
|
{
|
||||||
|
_positionals_count=0
|
||||||
|
while test $# -gt 0
|
||||||
|
do
|
||||||
|
_key="$1"
|
||||||
|
case "$_key" in
|
||||||
|
-h|--help)
|
||||||
|
print_help
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
-h*)
|
||||||
|
print_help
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
_last_positional="$1"
|
||||||
|
_positionals+=("$_last_positional")
|
||||||
|
_positionals_count=$((_positionals_count + 1))
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
handle_passed_args_count()
|
||||||
|
{
|
||||||
|
test "${_positionals_count}" -le 1 || _PRINT_HELP=yes die "FATAL ERROR: There were spurious positional arguments --- we expect between 0 and 1, but got ${_positionals_count} (the last one was: '${_last_positional}')." 1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
assign_positional_args()
|
||||||
|
{
|
||||||
|
local _positional_name _shift_for=$1
|
||||||
|
_positional_names="_arg_version "
|
||||||
|
|
||||||
|
shift "$_shift_for"
|
||||||
|
for _positional_name in ${_positional_names}
|
||||||
|
do
|
||||||
|
test $# -gt 0 || break
|
||||||
|
eval "$_positional_name=\${1}" || die "Error during argument parsing, possibly an Argbash bug." 1
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
parse_commandline "$@"
|
||||||
|
handle_passed_args_count
|
||||||
|
assign_positional_args 1 "${_positionals[@]}"
|
||||||
|
|
||||||
|
# OTHER STUFF GENERATED BY Argbash
|
||||||
|
|
||||||
|
### END OF CODE GENERATED BY Argbash (sortof) ### ])
|
||||||
|
# [ <-- needed because of Argbash
|
||||||
|
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
echo $_arg_version
|
||||||
|
|
||||||
|
if [ x$_arg_version != x ]; then
|
||||||
|
version=$_arg_version
|
||||||
|
else
|
||||||
|
version=$(rpm -q --specfile --qf='%{version}\n' nodejs.spec | head -n1)
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -f node-v${version}.tar.gz node-v${version}-stripped.tar.gz
|
||||||
|
wget http://nodejs.org/dist/v${version}/node-v${version}.tar.gz \
|
||||||
|
http://nodejs.org/dist/v${version}/SHASUMS256.txt
|
||||||
|
sha256sum -c SHASUMS256.txt --ignore-missing
|
||||||
|
tar -zxf node-v${version}.tar.gz
|
||||||
|
rm -rf node-v${version}/deps/openssl
|
||||||
|
tar -zcf node-v${version}-stripped.tar.gz node-v${version}
|
||||||
|
|
||||||
|
# Download the matching version of ICU
|
||||||
|
rm -f icu4c*-src.tgz icu.md5
|
||||||
|
ICUMD5=$(cat node-v${version}/tools/icu/current_ver.dep |jq -r '.[0].md5')
|
||||||
|
wget $(cat node-v${version}/tools/icu/current_ver.dep |jq -r '.[0].url')
|
||||||
|
ICUTARBALL=$(ls -1 icu4c*-src.tgz)
|
||||||
|
echo "$ICUMD5 $ICUTARBALL" > icu.md5
|
||||||
|
md5sum -c icu.md5
|
||||||
|
rm -f icu.md5 SHASUMS256.txt
|
||||||
|
|
||||||
|
rhpkg new-sources node-v${version}-stripped.tar.gz icu4c*-src.tgz
|
||||||
|
|
||||||
|
rm -f node-v${version}.tar.gz
|
||||||
|
|
||||||
|
set +e
|
||||||
|
|
||||||
|
# Determine the bundled versions of the various packages
|
||||||
|
echo "Bundled software versions"
|
||||||
|
echo "-------------------------"
|
||||||
|
echo
|
||||||
|
echo "libnode shared object version"
|
||||||
|
echo "========================="
|
||||||
|
grep "define NODE_MODULE_VERSION" node-v${version}/src/node_version.h
|
||||||
|
echo
|
||||||
|
echo "V8"
|
||||||
|
echo "========================="
|
||||||
|
grep "define V8_MAJOR_VERSION" node-v${version}/deps/v8/include/v8-version.h
|
||||||
|
grep "define V8_MINOR_VERSION" node-v${version}/deps/v8/include/v8-version.h
|
||||||
|
grep "define V8_BUILD_NUMBER" node-v${version}/deps/v8/include/v8-version.h
|
||||||
|
grep "define V8_PATCH_LEVEL" node-v${version}/deps/v8/include/v8-version.h
|
||||||
|
echo
|
||||||
|
echo "c-ares"
|
||||||
|
echo "========================="
|
||||||
|
grep "define ARES_VERSION_MAJOR" node-v${version}/deps/cares/include/ares_version.h
|
||||||
|
grep "define ARES_VERSION_MINOR" node-v${version}/deps/cares/include/ares_version.h
|
||||||
|
grep "define ARES_VERSION_PATCH" node-v${version}/deps/cares/include/ares_version.h
|
||||||
|
echo
|
||||||
|
echo "http-parser"
|
||||||
|
echo "========================="
|
||||||
|
grep "define HTTP_PARSER_VERSION_MAJOR" node-v${version}/deps/http_parser/http_parser.h
|
||||||
|
grep "define HTTP_PARSER_VERSION_MINOR" node-v${version}/deps/http_parser/http_parser.h
|
||||||
|
grep "define HTTP_PARSER_VERSION_PATCH" node-v${version}/deps/http_parser/http_parser.h
|
||||||
|
echo
|
||||||
|
echo "libuv"
|
||||||
|
echo "========================="
|
||||||
|
grep "define UV_VERSION_MAJOR" node-v${version}/deps/uv/include/uv/version.h
|
||||||
|
grep "define UV_VERSION_MINOR" node-v${version}/deps/uv/include/uv/version.h
|
||||||
|
grep "define UV_VERSION_PATCH" node-v${version}/deps/uv/include/uv/version.h
|
||||||
|
echo
|
||||||
|
echo "nghttp2"
|
||||||
|
echo "========================="
|
||||||
|
grep "define NGHTTP2_VERSION " node-v${version}/deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h
|
||||||
|
echo
|
||||||
|
echo "ICU"
|
||||||
|
echo "========================="
|
||||||
|
grep "url" node-v${version}/tools/icu/current_ver.dep
|
||||||
|
echo
|
||||||
|
echo "punycode"
|
||||||
|
echo "========================="
|
||||||
|
grep "'version'" node-v${version}/lib/punycode.js
|
||||||
|
echo
|
||||||
|
echo "npm"
|
||||||
|
echo "========================="
|
||||||
|
grep "\"version\":" node-v${version}/deps/npm/package.json
|
||||||
|
echo
|
||||||
|
echo "Make sure these versions match what is in the RPM spec file"
|
||||||
|
|
||||||
|
rm -rf node-v${version}
|
||||||
|
# ] <-- needed because of Argbash
|
@ -1,9 +0,0 @@
|
|||||||
prefix=@PREFIX@
|
|
||||||
includedir=@INCLUDEDIR@
|
|
||||||
libdir=@LIBDIR@
|
|
||||||
|
|
||||||
Name: @PKGCONFNAME@
|
|
||||||
Description: JavaScript Runtime
|
|
||||||
Version: @NODEJS_VERSION@
|
|
||||||
Libs: -L${libdir} -lnodejs
|
|
||||||
Cflags: -I${includedir}/node
|
|
2
SOURCES/nodejs_native.attr
Normal file
2
SOURCES/nodejs_native.attr
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
%__nodejs_native_requires %{_rpmconfigdir}/nodejs_native.req
|
||||||
|
%__nodejs_native_path ^/usr/lib.*/node_modules/.*\\.node$
|
@ -1,2 +1 @@
|
|||||||
prefix=/usr/local
|
prefix=/usr/local
|
||||||
python=/usr/bin/python3
|
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
# This is the distibution-level configuration file for npm.
|
|
||||||
# To configure NPM on a system level, use the globalconfig below (defaults to @SYSCONFDIR@/npmrc).
|
|
||||||
# vim:set filetype=dosini:
|
|
||||||
|
|
||||||
globalconfig=@SYSCONFDIR@/npmrc
|
|
@ -1,9 +0,0 @@
|
|||||||
prefix=@PREFIX@
|
|
||||||
includedir=@INCLUDEDIR@
|
|
||||||
libdir=@LIBDIR@
|
|
||||||
|
|
||||||
Name: v8-@PKGCONFVERSION@
|
|
||||||
Description: JavaScript Runtime
|
|
||||||
Version: @V8_VERSION@
|
|
||||||
Libs: -L${libdir} -lv8
|
|
||||||
Cflags: -I${includedir}
|
|
1132
SPECS/nodejs.spec
1132
SPECS/nodejs.spec
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user