The package rpms/nodejs16.git has added or updated architecture specific content in its spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s): https://src.fedoraproject.org/cgit/rpms/nodejs16.git/commit/?id=e66495baf6ad... https://src.fedoraproject.org/cgit/rpms/nodejs16.git/commit/?id=02d10a5eb10e... https://src.fedoraproject.org/cgit/rpms/nodejs16.git/commit/?id=9a7ce43ff6ea... https://src.fedoraproject.org/cgit/rpms/nodejs16.git/commit/?id=11b453fe2300... https://src.fedoraproject.org/cgit/rpms/nodejs16.git/commit/?id=13f00767340b... https://src.fedoraproject.org/cgit/rpms/nodejs16.git/commit/?id=1dc586df1632... https://src.fedoraproject.org/cgit/rpms/nodejs16.git/commit/?id=9fe52744a293... https://src.fedoraproject.org/cgit/rpms/nodejs16.git/commit/?id=9f1a56347d44... https://src.fedoraproject.org/cgit/rpms/nodejs16.git/commit/?id=a042b7955221... https://src.fedoraproject.org/cgit/rpms/nodejs16.git/commit/?id=0ea33eec6036... https://src.fedoraproject.org/cgit/rpms/nodejs16.git/commit/?id=0217ef193192... https://src.fedoraproject.org/cgit/rpms/nodejs16.git/commit/?id=a9185c104866... https://src.fedoraproject.org/cgit/rpms/nodejs16.git/commit/?id=c29f89eb9a89... https://src.fedoraproject.org/cgit/rpms/nodejs16.git/commit/?id=d3df05b0b222... https://src.fedoraproject.org/cgit/rpms/nodejs16.git/commit/?id=6c9d2762c919... https://src.fedoraproject.org/cgit/rpms/nodejs16.git/commit/?id=89005563c3dd... https://src.fedoraproject.org/cgit/rpms/nodejs16.git/commit/?id=10895e3e40a2... https://src.fedoraproject.org/cgit/rpms/nodejs16.git/commit/?id=cd261bf1e21c... https://src.fedoraproject.org/cgit/rpms/nodejs16.git/commit/?id=fb6fa8bce83d... https://src.fedoraproject.org/cgit/rpms/nodejs16.git/commit/?id=6c33c7f5304c... https://src.fedoraproject.org/cgit/rpms/nodejs16.git/commit/?id=200f9491aa76... https://src.fedoraproject.org/cgit/rpms/nodejs16.git/commit/?id=b9473f5871ad... https://src.fedoraproject.org/cgit/rpms/nodejs16.git/commit/?id=6b6a25e47e02... https://src.fedoraproject.org/cgit/rpms/nodejs16.git/commit/?id=aab8ed173f88... https://src.fedoraproject.org/cgit/rpms/nodejs16.git/commit/?id=34eeb4127445... https://src.fedoraproject.org/cgit/rpms/nodejs16.git/commit/?id=74d1356567b2... https://src.fedoraproject.org/cgit/rpms/nodejs16.git/commit/?id=64bb83cc8dae... https://src.fedoraproject.org/cgit/rpms/nodejs16.git/commit/?id=7a602f802db6... https://src.fedoraproject.org/cgit/rpms/nodejs16.git/commit/?id=dade4889bb4e....
Change: +%ifarch armv7hl +%ifarch armv7hl +%ifarch armv7hl -%ifarch s390 s390x %{arm} %ix86 -%ifarch armv7hl +ExclusiveArch: %{nodejs_arches} -ExclusiveArch: %{nodejs_arches} -%ifarch aarch64 +%ifarch aarch64 +%ifarch armv7hl +%ifarch s390 s390x %{arm} %ix86 -%ifarch %{arm} aarch64 %{power64} -%ifarch %{ix86} x86_64 %{arm} +%ifarch %{ix86} x86_64 %{arm} -%ifarch %{power64} s390x -%ifarch %{power64} s390x +%ifarch %{power64} s390x -%ifarch %{power64} s390x -%ifarch aarch64 +%ifarch %{power64} s390x +%ifarch %{ppc} s390x -%ifarch aarch64 +%ifarch aarch64 +ExclusiveArch: %{nodejs_arches} -%ifnarch %{arm} +ExclusiveArch: %{nodejs_arches} +%ifnarch %{arm} -ExclusiveArch: %{ix86} x86_64 %{arm} +ExclusiveArch: %{ix86} x86_64 %{arm}
Thanks.
Full change: ============
commit e66495baf6ad48ff396ebb8fe5067a66e447fd6f Author: Stephen Gallagher sgallagh@redhat.com Date: Wed Mar 1 14:40:35 2023 -0500
sources: re-sync to nodejs20
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs-sources.sh b/nodejs-sources.sh index e83ef8f..41eb299 100755 --- a/nodejs-sources.sh +++ b/nodejs-sources.sh @@ -137,6 +137,10 @@ 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" +fi + rm -rf node-v${version}.tar.gz \ node-v${version}-stripped.tar.gz \ node-v${version}/ \ @@ -190,22 +194,8 @@ ICU_MINOR=$(jq -r '.[0].url' node-v${version}/tools/icu/current_ver.dep | sed --
# Download the ICU binary data files rm -Rf icu4c-${ICU_MAJOR}_${ICU_MINOR}-data-bin-*.zip -wget $(grep Source3 packaging/nodejs.spec.in | 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.in | sed --expression="s/.*http/http/g" --expression="s/(%{icu_major})/${ICU_MAJOR}/g" --expression="s/(%{icu_minor})/${ICU_MINOR}/g") - -if [ $_arg_push = 'on' ]; then - push_flag='' -else - push_flag='--offline' -fi - -fedpkg new-sources ${push_flag} \ - node-v${version}-stripped.tar.gz \ - icu4c-${ICU_MAJOR}_${ICU_MINOR}-data-bin-*.zip \ - cjs-module-lexer-${LEXER_VERSION}-stripped.tar.gz \ - wasi-sdk-${LEXER_WASI_MAJOR}.${LEXER_WASI_MINOR}-linux.tar.gz \ - undici-${UNDICI_VERSION}-stripped.tar.gz \ - wasi-sdk-${UNDICI_WASI_MAJOR}.${UNDICI_WASI_MINOR}-linux.tar.gz +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
@@ -242,14 +232,16 @@ 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) -echo "${LLHTTP_MAJOR}.${LLHTTP_MINOR}.${LLHTTP_PATCH}" +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) -echo ${UV_MAJOR}.${UV_MINOR}.${UV_PATCH} +LIBUV_VERSION="${UV_MAJOR}.${UV_MINOR}.${UV_PATCH}" +echo $UV_VERSION echo echo "nghttp2" echo "=========================" @@ -295,41 +287,62 @@ echo "WASI-SDK: ${UNDICI_WASI_MAJOR}.${UNDICI_WASI_MINOR}" echo echo "ada" echo "=========================" -ADA_VERSION=$(grep -oP '(?<=#define ADA_VERSION ).*"' node-v${version}/deps/ada/ada.h |sed -e 's/^"//' -e 's/"$//') +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"
-sed -e "s/@NODE_PKG_MAJOR@/${NODE_PKG_MAJOR}/g" \ - -e "s/@NODE_MAJOR@/${NODE_MAJOR}/g" \ - -e "s/@NODE_MINOR@/${NODE_MINOR}/g" \ - -e "s/@NODE_PATCH@/${NODE_PATCH}/g" \ - -e "s/@FEDORA_DEFAULT_RELEASE_LOW@/${FEDORA_DEFAULT_RELEASE_LOW}/g" \ - -e "s/@FEDORA_DEFAULT_RELEASE_HIGH@/${FEDORA_DEFAULT_RELEASE_HIGH}/g" \ - -e "s/@NODE_SOVERSION@/${NODE_SOVERSION}/g" \ - -e "s/@V8_MAJOR@/${V8_MAJOR}/g" \ - -e "s/@V8_MINOR@/${V8_MINOR}/g" \ - -e "s/@V8_BUILD@/${V8_BUILD}/g" \ - -e "s/@V8_PATCH@/${V8_PATCH}/g" \ - -e "s/@C_ARES_VERSION@/${C_ARES_VERSION}/g" \ - -e "s/@LLHTTP_VERSION@/${LLHTTP_MAJOR}.${LLHTTP_MINOR}.${LLHTTP_PATCH}/g" \ - -e "s/@LIBUV_VERSION@/${UV_MAJOR}.${UV_MINOR}.${UV_PATCH}/g" \ - -e "s/@NGHTTP2_VERSION@/${NGHTTP2_VERSION}/g" \ - -e "s/@ICU_MAJOR@/${ICU_MAJOR}/g" \ - -e "s/@ICU_MINOR@/${ICU_MINOR}/g" \ - -e "s/@PUNYCODE_VERSION@/${PUNYCODE_VERSION}/g" \ - -e "s/@UVWASI_VERSION@/${UVWASI_VERSION}/g" \ - -e "s/@NPM_VERSION@/${NPM_VERSION}/g" \ - -e "s/@ZLIB_VERSION@/${ZLIB_VERSION}/g" \ - -e "s/@LEXER_VERSION@/${LEXER_VERSION}/g" \ - -e "s/@LEXER_WASI_MAJOR@/${LEXER_WASI_MAJOR}/g" \ - -e "s/@LEXER_WASI_MINOR@/${LEXER_WASI_MINOR}/g" \ - -e "s/@UNDICI_VERSION@/${UNDICI_VERSION}/g" \ - -e "s/@UNDICI_WASI_MAJOR@/${UNDICI_WASI_MAJOR}/g" \ - -e "s/@UNDICI_WASI_MINOR@/${UNDICI_WASI_MINOR}/g" \ - -e "s/@ADA_VERSION@/${ADA_VERSION}/g" \ - ${SCRIPT_DIR}/packaging/nodejs.spec.in \ +# 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, + "ICU_MAJOR": $ICU_MAJOR, + "ICU_MINOR": $ICU_MINOR, + "PUNYCODE_VERSION": $PUNYCODE_VERSION, + "UVWASI_VERSION": $UVWASI_VERSION, + "NPM_VERSION": $NPM_VERSION, + "ZLIB_VERSION": $ZLIB_VERSION, + "LEXER_VERSION": $LEXER_VERSION, + "LEXER_WASI_MAJOR": $LEXER_WASI_MAJOR, + "LEXER_WASI_MINOR": $LEXER_WASI_MINOR, + "UNDICI_VERSION": $UNDICI_VERSION, + "UNDICI_WASI_MAJOR": $UNDICI_WASI_MAJOR, + "UNDICI_WASI_MINOR": $UNDICI_WASI_MINOR, + "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 \ + cjs-module-lexer-${LEXER_VERSION}-stripped.tar.gz \ + wasi-sdk-${LEXER_WASI_MAJOR}.${LEXER_WASI_MINOR}-linux.tar.gz \ + undici-${UNDICI_VERSION}-stripped.tar.gz \ + wasi-sdk-${UNDICI_WASI_MAJOR}.${UNDICI_WASI_MINOR}-linux.tar.gz +fi + rm -rf node-v${version} # ] <-- needed because of Argbash diff --git a/nodejs16.spec b/nodejs16.spec index 4ef7ac7..adc2c1f 100644 --- a/nodejs16.spec +++ b/nodejs16.spec @@ -1,21 +1,3 @@ -# The following macros control the usage of dependencies bundled from upstream. -# -# When to use what: -# - Regular (presumably non-modular) build: use neither (the default in Fedora) -# - Early bootstrapping build that is not intended to be shipped: -# use --with=bootstrap; this will bundle deps and add `~bootstrap` release suffix -# - Build with some dependencies not avalaible in necessary versions (i.e. module build): -# use --with=bundled; will bundle deps, but do not add the suffix -# -# create bootstrapping build with bundled deps and extra release suffix -%bcond_with bootstrap -# bundle dependencies that are not available in Fedora modules -%if %{with bootstrap} -%bcond_without bundled -%else -%bcond_with bundled -%endif - %if 0%{?rhel} && 0%{?rhel} < 8 %bcond_without bundled_zlib %else @@ -46,9 +28,9 @@ %global nodejs_major 16 %global nodejs_minor 19 %global nodejs_patch 1 -%global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 93 +%global nodejs_abi %{nodejs_soversion} %global nodejs_version %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch} %global nodejs_release %{baserelease} %global nodejs_envr %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release} @@ -60,6 +42,7 @@ %if 0%{?fedora} == 35 || 0%{?fedora} == 36 %global nodejs_default %{nodejs_major} %endif + %global nodejs_private_sitelib %{nodejs_sitelib}_%{nodejs_major}
@@ -121,8 +104,6 @@
%global npm_envr %{npm_epoch}:%{npm_version}-%{npm_release}
-%global npm_obsoletes 1:8.19.2-1.16.18.1.3 - # uvwasi - from deps/uvwasi/include/uvwasi.h %global uvwasi_version 0.0.13
@@ -161,8 +142,6 @@ Source102: wasi-sdk-11.0-linux.tar.gz Source111: undici-5.19.1-stripped.tar.gz Source112: wasi-sdk-14.0-linux.tar.gz
-# Fix an incompatibility with GCC 13+ -# Backport of https://github.com/nodejs/node/pull/44961 Patch: 0001-deps-V8-cherry-pick-c2792e58035f.patch
%if 0%{?nodejs_default} @@ -204,9 +183,11 @@ BuildRequires: nodejs-packaging BuildRequires: chrpath BuildRequires: libatomic BuildRequires: ninja-build -BuildRequires: systemtap-sdt-devel BuildRequires: unzip
+BuildRequires: systemtap-sdt-devel + + Provides: nodejs = %{nodejs_envr}
%if %{with bundled} @@ -244,6 +225,14 @@ BuildRequires: openssl-devel >= %{openssl11_minimum} %global ssl_configure --shared-openssl %{openssl_fips_configure} %endif
+%if 0%{?nodejs_default} +%global dtrace_configure --with-dtrace +%else +# dtrace is only installed for the default version +%global dtrace_configure %{nil} +%endif + + # we need the system certificate store Requires: ca-certificates
@@ -304,6 +293,7 @@ Provides: bundled(uvwasi) = %{uvwasi_version} Provides: bundled(histogram) = %{histogram_version}
+ %description Node.js is a platform built on Chrome's JavaScript runtime \ for easily building fast, scalable network applications. \ @@ -418,8 +408,10 @@ Provides: npm(npm) = %{npm_version} # Satisfy dependency requests for "npm" Provides: npm = %{npm_envr}
+%if 0%{?nodejs_default} # Obsolete the old 'npm' package -Obsoletes: npm < %{npm_obsoletes} +Obsoletes: npm < 1:9 +%endif
%description -n %{pkgname}-npm @@ -525,10 +517,10 @@ export PATH="${cwd}/.bin:$PATH" --shared \ --libdir=%{_lib} \ %{ssl_configure} \ + %{dtrace_configure} \ %{!?with_bundled_zlib:--shared-zlib} \ --shared-brotli \ - %{!?with_bundled:--shared-libuv} \ - %{?with_bundled:--without-dtrace}%{!?with_bundled:--with-dtrace} \ + --shared-libuv \ --with-intl=small-icu \ --with-icu-default-data-dir=%{icudatadir} \ --without-corepack \ @@ -552,6 +544,8 @@ mv %{buildroot}%{nodejs_sitelib} \ %if 0%{?nodejs_default} ln -srf %{buildroot}%{nodejs_private_sitelib} \ %{buildroot}%{nodejs_sitelib} +%else +rm -f %{buildroot}%{_datadir}/systemtap/tapset/node.stp %endif
@@ -601,12 +595,6 @@ for soname in libv8 libv8_libbase libv8_libplatform; do ln -s libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/${soname}.so.%{v8_major} done
-# Remove tracing for non-default versions -%if ! 0%{?nodejs_default} -rm -rf %{buildroot}%{_usr}/lib/dtrace \ - %{buildroot}%{_datadir}/systemtap/tapset/node.stp -%endif - # install documentation mkdir -p %{buildroot}%{_pkgdocdir}/html cp -pr doc/* %{buildroot}%{_pkgdocdir}/html @@ -756,14 +744,14 @@ end %if 0%{?nodejs_default} %{_bindir}/node %doc %{_mandir}/man1/node.1* +%{nodejs_sitelib} + %dir %{_datadir}/systemtap %dir %{_datadir}/systemtap/tapset -%{nodejs_sitelib} %{_datadir}/systemtap/tapset/node.stp -%if %{without bundled} %dir %{_usr}/lib/dtrace %{_usr}/lib/dtrace/node.d -%endif + %endif
%{_bindir}/node-%{nodejs_major} diff --git a/packaging/nodejs.spec.j2 b/packaging/nodejs.spec.j2 new file mode 100644 index 0000000..0ca55d8 --- /dev/null +++ b/packaging/nodejs.spec.j2 @@ -0,0 +1,833 @@ +%if 0%{?rhel} && 0%{?rhel} < 8 +%bcond_without bundled_zlib +%else +%bcond_with bundled_zlib +%endif + +# LTO is currently broken on Node.js builds +%define _lto_cflags %{nil} + +# Heavy-handed approach to avoiding issues with python +# bytecompiling files in the node_modules/ directory +%global __python %{python3} + +# == Master Relase == +# This is used by both the nodejs package and the npm subpackage that +# has a separate version - the name is special so that rpmdev-bumpspec +# will bump this rather than adding .1 to the end. +%global baserelease %autorelease + +%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}} + +# == Node.js Version == +# Note: Fedora should only ship LTS versions of Node.js (currently expected +# to be major versions with even numbers). The odd-numbered versions are new +# feature releases that are only supported for nine months, which is shorter +# than a Fedora release lifecycle. +%global nodejs_epoch 1 +%global nodejs_major {{ NODE_MAJOR }} +%global nodejs_minor {{ NODE_MINOR }} +%global nodejs_patch {{ NODE_PATCH }} +# nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h +%global nodejs_soversion {{ NODE_SOVERSION }} +%global nodejs_abi %{nodejs_soversion} +%global nodejs_version %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch} +%global nodejs_release %{baserelease} +%global nodejs_envr %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release} + +%global nodejs_datadir %{_datarootdir}/node-%{nodejs_major} + +# Determine if this should be the default version for this Fedora release +# The default version will own /usr/bin/node and friends +%if 0%{?fedora} == {{ FEDORA_DEFAULT_RELEASE_LOW }} || 0%{?fedora} == {{ FEDORA_DEFAULT_RELEASE_HIGH }}{{ RHEL_DEFAULT_RELEASE }} +%global nodejs_default %{nodejs_major} +%endif + +%global nodejs_private_sitelib %{nodejs_sitelib}_%{nodejs_major} + + +# == Bundled Dependency Versions == +# v8 - from deps/v8/include/v8-version.h +# Epoch is set to ensure clean upgrades from the old v8 package +%global v8_epoch 3 +%global v8_major {{ V8_MAJOR }} +%global v8_minor {{ V8_MINOR }} +%global v8_build {{ V8_BUILD }} +%global v8_patch {{ V8_PATCH }} +%global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} +%global v8_release %{nodejs_epoch}.%{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release} + +# zlib - from deps/zlib/zlib.h +%global zlib_version {{ ZLIB_VERSION }} + +# c-ares - from deps/cares/include/ares_version.h +# https://github.com/nodejs/node/pull/9332 +%global c_ares_version {{ C_ARES_VERSION }} + +# llhttp - from deps/llhttp/include/llhttp.h +%global llhttp_version {{ LLHTTP_VERSION }} + +# libuv - from deps/uv/include/uv/version.h +%global libuv_version {{ LIBUV_VERSION }} + +# nghttp2 - from deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h +%global nghttp2_version {{ NGHTTP2_VERSION }} + +# ICU - from tools/icu/current_ver.dep +%global icu_major {{ ICU_MAJOR }} +%global icu_minor {{ ICU_MINOR }} +%global icu_version %{icu_major}.%{icu_minor} + +%global icudatadir %{nodejs_datadir}/icudata +%{!?little_endian: %global little_endian %(%{python3} -c "import sys;print (0 if sys.byteorder=='big' else 1)")} +# " this line just fixes syntax highlighting for vim that is confused by the above and continues literal + + +# OpenSSL minimum version +%global openssl11_minimum 1:1.1.1 +%global openssl30_minimum 1:3.0.2 + +# punycode - from lib/punycode.js +# Note: this was merged into the mainline since 0.6.x +# Note: this will be unmerged in an upcoming major release +%global punycode_version {{ PUNYCODE_VERSION }} + +# npm - from deps/npm/package.json +%global npm_epoch 1 +%global npm_version {{ NPM_VERSION }} + +# In order to avoid needing to keep incrementing the release version for the +# main package forever, we will just construct one for npm that is guaranteed +# to increment safely. Changing this can only be done during an update when the +# base npm version number is increasing. +%global npm_release %{nodejs_epoch}.%{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release} + +%global npm_envr %{npm_epoch}:%{npm_version}-%{npm_release} + +# uvwasi - from deps/uvwasi/include/uvwasi.h +%global uvwasi_version {{ UVWASI_VERSION }} + +# histogram_c - assumed from timestamps +%global histogram_version 0.9.7 + + +Name: nodejs{{ NODE_PKG_MAJOR }} +Epoch: %{nodejs_epoch} +Version: %{nodejs_version} +Release: %{nodejs_release} +Summary: JavaScript runtime +License: MIT and ASL 2.0 and ISC and BSD +Group: Development/Languages +URL: http://nodejs.org/ + +ExclusiveArch: %{nodejs_arches} + +# nodejs bundles openssl, but we use the system version in Fedora +# because openssl contains prohibited code, we remove openssl completely from +# the tarball, using the script in Source100 +Source0: node-v%{nodejs_version}-stripped.tar.gz +Source1: npmrc +Source2: btest402.js +# The binary data that icu-small can use to get icu-full capability +Source3: https://github.com/unicode-org/icu/releases/download/release-%%7Bicu_major%7... +Source4: https://github.com/unicode-org/icu/releases/download/release-%%7Bicu_major%7... +Source100: nodejs-sources.sh + +# These are full sources for dependencies included as WASM blobs in the source of Node itself. +# Note: These sources would also include pre-compiled WASM blobs… so they are adjusted not to. +# Recipes for creating these blobs are included in the sources. +# These are generated by nodejs-sources.sh +Source101: cjs-module-lexer-{{ LEXER_VERSION }}-stripped.tar.gz +Source102: wasi-sdk-{{ LEXER_WASI_MAJOR }}.{{ LEXER_WASI_MINOR }}-linux.tar.gz +Source111: undici-{{ UNDICI_VERSION }}-stripped.tar.gz +Source112: wasi-sdk-{{ UNDICI_WASI_MAJOR }}.{{ UNDICI_WASI_MINOR }}-linux.tar.gz + +{% for patch in PATCHES -%} +Patch: {{ patch }} +{% endfor -%} +{# #} +%if 0%{?nodejs_default} +%global pkgname nodejs +%package -n %{pkgname} +Summary: JavaScript runtime +%else +%global pkgname nodejs{{ NODE_PKG_MAJOR }} +%endif + +BuildRequires: make +BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: python%{python3_pkgversion}-setuptools +BuildRequires: python%{python3_pkgversion}-jinja2 +%if 0%{?rhel} && 0%{?rhel} < 9 +BuildRequires: python-unversioned-command +%endif +%if %{with bundled_zlib} +Provides: bundled(zlib) = %{zlib_version} +%else +BuildRequires: zlib-devel +%endif +BuildRequires: brotli-devel +%if 0%{?rhel} && 0%{?rhel} < 8 +BuildRequires: devtoolset-11-gcc +BuildRequires: devtoolset-11-gcc-c++ +%else +BuildRequires: gcc >= 8.3.0 +BuildRequires: gcc-c++ >= 8.3.0 +%endif + +BuildRequires: jq + +# needed to generate bundled provides for npm dependencies +# https://src.fedoraproject.org/rpms/nodejs/pull-request/2 +# https://pagure.io/nodejs-packaging/pull-request/10 +BuildRequires: nodejs-packaging + +BuildRequires: chrpath +BuildRequires: libatomic +BuildRequires: ninja-build +BuildRequires: unzip + +{% if NODE_MAJOR < 19 -%} +BuildRequires: systemtap-sdt-devel +{% endif %} + +Provides: nodejs = %{nodejs_envr} + +%if %{with bundled} +Provides: bundled(libuv) = %{libuv_version} +%else +BuildRequires: libuv-devel >= 1:%{libuv_version} +Requires: libuv >= 1:%{libuv_version} +%endif + +# Node.js frequently bumps this faster than Fedora can follow, +# so we will bundle it. +Provides: bundled(nghttp2) = %{nghttp2_version} + +# Temporarily bundle llhttp because the upstream doesn't +# provide releases for it. +Provides: bundled(llhttp) = %{llhttp_version} + + +%if 0%{?rhel} && 0%{?rhel} < 8 +BuildRequires: openssl11-devel >= %{openssl11_minimum} +Requires: openssl11 >= %{openssl11_minimum} +%global ssl_configure --shared-openssl --shared-openssl-includes=%{_includedir}/openssl11 --shared-openssl-libpath=%{_libdir}/openssl11 +%else + +%if 0%{?fedora} >= 36 +BuildRequires: openssl >= %{openssl30_minimum} +BuildRequires: openssl-devel >= %{openssl30_minimum} +%global openssl_fips_configure --openssl-is-fips +%else +Requires: openssl >= %{openssl11_minimum} +BuildRequires: openssl-devel >= %{openssl11_minimum} +%global openssl_fips_configure %{nil} +%endif + +%global ssl_configure --shared-openssl %{openssl_fips_configure} +%endif + +{% if NODE_MAJOR < 19 -%} +%if 0%{?nodejs_default} +%global dtrace_configure --with-dtrace +%else +# dtrace is only installed for the default version +%global dtrace_configure %{nil} +%endif +{% else %} +# dtrace is not supported on Node.js 19+ +%global dtrace_configure %{nil} +{% endif %} + +# we need the system certificate store +Requires: ca-certificates + +Requires: %{pkgname}-libs%{?_isa} = %{nodejs_envr} + +%if 0%{?fedora} || 0%{?rhel} >= 8 +# Pull in the docs and full-icu data by default +Recommends: %{pkgname}-docs = %{nodejs_envr} +Recommends: %{pkgname}-full-i18n%{?_isa} = %{nodejs_envr} +Recommends: %{pkgname}-npm >= %{npm_envr} +%endif + +# we need ABI virtual provides where SONAMEs aren't enough/not present so deps +# break when binary compatibility is broken +Provides: nodejs(abi) = %{nodejs_abi} +Provides: nodejs(abi%{nodejs_major}) = %{nodejs_abi} + +# this corresponds to the "engine" requirement in package.json +Provides: nodejs(engine) = %{nodejs_version} + +# Node.js currently has a conflict with the 'node' package in Fedora +# The ham-radio group has agreed to rename their binary for us, but +# in the meantime, we're setting an explicit Conflicts: here +Conflicts: node <= 0.3.2-12 + +# The punycode module was absorbed into the standard library in v0.6. +# It still exists as a seperate package for the benefit of users of older +# versions. Since we've never shipped anything older than v0.10 in Fedora, +# we don't need the seperate nodejs-punycode package, so we Provide it here so +# dependent packages don't need to override the dependency generator. +# See also: RHBZ#11511811 +# UPDATE: punycode will be deprecated and so we should unbundle it in Node v8 +# and use upstream module instead +# https://github.com/nodejs/node/commit/29e49fc286080215031a81effbd59eac092fff... +Provides: nodejs-punycode = %{punycode_version} +Provides: npm(punycode) = %{punycode_version} + +# Node.js has forked c-ares from upstream in an incompatible way, so we need +# to carry the bundled version internally. +# See https://github.com/nodejs/node/commit/766d063e0578c0f7758c3a965c971763f43fec... +Provides: bundled(c-ares) = %{c_ares_version} + +# Node.js is closely tied to the version of v8 that is used with it. It makes +# sense to use the bundled version because upstream consistently breaks ABI +# even in point releases. Node.js upstream has now removed the ability to build +# against a shared system version entirely. +# See https://github.com/nodejs/node/commit/d726a177ed59c37cf5306983ed00ecd858cfbb... +Provides: bundled(v8) = %{v8_version} + +# Node.js is bound to a specific version of ICU which may not match the OS +# We cannot pin the OS to this version of ICU because every update includes +# an ABI-break, so we'll use the bundled copy. +Provides: bundled(icu) = %{icu_version} + +# Upstream added new dependencies, but so far they are not available in Fedora +# or there's no option to built it as a shared dependency, so we bundle them +Provides: bundled(uvwasi) = %{uvwasi_version} +Provides: bundled(histogram) = %{histogram_version} + +{% if ADA_VERSION -%} +# Upstream has added a new URL parser that has no option to build as a shared +# library (19.7.0+) +Provides: bundled(ada) = {{ ADA_VERSION }} +{% endif %} + +%description +Node.js is a platform built on Chrome's JavaScript runtime \ +for easily building fast, scalable network applications. \ +Node.js uses an event-driven, non-blocking I/O model that \ +makes it lightweight and efficient, perfect for data-intensive \ +real-time applications that run across distributed devices.} + + +%if 0%{?nodejs_default} +%description -n %{pkgname} +Node.js is a platform built on Chrome's JavaScript runtime \ +for easily building fast, scalable network applications. \ +Node.js uses an event-driven, non-blocking I/O model that \ +makes it lightweight and efficient, perfect for data-intensive \ +real-time applications that run across distributed devices.} +%endif + + +%package -n %{pkgname}-devel +Summary: JavaScript runtime - development headers +Group: Development/Languages +Requires: %{pkgname}%{?_isa} = %{nodejs_envr} +Requires: %{pkgname}-libs%{?_isa} = %{nodejs_envr} +Requires: openssl-devel%{?_isa} +%if !%{with bundled_zlib} +Requires: zlib-devel%{?_isa} +%endif +Requires: brotli-devel%{?_isa} +Requires: nodejs-packaging + +%if %{without bundled} +Requires: libuv-devel%{?_isa} +%endif + +Provides: nodejs-devel = %{nodejs_envr} +Conflicts: nodejs-devel + + +%description -n %{pkgname}-devel +Development headers for the Node.js JavaScript runtime. + + +%package -n %{pkgname}-libs +Summary: Node.js and v8 libraries + +# Compatibility for obsolete v8 package +%if 0%{?__isa_bits} == 64 +Provides: libv8.so.%{v8_major}()(64bit) = %{v8_epoch}:%{v8_version} +Provides: libv8_libbase.so.%{v8_major}()(64bit) = %{v8_epoch}:%{v8_version} +Provides: libv8_libplatform.so.%{v8_major}()(64bit) = %{v8_epoch}:%{v8_version} +%else +# 32-bits +Provides: libv8.so.%{v8_major} = %{v8_epoch}:%{v8_version} +Provides: libv8_libbase.so.%{v8_major} = %{v8_epoch}:%{v8_version} +Provides: libv8_libplatform.so.%{v8_major} = %{v8_epoch}:%{v8_version} +%endif + +Provides: v8 = %{v8_epoch}:%{v8_version}-%{nodejs_release} +Provides: v8%{?_isa} = %{v8_epoch}:%{v8_version}-%{nodejs_release} +Obsoletes: v8 < 1:6.7.17-10 + +Provides: nodejs-libs = %{nodejs_envr} + +%description -n %{pkgname}-libs +Libraries to support Node.js and provide stable v8 interfaces. + + +%package -n %{pkgname}-full-i18n +Summary: Non-English locale data for Node.js +Requires: %{pkgname}%{?_isa} = %{nodejs_envr} + + +%description -n %{pkgname}-full-i18n +Optional data files to provide full-icu support for Node.js. Remove this +package to save space if non-English locales are not needed. + + +%package -n v8-%{v8_major}.%{v8_minor}-devel +Summary: v8 - development headers +Epoch: %{v8_epoch} +Version: %{v8_version} +Release: %{v8_release} +Requires: %{pkgname}-devel%{?_isa} = %{nodejs_envr} +Requires: %{pkgname}-libs%{?_isa} = %{nodejs_envr} +Provides: v8-devel = %{v8_epoch}:%{v8_version}-%{v8_release} + +Conflicts: v8-devel +Conflicts: v8-314-devel + + +%description -n v8-%{v8_major}.%{v8_minor}-devel +Development headers for the v8 runtime. + + +%package -n %{pkgname}-npm +Summary: Node.js Package Manager +Epoch: %{npm_epoch} +Version: %{npm_version} +Release: %{npm_release} + +# If we're using the companion NPM build, make sure to keep it in lock-step +# with the Node version. +Requires: %{pkgname} = %{nodejs_envr} +%if 0%{?fedora} || 0%{?rhel} >= 8 +Recommends: %{pkgname}-docs = %{nodejs_envr} +%endif + +# Do not add epoch to the virtual NPM provides or it will break +# the automatic dependency-generation script. +Provides: npm(npm) = %{npm_version} + +# Satisfy dependency requests for "npm" +Provides: npm = %{npm_envr} + +%if 0%{?nodejs_default} +# Obsolete the old 'npm' package +Obsoletes: npm < 1:9 +%endif + + +%description -n %{pkgname}-npm +npm is a package manager for node.js. You can use it to install and publish +your node programs. It manages dependencies and does other cool stuff. + + +%package -n %{pkgname}-docs +Summary: Node.js API documentation +Group: Documentation +BuildArch: noarch +Requires(meta): %{pkgname} = %{nodejs_envr} + +Provides: nodejs-docs = %{nodejs_envr} + + +%description -n %{pkgname}-docs +The API documentation for the Node.js JavaScript runtime. + + +%prep +%autosetup -p1 -n node-v%{nodejs_version} + +# remove bundled dependencies that we aren't building +%if !%{with bundled_zlib} +rm -rf deps/zlib +%endif + +rm -rf deps/brotli +rm -rf deps/v8/third_party/jinja2 +rm -rf tools/inspector_protocol/jinja2 + +# check for correct versions of dependencies we are bundling +check_wasm_dep() { + local -r name="$1" source="$2" packagejson="$3" + local -r expected_version="$(jq -r '.version' "${packagejson}")" + + if ls "${source}"|grep -q --fixed-strings "${expected_version}"; then + printf '%s version matches\n' "${name}" >&2 + else + printf '%s version MISMATCH: %s !~ %s\n' "${name}" "${expected_version}" "${source}" >&2 + return 1 + fi +} + +check_wasm_dep cjs-module-lexer '%{SOURCE101}' deps/cjs-module-lexer/package.json +check_wasm_dep undici '%{SOURCE111}' deps/undici/src/package.json + +# Replace any instances of unversioned python with python3 +pfiles=( $(grep -rl python) ) +%py3_shebang_fix ${pfiles[@]} + + +%build + +# Activate DevToolset 11 on EPEL 7 +%if 0%{?rhel} && 0%{?rhel} < 8 +. /opt/rh/devtoolset-11/enable +%endif + +# When compiled on armv7hl this package generates an out of range +# reference to the literal pool. This is most likely a GCC issue. +%ifarch armv7hl +%define _lto_cflags %{nil} +%endif + +# Decrease debuginfo verbosity to reduce memory consumption during final +# library linking +%global optflags %(echo %{optflags} | sed 's/-g /-g1 /') + +export CC='%{__cc}' +export CXX='%{__cxx}' +export NODE_GYP_FORCE_PYTHON=%{python3} + +# build with debugging symbols and add defines from libuv (#892601) +# Node's v8 breaks with GCC 6 because of incorrect usage of methods on +# NULL objects. We need to pass -fno-delete-null-pointer-checks +# 2022-07-14: There's a bug in either torque or gcc that causes a +# segmentation fault on ppc64le and s390x if compiled with -O2. Things +# run fine on -O1 and -O3, so we'll just go with -O3 (like upstream) +# while this gets sorted out. +extra_cflags=( + -D_LARGEFILE_SOURCE + -D_FILE_OFFSET_BITS=64 + -DZLIB_CONST + -fno-delete-null-pointer-checks + -O3 +) +export CFLAGS="%{optflags} ${extra_cflags[*]}" CXXFLAGS="%{optflags} ${extra_cflags[*]}" +export LDFLAGS="%{build_ldflags}" + +# Fake up the unversioned python executable because gyp calls it from the PATH +mkdir .bin +cwd=$(pwd) +ln -srf /usr/bin/python3 ./.bin/python +export PATH="${cwd}/.bin:$PATH" + +%{python3} configure.py \ + --verbose \ + --ninja \ + --enable-lto \ + --prefix=%{_prefix} \ + --shared \ + --libdir=%{_lib} \ + %{ssl_configure} \ + %{dtrace_configure} \ + %{!?with_bundled_zlib:--shared-zlib} \ + --shared-brotli \ + --shared-libuv \ + --with-intl=small-icu \ + --with-icu-default-data-dir=%{icudatadir} \ + --without-corepack \ + --openssl-use-def-ca-store + +%ninja_build -C out/Release + + +%install + +# The ninja build does not put the shared library in the expected location, so +# we will move it. +mv out/Release/lib/libnode.so.%{nodejs_soversion} out/Release/ +./tools/install.py install %{buildroot} %{_prefix} + + +# own the sitelib directory +mv %{buildroot}%{nodejs_sitelib} \ + %{buildroot}%{nodejs_private_sitelib} + +%if 0%{?nodejs_default} +ln -srf %{buildroot}%{nodejs_private_sitelib} \ + %{buildroot}%{nodejs_sitelib} +%else +rm -f %{buildroot}%{_datadir}/systemtap/tapset/node.stp +%endif + + +# Set the binary permissions properly +chmod 0755 %{buildroot}/%{_bindir}/node +chrpath --delete %{buildroot}%{_bindir}/node + +# Rename the node binary +mv %{buildroot}%{_bindir}/node %{buildroot}%{_bindir}/node-%{nodejs_major} + +# Move the npm binary to npm-NODEJS_MAJOR +rm -f %{buildroot}%{_bindir}/npm + +ln -srf %{buildroot}%{nodejs_private_sitelib}/npm/bin/npm-cli.js \ + %{buildroot}%{_bindir}/npm-%{nodejs_major} + +# Move the npx binary to npm-NODEJS_MAJOR +rm -f %{buildroot}%{_bindir}/npx + +ln -srf %{buildroot}%{nodejs_private_sitelib}/npm/bin/npx-cli.js \ + %{buildroot}%{_bindir}/npx-%{nodejs_major} + +# Add the symlinks back for the default version +%if 0%{?nodejs_default} +ln -srf %{buildroot}%{_bindir}/node-%{nodejs_major} \ + %{buildroot}%{_bindir}/node + +ln -srf %{buildroot}%{_bindir}/npm-%{nodejs_major} \ + %{buildroot}%{_bindir}/npm + +ln -srf %{buildroot}%{_bindir}/npx-%{nodejs_major} \ + %{buildroot}%{_bindir}/npx +%endif + +# Install library symlink +ln -srf %{buildroot}%{_libdir}/libnode.so.%{nodejs_soversion} \ + %{buildroot}%{_libdir}/libnode.so + +# Install v8 compatibility symlinks +for header in %{buildroot}%{_includedir}/node/libplatform %{buildroot}%{_includedir}/node/v8*.h; do + header=$(basename ${header}) + ln -sf ./node/${header} %{buildroot}%{_includedir}/${header} +done +ln -s ./node/cppgc %{buildroot}%{_includedir}/cppgc +for soname in libv8 libv8_libbase libv8_libplatform; do + ln -s libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/${soname}.so + ln -s libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/${soname}.so.%{v8_major} +done + +# install documentation +mkdir -p %{buildroot}%{_pkgdocdir}/html +cp -pr doc/* %{buildroot}%{_pkgdocdir}/html +rm -f %{buildroot}%{_pkgdocdir}/html/nodejs.1 + +# node-gyp needs common.gypi too +mkdir -p %{buildroot}%{nodejs_datadir} +cp -p common.gypi %{buildroot}%{nodejs_datadir} + +# The config.gypi file is platform-dependent, so rename it to not conflict +mv %{buildroot}%{_includedir}/node/config.gypi \ + %{buildroot}%{_includedir}/node/config-%{_arch}.gypi + +# Install the GDB init tool into the documentation directory +mv %{buildroot}/%{_datadir}/doc/node/gdbinit %{buildroot}/%{_pkgdocdir}/gdbinit + +mkdir -p %{buildroot}%{_mandir}/nodejs-%{nodejs_major}/man1 \ + %{buildroot}%{_mandir}/nodejs-%{nodejs_major}/man5 \ + %{buildroot}%{_mandir}/nodejs-%{nodejs_major}/man7 \ + %{buildroot}%{nodejs_sitelib}/npm/man \ + %{buildroot}%{nodejs_private_sitelib}/npm/man \ + %{buildroot}%{_pkgdocdir}/npm + +# install manpage docs to mandir +cp -pr deps/npm/man/* \ + %{buildroot}%{_mandir}/nodejs-%{nodejs_major}/ +rm -rf %{buildroot}%{nodejs_private_sitelib}/npm/man +ln -srf %{buildroot}%{_mandir}/nodejs-%{nodejs_major} \ + %{buildroot}%{nodejs_private_sitelib}/npm/man + +%if 0%{?nodejs_default} +for i in 1 5 7; do + mkdir -p %{buildroot}%{_mandir}/man${i} + for manpage in %{buildroot}%{nodejs_private_sitelib}/npm/man/man$i/*; do + basename=$(basename ${manpage}) + ln -srf %{buildroot}%{nodejs_private_sitelib}/npm/man/man${i}/${manpage} \ + %{buildroot}%{_mandir}/man${i}/${basename} + done +done +%endif + +# Install the node interpreter manpage +mv %{buildroot}%{_mandir}/man1/node.1 \ + %{buildroot}%{_mandir}/nodejs-%{nodejs_major}/man1/ + +%if 0%{?nodejs_default} +ln -srf %{buildroot}%{_mandir}/nodejs-%{nodejs_major}/man1/node.1 \ + %{buildroot}%{_mandir}/man1/ +%endif + +# Install Gatsby HTML documentation to %%{_pkgdocdir} +cp -pr deps/npm/docs %{buildroot}%{_pkgdocdir}/npm/ +rm -rf %{buildroot}%{nodejs_private_sitelib}/npm/docs +ln -srf %{buildroot}%{_pkgdocdir}/npm %{buildroot}%{nodejs_private_sitelib}/npm/docs + +# Node tries to install some python files into a documentation directory +# (and not the proper one). Remove them for now until we figure out what to +# do with them. +rm -f %{buildroot}/%{_defaultdocdir}/node/lldb_commands.py \ + %{buildroot}/%{_defaultdocdir}/node/lldbinit + +# Some NPM bundled deps are executable but should not be. This causes +# unnecessary automatic dependencies to be added. Make them not executable. +# Skip the npm bin directory or the npm binary will not work. +find %{buildroot}%{nodejs_private_sitelib}/npm \ + -not -path "%{buildroot}%{nodejs_private_sitelib}/npm/bin/*" \ + -executable -type f \ + -exec chmod -x {} ; + +# The above command is a little overzealous. Add a few permissions back. +chmod 0755 %{buildroot}%{nodejs_private_sitelib}/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin/node-gyp +chmod 0755 %{buildroot}%{nodejs_private_sitelib}/npm/node_modules/node-gyp/bin/node-gyp.js + +# Drop the NPM default configuration in place +%if 0%{?nodejs_default} +mkdir -p %{buildroot}%{_sysconfdir} +cp %{SOURCE1} %{buildroot}%{_sysconfdir}/npmrc + +# NPM upstream expects it to be in /usr/etc/npmrc, so we'll put a symlink here +# This is done in the interests of keeping /usr read-only. +mkdir -p %{buildroot}%{_prefix}/etc +ln -rsf %{buildroot}%{_sysconfdir}/npmrc \ + %{buildroot}%{_prefix}/etc/npmrc +%endif + +# Install the full-icu data files +mkdir -p %{buildroot}%{icudatadir} +%if 0%{?little_endian} +unzip -d %{buildroot}%{icudatadir} %{SOURCE4} icudt%{icu_major}l.dat +%else +unzip -d %{buildroot}%{icudatadir} %{SOURCE3} icudt%{icu_major}b.dat +%endif + + +%check +# Fail the build if the versions don't match +LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node-%{nodejs_major} -e "require('assert').equal(process.versions.node, '%{nodejs_version}')" +LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node-%{nodejs_major} -e "require('assert').equal(process.versions.v8.replace(/-node.\d+$/, ''), '%{v8_version}')" +LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node-%{nodejs_major} -e "require('assert').equal(process.versions.ares.replace(/-DEV$/, ''), '%{c_ares_version}')" + +# Ensure we have punycode and that the version matches +LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node-%{nodejs_major} -e "require("assert").equal(require("punycode").version, '%{punycode_version}')" + +# Ensure we have npm and that the version matches +LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}%{_bindir}/node-%{nodejs_major} %{buildroot}%{_bindir}/npm-%{nodejs_major} version --json |jq -e '.npm == "%{npm_version}"' + +# Make sure i18n support is working +NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{nodejs_private_sitelib}/npm/node_modules LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node-%{nodejs_major} --icu-data-dir=%{buildroot}%{icudatadir} %{SOURCE2} + + +%if 0%{?rhel} && 0%{?rhel} < 8 +%pretrans %{pkgname}-npm -p <lua> +-- Remove all of the symlinks from the bundled npm node_modules directory +base_path = "%{_prefix}/lib/node_modules/npm/node_modules/" +d_st = posix.stat(base_path) +if d_st then + for f in posix.files(base_path) do + path = base_path..f + st = posix.stat(path) + if st and st.type == "link" then + os.remove(path) + end + end +end +%endif + +# This can be removed once F37 is EOL +%pretrans -n %{pkgname} -p <lua> +path = "/usr/lib/node_modules" +st = posix.stat(path) +if st and st.type == "directory" then + status = os.rename(path, path .. ".rpmmoved") + if not status then + suffix = 0 + while not status do + suffix = suffix + 1 + status = os.rename(path .. ".rpmmoved", path .. ".rpmmoved." .. suffix) + end + os.rename(path, path .. ".rpmmoved") + end +end + + +%files -n %{pkgname} +%doc AUTHORS CHANGELOG.md onboarding.md GOVERNANCE.md README.md + +%if 0%{?nodejs_default} +%{_bindir}/node +%doc %{_mandir}/man1/node.1* +%{nodejs_sitelib} + +{% if NODE_MAJOR < 19 -%} +%dir %{_datadir}/systemtap +%dir %{_datadir}/systemtap/tapset +%{_datadir}/systemtap/tapset/node.stp +%dir %{_usr}/lib/dtrace +%{_usr}/lib/dtrace/node.d +{% endif %} +%endif + +%{_bindir}/node-%{nodejs_major} +%{nodejs_private_sitelib} + +%doc %{_mandir}/nodejs-%{nodejs_major}/man1/node.1* + + +%files -n %{pkgname}-devel +%{_includedir}/node +%{_libdir}/libnode.so +%{nodejs_datadir}/common.gypi +%{_pkgdocdir}/gdbinit + + +%files -n %{pkgname}-full-i18n +%dir %{icudatadir} +%{icudatadir}/icudt%{icu_major}*.dat + + +%files -n %{pkgname}-libs +%license LICENSE +%{_libdir}/libnode.so.%{nodejs_soversion} +%{_libdir}/libv8.so.%{v8_major} +%{_libdir}/libv8_libbase.so.%{v8_major} +%{_libdir}/libv8_libplatform.so.%{v8_major} +%dir %{nodejs_datadir}/ + + +%files -n v8-%{v8_major}.%{v8_minor}-devel +%{_includedir}/libplatform +%{_includedir}/v8*.h +%{_includedir}/cppgc +%{_libdir}/libv8.so +%{_libdir}/libv8_libbase.so +%{_libdir}/libv8_libplatform.so + + +%files -n %{pkgname}-npm +%if 0%{?nodejs_default} +%{_bindir}/npm +%{_bindir}/npx +%{_prefix}/etc/npmrc +%config(noreplace) %{_sysconfdir}/npmrc +%ghost %{_sysconfdir}/npmignore + +%doc %{_mandir}/man*/ +%exclude %doc %{_mandir}/man1/node.1* +%endif + +%{_bindir}/npm-%{nodejs_major} +%{_bindir}/npx-%{nodejs_major} +%{nodejs_private_sitelib}/npm + +%doc %{_mandir}/nodejs-%{nodejs_major}/ +%exclude %doc %{_mandir}/nodejs-%{nodejs_major}/man1/node.1* + + +%files -n %{pkgname}-docs +%doc doc +%dir %{_pkgdocdir} +%{_pkgdocdir}/html +%{_pkgdocdir}/npm/docs + + +%changelog +%autochangelog
commit 247177a408a7baa515bec4b07df6a4db00e1ddcf Author: Stephen Gallagher sgallagh@redhat.com Date: Thu Feb 23 14:56:25 2023 -0500
Fix an incompatibility with GCC 13+
- The Makefile patch is also no longer needed since we switched to ninja.
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch deleted file mode 100644 index a52085b..0000000 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 8f3c83d423b8b4fac1958f84ca5d05db4eb849d2 Mon Sep 17 00:00:00 2001 -From: Zuzana Svetlikova zsvetlik@redhat.com -Date: Fri, 17 Apr 2020 12:59:44 +0200 -Subject: [PATCH 1/2] Disable running gyp on shared deps - ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 6d6f2e472db45c7948093ca2497ad1935775a382..88e1a11e12218f69c752bdbe98ae5e64104d8418 100644 ---- a/Makefile -+++ b/Makefile -@@ -148,7 +148,7 @@ with-code-cache test-code-cache: - $(warning '$@' target is a noop) - - out/Makefile: config.gypi common.gypi node.gyp \ -- deps/uv/uv.gyp deps/llhttp/llhttp.gyp deps/zlib/zlib.gyp \ -+ deps/llhttp/llhttp.gyp \ - tools/v8_gypfiles/toolchain.gypi tools/v8_gypfiles/features.gypi \ - tools/v8_gypfiles/inspector.gypi tools/v8_gypfiles/v8.gyp - $(PYTHON) tools/gyp_node.py -f make --- -2.37.3 - diff --git a/0001-deps-V8-cherry-pick-c2792e58035f.patch b/0001-deps-V8-cherry-pick-c2792e58035f.patch new file mode 100644 index 0000000..4c2ab8a --- /dev/null +++ b/0001-deps-V8-cherry-pick-c2792e58035f.patch @@ -0,0 +1,89 @@ +From 2490f3ee8cb0ed4f7c536a4968c4c82a1ec124bd Mon Sep 17 00:00:00 2001 +From: Jiawen Geng technicalcute@gmail.com +Date: Fri, 14 Oct 2022 09:54:33 +0800 +Subject: [PATCH] deps: V8: cherry-pick c2792e58035f +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Original commit message: + + [base] Fix build with gcc-13 + + See https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes. + + Also see Gentoo Linux bug report: https://bugs.gentoo.org/865981 + + Change-Id: I421f396b02ba37e12ee70048ee33e034f8113566 + Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3934140 + Reviewed-by: Clemens Backes clemensb@chromium.org + Reviewed-by: Simon Zünd szuend@chromium.org + Commit-Queue: Clemens Backes clemensb@chromium.org + Cr-Commit-Position: refs/heads/main@{#83587} + +Refs: https://github.com/v8/v8/commit/c2792e58035fcbaa16d0cb70998852fbeb5df4cc +PR-URL: https://github.com/nodejs/node/pull/44961 +Fixes: https://github.com/nodejs/node/issues/43642 +Reviewed-By: Michaël Zasso targos@protonmail.com +Reviewed-By: Richard Lau rlau@redhat.com +Reviewed-By: Luigi Pinca luigipinca@gmail.com +Reviewed-By: Colin Ihrig cjihrig@gmail.com +--- + common.gypi | 2 +- + deps/v8/AUTHORS | 1 + + deps/v8/src/base/logging.h | 1 + + deps/v8/src/inspector/v8-string-conversions.h | 1 + + 4 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/common.gypi b/common.gypi +index cbf9c3810d74008d30a0cad59c26a395520073ec..0121084a433823f32caa2dff8c3e4092a25a1c5d 100644 +--- a/common.gypi ++++ b/common.gypi +@@ -37,7 +37,7 @@ + + # Reset this number to 0 on major V8 upgrades. + # Increment by one for each non-official patch applied to deps/v8. +- 'v8_embedder_string': '-node.24', ++ 'v8_embedder_string': '-node.25', + + ##### V8 defaults for Node.js ##### + +diff --git a/deps/v8/AUTHORS b/deps/v8/AUTHORS +index 35c49a01da884f2fa0e313e6db04c65eabe2a878..736d3df9f75cfa8f1d062df4d06564532614ddf6 100644 +--- a/deps/v8/AUTHORS ++++ b/deps/v8/AUTHORS +@@ -236,6 +236,7 @@ Vlad Burlik vladbph@gmail.com + Vladimir Krivosheev develar@gmail.com + Vladimir Shutoff vovan@shutoff.ru + Wael Almattar waelsy123@gmail.com ++WANG Xuerui git@xen0n.name + Wei Wu lazyparser@gmail.com + Wenlu Wang kingwenlu@gmail.com + Wenyu Zhao wenyu.zhao@anu.edu.au +diff --git a/deps/v8/src/base/logging.h b/deps/v8/src/base/logging.h +index 08db24a947eca261fb9b5b45431383792ce65660..38be165fc13d62d897afb93126fd63e7cbbf98ab 100644 +--- a/deps/v8/src/base/logging.h ++++ b/deps/v8/src/base/logging.h +@@ -5,6 +5,7 @@ + #ifndef V8_BASE_LOGGING_H_ + #define V8_BASE_LOGGING_H_ + ++#include <cstdint> + #include <cstring> + #include <sstream> + #include <string> +diff --git a/deps/v8/src/inspector/v8-string-conversions.h b/deps/v8/src/inspector/v8-string-conversions.h +index c1d69c18f0a8e51e080128258b854fe797f7dae4..eb33c6816a588299c3efb79e90fdca49ce9cf8af 100644 +--- a/deps/v8/src/inspector/v8-string-conversions.h ++++ b/deps/v8/src/inspector/v8-string-conversions.h +@@ -5,6 +5,7 @@ + #ifndef V8_INSPECTOR_V8_STRING_CONVERSIONS_H_ + #define V8_INSPECTOR_V8_STRING_CONVERSIONS_H_ + ++#include <cstdint> + #include <string> + + // Conversion routines between UT8 and UTF16, used by string-16.{h,cc}. You may +-- +2.39.2 + diff --git a/nodejs16.spec b/nodejs16.spec index f8a66a9..4ef7ac7 100644 --- a/nodejs16.spec +++ b/nodejs16.spec @@ -161,8 +161,9 @@ Source102: wasi-sdk-11.0-linux.tar.gz Source111: undici-5.19.1-stripped.tar.gz Source112: wasi-sdk-14.0-linux.tar.gz
-# Disable running gyp on bundled deps we don't use -Patch1: 0001-Disable-running-gyp-on-shared-deps.patch +# Fix an incompatibility with GCC 13+ +# Backport of https://github.com/nodejs/node/pull/44961 +Patch: 0001-deps-V8-cherry-pick-c2792e58035f.patch
%if 0%{?nodejs_default} %global pkgname nodejs diff --git a/packaging/nodejs.spec.in b/packaging/nodejs.spec.in index d2596f1..154f481 100644 --- a/packaging/nodejs.spec.in +++ b/packaging/nodejs.spec.in @@ -161,8 +161,9 @@ Source102: wasi-sdk-@LEXER_WASI_MAJOR@.@LEXER_WASI_MINOR@-linux.tar.gz Source111: undici-@UNDICI_VERSION@-stripped.tar.gz Source112: wasi-sdk-@UNDICI_WASI_MAJOR@.@UNDICI_WASI_MINOR@-linux.tar.gz
-# Disable running gyp on bundled deps we don't use -Patch1: 0001-Disable-running-gyp-on-shared-deps.patch +# Fix an incompatibility with GCC 13+ +# Backport of https://github.com/nodejs/node/pull/44961 +Patch: 0001-deps-V8-cherry-pick-c2792e58035f.patch
%if 0%{?nodejs_default} %global pkgname nodejs
commit f00328f8e456e5f303feb38d67dd996da5bc8b98 Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Feb 21 14:24:11 2023 -0500
Update to latest nodejs-sources.sh
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs-sources.sh b/nodejs-sources.sh index a7add5e..e83ef8f 100755 --- a/nodejs-sources.sh +++ b/nodejs-sources.sh @@ -127,6 +127,16 @@ 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)) + rm -rf node-v${version}.tar.gz \ node-v${version}-stripped.tar.gz \ node-v${version}/ \ @@ -283,34 +293,43 @@ echo "=========================" echo "${UNDICI_VERSION}" echo "WASI-SDK: ${UNDICI_WASI_MAJOR}.${UNDICI_WASI_MINOR}" echo +echo "ada" +echo "=========================" +ADA_VERSION=$(grep -oP '(?<=#define ADA_VERSION ).*"' node-v${version}/deps/ada/ada.h |sed -e 's/^"//' -e 's/"$//') +echo "${ADA_VERSION}" +echo echo "Applying versions to spec template"
-sed -e "s/@NODE_MAJOR@/${NODE_MAJOR}/g" \ +sed -e "s/@NODE_PKG_MAJOR@/${NODE_PKG_MAJOR}/g" \ + -e "s/@NODE_MAJOR@/${NODE_MAJOR}/g" \ -e "s/@NODE_MINOR@/${NODE_MINOR}/g" \ -e "s/@NODE_PATCH@/${NODE_PATCH}/g" \ + -e "s/@FEDORA_DEFAULT_RELEASE_LOW@/${FEDORA_DEFAULT_RELEASE_LOW}/g" \ + -e "s/@FEDORA_DEFAULT_RELEASE_HIGH@/${FEDORA_DEFAULT_RELEASE_HIGH}/g" \ -e "s/@NODE_SOVERSION@/${NODE_SOVERSION}/g" \ -e "s/@V8_MAJOR@/${V8_MAJOR}/g" \ -e "s/@V8_MINOR@/${V8_MINOR}/g" \ -e "s/@V8_BUILD@/${V8_BUILD}/g" \ -e "s/@V8_PATCH@/${V8_PATCH}/g" \ - -e "s/@C_ARES_VERSION@/${C_ARES_VERSION}/g" \ - -e "s/@LLHTTP_VERSION@/${LLHTTP_MAJOR}.${LLHTTP_MINOR}.${LLHTTP_PATCH}/g" \ - -e "s/@LIBUV_VERSION@/${UV_MAJOR}.${UV_MINOR}.${UV_PATCH}/g" \ - -e "s/@NGHTTP2_VERSION@/${NGHTTP2_VERSION}/g" \ - -e "s/@ICU_MAJOR@/${ICU_MAJOR}/g" \ - -e "s/@ICU_MINOR@/${ICU_MINOR}/g" \ - -e "s/@PUNYCODE_VERSION@/${PUNYCODE_VERSION}/g" \ - -e "s/@UVWASI_VERSION@/${UVWASI_VERSION}/g" \ - -e "s/@NPM_VERSION@/${NPM_VERSION}/g" \ - -e "s/@ZLIB_VERSION@/${ZLIB_VERSION}/g" \ - -e "s/@LEXER_VERSION@/${LEXER_VERSION}/g" \ - -e "s/@LEXER_WASI_MAJOR@/${LEXER_WASI_MAJOR}/g" \ - -e "s/@LEXER_WASI_MINOR@/${LEXER_WASI_MINOR}/g" \ - -e "s/@UNDICI_VERSION@/${UNDICI_VERSION}/g" \ - -e "s/@UNDICI_WASI_MAJOR@/${UNDICI_WASI_MAJOR}/g" \ - -e "s/@UNDICI_WASI_MINOR@/${UNDICI_WASI_MINOR}/g" \ + -e "s/@C_ARES_VERSION@/${C_ARES_VERSION}/g" \ + -e "s/@LLHTTP_VERSION@/${LLHTTP_MAJOR}.${LLHTTP_MINOR}.${LLHTTP_PATCH}/g" \ + -e "s/@LIBUV_VERSION@/${UV_MAJOR}.${UV_MINOR}.${UV_PATCH}/g" \ + -e "s/@NGHTTP2_VERSION@/${NGHTTP2_VERSION}/g" \ + -e "s/@ICU_MAJOR@/${ICU_MAJOR}/g" \ + -e "s/@ICU_MINOR@/${ICU_MINOR}/g" \ + -e "s/@PUNYCODE_VERSION@/${PUNYCODE_VERSION}/g" \ + -e "s/@UVWASI_VERSION@/${UVWASI_VERSION}/g" \ + -e "s/@NPM_VERSION@/${NPM_VERSION}/g" \ + -e "s/@ZLIB_VERSION@/${ZLIB_VERSION}/g" \ + -e "s/@LEXER_VERSION@/${LEXER_VERSION}/g" \ + -e "s/@LEXER_WASI_MAJOR@/${LEXER_WASI_MAJOR}/g" \ + -e "s/@LEXER_WASI_MINOR@/${LEXER_WASI_MINOR}/g" \ + -e "s/@UNDICI_VERSION@/${UNDICI_VERSION}/g" \ + -e "s/@UNDICI_WASI_MAJOR@/${UNDICI_WASI_MAJOR}/g" \ + -e "s/@UNDICI_WASI_MINOR@/${UNDICI_WASI_MINOR}/g" \ + -e "s/@ADA_VERSION@/${ADA_VERSION}/g" \ ${SCRIPT_DIR}/packaging/nodejs.spec.in \ - > ${SCRIPT_DIR}/nodejs${NODE_MAJOR}.spec + > ${SCRIPT_DIR}/nodejs${NODE_PKG_MAJOR}.spec
rm -rf node-v${version} # ] <-- needed because of Argbash diff --git a/nodejs16.spec b/nodejs16.spec index b82d3d4..f8a66a9 100644 --- a/nodejs16.spec +++ b/nodejs16.spec @@ -130,7 +130,7 @@ %global histogram_version 0.9.7
-Name: nodejs%{nodejs_major} +Name: nodejs16 Epoch: %{nodejs_epoch} Version: %{nodejs_version} Release: %{nodejs_release} @@ -169,7 +169,7 @@ Patch1: 0001-Disable-running-gyp-on-shared-deps.patch %package -n %{pkgname} Summary: JavaScript runtime %else -%global pkgname nodejs%{nodejs_major} +%global pkgname nodejs16 %endif
BuildRequires: make diff --git a/packaging/nodejs.spec.in b/packaging/nodejs.spec.in index 3ff7194..d2596f1 100644 --- a/packaging/nodejs.spec.in +++ b/packaging/nodejs.spec.in @@ -57,7 +57,7 @@
# Determine if this should be the default version for this Fedora release # The default version will own /usr/bin/node and friends -%if 0%{?fedora} == 35 || 0%{?fedora} == 36 +%if 0%{?fedora} == @FEDORA_DEFAULT_RELEASE_LOW@ || 0%{?fedora} == @FEDORA_DEFAULT_RELEASE_HIGH@ %global nodejs_default %{nodejs_major} %endif %global nodejs_private_sitelib %{nodejs_sitelib}_%{nodejs_major} @@ -130,7 +130,7 @@ %global histogram_version 0.9.7
-Name: nodejs%{nodejs_major} +Name: nodejs@NODE_PKG_MAJOR@ Epoch: %{nodejs_epoch} Version: %{nodejs_version} Release: %{nodejs_release} @@ -169,7 +169,7 @@ Patch1: 0001-Disable-running-gyp-on-shared-deps.patch %package -n %{pkgname} Summary: JavaScript runtime %else -%global pkgname nodejs%{nodejs_major} +%global pkgname nodejs@NODE_PKG_MAJOR@ %endif
BuildRequires: make
commit a4ea80f381494b57fa3382a6f5b800860f23caba Author: Stephen Gallagher sgallagh@redhat.com Date: Fri Feb 17 11:13:15 2023 -0500
Update to 16.19.1
- https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V16.md#16.... - packaging: Drop vestigial package.cfg file. - packaging: Make nodejs-sources.sh clean up after itself
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs-sources.sh b/nodejs-sources.sh index a6da118..a7add5e 100755 --- a/nodejs-sources.sh +++ b/nodejs-sources.sh @@ -159,6 +159,7 @@ rm -f ${LEXER_VERSION}.tar.gz LEXER_WASI_MAJOR=$(grep -oP '(?<=^\W../wasi-sdk-)\d+.\d+' cjs-module-lexer-${LEXER_VERSION}/Makefile | cut -d'.' -f1) LEXER_WASI_MINOR=$(grep -oP '(?<=^\W../wasi-sdk-)\d+.\d+' cjs-module-lexer-${LEXER_VERSION}/Makefile | cut -d'.' -f2) wget https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-$%7BLEXER... +rm -rf cjs-module-lexer-${LEXER_VERSION}/
# Download the undici sources UNDICI_VERSION=$(jq -r '.version' node-v${version}/deps/undici/src/package.json) @@ -172,6 +173,7 @@ rm -f v${UNDICI_VERSION}.tar.gz UNDICI_WASI_MAJOR=$(grep -oP '(?<=WASI_SDK_VERSION_MAJOR=).*' undici-${UNDICI_VERSION}/build/Dockerfile) UNDICI_WASI_MINOR=$(grep -oP '(?<=WASI_SDK_VERSION_MINOR=).*' undici-${UNDICI_VERSION}/build/Dockerfile) wget https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-$%7BUNDIC... +rm -rf undici-${UNDICI_VERSION}/
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') diff --git a/nodejs16.spec b/nodejs16.spec index 46be754..b82d3d4 100644 --- a/nodejs16.spec +++ b/nodejs16.spec @@ -45,7 +45,7 @@ %global nodejs_epoch 1 %global nodejs_major 16 %global nodejs_minor 19 -%global nodejs_patch 0 +%global nodejs_patch 1 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 93 @@ -158,7 +158,7 @@ Source100: nodejs-sources.sh # These are generated by nodejs-sources.sh Source101: cjs-module-lexer-1.2.2-stripped.tar.gz Source102: wasi-sdk-11.0-linux.tar.gz -Source111: undici-5.12.0-stripped.tar.gz +Source111: undici-5.19.1-stripped.tar.gz Source112: wasi-sdk-14.0-linux.tar.gz
# Disable running gyp on bundled deps we don't use diff --git a/package.cfg b/package.cfg deleted file mode 100644 index c67c182..0000000 --- a/package.cfg +++ /dev/null @@ -1,2 +0,0 @@ -[koji] -targets = f36 f35 diff --git a/sources b/sources index a7cac1b..71468d5 100644 --- a/sources +++ b/sources @@ -1,7 +1,7 @@ -SHA512 (node-v16.19.0-stripped.tar.gz) = a7f4c9e092d122aaa067b806d62838794516500e7e8d732465e5a3cdaa19c6b2551711fc0271c84d164ee948e02480c10981b838befe7201f0a26b5624fa6a5f +SHA512 (node-v16.19.1-stripped.tar.gz) = 58683c3a57e973a228e42b3dc1081d7d19520176ac4e49e68017fd23d43bff2ef709e32ca861c4a3b7cda516aa66461ab83a2b764785a5991a6692a476c20453 SHA512 (icu4c-71_1-data-bin-b.zip) = 2bee9b93699c40a53c2e768d4678309fbd49e052e197a80fb76842b4001ee65e548459654ef7e7d154b6289f915fccbcb5b3109edcd61e74f0db289f2bec61fd SHA512 (icu4c-71_1-data-bin-l.zip) = 07a299b1cd37cd7b07c5e1a7c6871c0dbbeabb2dec6e11c89237f41e56fd29e1a65725be102b4e4ab722183c02810a5df3ed47c3b9b4a7c14bc4c72ab127a27e -SHA512 (cjs-module-lexer-1.2.2-stripped.tar.gz) = 319f53737bd617b95c88bee25b3095270a54fc9c57d722e5c54dfad1e972e09fbbe51d510436af504b0f0a16546268940528c62328abedaff70b0161153204fc +SHA512 (cjs-module-lexer-1.2.2-stripped.tar.gz) = 73e3d417afe6debcfc049b75cabef3d93442584cc19f3218819c10a68bb0a162d19aa352d8f712ba450cbabfc489b8cc8788f27ad9372277db83f30d4989929e SHA512 (wasi-sdk-11.0-linux.tar.gz) = e3ed4597f7f2290967eef6238e9046f60abbcb8633a4a2a51525d00e7393df8df637a98a5b668217d332dd44fcbf2442ec7efd5e65724e888d90611164451e20 -SHA512 (undici-5.12.0-stripped.tar.gz) = 16faaeb8179ab3480b0b0b926b959c8c845ffcc9458c91b79b8af9937b1e67bcfad2634e329ccbd7d635efec53fa1c7c82c6679ae648199b053437911e775712 +SHA512 (undici-5.19.1-stripped.tar.gz) = 67cfc37150bcd4324ed4171620c9ec89e26e01dbc5bd0ec5a60eab0268e3582966f19107530ef09ca1e0e5185dda26f5e94812b00212a40bfb0d2c915db11e51 SHA512 (wasi-sdk-14.0-linux.tar.gz) = 288a367e051f5b3f5853de97fabaedd3acf2255819d50c24f48f573897518500ea808342fd9aea832b2a5717089807bf1cbcf6d46b156b4eb60cc6b3c02ee997
commit 9b46cd92752d026623d76009663bf96b11d41e3a Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Jan 23 17:19:27 2023 -0500
Upload sources correctly
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs-sources.sh b/nodejs-sources.sh index 7cd649b..a6da118 100755 --- a/nodejs-sources.sh +++ b/nodejs-sources.sh @@ -181,7 +181,7 @@ rm -Rf icu4c-${ICU_MAJOR}_${ICU_MINOR}-data-bin-*.zip wget $(grep Source3 packaging/nodejs.spec.in | 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.in | sed --expression="s/.*http/http/g" --expression="s/(%{icu_major})/${ICU_MAJOR}/g" --expression="s/(%{icu_minor})/${ICU_MINOR}/g")
-if [ _arg_push = 'on' ]; then +if [ $_arg_push = 'on' ]; then push_flag='' else push_flag='--offline' diff --git a/sources b/sources index 91ac201..a7cac1b 100644 --- a/sources +++ b/sources @@ -1,7 +1,7 @@ -SHA512 (node-v16.19.0-stripped.tar.gz) = eadaff591ff8071d4a6d5e35f2adcdb1c1bf64237930a969595a24f21185c6f07eac2de5c0636d41f2198b1a3d9af3bbcc72f7c95998ae77703a04861beb11fe +SHA512 (node-v16.19.0-stripped.tar.gz) = a7f4c9e092d122aaa067b806d62838794516500e7e8d732465e5a3cdaa19c6b2551711fc0271c84d164ee948e02480c10981b838befe7201f0a26b5624fa6a5f SHA512 (icu4c-71_1-data-bin-b.zip) = 2bee9b93699c40a53c2e768d4678309fbd49e052e197a80fb76842b4001ee65e548459654ef7e7d154b6289f915fccbcb5b3109edcd61e74f0db289f2bec61fd SHA512 (icu4c-71_1-data-bin-l.zip) = 07a299b1cd37cd7b07c5e1a7c6871c0dbbeabb2dec6e11c89237f41e56fd29e1a65725be102b4e4ab722183c02810a5df3ed47c3b9b4a7c14bc4c72ab127a27e -SHA512 (cjs-module-lexer-1.2.2-stripped.tar.gz) = 58dffa48c205c9cf6e0dcb5e9b146756109f8528ddbd3b110be0dbac5ac63d5d397cddc60f1272823b1ccb3fd92a88771cff0a95dddf8d2895a245fe9203843b +SHA512 (cjs-module-lexer-1.2.2-stripped.tar.gz) = 319f53737bd617b95c88bee25b3095270a54fc9c57d722e5c54dfad1e972e09fbbe51d510436af504b0f0a16546268940528c62328abedaff70b0161153204fc SHA512 (wasi-sdk-11.0-linux.tar.gz) = e3ed4597f7f2290967eef6238e9046f60abbcb8633a4a2a51525d00e7393df8df637a98a5b668217d332dd44fcbf2442ec7efd5e65724e888d90611164451e20 -SHA512 (undici-5.12.0-stripped.tar.gz) = 3c1e0fc41f25a69e3fb96f947f76a575fb058fe81e04995a5ad81554fb0ad3885f10b1295e2629b513a3391841664c1ffefc32a1dd1c5f46df70e374dfc6c40e +SHA512 (undici-5.12.0-stripped.tar.gz) = 16faaeb8179ab3480b0b0b926b959c8c845ffcc9458c91b79b8af9937b1e67bcfad2634e329ccbd7d635efec53fa1c7c82c6679ae648199b053437911e775712 SHA512 (wasi-sdk-14.0-linux.tar.gz) = 288a367e051f5b3f5853de97fabaedd3acf2255819d50c24f48f573897518500ea808342fd9aea832b2a5717089807bf1cbcf6d46b156b4eb60cc6b3c02ee997
commit 02d10a5eb10e5065e10521882c96410e40bd421b Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Jan 23 15:51:13 2023 -0500
Rework nodejs-sources.sh
This will now automatically update the specfile from the .packaging/nodejs.spec.in template.
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs-sources.sh b/nodejs-sources.sh index 019e611..7cd649b 100755 --- a/nodejs-sources.sh +++ b/nodejs-sources.sh @@ -3,23 +3,23 @@ # arguments, make sure to call # `argbash nodejs-tarball.sh -o nodejs-tarball.sh`
-# ARG_POSITIONAL_SINGLE([version],[Node.js release version],[""]) +# ARG_POSITIONAL_SINGLE([version],[Node.js release version]) +# ARG_OPTIONAL_BOOLEAN([push],[],[Whether to upload to the lookaside cache],[on]) # 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 ### +### 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 - test -n "$_ret" || _ret=1 - test "$_PRINT_HELP" = yes && print_help >&2 + local _ret="${2:-1}" + test "${_PRINT_HELP:-no}" = yes && print_help >&2 echo "$1" >&2 - exit ${_ret} + exit "${_ret}" }
@@ -32,15 +32,17 @@ begins_with_short_option()
# THE DEFAULTS INITIALIZATION - POSITIONALS _positionals=() -_arg_version="" +_arg_version= # THE DEFAULTS INITIALIZATION - OPTIONALS +_arg_push="on"
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 'Usage: %s [--(no-)push] [-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' "-h, --help: Prints help" }
@@ -52,6 +54,10 @@ parse_commandline() do _key="$1" case "$_key" in + --no-push|--push) + _arg_push="on" + test "${1:0:5}" = "--no-" && _arg_push="off" + ;; -h|--help) print_help exit 0 @@ -73,7 +79,9 @@ parse_commandline()
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 + 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 }
@@ -100,6 +108,10 @@ assign_positional_args 1 "${_positionals[@]}" ### END OF CODE GENERATED BY Argbash (sortof) ### ]) # [ <-- needed because of Argbash
+SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +alias wget='wget --quiet' + packages=("jq" "wget" "tar" "fedpkg" "grep" "sed")
rpm -q ${packages[@]} >/dev/null @@ -109,22 +121,23 @@ fi
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 +version=$_arg_version
NODE_MAJOR=$(echo $version | cut -d. -f1) +NODE_MINOR=$(echo $version | cut -d. -f2) +NODE_PATCH=$(echo $version | cut -d. -f3)
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$%7Bversion%7D/node-v$%7Bversion%7D.tar.gz \ http://nodejs.org/dist/v$%7Bversion%7D/SHASUMS256.txt +echo Validating sha256sum sha256sum -c SHASUMS256.txt --ignore-missing rm -f SHASUMS256.txt tar -zxf node-v${version}.tar.gz @@ -134,56 +147,102 @@ 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 cjs-module-lexer sources +LEXER_VERSION=$(jq -r '.version' node-v${version}/deps/cjs-module-lexer/package.json) +wget https://github.com/nodejs/cjs-module-lexer/archive/refs/tags/$%7BLEXER_VERSI... +tar -zxf ${LEXER_VERSION}.tar.gz +rm -f cjs-module-lexer-${LEXER_VERSION}/lib/lexer.wasm +tar -zcf cjs-module-lexer-${LEXER_VERSION}-stripped.tar.gz cjs-module-lexer-${LEXER_VERSION}/ +rm -f ${LEXER_VERSION}.tar.gz + +# Download the WASI compiler used to build cjs-module-lexer +LEXER_WASI_MAJOR=$(grep -oP '(?<=^\W../wasi-sdk-)\d+.\d+' cjs-module-lexer-${LEXER_VERSION}/Makefile | cut -d'.' -f1) +LEXER_WASI_MINOR=$(grep -oP '(?<=^\W../wasi-sdk-)\d+.\d+' cjs-module-lexer-${LEXER_VERSION}/Makefile | cut -d'.' -f2) +wget https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-$%7BLEXER... + +# Download the undici sources +UNDICI_VERSION=$(jq -r '.version' node-v${version}/deps/undici/src/package.json) +wget https://github.com/nodejs/undici/archive/refs/tags/v$%7BUNDICI_VERSION%7D.ta... +tar -zxf v${UNDICI_VERSION}.tar.gz +rm -f undici-${UNDICI_VERSION}/lib/llhttp/llhttp*.wasm* +tar -zcf undici-${UNDICI_VERSION}-stripped.tar.gz undici-${UNDICI_VERSION}/ +rm -f v${UNDICI_VERSION}.tar.gz + +# Download the WASI compiler used to build undici +UNDICI_WASI_MAJOR=$(grep -oP '(?<=WASI_SDK_VERSION_MAJOR=).*' undici-${UNDICI_VERSION}/build/Dockerfile) +UNDICI_WASI_MINOR=$(grep -oP '(?<=WASI_SDK_VERSION_MINOR=).*' undici-${UNDICI_VERSION}/build/Dockerfile) +wget https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-$%7BUNDIC... + 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 nodejs${NODE_MAJOR}.spec | sed --expression="s/.*http/http/g" --expression="s/(%{icu_major})/${ICU_MAJOR}/g" --expression="s/(%{icu_minor})/${ICU_MINOR}/g") -wget $(grep Source4 nodejs${NODE_MAJOR}.spec | sed --expression="s/.*http/http/g" --expression="s/(%{icu_major})/${ICU_MAJOR}/g" --expression="s/(%{icu_minor})/${ICU_MINOR}/g") +wget $(grep Source3 packaging/nodejs.spec.in | 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.in | sed --expression="s/.*http/http/g" --expression="s/(%{icu_major})/${ICU_MAJOR}/g" --expression="s/(%{icu_minor})/${ICU_MINOR}/g") + +if [ _arg_push = 'on' ]; then + push_flag='' +else + push_flag='--offline' +fi
-fedpkg new-sources node-v${version}-stripped.tar.gz icu4c-${ICU_MAJOR}_${ICU_MINOR}-data-bin-*.zip +fedpkg new-sources ${push_flag} \ + node-v${version}-stripped.tar.gz \ + icu4c-${ICU_MAJOR}_${ICU_MINOR}-data-bin-*.zip \ + cjs-module-lexer-${LEXER_VERSION}-stripped.tar.gz \ + wasi-sdk-${LEXER_WASI_MAJOR}.${LEXER_WASI_MINOR}-linux.tar.gz \ + undici-${UNDICI_VERSION}-stripped.tar.gz \ + wasi-sdk-${UNDICI_WASI_MAJOR}.${UNDICI_WASI_MINOR}-linux.tar.gz
rm -f node-v${version}.tar.gz
set +e
# Determine the bundled versions of the various packages -echo "Bundled software versions" +echo "Included software versions" echo "-------------------------" echo +echo "Node.js version" +echo "=========================" +echo "${version}" +echo echo "libnode shared object version" echo "=========================" -grep "define NODE_MODULE_VERSION" node-v${version}/src/node_version.h +NODE_SOVERSION=$(grep -oP '(?<=#define NODE_MODULE_VERSION )\d+' node-v${version}/src/node_version.h) +echo "${NODE_SOVERSION}" 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 +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 "=========================" -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 +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 "=========================" -grep "define LLHTTP_VERSION_MAJOR" node-v${version}/deps/llhttp/include/llhttp.h -grep "define LLHTTP_VERSION_MINOR" node-v${version}/deps/llhttp/include/llhttp.h -grep "define LLHTTP_VERSION_PATCH" node-v${version}/deps/llhttp/include/llhttp.h +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) +echo "${LLHTTP_MAJOR}.${LLHTTP_MINOR}.${LLHTTP_PATCH}" 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 +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) +echo ${UV_MAJOR}.${UV_MINOR}.${UV_PATCH} echo echo "nghttp2" echo "=========================" -grep "define NGHTTP2_VERSION " node-v${version}/deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h +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 "ICU" echo "=========================" @@ -191,23 +250,65 @@ echo "${ICU_MAJOR}.${ICU_MINOR}" echo echo "punycode" echo "=========================" -grep "'version'" node-v${version}/lib/punycode.js +PUNYCODE_VERSION=$(/usr/bin/node -e "console.log(require('punycode').version)") +echo $PUNYCODE_VERSION echo echo "uvwasi" echo "=========================" -grep "define UVWASI_VERSION_MAJOR" node-v${version}/deps/uvwasi/include/uvwasi.h -grep "define UVWASI_VERSION_MINOR" node-v${version}/deps/uvwasi/include/uvwasi.h -grep "define UVWASI_VERSION_PATCH" node-v${version}/deps/uvwasi/include/uvwasi.h +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 "=========================" -grep ""version":" node-v${version}/deps/npm/package.json +NPM_VERSION=$(jq -r .version ./node-v${version}/deps/npm/package.json) +echo $NPM_VERSION echo echo "zlib" echo "=========================" -grep "define ZLIB_VERSION" node-v${version}/deps/zlib/zlib.h +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 "WASI-SDK: ${LEXER_WASI_MAJOR}.${LEXER_WASI_MINOR}" +echo +echo "undici" +echo "=========================" +echo "${UNDICI_VERSION}" +echo "WASI-SDK: ${UNDICI_WASI_MAJOR}.${UNDICI_WASI_MINOR}" echo -echo "Make sure these versions match what is in the RPM spec file" +echo "Applying versions to spec template" + +sed -e "s/@NODE_MAJOR@/${NODE_MAJOR}/g" \ + -e "s/@NODE_MINOR@/${NODE_MINOR}/g" \ + -e "s/@NODE_PATCH@/${NODE_PATCH}/g" \ + -e "s/@NODE_SOVERSION@/${NODE_SOVERSION}/g" \ + -e "s/@V8_MAJOR@/${V8_MAJOR}/g" \ + -e "s/@V8_MINOR@/${V8_MINOR}/g" \ + -e "s/@V8_BUILD@/${V8_BUILD}/g" \ + -e "s/@V8_PATCH@/${V8_PATCH}/g" \ + -e "s/@C_ARES_VERSION@/${C_ARES_VERSION}/g" \ + -e "s/@LLHTTP_VERSION@/${LLHTTP_MAJOR}.${LLHTTP_MINOR}.${LLHTTP_PATCH}/g" \ + -e "s/@LIBUV_VERSION@/${UV_MAJOR}.${UV_MINOR}.${UV_PATCH}/g" \ + -e "s/@NGHTTP2_VERSION@/${NGHTTP2_VERSION}/g" \ + -e "s/@ICU_MAJOR@/${ICU_MAJOR}/g" \ + -e "s/@ICU_MINOR@/${ICU_MINOR}/g" \ + -e "s/@PUNYCODE_VERSION@/${PUNYCODE_VERSION}/g" \ + -e "s/@UVWASI_VERSION@/${UVWASI_VERSION}/g" \ + -e "s/@NPM_VERSION@/${NPM_VERSION}/g" \ + -e "s/@ZLIB_VERSION@/${ZLIB_VERSION}/g" \ + -e "s/@LEXER_VERSION@/${LEXER_VERSION}/g" \ + -e "s/@LEXER_WASI_MAJOR@/${LEXER_WASI_MAJOR}/g" \ + -e "s/@LEXER_WASI_MINOR@/${LEXER_WASI_MINOR}/g" \ + -e "s/@UNDICI_VERSION@/${UNDICI_VERSION}/g" \ + -e "s/@UNDICI_WASI_MAJOR@/${UNDICI_WASI_MAJOR}/g" \ + -e "s/@UNDICI_WASI_MINOR@/${UNDICI_WASI_MINOR}/g" \ + ${SCRIPT_DIR}/packaging/nodejs.spec.in \ + > ${SCRIPT_DIR}/nodejs${NODE_MAJOR}.spec
rm -rf node-v${version} # ] <-- needed because of Argbash diff --git a/nodejs16.spec b/nodejs16.spec index c831349..46be754 100644 --- a/nodejs16.spec +++ b/nodejs16.spec @@ -152,8 +152,17 @@ Source3: https://github.com/unicode-org/icu/releases/download/release-%%7Bicu_majo Source4: https://github.com/unicode-org/icu/releases/download/release-%%7Bicu_major%7... Source100: nodejs-sources.sh
+# These are full sources for dependencies included as WASM blobs in the source of Node itself. +# Note: These sources would also include pre-compiled WASM blobs… so they are adjusted not to. +# Recipes for creating these blobs are included in the sources. +# These are generated by nodejs-sources.sh +Source101: cjs-module-lexer-1.2.2-stripped.tar.gz +Source102: wasi-sdk-11.0-linux.tar.gz +Source111: undici-5.12.0-stripped.tar.gz +Source112: wasi-sdk-14.0-linux.tar.gz + # Disable running gyp on bundled deps we don't use -Patch: 0001-Disable-running-gyp-on-shared-deps.patch +Patch1: 0001-Disable-running-gyp-on-shared-deps.patch
%if 0%{?nodejs_default} %global pkgname nodejs @@ -442,6 +451,22 @@ rm -rf deps/brotli rm -rf deps/v8/third_party/jinja2 rm -rf tools/inspector_protocol/jinja2
+# check for correct versions of dependencies we are bundling +check_wasm_dep() { + local -r name="$1" source="$2" packagejson="$3" + local -r expected_version="$(jq -r '.version' "${packagejson}")" + + if ls "${source}"|grep -q --fixed-strings "${expected_version}"; then + printf '%s version matches\n' "${name}" >&2 + else + printf '%s version MISMATCH: %s !~ %s\n' "${name}" "${expected_version}" "${source}" >&2 + return 1 + fi +} + +check_wasm_dep cjs-module-lexer '%{SOURCE101}' deps/cjs-module-lexer/package.json +check_wasm_dep undici '%{SOURCE111}' deps/undici/src/package.json + # Replace any instances of unversioned python with python3 pfiles=( $(grep -rl python) ) %py3_shebang_fix ${pfiles[@]} diff --git a/packaging/nodejs.spec.in b/packaging/nodejs.spec.in new file mode 100644 index 0000000..3ff7194 --- /dev/null +++ b/packaging/nodejs.spec.in @@ -0,0 +1,832 @@ +# The following macros control the usage of dependencies bundled from upstream. +# +# When to use what: +# - Regular (presumably non-modular) build: use neither (the default in Fedora) +# - Early bootstrapping build that is not intended to be shipped: +# use --with=bootstrap; this will bundle deps and add `~bootstrap` release suffix +# - Build with some dependencies not avalaible in necessary versions (i.e. module build): +# use --with=bundled; will bundle deps, but do not add the suffix +# +# create bootstrapping build with bundled deps and extra release suffix +%bcond_with bootstrap +# bundle dependencies that are not available in Fedora modules +%if %{with bootstrap} +%bcond_without bundled +%else +%bcond_with bundled +%endif + +%if 0%{?rhel} && 0%{?rhel} < 8 +%bcond_without bundled_zlib +%else +%bcond_with bundled_zlib +%endif + +# LTO is currently broken on Node.js builds +%define _lto_cflags %{nil} + +# Heavy-handed approach to avoiding issues with python +# bytecompiling files in the node_modules/ directory +%global __python %{python3} + +# == Master Relase == +# This is used by both the nodejs package and the npm subpackage that +# has a separate version - the name is special so that rpmdev-bumpspec +# will bump this rather than adding .1 to the end. +%global baserelease %autorelease + +%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}} + +# == Node.js Version == +# Note: Fedora should only ship LTS versions of Node.js (currently expected +# to be major versions with even numbers). The odd-numbered versions are new +# feature releases that are only supported for nine months, which is shorter +# than a Fedora release lifecycle. +%global nodejs_epoch 1 +%global nodejs_major @NODE_MAJOR@ +%global nodejs_minor @NODE_MINOR@ +%global nodejs_patch @NODE_PATCH@ +%global nodejs_abi %{nodejs_major}.%{nodejs_minor} +# nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h +%global nodejs_soversion @NODE_SOVERSION@ +%global nodejs_version %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch} +%global nodejs_release %{baserelease} +%global nodejs_envr %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release} + +%global nodejs_datadir %{_datarootdir}/node-%{nodejs_major} + +# Determine if this should be the default version for this Fedora release +# The default version will own /usr/bin/node and friends +%if 0%{?fedora} == 35 || 0%{?fedora} == 36 +%global nodejs_default %{nodejs_major} +%endif +%global nodejs_private_sitelib %{nodejs_sitelib}_%{nodejs_major} + + +# == Bundled Dependency Versions == +# v8 - from deps/v8/include/v8-version.h +# Epoch is set to ensure clean upgrades from the old v8 package +%global v8_epoch 3 +%global v8_major @V8_MAJOR@ +%global v8_minor @V8_MINOR@ +%global v8_build @V8_BUILD@ +%global v8_patch @V8_PATCH@ +%global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} +%global v8_release %{nodejs_epoch}.%{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release} + +# zlib - from deps/zlib/zlib.h +%global zlib_version @ZLIB_VERSION@ + +# c-ares - from deps/cares/include/ares_version.h +# https://github.com/nodejs/node/pull/9332 +%global c_ares_version @C_ARES_VERSION@ + +# llhttp - from deps/llhttp/include/llhttp.h +%global llhttp_version @LLHTTP_VERSION@ + +# libuv - from deps/uv/include/uv/version.h +%global libuv_version @LIBUV_VERSION@ + +# nghttp2 - from deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h +%global nghttp2_version @NGHTTP2_VERSION@ + +# ICU - from tools/icu/current_ver.dep +%global icu_major @ICU_MAJOR@ +%global icu_minor @ICU_MINOR@ +%global icu_version %{icu_major}.%{icu_minor} + +%global icudatadir %{nodejs_datadir}/icudata +%{!?little_endian: %global little_endian %(%{python3} -c "import sys;print (0 if sys.byteorder=='big' else 1)")} +# " this line just fixes syntax highlighting for vim that is confused by the above and continues literal + + +# OpenSSL minimum version +%global openssl11_minimum 1:1.1.1 +%global openssl30_minimum 1:3.0.2 + +# punycode - from lib/punycode.js +# Note: this was merged into the mainline since 0.6.x +# Note: this will be unmerged in an upcoming major release +%global punycode_version @PUNYCODE_VERSION@ + +# npm - from deps/npm/package.json +%global npm_epoch 1 +%global npm_version @NPM_VERSION@ + +# In order to avoid needing to keep incrementing the release version for the +# main package forever, we will just construct one for npm that is guaranteed +# to increment safely. Changing this can only be done during an update when the +# base npm version number is increasing. +%global npm_release %{nodejs_epoch}.%{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release} + +%global npm_envr %{npm_epoch}:%{npm_version}-%{npm_release} + +%global npm_obsoletes 1:8.19.2-1.16.18.1.3 + +# uvwasi - from deps/uvwasi/include/uvwasi.h +%global uvwasi_version @UVWASI_VERSION@ + +# histogram_c - assumed from timestamps +%global histogram_version 0.9.7 + + +Name: nodejs%{nodejs_major} +Epoch: %{nodejs_epoch} +Version: %{nodejs_version} +Release: %{nodejs_release} +Summary: JavaScript runtime +License: MIT and ASL 2.0 and ISC and BSD +Group: Development/Languages +URL: http://nodejs.org/ + +ExclusiveArch: %{nodejs_arches} + +# nodejs bundles openssl, but we use the system version in Fedora +# because openssl contains prohibited code, we remove openssl completely from +# the tarball, using the script in Source100 +Source0: node-v%{nodejs_version}-stripped.tar.gz +Source1: npmrc +Source2: btest402.js +# The binary data that icu-small can use to get icu-full capability +Source3: https://github.com/unicode-org/icu/releases/download/release-%%7Bicu_major%7... +Source4: https://github.com/unicode-org/icu/releases/download/release-%%7Bicu_major%7... +Source100: nodejs-sources.sh + +# These are full sources for dependencies included as WASM blobs in the source of Node itself. +# Note: These sources would also include pre-compiled WASM blobs… so they are adjusted not to. +# Recipes for creating these blobs are included in the sources. +# These are generated by nodejs-sources.sh +Source101: cjs-module-lexer-@LEXER_VERSION@-stripped.tar.gz +Source102: wasi-sdk-@LEXER_WASI_MAJOR@.@LEXER_WASI_MINOR@-linux.tar.gz +Source111: undici-@UNDICI_VERSION@-stripped.tar.gz +Source112: wasi-sdk-@UNDICI_WASI_MAJOR@.@UNDICI_WASI_MINOR@-linux.tar.gz + +# Disable running gyp on bundled deps we don't use +Patch1: 0001-Disable-running-gyp-on-shared-deps.patch + +%if 0%{?nodejs_default} +%global pkgname nodejs +%package -n %{pkgname} +Summary: JavaScript runtime +%else +%global pkgname nodejs%{nodejs_major} +%endif + +BuildRequires: make +BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: python%{python3_pkgversion}-setuptools +BuildRequires: python%{python3_pkgversion}-jinja2 +%if 0%{?rhel} && 0%{?rhel} < 9 +BuildRequires: python-unversioned-command +%endif +%if %{with bundled_zlib} +Provides: bundled(zlib) = %{zlib_version} +%else +BuildRequires: zlib-devel +%endif +BuildRequires: brotli-devel +%if 0%{?rhel} && 0%{?rhel} < 8 +BuildRequires: devtoolset-11-gcc +BuildRequires: devtoolset-11-gcc-c++ +%else +BuildRequires: gcc >= 8.3.0 +BuildRequires: gcc-c++ >= 8.3.0 +%endif + +BuildRequires: jq + +# needed to generate bundled provides for npm dependencies +# https://src.fedoraproject.org/rpms/nodejs/pull-request/2 +# https://pagure.io/nodejs-packaging/pull-request/10 +BuildRequires: nodejs-packaging + +BuildRequires: chrpath +BuildRequires: libatomic +BuildRequires: ninja-build +BuildRequires: systemtap-sdt-devel +BuildRequires: unzip + +Provides: nodejs = %{nodejs_envr} + +%if %{with bundled} +Provides: bundled(libuv) = %{libuv_version} +%else +BuildRequires: libuv-devel >= 1:%{libuv_version} +Requires: libuv >= 1:%{libuv_version} +%endif + +# Node.js frequently bumps this faster than Fedora can follow, +# so we will bundle it. +Provides: bundled(nghttp2) = %{nghttp2_version} + +# Temporarily bundle llhttp because the upstream doesn't +# provide releases for it. +Provides: bundled(llhttp) = %{llhttp_version} + + +%if 0%{?rhel} && 0%{?rhel} < 8 +BuildRequires: openssl11-devel >= %{openssl11_minimum} +Requires: openssl11 >= %{openssl11_minimum} +%global ssl_configure --shared-openssl --shared-openssl-includes=%{_includedir}/openssl11 --shared-openssl-libpath=%{_libdir}/openssl11 +%else + +%if 0%{?fedora} >= 36 +BuildRequires: openssl >= %{openssl30_minimum} +BuildRequires: openssl-devel >= %{openssl30_minimum} +%global openssl_fips_configure --openssl-is-fips +%else +Requires: openssl >= %{openssl11_minimum} +BuildRequires: openssl-devel >= %{openssl11_minimum} +%global openssl_fips_configure %{nil} +%endif + +%global ssl_configure --shared-openssl %{openssl_fips_configure} +%endif + +# we need the system certificate store +Requires: ca-certificates + +Requires: %{pkgname}-libs%{?_isa} = %{nodejs_envr} + +%if 0%{?fedora} || 0%{?rhel} >= 8 +# Pull in the docs and full-icu data by default +Recommends: %{pkgname}-docs = %{nodejs_envr} +Recommends: %{pkgname}-full-i18n%{?_isa} = %{nodejs_envr} +Recommends: %{pkgname}-npm >= %{npm_envr} +%endif + +# we need ABI virtual provides where SONAMEs aren't enough/not present so deps +# break when binary compatibility is broken +Provides: nodejs(abi) = %{nodejs_abi} +Provides: nodejs(abi%{nodejs_major}) = %{nodejs_abi} + +# this corresponds to the "engine" requirement in package.json +Provides: nodejs(engine) = %{nodejs_version} + +# Node.js currently has a conflict with the 'node' package in Fedora +# The ham-radio group has agreed to rename their binary for us, but +# in the meantime, we're setting an explicit Conflicts: here +Conflicts: node <= 0.3.2-12 + +# The punycode module was absorbed into the standard library in v0.6. +# It still exists as a seperate package for the benefit of users of older +# versions. Since we've never shipped anything older than v0.10 in Fedora, +# we don't need the seperate nodejs-punycode package, so we Provide it here so +# dependent packages don't need to override the dependency generator. +# See also: RHBZ#11511811 +# UPDATE: punycode will be deprecated and so we should unbundle it in Node v8 +# and use upstream module instead +# https://github.com/nodejs/node/commit/29e49fc286080215031a81effbd59eac092fff... +Provides: nodejs-punycode = %{punycode_version} +Provides: npm(punycode) = %{punycode_version} + +# Node.js has forked c-ares from upstream in an incompatible way, so we need +# to carry the bundled version internally. +# See https://github.com/nodejs/node/commit/766d063e0578c0f7758c3a965c971763f43fec... +Provides: bundled(c-ares) = %{c_ares_version} + +# Node.js is closely tied to the version of v8 that is used with it. It makes +# sense to use the bundled version because upstream consistently breaks ABI +# even in point releases. Node.js upstream has now removed the ability to build +# against a shared system version entirely. +# See https://github.com/nodejs/node/commit/d726a177ed59c37cf5306983ed00ecd858cfbb... +Provides: bundled(v8) = %{v8_version} + +# Node.js is bound to a specific version of ICU which may not match the OS +# We cannot pin the OS to this version of ICU because every update includes +# an ABI-break, so we'll use the bundled copy. +Provides: bundled(icu) = %{icu_version} + +# Upstream added new dependencies, but so far they are not available in Fedora +# or there's no option to built it as a shared dependency, so we bundle them +Provides: bundled(uvwasi) = %{uvwasi_version} +Provides: bundled(histogram) = %{histogram_version} + + +%description +Node.js is a platform built on Chrome's JavaScript runtime \ +for easily building fast, scalable network applications. \ +Node.js uses an event-driven, non-blocking I/O model that \ +makes it lightweight and efficient, perfect for data-intensive \ +real-time applications that run across distributed devices.} + + +%if 0%{?nodejs_default} +%description -n %{pkgname} +Node.js is a platform built on Chrome's JavaScript runtime \ +for easily building fast, scalable network applications. \ +Node.js uses an event-driven, non-blocking I/O model that \ +makes it lightweight and efficient, perfect for data-intensive \ +real-time applications that run across distributed devices.} +%endif + + +%package -n %{pkgname}-devel +Summary: JavaScript runtime - development headers +Group: Development/Languages +Requires: %{pkgname}%{?_isa} = %{nodejs_envr} +Requires: %{pkgname}-libs%{?_isa} = %{nodejs_envr} +Requires: openssl-devel%{?_isa} +%if !%{with bundled_zlib} +Requires: zlib-devel%{?_isa} +%endif +Requires: brotli-devel%{?_isa} +Requires: nodejs-packaging + +%if %{without bundled} +Requires: libuv-devel%{?_isa} +%endif + +Provides: nodejs-devel = %{nodejs_envr} +Conflicts: nodejs-devel + + +%description -n %{pkgname}-devel +Development headers for the Node.js JavaScript runtime. + + +%package -n %{pkgname}-libs +Summary: Node.js and v8 libraries + +# Compatibility for obsolete v8 package +%if 0%{?__isa_bits} == 64 +Provides: libv8.so.%{v8_major}()(64bit) = %{v8_epoch}:%{v8_version} +Provides: libv8_libbase.so.%{v8_major}()(64bit) = %{v8_epoch}:%{v8_version} +Provides: libv8_libplatform.so.%{v8_major}()(64bit) = %{v8_epoch}:%{v8_version} +%else +# 32-bits +Provides: libv8.so.%{v8_major} = %{v8_epoch}:%{v8_version} +Provides: libv8_libbase.so.%{v8_major} = %{v8_epoch}:%{v8_version} +Provides: libv8_libplatform.so.%{v8_major} = %{v8_epoch}:%{v8_version} +%endif + +Provides: v8 = %{v8_epoch}:%{v8_version}-%{nodejs_release} +Provides: v8%{?_isa} = %{v8_epoch}:%{v8_version}-%{nodejs_release} +Obsoletes: v8 < 1:6.7.17-10 + +Provides: nodejs-libs = %{nodejs_envr} + +%description -n %{pkgname}-libs +Libraries to support Node.js and provide stable v8 interfaces. + + +%package -n %{pkgname}-full-i18n +Summary: Non-English locale data for Node.js +Requires: %{pkgname}%{?_isa} = %{nodejs_envr} + + +%description -n %{pkgname}-full-i18n +Optional data files to provide full-icu support for Node.js. Remove this +package to save space if non-English locales are not needed. + + +%package -n v8-%{v8_major}.%{v8_minor}-devel +Summary: v8 - development headers +Epoch: %{v8_epoch} +Version: %{v8_version} +Release: %{v8_release} +Requires: %{pkgname}-devel%{?_isa} = %{nodejs_envr} +Requires: %{pkgname}-libs%{?_isa} = %{nodejs_envr} +Provides: v8-devel = %{v8_epoch}:%{v8_version}-%{v8_release} + +Conflicts: v8-devel +Conflicts: v8-314-devel + + +%description -n v8-%{v8_major}.%{v8_minor}-devel +Development headers for the v8 runtime. + + +%package -n %{pkgname}-npm +Summary: Node.js Package Manager +Epoch: %{npm_epoch} +Version: %{npm_version} +Release: %{npm_release} + +# If we're using the companion NPM build, make sure to keep it in lock-step +# with the Node version. +Requires: %{pkgname} = %{nodejs_envr} +%if 0%{?fedora} || 0%{?rhel} >= 8 +Recommends: %{pkgname}-docs = %{nodejs_envr} +%endif + +# Do not add epoch to the virtual NPM provides or it will break +# the automatic dependency-generation script. +Provides: npm(npm) = %{npm_version} + +# Satisfy dependency requests for "npm" +Provides: npm = %{npm_envr} + +# Obsolete the old 'npm' package +Obsoletes: npm < %{npm_obsoletes} + + +%description -n %{pkgname}-npm +npm is a package manager for node.js. You can use it to install and publish +your node programs. It manages dependencies and does other cool stuff. + + +%package -n %{pkgname}-docs +Summary: Node.js API documentation +Group: Documentation +BuildArch: noarch +Requires(meta): %{pkgname} = %{nodejs_envr} + +Provides: nodejs-docs = %{nodejs_envr} + + +%description -n %{pkgname}-docs +The API documentation for the Node.js JavaScript runtime. + + +%prep +%autosetup -p1 -n node-v%{nodejs_version} + +# remove bundled dependencies that we aren't building +%if !%{with bundled_zlib} +rm -rf deps/zlib +%endif + +rm -rf deps/brotli +rm -rf deps/v8/third_party/jinja2 +rm -rf tools/inspector_protocol/jinja2 + +# check for correct versions of dependencies we are bundling +check_wasm_dep() { + local -r name="$1" source="$2" packagejson="$3" + local -r expected_version="$(jq -r '.version' "${packagejson}")" + + if ls "${source}"|grep -q --fixed-strings "${expected_version}"; then + printf '%s version matches\n' "${name}" >&2 + else + printf '%s version MISMATCH: %s !~ %s\n' "${name}" "${expected_version}" "${source}" >&2 + return 1 + fi +} + +check_wasm_dep cjs-module-lexer '%{SOURCE101}' deps/cjs-module-lexer/package.json +check_wasm_dep undici '%{SOURCE111}' deps/undici/src/package.json + +# Replace any instances of unversioned python with python3 +pfiles=( $(grep -rl python) ) +%py3_shebang_fix ${pfiles[@]} + + +%build + +# Activate DevToolset 11 on EPEL 7 +%if 0%{?rhel} && 0%{?rhel} < 8 +. /opt/rh/devtoolset-11/enable +%endif + +# When compiled on armv7hl this package generates an out of range +# reference to the literal pool. This is most likely a GCC issue. +%ifarch armv7hl +%define _lto_cflags %{nil} +%endif + +# Decrease debuginfo verbosity to reduce memory consumption during final +# library linking +%global optflags %(echo %{optflags} | sed 's/-g /-g1 /') + +export CC='%{__cc}' +export CXX='%{__cxx}' +export NODE_GYP_FORCE_PYTHON=%{python3} + +# build with debugging symbols and add defines from libuv (#892601) +# Node's v8 breaks with GCC 6 because of incorrect usage of methods on +# NULL objects. We need to pass -fno-delete-null-pointer-checks +# 2022-07-14: There's a bug in either torque or gcc that causes a +# segmentation fault on ppc64le and s390x if compiled with -O2. Things +# run fine on -O1 and -O3, so we'll just go with -O3 (like upstream) +# while this gets sorted out. +extra_cflags=( + -D_LARGEFILE_SOURCE + -D_FILE_OFFSET_BITS=64 + -DZLIB_CONST + -fno-delete-null-pointer-checks + -O3 +) +export CFLAGS="%{optflags} ${extra_cflags[*]}" CXXFLAGS="%{optflags} ${extra_cflags[*]}" +export LDFLAGS="%{build_ldflags}" + +# Fake up the unversioned python executable because gyp calls it from the PATH +mkdir .bin +cwd=$(pwd) +ln -srf /usr/bin/python3 ./.bin/python +export PATH="${cwd}/.bin:$PATH" + +%{python3} configure.py \ + --verbose \ + --ninja \ + --enable-lto \ + --prefix=%{_prefix} \ + --shared \ + --libdir=%{_lib} \ + %{ssl_configure} \ + %{!?with_bundled_zlib:--shared-zlib} \ + --shared-brotli \ + %{!?with_bundled:--shared-libuv} \ + %{?with_bundled:--without-dtrace}%{!?with_bundled:--with-dtrace} \ + --with-intl=small-icu \ + --with-icu-default-data-dir=%{icudatadir} \ + --without-corepack \ + --openssl-use-def-ca-store + +%ninja_build -C out/Release + + +%install + +# The ninja build does not put the shared library in the expected location, so +# we will move it. +mv out/Release/lib/libnode.so.%{nodejs_soversion} out/Release/ +./tools/install.py install %{buildroot} %{_prefix} + + +# own the sitelib directory +mv %{buildroot}%{nodejs_sitelib} \ + %{buildroot}%{nodejs_private_sitelib} + +%if 0%{?nodejs_default} +ln -srf %{buildroot}%{nodejs_private_sitelib} \ + %{buildroot}%{nodejs_sitelib} +%endif + + +# Set the binary permissions properly +chmod 0755 %{buildroot}/%{_bindir}/node +chrpath --delete %{buildroot}%{_bindir}/node + +# Rename the node binary +mv %{buildroot}%{_bindir}/node %{buildroot}%{_bindir}/node-%{nodejs_major} + +# Move the npm binary to npm-NODEJS_MAJOR +rm -f %{buildroot}%{_bindir}/npm + +ln -srf %{buildroot}%{nodejs_private_sitelib}/npm/bin/npm-cli.js \ + %{buildroot}%{_bindir}/npm-%{nodejs_major} + +# Move the npx binary to npm-NODEJS_MAJOR +rm -f %{buildroot}%{_bindir}/npx + +ln -srf %{buildroot}%{nodejs_private_sitelib}/npm/bin/npx-cli.js \ + %{buildroot}%{_bindir}/npx-%{nodejs_major} + +# Add the symlinks back for the default version +%if 0%{?nodejs_default} +ln -srf %{buildroot}%{_bindir}/node-%{nodejs_major} \ + %{buildroot}%{_bindir}/node + +ln -srf %{buildroot}%{_bindir}/npm-%{nodejs_major} \ + %{buildroot}%{_bindir}/npm + +ln -srf %{buildroot}%{_bindir}/npx-%{nodejs_major} \ + %{buildroot}%{_bindir}/npx +%endif + +# Install library symlink +ln -srf %{buildroot}%{_libdir}/libnode.so.%{nodejs_soversion} \ + %{buildroot}%{_libdir}/libnode.so + +# Install v8 compatibility symlinks +for header in %{buildroot}%{_includedir}/node/libplatform %{buildroot}%{_includedir}/node/v8*.h; do + header=$(basename ${header}) + ln -sf ./node/${header} %{buildroot}%{_includedir}/${header} +done +ln -s ./node/cppgc %{buildroot}%{_includedir}/cppgc +for soname in libv8 libv8_libbase libv8_libplatform; do + ln -s libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/${soname}.so + ln -s libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/${soname}.so.%{v8_major} +done + +# Remove tracing for non-default versions +%if ! 0%{?nodejs_default} +rm -rf %{buildroot}%{_usr}/lib/dtrace \ + %{buildroot}%{_datadir}/systemtap/tapset/node.stp +%endif + +# install documentation +mkdir -p %{buildroot}%{_pkgdocdir}/html +cp -pr doc/* %{buildroot}%{_pkgdocdir}/html +rm -f %{buildroot}%{_pkgdocdir}/html/nodejs.1 + +# node-gyp needs common.gypi too +mkdir -p %{buildroot}%{nodejs_datadir} +cp -p common.gypi %{buildroot}%{nodejs_datadir} + +# The config.gypi file is platform-dependent, so rename it to not conflict +mv %{buildroot}%{_includedir}/node/config.gypi \ + %{buildroot}%{_includedir}/node/config-%{_arch}.gypi + +# Install the GDB init tool into the documentation directory +mv %{buildroot}/%{_datadir}/doc/node/gdbinit %{buildroot}/%{_pkgdocdir}/gdbinit + +mkdir -p %{buildroot}%{_mandir}/nodejs-%{nodejs_major}/man1 \ + %{buildroot}%{_mandir}/nodejs-%{nodejs_major}/man5 \ + %{buildroot}%{_mandir}/nodejs-%{nodejs_major}/man7 \ + %{buildroot}%{nodejs_sitelib}/npm/man \ + %{buildroot}%{nodejs_private_sitelib}/npm/man \ + %{buildroot}%{_pkgdocdir}/npm + +# install manpage docs to mandir +cp -pr deps/npm/man/* \ + %{buildroot}%{_mandir}/nodejs-%{nodejs_major}/ +rm -rf %{buildroot}%{nodejs_private_sitelib}/npm/man +ln -srf %{buildroot}%{_mandir}/nodejs-%{nodejs_major} \ + %{buildroot}%{nodejs_private_sitelib}/npm/man + +%if 0%{?nodejs_default} +for i in 1 5 7; do + mkdir -p %{buildroot}%{_mandir}/man${i} + for manpage in %{buildroot}%{nodejs_private_sitelib}/npm/man/man$i/*; do + basename=$(basename ${manpage}) + ln -srf %{buildroot}%{nodejs_private_sitelib}/npm/man/man${i}/${manpage} \ + %{buildroot}%{_mandir}/man${i}/${basename} + done +done +%endif + +# Install the node interpreter manpage +mv %{buildroot}%{_mandir}/man1/node.1 \ + %{buildroot}%{_mandir}/nodejs-%{nodejs_major}/man1/ + +%if 0%{?nodejs_default} +ln -srf %{buildroot}%{_mandir}/nodejs-%{nodejs_major}/man1/node.1 \ + %{buildroot}%{_mandir}/man1/ +%endif + +# Install Gatsby HTML documentation to %%{_pkgdocdir} +cp -pr deps/npm/docs %{buildroot}%{_pkgdocdir}/npm/ +rm -rf %{buildroot}%{nodejs_private_sitelib}/npm/docs +ln -srf %{buildroot}%{_pkgdocdir}/npm %{buildroot}%{nodejs_private_sitelib}/npm/docs + +# Node tries to install some python files into a documentation directory +# (and not the proper one). Remove them for now until we figure out what to +# do with them. +rm -f %{buildroot}/%{_defaultdocdir}/node/lldb_commands.py \ + %{buildroot}/%{_defaultdocdir}/node/lldbinit + +# Some NPM bundled deps are executable but should not be. This causes +# unnecessary automatic dependencies to be added. Make them not executable. +# Skip the npm bin directory or the npm binary will not work. +find %{buildroot}%{nodejs_private_sitelib}/npm \ + -not -path "%{buildroot}%{nodejs_private_sitelib}/npm/bin/*" \ + -executable -type f \ + -exec chmod -x {} ; + +# The above command is a little overzealous. Add a few permissions back. +chmod 0755 %{buildroot}%{nodejs_private_sitelib}/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin/node-gyp +chmod 0755 %{buildroot}%{nodejs_private_sitelib}/npm/node_modules/node-gyp/bin/node-gyp.js + +# Drop the NPM default configuration in place +%if 0%{?nodejs_default} +mkdir -p %{buildroot}%{_sysconfdir} +cp %{SOURCE1} %{buildroot}%{_sysconfdir}/npmrc + +# NPM upstream expects it to be in /usr/etc/npmrc, so we'll put a symlink here +# This is done in the interests of keeping /usr read-only. +mkdir -p %{buildroot}%{_prefix}/etc +ln -rsf %{buildroot}%{_sysconfdir}/npmrc \ + %{buildroot}%{_prefix}/etc/npmrc +%endif + +# Install the full-icu data files +mkdir -p %{buildroot}%{icudatadir} +%if 0%{?little_endian} +unzip -d %{buildroot}%{icudatadir} %{SOURCE4} icudt%{icu_major}l.dat +%else +unzip -d %{buildroot}%{icudatadir} %{SOURCE3} icudt%{icu_major}b.dat +%endif + + +%check +# Fail the build if the versions don't match +LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node-%{nodejs_major} -e "require('assert').equal(process.versions.node, '%{nodejs_version}')" +LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node-%{nodejs_major} -e "require('assert').equal(process.versions.v8.replace(/-node.\d+$/, ''), '%{v8_version}')" +LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node-%{nodejs_major} -e "require('assert').equal(process.versions.ares.replace(/-DEV$/, ''), '%{c_ares_version}')" + +# Ensure we have punycode and that the version matches +LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node-%{nodejs_major} -e "require("assert").equal(require("punycode").version, '%{punycode_version}')" + +# Ensure we have npm and that the version matches +LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}%{_bindir}/node-%{nodejs_major} %{buildroot}%{_bindir}/npm-%{nodejs_major} version --json |jq -e '.npm == "%{npm_version}"' + +# Make sure i18n support is working +NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{nodejs_private_sitelib}/npm/node_modules LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node-%{nodejs_major} --icu-data-dir=%{buildroot}%{icudatadir} %{SOURCE2} + + +%if 0%{?rhel} && 0%{?rhel} < 8 +%pretrans %{pkgname}-npm -p <lua> +-- Remove all of the symlinks from the bundled npm node_modules directory +base_path = "%{_prefix}/lib/node_modules/npm/node_modules/" +d_st = posix.stat(base_path) +if d_st then + for f in posix.files(base_path) do + path = base_path..f + st = posix.stat(path) + if st and st.type == "link" then + os.remove(path) + end + end +end +%endif + +# This can be removed once F37 is EOL +%pretrans -n %{pkgname} -p <lua> +path = "/usr/lib/node_modules" +st = posix.stat(path) +if st and st.type == "directory" then + status = os.rename(path, path .. ".rpmmoved") + if not status then + suffix = 0 + while not status do + suffix = suffix + 1 + status = os.rename(path .. ".rpmmoved", path .. ".rpmmoved." .. suffix) + end + os.rename(path, path .. ".rpmmoved") + end +end + + +%files -n %{pkgname} +%doc AUTHORS CHANGELOG.md onboarding.md GOVERNANCE.md README.md + +%if 0%{?nodejs_default} +%{_bindir}/node +%doc %{_mandir}/man1/node.1* +%dir %{_datadir}/systemtap +%dir %{_datadir}/systemtap/tapset +%{nodejs_sitelib} +%{_datadir}/systemtap/tapset/node.stp +%if %{without bundled} +%dir %{_usr}/lib/dtrace +%{_usr}/lib/dtrace/node.d +%endif +%endif + +%{_bindir}/node-%{nodejs_major} +%{nodejs_private_sitelib} + +%doc %{_mandir}/nodejs-%{nodejs_major}/man1/node.1* + + +%files -n %{pkgname}-devel +%{_includedir}/node +%{_libdir}/libnode.so +%{nodejs_datadir}/common.gypi +%{_pkgdocdir}/gdbinit + + +%files -n %{pkgname}-full-i18n +%dir %{icudatadir} +%{icudatadir}/icudt%{icu_major}*.dat + + +%files -n %{pkgname}-libs +%license LICENSE +%{_libdir}/libnode.so.%{nodejs_soversion} +%{_libdir}/libv8.so.%{v8_major} +%{_libdir}/libv8_libbase.so.%{v8_major} +%{_libdir}/libv8_libplatform.so.%{v8_major} +%dir %{nodejs_datadir}/ + + +%files -n v8-%{v8_major}.%{v8_minor}-devel +%{_includedir}/libplatform +%{_includedir}/v8*.h +%{_includedir}/cppgc +%{_libdir}/libv8.so +%{_libdir}/libv8_libbase.so +%{_libdir}/libv8_libplatform.so + + +%files -n %{pkgname}-npm +%if 0%{?nodejs_default} +%{_bindir}/npm +%{_bindir}/npx +%{_prefix}/etc/npmrc +%config(noreplace) %{_sysconfdir}/npmrc +%ghost %{_sysconfdir}/npmignore + +%doc %{_mandir}/man*/ +%exclude %doc %{_mandir}/man1/node.1* +%endif + +%{_bindir}/npm-%{nodejs_major} +%{_bindir}/npx-%{nodejs_major} +%{nodejs_private_sitelib}/npm + +%doc %{_mandir}/nodejs-%{nodejs_major}/ +%exclude %doc %{_mandir}/nodejs-%{nodejs_major}/man1/node.1* + + +%files -n %{pkgname}-docs +%doc doc +%dir %{_pkgdocdir} +%{_pkgdocdir}/html +%{_pkgdocdir}/npm/docs + + +%changelog +%autochangelog diff --git a/sources b/sources index b9d4ec3..91ac201 100644 --- a/sources +++ b/sources @@ -1,3 +1,7 @@ -SHA512 (node-v16.19.0-stripped.tar.gz) = 9be90d1cd11638ff2c9ff810a937d16442f68251082bafd5190a664450c2e3d917fd2f6bb247f0fed94cd31f9dc64289ef420760403dd72f49b333a86ff6de2b +SHA512 (node-v16.19.0-stripped.tar.gz) = eadaff591ff8071d4a6d5e35f2adcdb1c1bf64237930a969595a24f21185c6f07eac2de5c0636d41f2198b1a3d9af3bbcc72f7c95998ae77703a04861beb11fe SHA512 (icu4c-71_1-data-bin-b.zip) = 2bee9b93699c40a53c2e768d4678309fbd49e052e197a80fb76842b4001ee65e548459654ef7e7d154b6289f915fccbcb5b3109edcd61e74f0db289f2bec61fd SHA512 (icu4c-71_1-data-bin-l.zip) = 07a299b1cd37cd7b07c5e1a7c6871c0dbbeabb2dec6e11c89237f41e56fd29e1a65725be102b4e4ab722183c02810a5df3ed47c3b9b4a7c14bc4c72ab127a27e +SHA512 (cjs-module-lexer-1.2.2-stripped.tar.gz) = 58dffa48c205c9cf6e0dcb5e9b146756109f8528ddbd3b110be0dbac5ac63d5d397cddc60f1272823b1ccb3fd92a88771cff0a95dddf8d2895a245fe9203843b +SHA512 (wasi-sdk-11.0-linux.tar.gz) = e3ed4597f7f2290967eef6238e9046f60abbcb8633a4a2a51525d00e7393df8df637a98a5b668217d332dd44fcbf2442ec7efd5e65724e888d90611164451e20 +SHA512 (undici-5.12.0-stripped.tar.gz) = 3c1e0fc41f25a69e3fb96f947f76a575fb058fe81e04995a5ad81554fb0ad3885f10b1295e2629b513a3391841664c1ffefc32a1dd1c5f46df70e374dfc6c40e +SHA512 (wasi-sdk-14.0-linux.tar.gz) = 288a367e051f5b3f5853de97fabaedd3acf2255819d50c24f48f573897518500ea808342fd9aea832b2a5717089807bf1cbcf6d46b156b4eb60cc6b3c02ee997
commit 26c531d8e850ec6cc4959dbf022f1dd501134274 Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Jan 23 15:33:52 2023 -0500
Fix v8 symlinks
Resolves: rhbz#2163346
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs16.spec b/nodejs16.spec index 053a0d4..c831349 100644 --- a/nodejs16.spec +++ b/nodejs16.spec @@ -567,7 +567,7 @@ ln -srf %{buildroot}%{_libdir}/libnode.so.%{nodejs_soversion} \ # Install v8 compatibility symlinks for header in %{buildroot}%{_includedir}/node/libplatform %{buildroot}%{_includedir}/node/v8*.h; do header=$(basename ${header}) - ln -srf ./node/${header} %{buildroot}%{_includedir}/${header} + ln -sf ./node/${header} %{buildroot}%{_includedir}/${header} done ln -s ./node/cppgc %{buildroot}%{_includedir}/cppgc for soname in libv8 libv8_libbase libv8_libplatform; do
commit c5b6241b592a87399fcb624970158296d9981ff6 Author: Fedora Release Engineering releng@fedoraproject.org Date: Thu Jan 19 21:42:49 2023 +0000
Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering releng@fedoraproject.org
commit 9770f41fd8f394c305acd550bbe404ffd5508716 Author: Stephen Gallagher sgallagh@redhat.com Date: Thu Dec 15 10:36:11 2022 -0500
Update to 16.19.0
https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V16.md#16....
Drop upstreamed patch
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0002-build-fix-bad-upstream-merge.patch b/0002-build-fix-bad-upstream-merge.patch deleted file mode 100644 index 4c14ae4..0000000 --- a/0002-build-fix-bad-upstream-merge.patch +++ /dev/null @@ -1,35 +0,0 @@ -From daaebffdb40b99541953042ee005fe6f8d52af8c Mon Sep 17 00:00:00 2001 -From: Stephen Gallagher sgallagh@redhat.com -Date: Wed, 14 Sep 2022 16:23:13 -0400 -Subject: [PATCH 2/2] build: fix bad upstream merge - -The upstream merge of https://github.com/nodejs/node/commit/e27e709d3c -accidentally removed code related to systemtap and dtrace. - -Signed-off-by: Stephen Gallagher sgallagh@redhat.com -PR-URL: https://github.com/nodejs/node/pull/44642 -Reviewed-By: Rafael Gonzaga rafael.nunu@hotmail.com -Reviewed-By: Richard Lau rlau@redhat.com ---- - tools/install.py | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/tools/install.py b/tools/install.py -index 15061be02620f13a4edba477bdd11b7ad6166762..f9f4b3c6c0f4297a5b44c44bc1cccc7bfe3ef2b0 100755 ---- a/tools/install.py -+++ b/tools/install.py -@@ -177,6 +177,11 @@ def files(action): - else: - output_lib = 'libnode.' + variables.get('shlib_suffix') - action([output_prefix + output_lib], variables.get('libdir') + '/' + output_lib) -+ if 'true' == variables.get('node_use_dtrace'): -+ action(['out/Release/node.d'], 'lib/dtrace/node.d') -+ -+ # behave similarly for systemtap -+ action(['src/node.stp'], 'share/systemtap/tapset/') - - action(['deps/v8/tools/gdbinit'], 'share/doc/node/') - action(['deps/v8/tools/lldb_commands.py'], 'share/doc/node/') --- -2.37.3 - diff --git a/nodejs16.spec b/nodejs16.spec index b9bd4bb..053a0d4 100644 --- a/nodejs16.spec +++ b/nodejs16.spec @@ -44,8 +44,8 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 16 -%global nodejs_minor 18 -%global nodejs_patch 1 +%global nodejs_minor 19 +%global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 93 @@ -111,7 +111,7 @@
# npm - from deps/npm/package.json %global npm_epoch 1 -%global npm_version 8.19.2 +%global npm_version 8.19.3
# In order to avoid needing to keep incrementing the release version for the # main package forever, we will just construct one for npm that is guaranteed @@ -153,9 +153,7 @@ Source4: https://github.com/unicode-org/icu/releases/download/release-%%7Bicu_majo Source100: nodejs-sources.sh
# Disable running gyp on bundled deps we don't use -Patch1: 0001-Disable-running-gyp-on-shared-deps.patch - -Patch2: 0002-build-fix-bad-upstream-merge.patch +Patch: 0001-Disable-running-gyp-on-shared-deps.patch
%if 0%{?nodejs_default} %global pkgname nodejs diff --git a/sources b/sources index 8783e0e..b9d4ec3 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (node-v16.18.1-stripped.tar.gz) = c5ee04cbf316ef931db4867a6a8bad23a2291f91d48c62f87654e8c40bbd42e540146ad299c9aa506c2f71386353cbbbd95c81082ee2e98443d71d76413cfa8a +SHA512 (node-v16.19.0-stripped.tar.gz) = 9be90d1cd11638ff2c9ff810a937d16442f68251082bafd5190a664450c2e3d917fd2f6bb247f0fed94cd31f9dc64289ef420760403dd72f49b333a86ff6de2b SHA512 (icu4c-71_1-data-bin-b.zip) = 2bee9b93699c40a53c2e768d4678309fbd49e052e197a80fb76842b4001ee65e548459654ef7e7d154b6289f915fccbcb5b3109edcd61e74f0db289f2bec61fd SHA512 (icu4c-71_1-data-bin-l.zip) = 07a299b1cd37cd7b07c5e1a7c6871c0dbbeabb2dec6e11c89237f41e56fd29e1a65725be102b4e4ab722183c02810a5df3ed47c3b9b4a7c14bc4c72ab127a27e
commit 8e1f16d1704770d1d9d860c8cd5c0983d221e5f6 Author: Stephen Gallagher sgallagh@redhat.com Date: Thu Dec 1 13:12:07 2022 -0500
Use requires instead of conflicts for -docs
Conflicts causes issues with parallel-installation of non-default Node.js versions.
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs16.spec b/nodejs16.spec index 8923f69..b9bd4bb 100644 --- a/nodejs16.spec +++ b/nodejs16.spec @@ -423,12 +423,7 @@ your node programs. It manages dependencies and does other cool stuff. Summary: Node.js API documentation Group: Documentation BuildArch: noarch - -# We don't require that the main package be installed to -# use the docs, but if it is installed, make sure the -# version always matches -Conflicts: %{pkgname} > %{nodejs_envr} -Conflicts: %{pkgname} < %{nodejs_envr} +Requires(meta): %{pkgname} = %{nodejs_envr}
Provides: nodejs-docs = %{nodejs_envr}
commit 2dcc80b1f0d2a0a1111bc546737fdf49eb7da60d Author: Stephen Gallagher sgallagh@redhat.com Date: Wed Nov 30 15:46:12 2022 -0500
Add pretrans scriptlet for node_modules
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs16.spec b/nodejs16.spec index a2660cd..8923f69 100644 --- a/nodejs16.spec +++ b/nodejs16.spec @@ -699,7 +699,7 @@ NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{nodejs_private_s
%if 0%{?rhel} && 0%{?rhel} < 8 -%pretrans npm -p <lua> +%pretrans %{pkgname}-npm -p <lua> -- Remove all of the symlinks from the bundled npm node_modules directory base_path = "%{_prefix}/lib/node_modules/npm/node_modules/" d_st = posix.stat(base_path) @@ -714,6 +714,22 @@ if d_st then end %endif
+# This can be removed once F37 is EOL +%pretrans -n %{pkgname} -p <lua> +path = "/usr/lib/node_modules" +st = posix.stat(path) +if st and st.type == "directory" then + status = os.rename(path, path .. ".rpmmoved") + if not status then + suffix = 0 + while not status do + suffix = suffix + 1 + status = os.rename(path .. ".rpmmoved", path .. ".rpmmoved." .. suffix) + end + os.rename(path, path .. ".rpmmoved") + end +end +
%files -n %{pkgname} %doc AUTHORS CHANGELOG.md onboarding.md GOVERNANCE.md README.md
commit e341d605858dd5bf339633732c64fe4d44e67d7e Author: Stephen Gallagher sgallagh@redhat.com Date: Wed Nov 30 13:25:01 2022 -0500
Add proper npm obsoletes
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs16.spec b/nodejs16.spec index 8d1807c..a2660cd 100644 --- a/nodejs16.spec +++ b/nodejs16.spec @@ -121,6 +121,8 @@
%global npm_envr %{npm_epoch}:%{npm_version}-%{npm_release}
+%global npm_obsoletes 1:8.19.2-1.16.18.1.3 + # uvwasi - from deps/uvwasi/include/uvwasi.h %global uvwasi_version 0.0.13
@@ -408,6 +410,9 @@ Provides: npm(npm) = %{npm_version} # Satisfy dependency requests for "npm" Provides: npm = %{npm_envr}
+# Obsolete the old 'npm' package +Obsoletes: npm < %{npm_obsoletes} +
%description -n %{pkgname}-npm npm is a package manager for node.js. You can use it to install and publish
commit ab96f6d9e5b771eac69248035a574aa70ceeda22 Author: Stephen Gallagher sgallagh@redhat.com Date: Wed Nov 30 11:24:49 2022 -0500
Drop redundant default definition
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs16.spec b/nodejs16.spec index f462569..8d1807c 100644 --- a/nodejs16.spec +++ b/nodejs16.spec @@ -128,13 +128,6 @@ %global histogram_version 0.9.7
-%if 0%{?nodejs_default} -%global pkgname nodejs -%else -%global pkgname nodejs%{nodejs_major} -%endif - - Name: nodejs%{nodejs_major} Epoch: %{nodejs_epoch} Version: %{nodejs_version}
commit 9a7ce43ff6ea8ee985f2dfd9b8088f5bb4684ba8 Author: Stephen Gallagher sgallagh@redhat.com Date: Thu Nov 3 15:08:08 2022 -0400
Enable parallel-installation
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index 58d8e09..a52085b 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,4 +1,4 @@ -From 558640e0e83f46b100d65ef11e366c9683bccef0 Mon Sep 17 00:00:00 2001 +From 8f3c83d423b8b4fac1958f84ca5d05db4eb849d2 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Fri, 17 Apr 2020 12:59:44 +0200 Subject: [PATCH 1/2] Disable running gyp on shared deps diff --git a/0002-build-fix-bad-upstream-merge.patch b/0002-build-fix-bad-upstream-merge.patch index 743bdba..4c14ae4 100644 --- a/0002-build-fix-bad-upstream-merge.patch +++ b/0002-build-fix-bad-upstream-merge.patch @@ -1,4 +1,4 @@ -From b6d3188aaca4d7a596ea33a7371d62a8f916c8ee Mon Sep 17 00:00:00 2001 +From daaebffdb40b99541953042ee005fe6f8d52af8c Mon Sep 17 00:00:00 2001 From: Stephen Gallagher sgallagh@redhat.com Date: Wed, 14 Sep 2022 16:23:13 -0400 Subject: [PATCH 2/2] build: fix bad upstream merge diff --git a/nodejs-sources.sh b/nodejs-sources.sh index 211a880..019e611 100755 --- a/nodejs-sources.sh +++ b/nodejs-sources.sh @@ -114,9 +114,11 @@ echo $_arg_version if [ x$_arg_version != x ]; then version=$_arg_version else - version=$(rpm -q --specfile --qf='%{version}\n' nodejs.spec | head -n1) + version=$(rpm -q --specfile --qf='%{version}\n' nodejs*.spec | head -n1) fi
+NODE_MAJOR=$(echo $version | cut -d. -f1) + rm -rf node-v${version}.tar.gz \ node-v${version}-stripped.tar.gz \ node-v${version}/ \ @@ -137,8 +139,8 @@ ICU_MINOR=$(jq -r '.[0].url' node-v${version}/tools/icu/current_ver.dep | sed --
# Download the ICU binary data files rm -Rf icu4c-${ICU_MAJOR}_${ICU_MINOR}-data-bin-*.zip -wget $(grep Source3 nodejs.spec | sed --expression="s/.*http/http/g" --expression="s/(%{icu_major})/${ICU_MAJOR}/g" --expression="s/(%{icu_minor})/${ICU_MINOR}/g") -wget $(grep Source4 nodejs.spec | sed --expression="s/.*http/http/g" --expression="s/(%{icu_major})/${ICU_MAJOR}/g" --expression="s/(%{icu_minor})/${ICU_MINOR}/g") +wget $(grep Source3 nodejs${NODE_MAJOR}.spec | sed --expression="s/.*http/http/g" --expression="s/(%{icu_major})/${ICU_MAJOR}/g" --expression="s/(%{icu_minor})/${ICU_MINOR}/g") +wget $(grep Source4 nodejs${NODE_MAJOR}.spec | sed --expression="s/.*http/http/g" --expression="s/(%{icu_major})/${ICU_MAJOR}/g" --expression="s/(%{icu_minor})/${ICU_MINOR}/g")
fedpkg new-sources node-v${version}-stripped.tar.gz icu4c-${ICU_MAJOR}_${ICU_MINOR}-data-bin-*.zip
diff --git a/nodejs.spec b/nodejs16.spec similarity index 67% rename from nodejs.spec rename to nodejs16.spec index b2fc015..f462569 100644 --- a/nodejs.spec +++ b/nodejs16.spec @@ -22,12 +22,9 @@ %bcond_with bundled_zlib %endif
- -# Node.js has its own flag to enable LTO and it conflicts -# with Fedora's approach. +# LTO is currently broken on Node.js builds %define _lto_cflags %{nil}
- # Heavy-handed approach to avoiding issues with python # bytecompiling files in the node_modules/ directory %global __python %{python3} @@ -54,13 +51,22 @@ %global nodejs_soversion 93 %global nodejs_version %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch} %global nodejs_release %{baserelease} +%global nodejs_envr %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release} + +%global nodejs_datadir %{_datarootdir}/node-%{nodejs_major} + +# Determine if this should be the default version for this Fedora release +# The default version will own /usr/bin/node and friends +%if 0%{?fedora} == 35 || 0%{?fedora} == 36 +%global nodejs_default %{nodejs_major} +%endif +%global nodejs_private_sitelib %{nodejs_sitelib}_%{nodejs_major}
-%global nodejs_datadir %{_datarootdir}/nodejs
# == Bundled Dependency Versions == # v8 - from deps/v8/include/v8-version.h # Epoch is set to ensure clean upgrades from the old v8 package -%global v8_epoch 2 +%global v8_epoch 3 %global v8_major 9 %global v8_minor 4 %global v8_build 146 @@ -95,7 +101,8 @@
# OpenSSL minimum version -%global openssl_minimum 1:1.1.1 +%global openssl11_minimum 1:1.1.1 +%global openssl30_minimum 1:3.0.2
# punycode - from lib/punycode.js # Note: this was merged into the mainline since 0.6.x @@ -112,13 +119,23 @@ # base npm version number is increasing. %global npm_release %{nodejs_epoch}.%{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release}
+%global npm_envr %{npm_epoch}:%{npm_version}-%{npm_release} + # uvwasi - from deps/uvwasi/include/uvwasi.h %global uvwasi_version 0.0.13
# histogram_c - assumed from timestamps %global histogram_version 0.9.7
-Name: nodejs + +%if 0%{?nodejs_default} +%global pkgname nodejs +%else +%global pkgname nodejs%{nodejs_major} +%endif + + +Name: nodejs%{nodejs_major} Epoch: %{nodejs_epoch} Version: %{nodejs_version} Release: %{nodejs_release} @@ -140,21 +157,24 @@ Source3: https://github.com/unicode-org/icu/releases/download/release-%%7Bicu_majo Source4: https://github.com/unicode-org/icu/releases/download/release-%%7Bicu_major%7... Source100: nodejs-sources.sh
-# The native module Requires generator remains in the nodejs SRPM, so it knows -# the nodejs and v8 versions. The remainder has migrated to the -# nodejs-packaging SRPM. -Source7: nodejs_native.attr - # Disable running gyp on bundled deps we don't use Patch1: 0001-Disable-running-gyp-on-shared-deps.patch
-# Upstream patch to fix merge conflict issue Patch2: 0002-build-fix-bad-upstream-merge.patch
+%if 0%{?nodejs_default} +%global pkgname nodejs +%package -n %{pkgname} +Summary: JavaScript runtime +%else +%global pkgname nodejs%{nodejs_major} +%endif + +BuildRequires: make BuildRequires: python%{python3_pkgversion}-devel BuildRequires: python%{python3_pkgversion}-setuptools BuildRequires: python%{python3_pkgversion}-jinja2 -%if 0%{?fedora} || 0%{?rhel} >= 9 +%if 0%{?rhel} && 0%{?rhel} < 9 BuildRequires: python-unversioned-command %endif %if %{with bundled_zlib} @@ -172,16 +192,20 @@ BuildRequires: gcc-c++ >= 8.3.0 %endif
BuildRequires: jq + # needed to generate bundled provides for npm dependencies # https://src.fedoraproject.org/rpms/nodejs/pull-request/2 # https://pagure.io/nodejs-packaging/pull-request/10 BuildRequires: nodejs-packaging + BuildRequires: chrpath -BuildRequires: ninja-build BuildRequires: libatomic +BuildRequires: ninja-build BuildRequires: systemtap-sdt-devel BuildRequires: unzip
+Provides: nodejs = %{nodejs_envr} + %if %{with bundled} Provides: bundled(libuv) = %{libuv_version} %else @@ -197,24 +221,36 @@ Provides: bundled(nghttp2) = %{nghttp2_version} # provide releases for it. Provides: bundled(llhttp) = %{llhttp_version}
+ %if 0%{?rhel} && 0%{?rhel} < 8 -BuildRequires: openssl11-devel >= %{openssl_minimum} -Requires: openssl11 >= %{openssl_minimum} +BuildRequires: openssl11-devel >= %{openssl11_minimum} +Requires: openssl11 >= %{openssl11_minimum} %global ssl_configure --shared-openssl --shared-openssl-includes=%{_includedir}/openssl11 --shared-openssl-libpath=%{_libdir}/openssl11 %else -BuildRequires: openssl-devel >= %{openssl_minimum} -Requires: openssl >= %{openssl_minimum} -%global ssl_configure --shared-openssl + +%if 0%{?fedora} >= 36 +BuildRequires: openssl >= %{openssl30_minimum} +BuildRequires: openssl-devel >= %{openssl30_minimum} +%global openssl_fips_configure --openssl-is-fips +%else +Requires: openssl >= %{openssl11_minimum} +BuildRequires: openssl-devel >= %{openssl11_minimum} +%global openssl_fips_configure %{nil} +%endif + +%global ssl_configure --shared-openssl %{openssl_fips_configure} %endif
# we need the system certificate store Requires: ca-certificates
-Requires: nodejs-libs%{?_isa} = %{nodejs_epoch}:%{version}-%{release} +Requires: %{pkgname}-libs%{?_isa} = %{nodejs_envr}
-# Pull in the full-icu data by default %if 0%{?fedora} || 0%{?rhel} >= 8 -Recommends: nodejs-full-i18n%{?_isa} = %{nodejs_epoch}:%{version}-%{release} +# Pull in the docs and full-icu data by default +Recommends: %{pkgname}-docs = %{nodejs_envr} +Recommends: %{pkgname}-full-i18n%{?_isa} = %{nodejs_envr} +Recommends: %{pkgname}-npm >= %{npm_envr} %endif
# we need ABI virtual provides where SONAMEs aren't enough/not present so deps @@ -264,31 +300,30 @@ Provides: bundled(icu) = %{icu_version} Provides: bundled(uvwasi) = %{uvwasi_version} Provides: bundled(histogram) = %{histogram_version}
-%if 0%{?fedora} -# Make sure to pull in the appropriate packaging macros when building RPMs -Requires: (nodejs-packaging if rpm-build) -%endif - -# Make sure we keep NPM up to date when we update Node.js -%if 0%{?fedora} || 0%{?rhel} >= 8 -Recommends: npm >= %{npm_epoch}:%{npm_version}-%{npm_release} -%endif -Conflicts: npm < %{npm_epoch}:%{npm_version}-%{npm_release} -
%description -Node.js is a platform built on Chrome's JavaScript runtime -for easily building fast, scalable network applications. -Node.js uses an event-driven, non-blocking I/O model that -makes it lightweight and efficient, perfect for data-intensive -real-time applications that run across distributed devices. +Node.js is a platform built on Chrome's JavaScript runtime \ +for easily building fast, scalable network applications. \ +Node.js uses an event-driven, non-blocking I/O model that \ +makes it lightweight and efficient, perfect for data-intensive \ +real-time applications that run across distributed devices.} + + +%if 0%{?nodejs_default} +%description -n %{pkgname} +Node.js is a platform built on Chrome's JavaScript runtime \ +for easily building fast, scalable network applications. \ +Node.js uses an event-driven, non-blocking I/O model that \ +makes it lightweight and efficient, perfect for data-intensive \ +real-time applications that run across distributed devices.} +%endif
-%package devel +%package -n %{pkgname}-devel Summary: JavaScript runtime - development headers Group: Development/Languages -Requires: %{name}%{?_isa} = %{epoch}:%{nodejs_version}-%{nodejs_release} -Requires: %{name}-libs%{?_isa} = %{epoch}:%{nodejs_version}-%{nodejs_release} +Requires: %{pkgname}%{?_isa} = %{nodejs_envr} +Requires: %{pkgname}-libs%{?_isa} = %{nodejs_envr} Requires: openssl-devel%{?_isa} %if !%{with bundled_zlib} Requires: zlib-devel%{?_isa} @@ -300,14 +335,15 @@ Requires: nodejs-packaging Requires: libuv-devel%{?_isa} %endif
-# Make it conflict with any other version of nodejs-devel -Conflicts: %{name}-devel +Provides: nodejs-devel = %{nodejs_envr} +Conflicts: nodejs-devel +
-%description devel +%description -n %{pkgname}-devel Development headers for the Node.js JavaScript runtime.
-%package libs +%package -n %{pkgname}-libs Summary: Node.js and v8 libraries
# Compatibility for obsolete v8 package @@ -326,57 +362,66 @@ Provides: v8 = %{v8_epoch}:%{v8_version}-%{nodejs_release} Provides: v8%{?_isa} = %{v8_epoch}:%{v8_version}-%{nodejs_release} Obsoletes: v8 < 1:6.7.17-10
-%description libs +Provides: nodejs-libs = %{nodejs_envr} + +%description -n %{pkgname}-libs Libraries to support Node.js and provide stable v8 interfaces.
-%package full-i18n +%package -n %{pkgname}-full-i18n Summary: Non-English locale data for Node.js -Requires: %{name}%{?_isa} = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release} +Requires: %{pkgname}%{?_isa} = %{nodejs_envr} +
-%description full-i18n +%description -n %{pkgname}-full-i18n Optional data files to provide full-icu support for Node.js. Remove this package to save space if non-English locales are not needed.
-%package -n v8-devel +%package -n v8-%{v8_major}.%{v8_minor}-devel Summary: v8 - development headers Epoch: %{v8_epoch} Version: %{v8_version} Release: %{v8_release} -Requires: %{name}-devel%{?_isa} = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release} -Requires: %{name}-libs%{?_isa} = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release} +Requires: %{pkgname}-devel%{?_isa} = %{nodejs_envr} +Requires: %{pkgname}-libs%{?_isa} = %{nodejs_envr} +Provides: v8-devel = %{v8_epoch}:%{v8_version}-%{v8_release} + +Conflicts: v8-devel Conflicts: v8-314-devel
-%description -n v8-devel + +%description -n v8-%{v8_major}.%{v8_minor}-devel Development headers for the v8 runtime.
-%package -n npm +%package -n %{pkgname}-npm Summary: Node.js Package Manager Epoch: %{npm_epoch} Version: %{npm_version} Release: %{npm_release}
-# We used to ship npm separately, but it is so tightly integrated with Node.js -# (and expected to be present on all Node.js systems) that we ship it bundled -# now. -Obsoletes: npm < 0:3.5.4-6 -Requires: nodejs = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release} +# If we're using the companion NPM build, make sure to keep it in lock-step +# with the Node version. +Requires: %{pkgname} = %{nodejs_envr} %if 0%{?fedora} || 0%{?rhel} >= 8 -Recommends: nodejs-docs = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release} +Recommends: %{pkgname}-docs = %{nodejs_envr} %endif
# Do not add epoch to the virtual NPM provides or it will break # the automatic dependency-generation script. Provides: npm(npm) = %{npm_version}
-%description -n npm +# Satisfy dependency requests for "npm" +Provides: npm = %{npm_envr} + + +%description -n %{pkgname}-npm npm is a package manager for node.js. You can use it to install and publish your node programs. It manages dependencies and does other cool stuff.
-%package docs +%package -n %{pkgname}-docs Summary: Node.js API documentation Group: Documentation BuildArch: noarch @@ -384,10 +429,13 @@ BuildArch: noarch # We don't require that the main package be installed to # use the docs, but if it is installed, make sure the # version always matches -Conflicts: %{name} > %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release} -Conflicts: %{name} < %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release} +Conflicts: %{pkgname} > %{nodejs_envr} +Conflicts: %{pkgname} < %{nodejs_envr} + +Provides: nodejs-docs = %{nodejs_envr} +
-%description docs +%description -n %{pkgname}-docs The API documentation for the Node.js JavaScript runtime.
@@ -415,6 +463,12 @@ pfiles=( $(grep -rl python) ) . /opt/rh/devtoolset-11/enable %endif
+# When compiled on armv7hl this package generates an out of range +# reference to the literal pool. This is most likely a GCC issue. +%ifarch armv7hl +%define _lto_cflags %{nil} +%endif + # Decrease debuginfo verbosity to reduce memory consumption during final # library linking %global optflags %(echo %{optflags} | sed 's/-g /-g1 /') @@ -440,7 +494,14 @@ extra_cflags=( export CFLAGS="%{optflags} ${extra_cflags[*]}" CXXFLAGS="%{optflags} ${extra_cflags[*]}" export LDFLAGS="%{build_ldflags}"
+# Fake up the unversioned python executable because gyp calls it from the PATH +mkdir .bin +cwd=$(pwd) +ln -srf /usr/bin/python3 ./.bin/python +export PATH="${cwd}/.bin:$PATH" + %{python3} configure.py \ + --verbose \ --ninja \ --enable-lto \ --prefix=%{_prefix} \ @@ -460,24 +521,62 @@ export LDFLAGS="%{build_ldflags}"
%install -rm -rf %{buildroot}
# The ninja build does not put the shared library in the expected location, so # we will move it. mv out/Release/lib/libnode.so.%{nodejs_soversion} out/Release/ ./tools/install.py install %{buildroot} %{_prefix}
+ +# own the sitelib directory +mv %{buildroot}%{nodejs_sitelib} \ + %{buildroot}%{nodejs_private_sitelib} + +%if 0%{?nodejs_default} +ln -srf %{buildroot}%{nodejs_private_sitelib} \ + %{buildroot}%{nodejs_sitelib} +%endif + + # Set the binary permissions properly chmod 0755 %{buildroot}/%{_bindir}/node chrpath --delete %{buildroot}%{_bindir}/node
+# Rename the node binary +mv %{buildroot}%{_bindir}/node %{buildroot}%{_bindir}/node-%{nodejs_major} + +# Move the npm binary to npm-NODEJS_MAJOR +rm -f %{buildroot}%{_bindir}/npm + +ln -srf %{buildroot}%{nodejs_private_sitelib}/npm/bin/npm-cli.js \ + %{buildroot}%{_bindir}/npm-%{nodejs_major} + +# Move the npx binary to npm-NODEJS_MAJOR +rm -f %{buildroot}%{_bindir}/npx + +ln -srf %{buildroot}%{nodejs_private_sitelib}/npm/bin/npx-cli.js \ + %{buildroot}%{_bindir}/npx-%{nodejs_major} + +# Add the symlinks back for the default version +%if 0%{?nodejs_default} +ln -srf %{buildroot}%{_bindir}/node-%{nodejs_major} \ + %{buildroot}%{_bindir}/node + +ln -srf %{buildroot}%{_bindir}/npm-%{nodejs_major} \ + %{buildroot}%{_bindir}/npm + +ln -srf %{buildroot}%{_bindir}/npx-%{nodejs_major} \ + %{buildroot}%{_bindir}/npx +%endif + # Install library symlink -ln -s libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/libnode.so +ln -srf %{buildroot}%{_libdir}/libnode.so.%{nodejs_soversion} \ + %{buildroot}%{_libdir}/libnode.so
# Install v8 compatibility symlinks for header in %{buildroot}%{_includedir}/node/libplatform %{buildroot}%{_includedir}/node/v8*.h; do header=$(basename ${header}) - ln -s ./node/${header} %{buildroot}%{_includedir}/${header} + ln -srf ./node/${header} %{buildroot}%{_includedir}/${header} done ln -s ./node/cppgc %{buildroot}%{_includedir}/cppgc for soname in libv8 libv8_libbase libv8_libplatform; do @@ -485,17 +584,11 @@ for soname in libv8 libv8_libbase libv8_libplatform; do ln -s libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/${soname}.so.%{v8_major} done
-# own the sitelib directory -mkdir -p %{buildroot}%{_prefix}/lib/node_modules - -# ensure Requires are added to every native module that match the Provides from -# the nodejs build in the buildroot -install -Dpm0644 %{SOURCE7} %{buildroot}%{_rpmconfigdir}/fileattrs/nodejs_native.attr -cat << EOF > %{buildroot}%{_rpmconfigdir}/nodejs_native.req -#!/bin/sh -echo 'nodejs(abi%{nodejs_major}) >= %nodejs_abi' -EOF -chmod 0755 %{buildroot}%{_rpmconfigdir}/nodejs_native.req +# Remove tracing for non-default versions +%if ! 0%{?nodejs_default} +rm -rf %{buildroot}%{_usr}/lib/dtrace \ + %{buildroot}%{_datadir}/systemtap/tapset/node.stp +%endif
# install documentation mkdir -p %{buildroot}%{_pkgdocdir}/html @@ -503,8 +596,8 @@ cp -pr doc/* %{buildroot}%{_pkgdocdir}/html rm -f %{buildroot}%{_pkgdocdir}/html/nodejs.1
# node-gyp needs common.gypi too -mkdir -p %{buildroot}%{_datadir}/node -cp -p common.gypi %{buildroot}%{_datadir}/node +mkdir -p %{buildroot}%{nodejs_datadir} +cp -p common.gypi %{buildroot}%{nodejs_datadir}
# The config.gypi file is platform-dependent, so rename it to not conflict mv %{buildroot}%{_includedir}/node/config.gypi \ @@ -513,19 +606,44 @@ mv %{buildroot}%{_includedir}/node/config.gypi \ # Install the GDB init tool into the documentation directory mv %{buildroot}/%{_datadir}/doc/node/gdbinit %{buildroot}/%{_pkgdocdir}/gdbinit
-# install NPM docs to mandir -mkdir -p %{buildroot}%{_mandir} \ +mkdir -p %{buildroot}%{_mandir}/nodejs-%{nodejs_major}/man1 \ + %{buildroot}%{_mandir}/nodejs-%{nodejs_major}/man5 \ + %{buildroot}%{_mandir}/nodejs-%{nodejs_major}/man7 \ + %{buildroot}%{nodejs_sitelib}/npm/man \ + %{buildroot}%{nodejs_private_sitelib}/npm/man \ %{buildroot}%{_pkgdocdir}/npm
-cp -pr deps/npm/man/* %{buildroot}%{_mandir}/ -rm -rf %{buildroot}%{_prefix}/lib/node_modules/npm/man -ln -srf %{_mandir} %{buildroot}%{_prefix}/lib/node_modules/npm/man +# install manpage docs to mandir +cp -pr deps/npm/man/* \ + %{buildroot}%{_mandir}/nodejs-%{nodejs_major}/ +rm -rf %{buildroot}%{nodejs_private_sitelib}/npm/man +ln -srf %{buildroot}%{_mandir}/nodejs-%{nodejs_major} \ + %{buildroot}%{nodejs_private_sitelib}/npm/man + +%if 0%{?nodejs_default} +for i in 1 5 7; do + mkdir -p %{buildroot}%{_mandir}/man${i} + for manpage in %{buildroot}%{nodejs_private_sitelib}/npm/man/man$i/*; do + basename=$(basename ${manpage}) + ln -srf %{buildroot}%{nodejs_private_sitelib}/npm/man/man${i}/${manpage} \ + %{buildroot}%{_mandir}/man${i}/${basename} + done +done +%endif + +# Install the node interpreter manpage +mv %{buildroot}%{_mandir}/man1/node.1 \ + %{buildroot}%{_mandir}/nodejs-%{nodejs_major}/man1/ + +%if 0%{?nodejs_default} +ln -srf %{buildroot}%{_mandir}/nodejs-%{nodejs_major}/man1/node.1 \ + %{buildroot}%{_mandir}/man1/ +%endif
# Install Gatsby HTML documentation to %%{_pkgdocdir} cp -pr deps/npm/docs %{buildroot}%{_pkgdocdir}/npm/ -rm -rf %{buildroot}%{_prefix}/lib/node_modules/npm/docs - -ln -srf %{_pkgdocdir}/npm %{buildroot}%{_prefix}/lib/node_modules/npm/docs +rm -rf %{buildroot}%{nodejs_private_sitelib}/npm/docs +ln -srf %{buildroot}%{_pkgdocdir}/npm %{buildroot}%{nodejs_private_sitelib}/npm/docs
# Node tries to install some python files into a documentation directory # (and not the proper one). Remove them for now until we figure out what to @@ -536,23 +654,26 @@ rm -f %{buildroot}/%{_defaultdocdir}/node/lldb_commands.py \ # Some NPM bundled deps are executable but should not be. This causes # unnecessary automatic dependencies to be added. Make them not executable. # Skip the npm bin directory or the npm binary will not work. -find %{buildroot}%{_prefix}/lib/node_modules/npm \ - -not -path "%{buildroot}%{_prefix}/lib/node_modules/npm/bin/*" \ +find %{buildroot}%{nodejs_private_sitelib}/npm \ + -not -path "%{buildroot}%{nodejs_private_sitelib}/npm/bin/*" \ -executable -type f \ -exec chmod -x {} ;
# The above command is a little overzealous. Add a few permissions back. -chmod 0755 %{buildroot}%{_prefix}/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin/node-gyp -chmod 0755 %{buildroot}%{_prefix}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js +chmod 0755 %{buildroot}%{nodejs_private_sitelib}/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin/node-gyp +chmod 0755 %{buildroot}%{nodejs_private_sitelib}/npm/node_modules/node-gyp/bin/node-gyp.js
# Drop the NPM default configuration in place +%if 0%{?nodejs_default} mkdir -p %{buildroot}%{_sysconfdir} cp %{SOURCE1} %{buildroot}%{_sysconfdir}/npmrc
# NPM upstream expects it to be in /usr/etc/npmrc, so we'll put a symlink here # This is done in the interests of keeping /usr read-only. mkdir -p %{buildroot}%{_prefix}/etc -ln -rs %{_sysconfdir}/npmrc %{buildroot}%{_prefix}/etc/npmrc +ln -rsf %{buildroot}%{_sysconfdir}/npmrc \ + %{buildroot}%{_prefix}/etc/npmrc +%endif
# Install the full-icu data files mkdir -p %{buildroot}%{icudatadir} @@ -565,22 +686,22 @@ unzip -d %{buildroot}%{icudatadir} %{SOURCE3} icudt%{icu_major}b.dat
%check # Fail the build if the versions don't match -LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require('assert').equal(process.versions.node, '%{nodejs_version}')" -LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require('assert').equal(process.versions.v8.replace(/-node.\d+$/, ''), '%{v8_version}')" -LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require('assert').equal(process.versions.ares.replace(/-DEV$/, ''), '%{c_ares_version}')" +LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node-%{nodejs_major} -e "require('assert').equal(process.versions.node, '%{nodejs_version}')" +LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node-%{nodejs_major} -e "require('assert').equal(process.versions.v8.replace(/-node.\d+$/, ''), '%{v8_version}')" +LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node-%{nodejs_major} -e "require('assert').equal(process.versions.ares.replace(/-DEV$/, ''), '%{c_ares_version}')"
# Ensure we have punycode and that the version matches -LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require("assert").equal(require("punycode").version, '%{punycode_version}')" +LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node-%{nodejs_major} -e "require("assert").equal(require("punycode").version, '%{punycode_version}')"
# Ensure we have npm and that the version matches -LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}%{_bindir}/node %{buildroot}%{_bindir}/npm version --json |jq -e '.npm == "%{npm_version}"' +LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}%{_bindir}/node-%{nodejs_major} %{buildroot}%{_bindir}/npm-%{nodejs_major} version --json |jq -e '.npm == "%{npm_version}"'
# Make sure i18n support is working -NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{_prefix}/lib/node_modules/npm/node_modules LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node --icu-data-dir=%{buildroot}%{icudatadir} %{SOURCE2} +NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{nodejs_private_sitelib}/npm/node_modules LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node-%{nodejs_major} --icu-data-dir=%{buildroot}%{icudatadir} %{SOURCE2}
%if 0%{?rhel} && 0%{?rhel} < 8 -%pretrans -n npm -p <lua> +%pretrans npm -p <lua> -- Remove all of the symlinks from the bundled npm node_modules directory base_path = "%{_prefix}/lib/node_modules/npm/node_modules/" d_st = posix.stat(base_path) @@ -595,38 +716,42 @@ if d_st then end %endif
-%files + +%files -n %{pkgname} +%doc AUTHORS CHANGELOG.md onboarding.md GOVERNANCE.md README.md + +%if 0%{?nodejs_default} %{_bindir}/node -%dir %{_prefix}/lib/node_modules -%dir %{_datadir}/node +%doc %{_mandir}/man1/node.1* %dir %{_datadir}/systemtap %dir %{_datadir}/systemtap/tapset +%{nodejs_sitelib} %{_datadir}/systemtap/tapset/node.stp - %if %{without bundled} %dir %{_usr}/lib/dtrace %{_usr}/lib/dtrace/node.d %endif +%endif
-%{_rpmconfigdir}/fileattrs/nodejs_native.attr -%{_rpmconfigdir}/nodejs_native.req -%doc AUTHORS CHANGELOG.md onboarding.md GOVERNANCE.md README.md -%doc %{_mandir}/man1/node.1* +%{_bindir}/node-%{nodejs_major} +%{nodejs_private_sitelib}
+%doc %{_mandir}/nodejs-%{nodejs_major}/man1/node.1*
-%files devel + +%files -n %{pkgname}-devel %{_includedir}/node %{_libdir}/libnode.so -%{_datadir}/node/common.gypi +%{nodejs_datadir}/common.gypi %{_pkgdocdir}/gdbinit
-%files full-i18n +%files -n %{pkgname}-full-i18n %dir %{icudatadir} %{icudatadir}/icudt%{icu_major}*.dat
-%files libs +%files -n %{pkgname}-libs %license LICENSE %{_libdir}/libnode.so.%{nodejs_soversion} %{_libdir}/libv8.so.%{v8_major} @@ -635,7 +760,7 @@ end %dir %{nodejs_datadir}/
-%files -n v8-devel +%files -n v8-%{v8_major}.%{v8_minor}-devel %{_includedir}/libplatform %{_includedir}/v8*.h %{_includedir}/cppgc @@ -644,18 +769,27 @@ end %{_libdir}/libv8_libplatform.so
-%files -n npm +%files -n %{pkgname}-npm +%if 0%{?nodejs_default} %{_bindir}/npm %{_bindir}/npx -%{_prefix}/lib/node_modules/npm -%config(noreplace) %{_sysconfdir}/npmrc %{_prefix}/etc/npmrc +%config(noreplace) %{_sysconfdir}/npmrc %ghost %{_sysconfdir}/npmignore + %doc %{_mandir}/man*/ %exclude %doc %{_mandir}/man1/node.1* +%endif + +%{_bindir}/npm-%{nodejs_major} +%{_bindir}/npx-%{nodejs_major} +%{nodejs_private_sitelib}/npm + +%doc %{_mandir}/nodejs-%{nodejs_major}/ +%exclude %doc %{_mandir}/nodejs-%{nodejs_major}/man1/node.1*
-%files docs +%files -n %{pkgname}-docs %doc doc %dir %{_pkgdocdir} %{_pkgdocdir}/html diff --git a/nodejs_native.attr b/nodejs_native.attr deleted file mode 100644 index 0527af6..0000000 --- a/nodejs_native.attr +++ /dev/null @@ -1,2 +0,0 @@ -%__nodejs_native_requires %{_rpmconfigdir}/nodejs_native.req -%__nodejs_native_path ^/usr/lib.*/node_modules/.*\.node$ diff --git a/sources b/sources index af9ea27..8783e0e 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (node-v16.18.1-stripped.tar.gz) = c486370596ae01c4cf1e53f536b14a4a676f32d31c93b4a5554783cf3d2f868ae8a7d43c3c4bb08da57303c3f40d9d7515604fa15b171b99d5cedb06b232df11 +SHA512 (node-v16.18.1-stripped.tar.gz) = c5ee04cbf316ef931db4867a6a8bad23a2291f91d48c62f87654e8c40bbd42e540146ad299c9aa506c2f71386353cbbbd95c81082ee2e98443d71d76413cfa8a SHA512 (icu4c-71_1-data-bin-b.zip) = 2bee9b93699c40a53c2e768d4678309fbd49e052e197a80fb76842b4001ee65e548459654ef7e7d154b6289f915fccbcb5b3109edcd61e74f0db289f2bec61fd SHA512 (icu4c-71_1-data-bin-l.zip) = 07a299b1cd37cd7b07c5e1a7c6871c0dbbeabb2dec6e11c89237f41e56fd29e1a65725be102b4e4ab722183c02810a5df3ed47c3b9b4a7c14bc4c72ab127a27e
commit 35788b1d1a6f072777eed3f354044d282e6e96a8 Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Nov 7 08:26:42 2022 -0500
Update to security release 16.18.1
https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V16.md#16.... https://nodejs.org/en/blog/vulnerability/november-2022-security-releases/
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index 86b06e0..58d8e09 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,4 +1,4 @@ -From 01f2f06e24586259b185f44d11c950ca0db6b972 Mon Sep 17 00:00:00 2001 +From 558640e0e83f46b100d65ef11e366c9683bccef0 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Fri, 17 Apr 2020 12:59:44 +0200 Subject: [PATCH 1/2] Disable running gyp on shared deps @@ -8,10 +8,10 @@ Subject: [PATCH 1/2] Disable running gyp on shared deps 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile -index dc6f08b6f0280f3d21b4c57fed0ef580218a033c..c865e723b4b27a28a51d2f797082a9707a7fb9c9 100644 +index 6d6f2e472db45c7948093ca2497ad1935775a382..88e1a11e12218f69c752bdbe98ae5e64104d8418 100644 --- a/Makefile +++ b/Makefile -@@ -147,7 +147,7 @@ with-code-cache test-code-cache: +@@ -148,7 +148,7 @@ with-code-cache test-code-cache: $(warning '$@' target is a noop)
out/Makefile: config.gypi common.gypi node.gyp \ diff --git a/0002-build-add-libdir-flag-to-configure.patch b/0002-build-add-libdir-flag-to-configure.patch deleted file mode 100644 index 56d715f..0000000 --- a/0002-build-add-libdir-flag-to-configure.patch +++ /dev/null @@ -1,69 +0,0 @@ -From f2994693ae8c81c033f366a6a7853fe1db6b91f9 Mon Sep 17 00:00:00 2001 -From: Stephen Gallagher sgallagh@redhat.com -Date: Sun, 28 Aug 2022 04:12:42 -0400 -Subject: [PATCH 2/2] build: add --libdir flag to configure - -This will allow distribution packages to select an alternative -location for the unofficial libnode.so. For example, on Fedora it -will install into /usr/lib64 on 64-bit systems. - -Signed-off-by: Stephen Gallagher sgallagh@redhat.com -PR-URL: https://github.com/nodejs/node/pull/44361 -Reviewed-By: Richard Lau rlau@redhat.com -Reviewed-By: Antoine du Hamel duhamelantoine1995@gmail.com ---- - configure.py | 9 +++++++++ - tools/install.py | 4 ++-- - 2 files changed, 11 insertions(+), 2 deletions(-) - -diff --git a/configure.py b/configure.py -index 1a7023dece588631b8281c67b223204c1ebb5ee7..67d0cc695e67077f5c74f04ccf761807dd7fb3ef 100755 ---- a/configure.py -+++ b/configure.py -@@ -739,6 +739,14 @@ parser.add_argument('--shared', - help='compile shared library for embedding node in another project. ' + - '(This mode is not officially supported for regular applications)') - -+parser.add_argument('--libdir', -+ action='store', -+ dest='libdir', -+ default='lib', -+ help='a directory to install the shared library into relative to the ' -+ 'prefix. This is a no-op if --shared is not specified. ' + -+ '(This mode is not officially supported for regular applications)') -+ - parser.add_argument('--without-v8-platform', - action='store_true', - dest='without_v8_platform', -@@ -1368,6 +1376,7 @@ def configure_node(o): - o['variables']['node_no_browser_globals'] = b(options.no_browser_globals) - - o['variables']['node_shared'] = b(options.shared) -+ o['variables']['libdir'] = options.libdir - node_module_version = getmoduleversion.get_version() - - if options.dest_os == 'android': -diff --git a/tools/install.py b/tools/install.py -index a6d1f8b3caa8e24148b1930ea109508f8e612735..f9f4b3c6c0f4297a5b44c44bc1cccc7bfe3ef2b0 100755 ---- a/tools/install.py -+++ b/tools/install.py -@@ -169,14 +169,14 @@ def files(action): - - # install libnode.version.so - so_name = 'libnode.' + re.sub(r'.x$', '.so', variables.get('shlib_suffix')) -- action([output_prefix + so_name], 'lib/' + so_name) -+ action([output_prefix + so_name], variables.get('libdir') + '/' + so_name) - - # create symlink of libnode.so -> libnode.version.so (C++ addons compat) - link_path = abspath(install_path, 'lib/libnode.so') - try_symlink(so_name, link_path) - else: - output_lib = 'libnode.' + variables.get('shlib_suffix') -- action([output_prefix + output_lib], 'lib/' + output_lib) -+ action([output_prefix + output_lib], variables.get('libdir') + '/' + output_lib) - if 'true' == variables.get('node_use_dtrace'): - action(['out/Release/node.d'], 'lib/dtrace/node.d') - --- -2.37.3 - diff --git a/0002-build-fix-bad-upstream-merge.patch b/0002-build-fix-bad-upstream-merge.patch new file mode 100644 index 0000000..743bdba --- /dev/null +++ b/0002-build-fix-bad-upstream-merge.patch @@ -0,0 +1,35 @@ +From b6d3188aaca4d7a596ea33a7371d62a8f916c8ee Mon Sep 17 00:00:00 2001 +From: Stephen Gallagher sgallagh@redhat.com +Date: Wed, 14 Sep 2022 16:23:13 -0400 +Subject: [PATCH 2/2] build: fix bad upstream merge + +The upstream merge of https://github.com/nodejs/node/commit/e27e709d3c +accidentally removed code related to systemtap and dtrace. + +Signed-off-by: Stephen Gallagher sgallagh@redhat.com +PR-URL: https://github.com/nodejs/node/pull/44642 +Reviewed-By: Rafael Gonzaga rafael.nunu@hotmail.com +Reviewed-By: Richard Lau rlau@redhat.com +--- + tools/install.py | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/tools/install.py b/tools/install.py +index 15061be02620f13a4edba477bdd11b7ad6166762..f9f4b3c6c0f4297a5b44c44bc1cccc7bfe3ef2b0 100755 +--- a/tools/install.py ++++ b/tools/install.py +@@ -177,6 +177,11 @@ def files(action): + else: + output_lib = 'libnode.' + variables.get('shlib_suffix') + action([output_prefix + output_lib], variables.get('libdir') + '/' + output_lib) ++ if 'true' == variables.get('node_use_dtrace'): ++ action(['out/Release/node.d'], 'lib/dtrace/node.d') ++ ++ # behave similarly for systemtap ++ action(['src/node.stp'], 'share/systemtap/tapset/') + + action(['deps/v8/tools/gdbinit'], 'share/doc/node/') + action(['deps/v8/tools/lldb_commands.py'], 'share/doc/node/') +-- +2.37.3 + diff --git a/nodejs.spec b/nodejs.spec index 8ba2bf0..b2fc015 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -47,7 +47,7 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 16 -%global nodejs_minor 17 +%global nodejs_minor 18 %global nodejs_patch 1 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h @@ -76,7 +76,7 @@ %global c_ares_version 1.18.1
# llhttp - from deps/llhttp/include/llhttp.h -%global llhttp_version 6.0.9 +%global llhttp_version 6.0.10
# libuv - from deps/uv/include/uv/version.h %global libuv_version 1.43.0 @@ -104,7 +104,7 @@
# npm - from deps/npm/package.json %global npm_epoch 1 -%global npm_version 8.15.0 +%global npm_version 8.19.2
# In order to avoid needing to keep incrementing the release version for the # main package forever, we will just construct one for npm that is guaranteed @@ -113,7 +113,7 @@ %global npm_release %{nodejs_epoch}.%{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release}
# uvwasi - from deps/uvwasi/include/uvwasi.h -%global uvwasi_version 0.0.12 +%global uvwasi_version 0.0.13
# histogram_c - assumed from timestamps %global histogram_version 0.9.7 @@ -148,8 +148,8 @@ Source7: nodejs_native.attr # Disable running gyp on bundled deps we don't use Patch1: 0001-Disable-running-gyp-on-shared-deps.patch
-# Patch to install both node and libnode.so, using the correct libdir -Patch2: 0002-build-add-libdir-flag-to-configure.patch +# Upstream patch to fix merge conflict issue +Patch2: 0002-build-fix-bad-upstream-merge.patch
BuildRequires: python%{python3_pkgversion}-devel BuildRequires: python%{python3_pkgversion}-setuptools diff --git a/sources b/sources index bfd6f8f..af9ea27 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (node-v16.17.1-stripped.tar.gz) = 82aa560aefd5fa7c818a53977f948aeaf8a9d634bc0835423924cc391a06f238ab4015c6e3e38be28aa8596a63019ed64ed96323ed11a37a67d23afc4dab7133 +SHA512 (node-v16.18.1-stripped.tar.gz) = c486370596ae01c4cf1e53f536b14a4a676f32d31c93b4a5554783cf3d2f868ae8a7d43c3c4bb08da57303c3f40d9d7515604fa15b171b99d5cedb06b232df11 SHA512 (icu4c-71_1-data-bin-b.zip) = 2bee9b93699c40a53c2e768d4678309fbd49e052e197a80fb76842b4001ee65e548459654ef7e7d154b6289f915fccbcb5b3109edcd61e74f0db289f2bec61fd SHA512 (icu4c-71_1-data-bin-l.zip) = 07a299b1cd37cd7b07c5e1a7c6871c0dbbeabb2dec6e11c89237f41e56fd29e1a65725be102b4e4ab722183c02810a5df3ed47c3b9b4a7c14bc4c72ab127a27e
commit df2cbf34a3e4035535ca8adcaa58237d7a75bf5e Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Nov 1 10:15:50 2022 -0400
Update python3_fixup
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 22832c8..8ba2bf0 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -16,12 +16,6 @@ %bcond_with bundled %endif
-%if 0%{?rhel} && 0%{?rhel} < 9 -%bcond_without python3_fixup -%else -%bcond_with python3_fixup -%endif - %if 0%{?rhel} && 0%{?rhel} < 8 %bcond_without bundled_zlib %else @@ -36,7 +30,7 @@
# Heavy-handed approach to avoiding issues with python # bytecompiling files in the node_modules/ directory -%global __python %{__python3} +%global __python %{python3}
# == Master Relase == # This is used by both the nodejs package and the npm subpackage that @@ -96,7 +90,7 @@ %global icu_version %{icu_major}.%{icu_minor}
%global icudatadir %{nodejs_datadir}/icudata -%{!?little_endian: %global little_endian %(%{__python3} -c "import sys;print (0 if sys.byteorder=='big' else 1)")} +%{!?little_endian: %global little_endian %(%{python3} -c "import sys;print (0 if sys.byteorder=='big' else 1)")} # " this line just fixes syntax highlighting for vim that is confused by the above and continues literal
@@ -160,7 +154,7 @@ Patch2: 0002-build-add-libdir-flag-to-configure.patch BuildRequires: python%{python3_pkgversion}-devel BuildRequires: python%{python3_pkgversion}-setuptools BuildRequires: python%{python3_pkgversion}-jinja2 -%if !%{with python3_fixup} +%if 0%{?fedora} || 0%{?rhel} >= 9 BuildRequires: python-unversioned-command %endif %if %{with bundled_zlib} @@ -409,15 +403,9 @@ rm -rf deps/brotli rm -rf deps/v8/third_party/jinja2 rm -rf tools/inspector_protocol/jinja2
-# Replace any instances of unversioned python' with python3 -%if %{with python3_fixup} -pathfix.py -i %{__python3} -pn $(find -type f ! -name "*.js") -find . -type f -exec sed -i "s~/usr/bin/env python~/usr/bin/python3~" {} ; -find . -type f -exec sed -i "s~/usr/bin/python\W~/usr/bin/python3~" {} ; -sed -i "s~usr/bin/python2~usr/bin/python3~" ./deps/v8/tools/gen-inlining-tests.py -sed -i "s~usr/bin/python.*$~usr/bin/python3~" ./deps/v8/tools/mb/mb_unittest.py -find . -type f -exec sed -i "s~python -c~python3 -c~" {} ; -%endif +# Replace any instances of unversioned python with python3 +pfiles=( $(grep -rl python) ) +%py3_shebang_fix ${pfiles[@]}
%build @@ -433,9 +421,7 @@ find . -type f -exec sed -i "s~python -c~python3 -c~" {} ;
export CC='%{__cc}' export CXX='%{__cxx}' -%if %{with python3_fixup} -export NODE_GYP_FORCE_PYTHON=%{__python3} -%endif +export NODE_GYP_FORCE_PYTHON=%{python3}
# build with debugging symbols and add defines from libuv (#892601) # Node's v8 breaks with GCC 6 because of incorrect usage of methods on @@ -454,7 +440,7 @@ extra_cflags=( export CFLAGS="%{optflags} ${extra_cflags[*]}" CXXFLAGS="%{optflags} ${extra_cflags[*]}" export LDFLAGS="%{build_ldflags}"
-%{__python3} configure.py \ +%{python3} configure.py \ --ninja \ --enable-lto \ --prefix=%{_prefix} \
commit e34a14ec674498bb110a9502398d73a62d3f55dd Author: Stephen Gallagher sgallagh@redhat.com Date: Fri Sep 23 15:41:38 2022 -0400
Backport nodejs-sources.sh
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs-sources.sh b/nodejs-sources.sh index 645b8c1..211a880 100755 --- a/nodejs-sources.sh +++ b/nodejs-sources.sh @@ -124,6 +124,7 @@ rm -rf node-v${version}.tar.gz \ wget http://nodejs.org/dist/v$%7Bversion%7D/node-v$%7Bversion%7D.tar.gz \ http://nodejs.org/dist/v$%7Bversion%7D/SHASUMS256.txt sha256sum -c SHASUMS256.txt --ignore-missing +rm -f SHASUMS256.txt tar -zxf node-v${version}.tar.gz
# Remove bundled OpenSSL
commit 65341d4f7f3e076f43724af349c7e21dce1af6c9 Author: Stephen Gallagher sgallagh@redhat.com Date: Fri Sep 23 15:39:00 2022 -0400
Update to 16.17.1
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 3e2f801..22832c8 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -54,7 +54,7 @@ %global nodejs_epoch 1 %global nodejs_major 16 %global nodejs_minor 17 -%global nodejs_patch 0 +%global nodejs_patch 1 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 93 @@ -82,7 +82,7 @@ %global c_ares_version 1.18.1
# llhttp - from deps/llhttp/include/llhttp.h -%global llhttp_version 6.0.7 +%global llhttp_version 6.0.9
# libuv - from deps/uv/include/uv/version.h %global libuv_version 1.43.0 diff --git a/sources b/sources index 3b69ece..bfd6f8f 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (node-v16.17.0-stripped.tar.gz) = 58801adff3e9ddd36e8d2cff3cb52dfe13fc9b7b2b529c220d156eeecbfcc2f9386d2f0191bb73961ac0056ff3853bec61bd90a1062aaef788d169cccb1ba093 +SHA512 (node-v16.17.1-stripped.tar.gz) = 82aa560aefd5fa7c818a53977f948aeaf8a9d634bc0835423924cc391a06f238ab4015c6e3e38be28aa8596a63019ed64ed96323ed11a37a67d23afc4dab7133 SHA512 (icu4c-71_1-data-bin-b.zip) = 2bee9b93699c40a53c2e768d4678309fbd49e052e197a80fb76842b4001ee65e548459654ef7e7d154b6289f915fccbcb5b3109edcd61e74f0db289f2bec61fd SHA512 (icu4c-71_1-data-bin-l.zip) = 07a299b1cd37cd7b07c5e1a7c6871c0dbbeabb2dec6e11c89237f41e56fd29e1a65725be102b4e4ab722183c02810a5df3ed47c3b9b4a7c14bc4c72ab127a27e
commit e7dbef960869f82bfb7f8179b5330b15445f23cd Author: Stephen Gallagher sgallagh@redhat.com Date: Thu Sep 15 09:48:36 2022 -0400
Drop epel7 from package.cfg
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/package.cfg b/package.cfg index af1871a..c67c182 100644 --- a/package.cfg +++ b/package.cfg @@ -1,2 +1,2 @@ [koji] -targets = f36 f35 epel7 +targets = f36 f35
commit b4978d02791167fbd782299730b5c5d157f6e323 Author: Stephen Gallagher sgallagh@redhat.com Date: Thu Sep 15 09:15:01 2022 -0400
Simplify manpage packaging
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 72a5dbd..3e2f801 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -665,23 +665,8 @@ end %config(noreplace) %{_sysconfdir}/npmrc %{_prefix}/etc/npmrc %ghost %{_sysconfdir}/npmignore -%doc %{_mandir}/man1/npm*.1* -%doc %{_mandir}/man1/npx.1* -%doc %{_mandir}/man5/folders.5* -%doc %{_mandir}/man5/install.5* -%doc %{_mandir}/man5/npmrc.5* -%doc %{_mandir}/man5/npm-shrinkwrap-json.5* -%doc %{_mandir}/man5/package-json.5* -%doc %{_mandir}/man5/package-lock-json.5* -%doc %{_mandir}/man7/config.7* -%doc %{_mandir}/man7/developers.7* -%doc %{_mandir}/man7/orgs.7* -%doc %{_mandir}/man7/logging.7* -%doc %{_mandir}/man7/registry.7* -%doc %{_mandir}/man7/removal.7* -%doc %{_mandir}/man7/scope.7* -%doc %{_mandir}/man7/scripts.7* -%doc %{_mandir}/man7/workspaces.7* +%doc %{_mandir}/man*/ +%exclude %doc %{_mandir}/man1/node.1*
%files docs
commit da21b9cec208e54af8f2d113e0f4e5e778f90da9 Author: Stephen Gallagher sgallagh@redhat.com Date: Wed Sep 14 16:22:06 2022 -0400
Update to Node.js 16.17.0
- https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V16.md#16....
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index 4691735..86b06e0 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,4 +1,4 @@ -From f27e4dbb4116fc2d12426c46b5c5cf374e89d17d Mon Sep 17 00:00:00 2001 +From 01f2f06e24586259b185f44d11c950ca0db6b972 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Fri, 17 Apr 2020 12:59:44 +0200 Subject: [PATCH 1/2] Disable running gyp on shared deps @@ -8,7 +8,7 @@ Subject: [PATCH 1/2] Disable running gyp on shared deps 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile -index 3c48653d05c0c606884681c358228d5b86f73c41..8b5a93b41bffcacbded410a402beb5f7ff8ee41b 100644 +index dc6f08b6f0280f3d21b4c57fed0ef580218a033c..c865e723b4b27a28a51d2f797082a9707a7fb9c9 100644 --- a/Makefile +++ b/Makefile @@ -147,7 +147,7 @@ with-code-cache test-code-cache: @@ -21,5 +21,5 @@ index 3c48653d05c0c606884681c358228d5b86f73c41..8b5a93b41bffcacbded410a402beb5f7 tools/v8_gypfiles/inspector.gypi tools/v8_gypfiles/v8.gyp $(PYTHON) tools/gyp_node.py -f make -- -2.35.1 +2.37.3
diff --git a/0002-Install-both-binaries-and-use-libdir.patch b/0002-Install-both-binaries-and-use-libdir.patch deleted file mode 100644 index db68a99..0000000 --- a/0002-Install-both-binaries-and-use-libdir.patch +++ /dev/null @@ -1,79 +0,0 @@ -From d34c55cf80731ac2e6de6cb88166e47d93f6cf81 Mon Sep 17 00:00:00 2001 -From: Elliott Sales de Andrade quantum.analyst@gmail.com -Date: Tue, 19 Mar 2019 23:22:40 -0400 -Subject: [PATCH 2/2] Install both binaries and use libdir. - -This allows us to build with a shared library for other users while -still providing the normal executable. - -Signed-off-by: Elliott Sales de Andrade quantum.analyst@gmail.com -Signed-off-by: Stephen Gallagher sgallagh@redhat.com ---- - configure.py | 7 +++++++ - tools/install.py | 21 +++++++++------------ - 2 files changed, 16 insertions(+), 12 deletions(-) - -diff --git a/configure.py b/configure.py -index 95b31769cb5756578d66193716c638f504bd44aa..6e8af30df82b988364f8a1f0a27aabda9c606cab 100755 ---- a/configure.py -+++ b/configure.py -@@ -733,6 +733,12 @@ parser.add_argument('--shared', - help='compile shared library for embedding node in another project. ' + - '(This mode is not officially supported for regular applications)') - -+parser.add_argument('--libdir', -+ action='store', -+ dest='libdir', -+ default='lib', -+ help='a directory to install the shared library into') -+ - parser.add_argument('--without-v8-platform', - action='store_true', - dest='without_v8_platform', -@@ -1342,6 +1348,7 @@ def configure_node(o): - o['variables']['node_no_browser_globals'] = b(options.no_browser_globals) - - o['variables']['node_shared'] = b(options.shared) -+ o['variables']['libdir'] = options.libdir - node_module_version = getmoduleversion.get_version() - - if options.dest_os == 'android': -diff --git a/tools/install.py b/tools/install.py -index 8a050dfa7c8b771ceb30fd2b74dc47f3de96834c..40357ad1f539b2463393bf618243777c72294015 100755 ---- a/tools/install.py -+++ b/tools/install.py -@@ -130,22 +130,19 @@ def subdir_files(path, dest, action): - - def files(action): - is_windows = sys.platform == 'win32' -- output_file = 'node' - output_prefix = 'out/Release/' -+ output_libprefix = output_prefix - -- if 'false' == variables.get('node_shared'): -- if is_windows: -- output_file += '.exe' -+ if is_windows: -+ output_bin = 'node.exe' -+ output_lib = 'node.dll' - else: -- if is_windows: -- output_file += '.dll' -- else: -- output_file = 'lib' + output_file + '.' + variables.get('shlib_suffix') -+ output_bin = 'node' -+ output_lib = 'libnode.' + variables.get('shlib_suffix') - -- if 'false' == variables.get('node_shared'): -- action([output_prefix + output_file], 'bin/' + output_file) -- else: -- action([output_prefix + output_file], 'lib/' + output_file) -+ action([output_prefix + output_bin], 'bin/' + output_bin) -+ if 'true' == variables.get('node_shared'): -+ action([output_libprefix + output_lib], variables.get('libdir') + '/' + output_lib) - - if 'true' == variables.get('node_use_dtrace'): - action(['out/Release/node.d'], 'lib/dtrace/node.d') --- -2.35.1 - diff --git a/0002-build-add-libdir-flag-to-configure.patch b/0002-build-add-libdir-flag-to-configure.patch new file mode 100644 index 0000000..56d715f --- /dev/null +++ b/0002-build-add-libdir-flag-to-configure.patch @@ -0,0 +1,69 @@ +From f2994693ae8c81c033f366a6a7853fe1db6b91f9 Mon Sep 17 00:00:00 2001 +From: Stephen Gallagher sgallagh@redhat.com +Date: Sun, 28 Aug 2022 04:12:42 -0400 +Subject: [PATCH 2/2] build: add --libdir flag to configure + +This will allow distribution packages to select an alternative +location for the unofficial libnode.so. For example, on Fedora it +will install into /usr/lib64 on 64-bit systems. + +Signed-off-by: Stephen Gallagher sgallagh@redhat.com +PR-URL: https://github.com/nodejs/node/pull/44361 +Reviewed-By: Richard Lau rlau@redhat.com +Reviewed-By: Antoine du Hamel duhamelantoine1995@gmail.com +--- + configure.py | 9 +++++++++ + tools/install.py | 4 ++-- + 2 files changed, 11 insertions(+), 2 deletions(-) + +diff --git a/configure.py b/configure.py +index 1a7023dece588631b8281c67b223204c1ebb5ee7..67d0cc695e67077f5c74f04ccf761807dd7fb3ef 100755 +--- a/configure.py ++++ b/configure.py +@@ -739,6 +739,14 @@ parser.add_argument('--shared', + help='compile shared library for embedding node in another project. ' + + '(This mode is not officially supported for regular applications)') + ++parser.add_argument('--libdir', ++ action='store', ++ dest='libdir', ++ default='lib', ++ help='a directory to install the shared library into relative to the ' ++ 'prefix. This is a no-op if --shared is not specified. ' + ++ '(This mode is not officially supported for regular applications)') ++ + parser.add_argument('--without-v8-platform', + action='store_true', + dest='without_v8_platform', +@@ -1368,6 +1376,7 @@ def configure_node(o): + o['variables']['node_no_browser_globals'] = b(options.no_browser_globals) + + o['variables']['node_shared'] = b(options.shared) ++ o['variables']['libdir'] = options.libdir + node_module_version = getmoduleversion.get_version() + + if options.dest_os == 'android': +diff --git a/tools/install.py b/tools/install.py +index a6d1f8b3caa8e24148b1930ea109508f8e612735..f9f4b3c6c0f4297a5b44c44bc1cccc7bfe3ef2b0 100755 +--- a/tools/install.py ++++ b/tools/install.py +@@ -169,14 +169,14 @@ def files(action): + + # install libnode.version.so + so_name = 'libnode.' + re.sub(r'.x$', '.so', variables.get('shlib_suffix')) +- action([output_prefix + so_name], 'lib/' + so_name) ++ action([output_prefix + so_name], variables.get('libdir') + '/' + so_name) + + # create symlink of libnode.so -> libnode.version.so (C++ addons compat) + link_path = abspath(install_path, 'lib/libnode.so') + try_symlink(so_name, link_path) + else: + output_lib = 'libnode.' + variables.get('shlib_suffix') +- action([output_prefix + output_lib], 'lib/' + output_lib) ++ action([output_prefix + output_lib], variables.get('libdir') + '/' + output_lib) + if 'true' == variables.get('node_use_dtrace'): + action(['out/Release/node.d'], 'lib/dtrace/node.d') + +-- +2.37.3 + diff --git a/nodejs.spec b/nodejs.spec index 1ad001e..72a5dbd 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -53,7 +53,7 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 16 -%global nodejs_minor 16 +%global nodejs_minor 17 %global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h @@ -70,7 +70,7 @@ %global v8_major 9 %global v8_minor 4 %global v8_build 146 -%global v8_patch 24 +%global v8_patch 26 %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} %global v8_release %{nodejs_epoch}.%{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release}
@@ -91,7 +91,7 @@ %global nghttp2_version 1.47.0
# ICU - from tools/icu/current_ver.dep -%global icu_major 70 +%global icu_major 71 %global icu_minor 1 %global icu_version %{icu_major}.%{icu_minor}
@@ -110,7 +110,7 @@
# npm - from deps/npm/package.json %global npm_epoch 1 -%global npm_version 8.11.0 +%global npm_version 8.15.0
# In order to avoid needing to keep incrementing the release version for the # main package forever, we will just construct one for npm that is guaranteed @@ -155,7 +155,7 @@ Source7: nodejs_native.attr Patch1: 0001-Disable-running-gyp-on-shared-deps.patch
# Patch to install both node and libnode.so, using the correct libdir -Patch2: 0002-Install-both-binaries-and-use-libdir.patch +Patch2: 0002-build-add-libdir-flag-to-configure.patch
BuildRequires: python%{python3_pkgversion}-devel BuildRequires: python%{python3_pkgversion}-setuptools diff --git a/sources b/sources index f6ba136..3b69ece 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (node-v16.16.0-stripped.tar.gz) = a3304e555097ac04e32e00721196baba4cb291e4529f99c804b4834e536c864486f35dd97ce1946dc86a15d719b63bfb108cf41b6012976e7bd0439c69d27bd7 -SHA512 (icu4c-70_1-data-bin-b.zip) = eff9b41f1df4fe74e13bc216c62a8eab735622e3aa4e0b9c925b61f55294a002238a0022e1579197170d0345de6e877220b04b62d2010796f4ef1fbb2c17ea92 -SHA512 (icu4c-70_1-data-bin-l.zip) = 041ff3480566330d043d9ddcd31e8851e875183d158ea3ce625583b4a9d96166497a9eedc0e72e2f7a3abc3a9110a0372546151b264ff4d1623215aab33552f5 +SHA512 (node-v16.17.0-stripped.tar.gz) = 58801adff3e9ddd36e8d2cff3cb52dfe13fc9b7b2b529c220d156eeecbfcc2f9386d2f0191bb73961ac0056ff3853bec61bd90a1062aaef788d169cccb1ba093 +SHA512 (icu4c-71_1-data-bin-b.zip) = 2bee9b93699c40a53c2e768d4678309fbd49e052e197a80fb76842b4001ee65e548459654ef7e7d154b6289f915fccbcb5b3109edcd61e74f0db289f2bec61fd +SHA512 (icu4c-71_1-data-bin-l.zip) = 07a299b1cd37cd7b07c5e1a7c6871c0dbbeabb2dec6e11c89237f41e56fd29e1a65725be102b4e4ab722183c02810a5df3ed47c3b9b4a7c14bc4c72ab127a27e
commit 11b453fe2300a26c7969f1dac8558301b36fa579 Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Jul 11 10:37:31 2022 -0400
Update to 16.16.0
Enable %autorelease support
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 6e64343..1ad001e 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -42,7 +42,7 @@ # This is used by both the nodejs package and the npm subpackage that # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 1 +%global baserelease %autorelease
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -53,8 +53,8 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 16 -%global nodejs_minor 15 -%global nodejs_patch 1 +%global nodejs_minor 16 +%global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 93 @@ -82,7 +82,7 @@ %global c_ares_version 1.18.1
# llhttp - from deps/llhttp/include/llhttp.h -%global llhttp_version 6.0.4 +%global llhttp_version 6.0.7
# libuv - from deps/uv/include/uv/version.h %global libuv_version 1.43.0 @@ -127,7 +127,7 @@ Name: nodejs Epoch: %{nodejs_epoch} Version: %{nodejs_version} -Release: %{nodejs_release}%{?dist} +Release: %{nodejs_release} Summary: JavaScript runtime License: MIT and ASL 2.0 and ISC and BSD Group: Development/Languages @@ -157,7 +157,6 @@ Patch1: 0001-Disable-running-gyp-on-shared-deps.patch # Patch to install both node and libnode.so, using the correct libdir Patch2: 0002-Install-both-binaries-and-use-libdir.patch
-BuildRequires: make BuildRequires: python%{python3_pkgversion}-devel BuildRequires: python%{python3_pkgversion}-setuptools BuildRequires: python%{python3_pkgversion}-jinja2 @@ -184,6 +183,7 @@ BuildRequires: jq # https://pagure.io/nodejs-packaging/pull-request/10 BuildRequires: nodejs-packaging BuildRequires: chrpath +BuildRequires: ninja-build BuildRequires: libatomic BuildRequires: systemtap-sdt-devel BuildRequires: unzip @@ -277,9 +277,9 @@ Requires: (nodejs-packaging if rpm-build)
# Make sure we keep NPM up to date when we update Node.js %if 0%{?fedora} || 0%{?rhel} >= 8 -Recommends: npm >= %{npm_epoch}:%{npm_version}-%{npm_release}%{?dist} +Recommends: npm >= %{npm_epoch}:%{npm_version}-%{npm_release} %endif -Conflicts: npm < %{npm_epoch}:%{npm_version}-%{npm_release}%{?dist} +Conflicts: npm < %{npm_epoch}:%{npm_version}-%{npm_release}
%description @@ -293,8 +293,8 @@ real-time applications that run across distributed devices. %package devel Summary: JavaScript runtime - development headers Group: Development/Languages -Requires: %{name}%{?_isa} = %{epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} -Requires: %{name}-libs%{?_isa} = %{epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} +Requires: %{name}%{?_isa} = %{epoch}:%{nodejs_version}-%{nodejs_release} +Requires: %{name}-libs%{?_isa} = %{epoch}:%{nodejs_version}-%{nodejs_release} Requires: openssl-devel%{?_isa} %if !%{with bundled_zlib} Requires: zlib-devel%{?_isa} @@ -328,8 +328,8 @@ Provides: libv8_libbase.so.%{v8_major} = %{v8_epoch}:%{v8_version} Provides: libv8_libplatform.so.%{v8_major} = %{v8_epoch}:%{v8_version} %endif
-Provides: v8 = %{v8_epoch}:%{v8_version}-%{nodejs_release}%{?dist} -Provides: v8%{?_isa} = %{v8_epoch}:%{v8_version}-%{nodejs_release}%{?dist} +Provides: v8 = %{v8_epoch}:%{v8_version}-%{nodejs_release} +Provides: v8%{?_isa} = %{v8_epoch}:%{v8_version}-%{nodejs_release} Obsoletes: v8 < 1:6.7.17-10
%description libs @@ -338,7 +338,7 @@ Libraries to support Node.js and provide stable v8 interfaces.
%package full-i18n Summary: Non-English locale data for Node.js -Requires: %{name}%{?_isa} = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} +Requires: %{name}%{?_isa} = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}
%description full-i18n Optional data files to provide full-icu support for Node.js. Remove this @@ -349,9 +349,9 @@ package to save space if non-English locales are not needed. Summary: v8 - development headers Epoch: %{v8_epoch} Version: %{v8_version} -Release: %{v8_release}%{?dist} -Requires: %{name}-devel%{?_isa} = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} -Requires: %{name}-libs%{?_isa} = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} +Release: %{v8_release} +Requires: %{name}-devel%{?_isa} = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release} +Requires: %{name}-libs%{?_isa} = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release} Conflicts: v8-314-devel
%description -n v8-devel @@ -362,15 +362,15 @@ Development headers for the v8 runtime. Summary: Node.js Package Manager Epoch: %{npm_epoch} Version: %{npm_version} -Release: %{npm_release}%{?dist} +Release: %{npm_release}
# We used to ship npm separately, but it is so tightly integrated with Node.js # (and expected to be present on all Node.js systems) that we ship it bundled # now. Obsoletes: npm < 0:3.5.4-6 -Requires: nodejs = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} +Requires: nodejs = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release} %if 0%{?fedora} || 0%{?rhel} >= 8 -Recommends: nodejs-docs = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} +Recommends: nodejs-docs = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release} %endif
# Do not add epoch to the virtual NPM provides or it will break @@ -390,8 +390,8 @@ BuildArch: noarch # We don't require that the main package be installed to # use the docs, but if it is installed, make sure the # version always matches -Conflicts: %{name} > %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} -Conflicts: %{name} < %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} +Conflicts: %{name} > %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release} +Conflicts: %{name} < %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}
%description docs The API documentation for the Node.js JavaScript runtime. @@ -427,11 +427,9 @@ find . -type f -exec sed -i "s~python -c~python3 -c~" {} ; . /opt/rh/devtoolset-11/enable %endif
-%ifarch s390 s390x %{arm} %ix86 # Decrease debuginfo verbosity to reduce memory consumption during final # library linking %global optflags %(echo %{optflags} | sed 's/-g /-g1 /') -%endif
export CC='%{__cc}' export CXX='%{__cxx}' @@ -442,16 +440,24 @@ export NODE_GYP_FORCE_PYTHON=%{__python3} # build with debugging symbols and add defines from libuv (#892601) # Node's v8 breaks with GCC 6 because of incorrect usage of methods on # NULL objects. We need to pass -fno-delete-null-pointer-checks +# 2022-07-14: There's a bug in either torque or gcc that causes a +# segmentation fault on ppc64le and s390x if compiled with -O2. Things +# run fine on -O1 and -O3, so we'll just go with -O3 (like upstream) +# while this gets sorted out. extra_cflags=( -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DZLIB_CONST -fno-delete-null-pointer-checks + -O3 ) export CFLAGS="%{optflags} ${extra_cflags[*]}" CXXFLAGS="%{optflags} ${extra_cflags[*]}" export LDFLAGS="%{build_ldflags}"
-%{__python3} configure.py --prefix=%{_prefix} \ +%{__python3} configure.py \ + --ninja \ + --enable-lto \ + --prefix=%{_prefix} \ --shared \ --libdir=%{_lib} \ %{ssl_configure} \ @@ -462,15 +468,17 @@ export LDFLAGS="%{build_ldflags}" --with-intl=small-icu \ --with-icu-default-data-dir=%{icudatadir} \ --without-corepack \ - --openssl-use-def-ca-store \ - --enable-lto + --openssl-use-def-ca-store
-%make_build BUILDTYPE=Release +%ninja_build -C out/Release
%install rm -rf %{buildroot}
+# The ninja build does not put the shared library in the expected location, so +# we will move it. +mv out/Release/lib/libnode.so.%{nodejs_soversion} out/Release/ ./tools/install.py install %{buildroot} %{_prefix}
# Set the binary permissions properly @@ -512,6 +520,10 @@ rm -f %{buildroot}%{_pkgdocdir}/html/nodejs.1 mkdir -p %{buildroot}%{_datadir}/node cp -p common.gypi %{buildroot}%{_datadir}/node
+# The config.gypi file is platform-dependent, so rename it to not conflict +mv %{buildroot}%{_includedir}/node/config.gypi \ + %{buildroot}%{_includedir}/node/config-%{_arch}.gypi + # Install the GDB init tool into the documentation directory mv %{buildroot}/%{_datadir}/doc/node/gdbinit %{buildroot}/%{_pkgdocdir}/gdbinit
@@ -521,13 +533,13 @@ mkdir -p %{buildroot}%{_mandir} \
cp -pr deps/npm/man/* %{buildroot}%{_mandir}/ rm -rf %{buildroot}%{_prefix}/lib/node_modules/npm/man -ln -sf %{_mandir} %{buildroot}%{_prefix}/lib/node_modules/npm/man +ln -srf %{_mandir} %{buildroot}%{_prefix}/lib/node_modules/npm/man
# Install Gatsby HTML documentation to %%{_pkgdocdir} cp -pr deps/npm/docs %{buildroot}%{_pkgdocdir}/npm/ rm -rf %{buildroot}%{_prefix}/lib/node_modules/npm/docs
-ln -sf %{_pkgdocdir}/npm %{buildroot}%{_prefix}/lib/node_modules/npm/docs +ln -srf %{_pkgdocdir}/npm %{buildroot}%{_prefix}/lib/node_modules/npm/docs
# Node tries to install some python files into a documentation directory # (and not the proper one). Remove them for now until we figure out what to @@ -554,7 +566,7 @@ cp %{SOURCE1} %{buildroot}%{_sysconfdir}/npmrc # NPM upstream expects it to be in /usr/etc/npmrc, so we'll put a symlink here # This is done in the interests of keeping /usr read-only. mkdir -p %{buildroot}%{_prefix}/etc -ln -s %{_sysconfdir}/npmrc %{buildroot}%{_prefix}/etc/npmrc +ln -rs %{_sysconfdir}/npmrc %{buildroot}%{_prefix}/etc/npmrc
# Install the full-icu data files mkdir -p %{buildroot}%{icudatadir} diff --git a/sources b/sources index d909c93..f6ba136 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (node-v16.15.1-stripped.tar.gz) = 381d40421666375a917fe317caf8abc48a827c253ce773a974e68b6e8da021e8a59c080b7c1e2676fc18d3aab0f99df172f9f1d9fd3d019fa57dd3d0dfbc00bf +SHA512 (node-v16.16.0-stripped.tar.gz) = a3304e555097ac04e32e00721196baba4cb291e4529f99c804b4834e536c864486f35dd97ce1946dc86a15d719b63bfb108cf41b6012976e7bd0439c69d27bd7 SHA512 (icu4c-70_1-data-bin-b.zip) = eff9b41f1df4fe74e13bc216c62a8eab735622e3aa4e0b9c925b61f55294a002238a0022e1579197170d0345de6e877220b04b62d2010796f4ef1fbb2c17ea92 SHA512 (icu4c-70_1-data-bin-l.zip) = 041ff3480566330d043d9ddcd31e8851e875183d158ea3ce625583b4a9d96166497a9eedc0e72e2f7a3abc3a9110a0372546151b264ff4d1623215aab33552f5
commit 2d95ee0da3524c810ae10c8ace44ab186ecf03ae Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Jul 11 10:33:52 2022 -0400
Backport nodejs-sources.sh from 18
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs-sources.sh b/nodejs-sources.sh index b1295ca..645b8c1 100755 --- a/nodejs-sources.sh +++ b/nodejs-sources.sh @@ -100,6 +100,12 @@ assign_positional_args 1 "${_positionals[@]}" ### END OF CODE GENERATED BY Argbash (sortof) ### ]) # [ <-- needed because of Argbash
+packages=("jq" "wget" "tar" "fedpkg" "grep" "sed") + +rpm -q ${packages[@]} >/dev/null +if [ $? -ne 0 ]; then + sudo dnf -y install ${packages[@]} +fi
set -e
@@ -119,6 +125,9 @@ wget http://nodejs.org/dist/v$%7Bversion%7D/node-v$%7Bversion%7D.tar.gz \ http://nodejs.org/dist/v$%7Bversion%7D/SHASUMS256.txt sha256sum -c SHASUMS256.txt --ignore-missing 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}
commit 13f00767340bf28d7b67492d5fa151a0887477b8 Author: Stephen Gallagher sgallagh@redhat.com Date: Fri Jun 17 09:08:49 2022 -0400
Update to Node.js 16.15.1
Convert to %autochangelog
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index 97eddab..4691735 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,4 +1,4 @@ -From dd952f69bcbf0a9947a0629e44c49003dcb9f77f Mon Sep 17 00:00:00 2001 +From f27e4dbb4116fc2d12426c46b5c5cf374e89d17d Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Fri, 17 Apr 2020 12:59:44 +0200 Subject: [PATCH 1/2] Disable running gyp on shared deps @@ -8,12 +8,10 @@ Subject: [PATCH 1/2] Disable running gyp on shared deps 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile -index 688ebc550e9d6677f468bb791b5d06d5507d3ab5..b34b49db53a4b0cb4a3867921f5c6fb71ae34bf1 100644 +index 3c48653d05c0c606884681c358228d5b86f73c41..8b5a93b41bffcacbded410a402beb5f7ff8ee41b 100644 --- a/Makefile +++ b/Makefile -@@ -145,11 +145,11 @@ endif - .PHONY: test-code-cache - with-code-cache test-code-cache: +@@ -147,7 +147,7 @@ with-code-cache test-code-cache: $(warning '$@' target is a noop)
out/Makefile: config.gypi common.gypi node.gyp \ @@ -22,8 +20,6 @@ index 688ebc550e9d6677f468bb791b5d06d5507d3ab5..b34b49db53a4b0cb4a3867921f5c6fb7 tools/v8_gypfiles/toolchain.gypi tools/v8_gypfiles/features.gypi \ tools/v8_gypfiles/inspector.gypi tools/v8_gypfiles/v8.gyp $(PYTHON) tools/gyp_node.py -f make - - # node_version.h is listed because the N-API version is taken from there -- -2.34.1 +2.35.1
diff --git a/0002-Install-both-binaries-and-use-libdir.patch b/0002-Install-both-binaries-and-use-libdir.patch index 7536349..db68a99 100644 --- a/0002-Install-both-binaries-and-use-libdir.patch +++ b/0002-Install-both-binaries-and-use-libdir.patch @@ -1,4 +1,4 @@ -From a1c35106e7e9ab3d4a01779079cf9788a2fe777a Mon Sep 17 00:00:00 2001 +From d34c55cf80731ac2e6de6cb88166e47d93f6cf81 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 Subject: [PATCH 2/2] Install both binaries and use libdir. @@ -14,12 +14,10 @@ Signed-off-by: Stephen Gallagher sgallagh@redhat.com 2 files changed, 16 insertions(+), 12 deletions(-)
diff --git a/configure.py b/configure.py -index 47137d8912dd1439962127a3c1f417eb78572021..c59037a39fcefdfe173d16a7aa9622a32a3c29e7 100755 +index 95b31769cb5756578d66193716c638f504bd44aa..6e8af30df82b988364f8a1f0a27aabda9c606cab 100755 --- a/configure.py +++ b/configure.py -@@ -731,10 +731,16 @@ parser.add_argument('--shared', - dest='shared', - default=None, +@@ -733,6 +733,12 @@ parser.add_argument('--shared', help='compile shared library for embedding node in another project. ' + '(This mode is not officially supported for regular applications)')
@@ -32,11 +30,7 @@ index 47137d8912dd1439962127a3c1f417eb78572021..c59037a39fcefdfe173d16a7aa9622a3 parser.add_argument('--without-v8-platform', action='store_true', dest='without_v8_platform', - default=False, - help='do not initialize v8 platform during node.js startup. ' + -@@ -1332,10 +1338,11 @@ def configure_node(o): - o['variables']['debug_nghttp2'] = 'false' - +@@ -1342,6 +1348,7 @@ def configure_node(o): o['variables']['node_no_browser_globals'] = b(options.no_browser_globals)
o['variables']['node_shared'] = b(options.shared) @@ -44,15 +38,11 @@ index 47137d8912dd1439962127a3c1f417eb78572021..c59037a39fcefdfe173d16a7aa9622a3 node_module_version = getmoduleversion.get_version()
if options.dest_os == 'android': - shlib_suffix = 'so' - elif sys.platform == 'darwin': diff --git a/tools/install.py b/tools/install.py -index eafcb19bf8b29f87c39b0fe7d3c3fd2d175a7b7b..71b5371578711fcc9a1b80069850f0b61bdfebe2 100755 +index 8a050dfa7c8b771ceb30fd2b74dc47f3de96834c..40357ad1f539b2463393bf618243777c72294015 100755 --- a/tools/install.py +++ b/tools/install.py -@@ -128,26 +128,23 @@ def subdir_files(path, dest, action): - for subdir, files_in_path in ret.items(): - action(files_in_path, subdir + '/') +@@ -130,22 +130,19 @@ def subdir_files(path, dest, action):
def files(action): is_windows = sys.platform == 'win32' @@ -84,8 +74,6 @@ index eafcb19bf8b29f87c39b0fe7d3c3fd2d175a7b7b..71b5371578711fcc9a1b80069850f0b6
if 'true' == variables.get('node_use_dtrace'): action(['out/Release/node.d'], 'lib/dtrace/node.d') - - # behave similarly for systemtap -- -2.34.1 +2.35.1
diff --git a/changelog b/changelog new file mode 100644 index 0000000..cfc9d9e --- /dev/null +++ b/changelog @@ -0,0 +1,159 @@ +* Mon Jun 13 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.15.1-1 +- Update to Node.js 16.15.1 +- Re-enable LTO build + +* Fri May 06 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.15.0-3 +- Fix incorrect epoch in v8-devel dependency + +* Fri Apr 29 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.15.0-2 +- Fix file conflicts. +- Make dependency on nodejs-libs more strict. + +* Wed Apr 27 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.15.0-1 +- Update to Node.js 16.15.0 +- Stop carrying full ICU sources now that the binary data is available +- Properly version the v8 virtual Provides +- Bundle nghttp2 + +* Mon Apr 04 2022 Jan Staněk jstanek@redhat.com - 16.14.1-2 +- Unify configure.py calls into single command +- Refactor bootstrap-related parts +- Decouple dependency bundling from bootstrapping + +* Thu Mar 17 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.14.1-1 +- Update to Node.js 16.14.1 +- Drop corepack + +* Thu Mar 03 2022 Zuzana Svetlikova zsvetlik@redhat.com - 1:16.14.0-3 +- Build without corepack + +* Wed Feb 09 2022 Zuzana Svetlikova zsvetlik@redhat.com - 1:16.14.0-2 +- Replace explicit version of npm in %%check with variable and make build fail + if it doesn't match + +* Tue Feb 08 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.14.0-1 +- Update to Node.js 16.14.0 + +* Thu Feb 03 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.13.2-8 +- Update npm to 8.3.1 (CVE-2021-43616) + +* Wed Feb 02 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.13.2-7 +- Fix incorrect version Provides: for npm (bz#2049873) + +* Mon Jan 31 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.13.2-6 +- Rebuild for more architectures + +* Mon Jan 31 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.13.2-5 +- Tweak some dependencies on EPEL 7 (bz2048589) +- Add Provides: bundled(zlib) + +* Wed Jan 19 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.13.2-3 +- Bundle zlib on EPEL 7 + +* Mon Jan 17 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.13.2-2 +- Add support for building on EPEL 7 + +* Tue Jan 11 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.13.2-1 +- Improper handling of URI Subject Alternative Names (Medium)(CVE-2021-44531) +- Certificate Verification Bypass via String Injection (Medium)(CVE-2021-44532) +- Incorrect handling of certificate subject and issuer fields (Medium)(CVE-2021-44533) +- Prototype pollution via `console.table` properties (Low)(CVE-2022-21824) + +* Thu Dec 02 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.13.1-2 +- Enable building for EPEL 8 modules + +* Thu Dec 02 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.13.1-1 +- Update to 16.13.1 +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... + +* Thu Nov 25 2021 Honza Horak hhorak@redhat.com - 1:16.13.0-3 +- Make sure binary node-gyp is executable + Resolves: #2026615 + +* Mon Nov 01 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.13.0-1 +- Update to 16.13.0 +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... +- Add support for epel8 + +* Mon Oct 25 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.12.0-1 +- Update to 16.12.0 +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... + +* Wed Oct 13 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.11.1-1 +- Update to 16.11.1 +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... + +* Thu Sep 23 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.10.0-1 +- Update to 16.10.0 +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... + +* Tue Sep 14 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.9.1-4 +- Correct the bad merge of corepack fix + +* Tue Sep 14 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.9.1-3 +- Drop auto-dependency on PowerShell introduced by corepack + +* Tue Sep 14 2021 Sahana Prasad sahana@redhat.com - 1:16.9.1-2 +- Rebuilt with OpenSSL 3.0.0 + +* Mon Sep 13 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.9.1-1 +- Update to 16.9.1 +- Add experimental 'corepack' tool +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... + +* Tue Aug 31 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.8.0-1 +- Update to 16.8.0 +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... + +* Wed Aug 11 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.6.2-1 +- Update to 16.6.2 +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... + +* Tue Aug 03 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.6.1-1 +- Update to 16.6.1 +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... +- Fixes v8 regression introduced in 16.6.0 + +* Mon Aug 02 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.6.0-1 +- Update to 16.6.0 +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... + +* Thu Jul 22 2021 Fedora Release Engineering releng@fedoraproject.org - 1:16.5.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jul 20 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.5.0-1 +- Update to 16.5.0 +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... + +* Fri Jul 02 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.4.1-2 +- Re-add support for v8 development headers + +* Thu Jul 01 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.4.1-1 +- Update to 16.4.1 +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... + +* Wed Jun 23 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.4.0-1 +- Update to 16.4.0 +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... + +* Fri Jun 04 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.3.0-1 +- Update to 16.3.0 +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... + + +* Wed May 19 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.2.0-1 +- Update to 16.2.0 +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... +- Fix changelog version numbers + +* Tue May 04 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.1.0-1 +- Update to 16.1.0 +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... +- Drop upstreamed patch + +* Thu Apr 29 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.0.0-1 +- First release of Node.js 16.x + diff --git a/nodejs.spec b/nodejs.spec index c48c749..6e64343 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -29,9 +29,11 @@ %endif
-# LTO is currently broken on Node.js builds +# Node.js has its own flag to enable LTO and it conflicts +# with Fedora's approach. %define _lto_cflags %{nil}
+ # Heavy-handed approach to avoiding issues with python # bytecompiling files in the node_modules/ directory %global __python %{__python3} @@ -40,7 +42,7 @@ # This is used by both the nodejs package and the npm subpackage that # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 3 +%global baserelease 1
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -52,7 +54,7 @@ %global nodejs_epoch 1 %global nodejs_major 16 %global nodejs_minor 15 -%global nodejs_patch 0 +%global nodejs_patch 1 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 93 @@ -108,7 +110,7 @@
# npm - from deps/npm/package.json %global npm_epoch 1 -%global npm_version 8.5.5 +%global npm_version 8.11.0
# In order to avoid needing to keep incrementing the release version for the # main package forever, we will just construct one for npm that is guaranteed @@ -425,12 +427,6 @@ find . -type f -exec sed -i "s~python -c~python3 -c~" {} ; . /opt/rh/devtoolset-11/enable %endif
-# When compiled on armv7hl this package generates an out of range -# reference to the literal pool. This is most likely a GCC issue. -%ifarch armv7hl -%define _lto_cflags %{nil} -%endif - %ifarch s390 s390x %{arm} %ix86 # Decrease debuginfo verbosity to reduce memory consumption during final # library linking @@ -466,7 +462,8 @@ export LDFLAGS="%{build_ldflags}" --with-intl=small-icu \ --with-icu-default-data-dir=%{icudatadir} \ --without-corepack \ - --openssl-use-def-ca-store + --openssl-use-def-ca-store \ + --enable-lto
%make_build BUILDTYPE=Release
@@ -683,158 +680,4 @@ end
%changelog -* Fri May 06 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.15.0-3 -- Fix incorrect epoch in v8-devel dependency - -* Fri Apr 29 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.15.0-2 -- Fix file conflicts. -- Make dependency on nodejs-libs more strict. - -* Wed Apr 27 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.15.0-1 -- Update to Node.js 16.15.0 -- Stop carrying full ICU sources now that the binary data is available -- Properly version the v8 virtual Provides -- Bundle nghttp2 - -* Mon Apr 04 2022 Jan Staněk jstanek@redhat.com - 16.14.1-2 -- Unify configure.py calls into single command -- Refactor bootstrap-related parts -- Decouple dependency bundling from bootstrapping - -* Thu Mar 17 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.14.1-1 -- Update to Node.js 16.14.1 -- Drop corepack - -* Thu Mar 03 2022 Zuzana Svetlikova zsvetlik@redhat.com - 1:16.14.0-3 -- Build without corepack - -* Wed Feb 09 2022 Zuzana Svetlikova zsvetlik@redhat.com - 1:16.14.0-2 -- Replace explicit version of npm in %%check with variable and make build fail - if it doesn't match - -* Tue Feb 08 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.14.0-1 -- Update to Node.js 16.14.0 - -* Thu Feb 03 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.13.2-8 -- Update npm to 8.3.1 (CVE-2021-43616) - -* Wed Feb 02 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.13.2-7 -- Fix incorrect version Provides: for npm (bz#2049873) - -* Mon Jan 31 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.13.2-6 -- Rebuild for more architectures - -* Mon Jan 31 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.13.2-5 -- Tweak some dependencies on EPEL 7 (bz2048589) -- Add Provides: bundled(zlib) - -* Wed Jan 19 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.13.2-3 -- Bundle zlib on EPEL 7 - -* Mon Jan 17 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.13.2-2 -- Add support for building on EPEL 7 - -* Tue Jan 11 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.13.2-1 -- Improper handling of URI Subject Alternative Names (Medium)(CVE-2021-44531) -- Certificate Verification Bypass via String Injection (Medium)(CVE-2021-44532) -- Incorrect handling of certificate subject and issuer fields (Medium)(CVE-2021-44533) -- Prototype pollution via `console.table` properties (Low)(CVE-2022-21824) - -* Thu Dec 02 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.13.1-2 -- Enable building for EPEL 8 modules - -* Thu Dec 02 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.13.1-1 -- Update to 16.13.1 -- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... - -* Thu Nov 25 2021 Honza Horak hhorak@redhat.com - 1:16.13.0-3 -- Make sure binary node-gyp is executable - Resolves: #2026615 - -* Mon Nov 01 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.13.0-1 -- Update to 16.13.0 -- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... -- Add support for epel8 - -* Mon Oct 25 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.12.0-1 -- Update to 16.12.0 -- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... - -* Wed Oct 13 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.11.1-1 -- Update to 16.11.1 -- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... -- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... - -* Thu Sep 23 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.10.0-1 -- Update to 16.10.0 -- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... - -* Tue Sep 14 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.9.1-4 -- Correct the bad merge of corepack fix - -* Tue Sep 14 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.9.1-3 -- Drop auto-dependency on PowerShell introduced by corepack - -* Tue Sep 14 2021 Sahana Prasad sahana@redhat.com - 1:16.9.1-2 -- Rebuilt with OpenSSL 3.0.0 - -* Mon Sep 13 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.9.1-1 -- Update to 16.9.1 -- Add experimental 'corepack' tool -- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... -- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... - -* Tue Aug 31 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.8.0-1 -- Update to 16.8.0 -- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... -- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... - -* Wed Aug 11 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.6.2-1 -- Update to 16.6.2 -- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... - -* Tue Aug 03 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.6.1-1 -- Update to 16.6.1 -- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... -- Fixes v8 regression introduced in 16.6.0 - -* Mon Aug 02 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.6.0-1 -- Update to 16.6.0 -- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... - -* Thu Jul 22 2021 Fedora Release Engineering releng@fedoraproject.org - 1:16.5.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Tue Jul 20 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.5.0-1 -- Update to 16.5.0 -- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... - -* Fri Jul 02 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.4.1-2 -- Re-add support for v8 development headers - -* Thu Jul 01 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.4.1-1 -- Update to 16.4.1 -- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... - -* Wed Jun 23 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.4.0-1 -- Update to 16.4.0 -- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... - -* Fri Jun 04 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.3.0-1 -- Update to 16.3.0 -- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... - - -* Wed May 19 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.2.0-1 -- Update to 16.2.0 -- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... -- Fix changelog version numbers - -* Tue May 04 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.1.0-1 -- Update to 16.1.0 -- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... -- Drop upstreamed patch - -* Thu Apr 29 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.0.0-1 -- First release of Node.js 16.x - +%autochangelog diff --git a/package.cfg b/package.cfg index 3b874bb..af1871a 100644 --- a/package.cfg +++ b/package.cfg @@ -1,2 +1,2 @@ [koji] -targets = rawhide f36 f35 epel7 +targets = f36 f35 epel7 diff --git a/sources b/sources index f466879..d909c93 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (node-v16.15.0-stripped.tar.gz) = 0621c917d5144b6cfa845654019981c093b8f79e7695ee233474c37ab524bceaa50fb7e82afd8f6337db505a55e6ba407e2984a91e84ff42380366022e1f059c +SHA512 (node-v16.15.1-stripped.tar.gz) = 381d40421666375a917fe317caf8abc48a827c253ce773a974e68b6e8da021e8a59c080b7c1e2676fc18d3aab0f99df172f9f1d9fd3d019fa57dd3d0dfbc00bf SHA512 (icu4c-70_1-data-bin-b.zip) = eff9b41f1df4fe74e13bc216c62a8eab735622e3aa4e0b9c925b61f55294a002238a0022e1579197170d0345de6e877220b04b62d2010796f4ef1fbb2c17ea92 SHA512 (icu4c-70_1-data-bin-l.zip) = 041ff3480566330d043d9ddcd31e8851e875183d158ea3ce625583b4a9d96166497a9eedc0e72e2f7a3abc3a9110a0372546151b264ff4d1623215aab33552f5
commit 42ee482d060ac91bb54213500914b1b78e2351a0 Author: Stephen Gallagher sgallagh@redhat.com Date: Fri May 6 09:17:58 2022 -0400
Fix incorrect epoch in v8-devel dependency
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index bbf0798..c48c749 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -40,7 +40,7 @@ # This is used by both the nodejs package and the npm subpackage that # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 2 +%global baserelease 3
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -349,7 +349,7 @@ Epoch: %{v8_epoch} Version: %{v8_version} Release: %{v8_release}%{?dist} Requires: %{name}-devel%{?_isa} = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} -Requires: %{name}-libs%{?_isa} = %{epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} +Requires: %{name}-libs%{?_isa} = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} Conflicts: v8-314-devel
%description -n v8-devel @@ -683,6 +683,9 @@ end
%changelog +* Fri May 06 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.15.0-3 +- Fix incorrect epoch in v8-devel dependency + * Fri Apr 29 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.15.0-2 - Fix file conflicts. - Make dependency on nodejs-libs more strict.
commit 052736ba797453dbada5a87e0f9544e0255d6742 Author: Stephen Gallagher sgallagh@redhat.com Date: Fri Apr 29 10:28:43 2022 -0400
Fix file conflicts
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 4f14ffb..bbf0798 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -40,7 +40,7 @@ # This is used by both the nodejs package and the npm subpackage that # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 1 +%global baserelease 2
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -304,6 +304,9 @@ Requires: nodejs-packaging Requires: libuv-devel%{?_isa} %endif
+# Make it conflict with any other version of nodejs-devel +Conflicts: %{name}-devel + %description devel Development headers for the Node.js JavaScript runtime.
@@ -680,6 +683,10 @@ end
%changelog +* Fri Apr 29 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.15.0-2 +- Fix file conflicts. +- Make dependency on nodejs-libs more strict. + * Wed Apr 27 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.15.0-1 - Update to Node.js 16.15.0 - Stop carrying full ICU sources now that the binary data is available
commit ebd646b74aa6c41cfa1ba073c2877f4e1bf833ff Author: Stephen Gallagher sgallagh@redhat.com Date: Fri Apr 29 10:20:43 2022 -0400
-devel packages should explicitly depend on -libs
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 5a69136..4f14ffb 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -292,6 +292,7 @@ real-time applications that run across distributed devices. Summary: JavaScript runtime - development headers Group: Development/Languages Requires: %{name}%{?_isa} = %{epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} +Requires: %{name}-libs%{?_isa} = %{epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} Requires: openssl-devel%{?_isa} %if !%{with bundled_zlib} Requires: zlib-devel%{?_isa} @@ -345,6 +346,7 @@ Epoch: %{v8_epoch} Version: %{v8_version} Release: %{v8_release}%{?dist} Requires: %{name}-devel%{?_isa} = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} +Requires: %{name}-libs%{?_isa} = %{epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} Conflicts: v8-314-devel
%description -n v8-devel
commit c4f58779fae7b6d3219a0b0ec7a8a3f4017fad01 Author: Stephen Gallagher sgallagh@redhat.com Date: Thu Apr 28 11:22:57 2022 -0400
nodejs-sources.sh: Fix ICU version detection
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs-sources.sh b/nodejs-sources.sh index a8f16ae..b1295ca 100755 --- a/nodejs-sources.sh +++ b/nodejs-sources.sh @@ -122,8 +122,8 @@ 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}
-ICU_MAJOR=$(jq -r '.[0].url' node-v16.15.0/tools/icu/current_ver.dep | sed --expression='s/.*release-([[:digit:]]+)-([[:digit:]]+).*/\1/g') -ICU_MINOR=$(jq -r '.[0].url' node-v16.15.0/tools/icu/current_ver.dep | sed --expression='s/.*release-([[:digit:]]+)-([[:digit:]]+).*/\2/g') +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
commit f36552580f31c8c18535d354f2e97b3e12859b76 Author: Stephen Gallagher sgallagh@redhat.com Date: Wed Apr 27 19:03:01 2022 -0400
Update to Node.js 16.15.0
Stop carrying full ICU sources now that the binary data is available Properly version the v8 virtual Provides Bundle nghttp2
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/.gitignore b/.gitignore index 2caefcf..ef92457 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,4 @@ /.build-*.log /noarch /x86_64 -/0003-deps-upgrade-npm-to-8.3.1.patch +/icu4c-*-data-bin-*.zip diff --git a/nodejs-tarball.sh b/nodejs-sources.sh similarity index 86% rename from nodejs-tarball.sh rename to nodejs-sources.sh index 6f9c4c8..a8f16ae 100755 --- a/nodejs-tarball.sh +++ b/nodejs-sources.sh @@ -122,16 +122,15 @@ 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 +ICU_MAJOR=$(jq -r '.[0].url' node-v16.15.0/tools/icu/current_ver.dep | sed --expression='s/.*release-([[:digit:]]+)-([[:digit:]]+).*/\1/g') +ICU_MINOR=$(jq -r '.[0].url' node-v16.15.0/tools/icu/current_ver.dep | sed --expression='s/.*release-([[:digit:]]+)-([[:digit:]]+).*/\2/g')
-fedpkg new-sources node-v${version}-stripped.tar.gz icu4c*-src.tgz +# Download the ICU binary data files +rm -Rf icu4c-${ICU_MAJOR}_${ICU_MINOR}-data-bin-*.zip +wget $(grep Source3 nodejs.spec | sed --expression="s/.*http/http/g" --expression="s/(%{icu_major})/${ICU_MAJOR}/g" --expression="s/(%{icu_minor})/${ICU_MINOR}/g") +wget $(grep Source4 nodejs.spec | sed --expression="s/.*http/http/g" --expression="s/(%{icu_major})/${ICU_MAJOR}/g" --expression="s/(%{icu_minor})/${ICU_MINOR}/g") + +fedpkg new-sources node-v${version}-stripped.tar.gz icu4c-${ICU_MAJOR}_${ICU_MINOR}-data-bin-*.zip
rm -f node-v${version}.tar.gz
@@ -176,7 +175,7 @@ grep "define NGHTTP2_VERSION " node-v${version}/deps/nghttp2/lib/includes/nghttp echo echo "ICU" echo "=========================" -grep "url" node-v${version}/tools/icu/current_ver.dep +echo "${ICU_MAJOR}.${ICU_MINOR}" echo echo "punycode" echo "=========================" diff --git a/nodejs.spec b/nodejs.spec index 08192fd..5a69136 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -40,7 +40,7 @@ # This is used by both the nodejs package and the npm subpackage that # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 2 +%global baserelease 1
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -51,8 +51,8 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 16 -%global nodejs_minor 14 -%global nodejs_patch 1 +%global nodejs_minor 15 +%global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 93 @@ -86,7 +86,7 @@ %global libuv_version 1.43.0
# nghttp2 - from deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h -%global nghttp2_version 1.45.1 +%global nghttp2_version 1.47.0
# ICU - from tools/icu/current_ver.dep %global icu_major 70 @@ -108,7 +108,7 @@
# npm - from deps/npm/package.json %global npm_epoch 1 -%global npm_version 8.5.0 +%global npm_version 8.5.5
# In order to avoid needing to keep incrementing the release version for the # main package forever, we will just construct one for npm that is guaranteed @@ -139,8 +139,10 @@ ExclusiveArch: %{nodejs_arches} Source0: node-v%{nodejs_version}-stripped.tar.gz Source1: npmrc Source2: btest402.js -Source3: https://github.com/unicode-org/icu/releases/download/release-%%7Bicu_major%7... -Source100: %{name}-tarball.sh +# The binary data that icu-small can use to get icu-full capability +Source3: https://github.com/unicode-org/icu/releases/download/release-%%7Bicu_major%7... +Source4: https://github.com/unicode-org/icu/releases/download/release-%%7Bicu_major%7... +Source100: nodejs-sources.sh
# The native module Requires generator remains in the nodejs SRPM, so it knows # the nodejs and v8 versions. The remainder has migrated to the @@ -182,6 +184,7 @@ BuildRequires: nodejs-packaging BuildRequires: chrpath BuildRequires: libatomic BuildRequires: systemtap-sdt-devel +BuildRequires: unzip
%if %{with bundled} Provides: bundled(libuv) = %{libuv_version} @@ -190,14 +193,9 @@ BuildRequires: libuv-devel >= 1:%{libuv_version} Requires: libuv >= 1:%{libuv_version} %endif
-%if %{with bundled} || !(0%{?fedora} || 0%{?rhel} >= 9) -%define nghttp2_configure %{nil} -Provides: bundled(nghttp2) = %{nghttp2_version} -%else -%define nghttp2_configure --shared-nghttp2 -BuildRequires: libnghttp2-devel >= %{nghttp2_version} -Requires: libnghttp2 >= %{nghttp2_version} -%endif +# Node.js frequently bumps this faster than Fedora can follow, +# so we will bundle it. +Provides: bundled(nghttp2) = %{nghttp2_version}
# Temporarily bundle llhttp because the upstream doesn't # provide releases for it. @@ -314,14 +312,14 @@ Summary: Node.js and v8 libraries
# Compatibility for obsolete v8 package %if 0%{?__isa_bits} == 64 -Provides: libv8.so.%{v8_major}()(64bit) -Provides: libv8_libbase.so.%{v8_major}()(64bit) -Provides: libv8_libplatform.so.%{v8_major}()(64bit) +Provides: libv8.so.%{v8_major}()(64bit) = %{v8_epoch}:%{v8_version} +Provides: libv8_libbase.so.%{v8_major}()(64bit) = %{v8_epoch}:%{v8_version} +Provides: libv8_libplatform.so.%{v8_major}()(64bit) = %{v8_epoch}:%{v8_version} %else # 32-bits -Provides: libv8.so.%{v8_major} -Provides: libv8_libbase.so.%{v8_major} -Provides: libv8_libplatform.so.%{v8_major} +Provides: libv8.so.%{v8_major} = %{v8_epoch}:%{v8_version} +Provides: libv8_libbase.so.%{v8_major} = %{v8_epoch}:%{v8_version} +Provides: libv8_libplatform.so.%{v8_major} = %{v8_epoch}:%{v8_version} %endif
Provides: v8 = %{v8_epoch}:%{v8_version}-%{nodejs_release}%{?dist} @@ -459,7 +457,6 @@ export LDFLAGS="%{build_ldflags}" %{!?with_bundled_zlib:--shared-zlib} \ --shared-brotli \ %{!?with_bundled:--shared-libuv} \ - %{!?with_bundled:%{nghttp2_configure}} \ %{?with_bundled:--without-dtrace}%{!?with_bundled:--with-dtrace} \ --with-intl=small-icu \ --with-icu-default-data-dir=%{icudatadir} \ @@ -468,35 +465,6 @@ export LDFLAGS="%{build_ldflags}"
%make_build BUILDTYPE=Release
-# Extract the ICU data and convert it to the appropriate endianness -pushd deps/ -tar xfz %SOURCE3 - -pushd icu/source - -mkdir -p converted -%if 0%{?little_endian} -# The little endian data file is included in the ICU sources -install -Dpm0644 data/in/icudt%{icu_major}l.dat converted/ - -%else -# For the time being, we need to build ICU and use the included `icupkg` tool -# to convert the little endian data file into a big-endian one. -# At some point in the future, ICU releases will start including both data -# files and we should switch to those. -mkdir -p data/out/tmp - -%configure -%make_build - -icu_root=$(pwd) -LD_LIBRARY_PATH=./lib ./bin/icupkg -tb data/in/icudt%{icu_major}l.dat \ - converted/icudt%{icu_major}b.dat -%endif - -popd # icu/source -popd # deps -
%install rm -rf %{buildroot} @@ -588,7 +556,11 @@ ln -s %{_sysconfdir}/npmrc %{buildroot}%{_prefix}/etc/npmrc
# Install the full-icu data files mkdir -p %{buildroot}%{icudatadir} -install -Dpm0644 -t %{buildroot}%{icudatadir} deps/icu/source/converted/* +%if 0%{?little_endian} +unzip -d %{buildroot}%{icudatadir} %{SOURCE4} icudt%{icu_major}l.dat +%else +unzip -d %{buildroot}%{icudatadir} %{SOURCE3} icudt%{icu_major}b.dat +%endif
%check @@ -706,6 +678,12 @@ end
%changelog +* Wed Apr 27 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.15.0-1 +- Update to Node.js 16.15.0 +- Stop carrying full ICU sources now that the binary data is available +- Properly version the v8 virtual Provides +- Bundle nghttp2 + * Mon Apr 04 2022 Jan Staněk jstanek@redhat.com - 16.14.1-2 - Unify configure.py calls into single command - Refactor bootstrap-related parts diff --git a/sources b/sources index a8ac71f..f466879 100644 --- a/sources +++ b/sources @@ -1,2 +1,3 @@ -SHA512 (node-v16.14.1-stripped.tar.gz) = df5fea1a3ba7a1d34884abd1642c8b9fb8716ba98798d87004afe3c713d0bee8e7127ab3f0699d4f936b974fd5312149e7a037f1a62328db6d4c0d381bac52b4 -SHA512 (icu4c-70_1-src.tgz) = 0b26ae7207155cb65a8fdb25f7b2fa4431e74b12bccbed0884a17feaae3c96833d12451064dd152197fd6ea5fd3adfd95594284a463e66c82e0d860f645880c9 +SHA512 (node-v16.15.0-stripped.tar.gz) = 0621c917d5144b6cfa845654019981c093b8f79e7695ee233474c37ab524bceaa50fb7e82afd8f6337db505a55e6ba407e2984a91e84ff42380366022e1f059c +SHA512 (icu4c-70_1-data-bin-b.zip) = eff9b41f1df4fe74e13bc216c62a8eab735622e3aa4e0b9c925b61f55294a002238a0022e1579197170d0345de6e877220b04b62d2010796f4ef1fbb2c17ea92 +SHA512 (icu4c-70_1-data-bin-l.zip) = 041ff3480566330d043d9ddcd31e8851e875183d158ea3ce625583b4a9d96166497a9eedc0e72e2f7a3abc3a9110a0372546151b264ff4d1623215aab33552f5
commit a6cf62efade6bb283fa82759fe1d19bc3b72b84b Author: Jan Staněk jstanek@redhat.com Date: Tue Apr 19 15:53:11 2022 +0200
fixup! unify configure.py calls into single command
diff --git a/nodejs.spec b/nodejs.spec index bf9cb9f..08192fd 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -459,7 +459,7 @@ export LDFLAGS="%{build_ldflags}" %{!?with_bundled_zlib:--shared-zlib} \ --shared-brotli \ %{!?with_bundled:--shared-libuv} \ - %{!?with_bundled:%{nghttp2_configure} \ + %{!?with_bundled:%{nghttp2_configure}} \ %{?with_bundled:--without-dtrace}%{!?with_bundled:--with-dtrace} \ --with-intl=small-icu \ --with-icu-default-data-dir=%{icudatadir} \
commit 0190dc1b6f9b429811885d26bb7a6b44241ce6fc Author: Jan Staněk jstanek@redhat.com Date: Mon Apr 4 16:39:43 2022 +0200
decouple dependency bundling from bootstrapping
We probably should stop (ab)using the bootstrap macro for module builds with bundled dependencies. This patch decouples one from the other; use --with=bundled for just bundling and --with=bootstrap for full bootstrapping.
diff --git a/nodejs.spec b/nodejs.spec index c855883..bf9cb9f 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -1,5 +1,20 @@ -# bundle dependencies that are not available as Fedora modules +# The following macros control the usage of dependencies bundled from upstream. +# +# When to use what: +# - Regular (presumably non-modular) build: use neither (the default in Fedora) +# - Early bootstrapping build that is not intended to be shipped: +# use --with=bootstrap; this will bundle deps and add `~bootstrap` release suffix +# - Build with some dependencies not avalaible in necessary versions (i.e. module build): +# use --with=bundled; will bundle deps, but do not add the suffix +# +# create bootstrapping build with bundled deps and extra release suffix %bcond_with bootstrap +# bundle dependencies that are not available in Fedora modules +%if %{with bootstrap} +%bcond_without bundled +%else +%bcond_with bundled +%endif
%if 0%{?rhel} && 0%{?rhel} < 9 %bcond_without python3_fixup @@ -168,14 +183,14 @@ BuildRequires: chrpath BuildRequires: libatomic BuildRequires: systemtap-sdt-devel
-%if %{with bootstrap} +%if %{with bundled} Provides: bundled(libuv) = %{libuv_version} %else BuildRequires: libuv-devel >= 1:%{libuv_version} Requires: libuv >= 1:%{libuv_version} %endif
-%if %{with bootstrap} || !(0%{?fedora} || 0%{?rhel} >= 9) +%if %{with bundled} || !(0%{?fedora} || 0%{?rhel} >= 9) %define nghttp2_configure %{nil} Provides: bundled(nghttp2) = %{nghttp2_version} %else @@ -286,7 +301,7 @@ Requires: zlib-devel%{?_isa} Requires: brotli-devel%{?_isa} Requires: nodejs-packaging
-%if %{without bootstrap} +%if %{without bundled} Requires: libuv-devel%{?_isa} %endif
@@ -443,9 +458,9 @@ export LDFLAGS="%{build_ldflags}" %{ssl_configure} \ %{!?with_bundled_zlib:--shared-zlib} \ --shared-brotli \ - %{!?with_bootstrap:--shared-libuv} \ - %{!?with_bootstrap:%{nghttp2_configure} \ - %{?with_bootstrap:--without-dtrace}%{!?with_bootstrap:--with-dtrace} \ + %{!?with_bundled:--shared-libuv} \ + %{!?with_bundled:%{nghttp2_configure} \ + %{?with_bundled:--without-dtrace}%{!?with_bundled:--with-dtrace} \ --with-intl=small-icu \ --with-icu-default-data-dir=%{icudatadir} \ --without-corepack \ @@ -616,7 +631,7 @@ end %dir %{_datadir}/systemtap/tapset %{_datadir}/systemtap/tapset/node.stp
-%if %{without bootstrap} +%if %{without bundled} %dir %{_usr}/lib/dtrace %{_usr}/lib/dtrace/node.d %endif @@ -694,6 +709,7 @@ end * Mon Apr 04 2022 Jan Staněk jstanek@redhat.com - 16.14.1-2 - Unify configure.py calls into single command - Refactor bootstrap-related parts +- Decouple dependency bundling from bootstrapping
* Thu Mar 17 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.14.1-1 - Update to Node.js 16.14.1
commit f9d99b4340c0e0d38a48ae7ab2f3b43c694941a2 Author: Jan Staněk jstanek@redhat.com Date: Mon Apr 4 16:29:29 2022 +0200
refactor boostrapping sections
- split sections per topic - do not nest if macros - use %without where appropriate
diff --git a/nodejs.spec b/nodejs.spec index 6148272..c855883 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -169,19 +169,19 @@ BuildRequires: libatomic BuildRequires: systemtap-sdt-devel
%if %{with bootstrap} -Provides: bundled(libuv) = %{libuv_version} -Provides: bundled(nghttp2) = %{nghttp2_version} +Provides: bundled(libuv) = %{libuv_version} %else BuildRequires: libuv-devel >= 1:%{libuv_version} -Requires: libuv >= 1:%{libuv_version} -%if 0%{?fedora} || 0%{?rhel} >= 9 -BuildRequires: libnghttp2-devel >= %{nghttp2_version} -Requires: libnghttp2 >= %{nghttp2_version} -%define nghttp2_configure --shared-nghttp2 -%else -%define nghttp2_configure %{nil} -Provides: bundled(nghttp2) = %{nghttp2_version} +Requires: libuv >= 1:%{libuv_version} %endif + +%if %{with bootstrap} || !(0%{?fedora} || 0%{?rhel} >= 9) +%define nghttp2_configure %{nil} +Provides: bundled(nghttp2) = %{nghttp2_version} +%else +%define nghttp2_configure --shared-nghttp2 +BuildRequires: libnghttp2-devel >= %{nghttp2_version} +Requires: libnghttp2 >= %{nghttp2_version} %endif
# Temporarily bundle llhttp because the upstream doesn't @@ -286,9 +286,7 @@ Requires: zlib-devel%{?_isa} Requires: brotli-devel%{?_isa} Requires: nodejs-packaging
-%if %{with bootstrap} -# deps are bundled -%else +%if %{without bootstrap} Requires: libuv-devel%{?_isa} %endif
@@ -618,9 +616,7 @@ end %dir %{_datadir}/systemtap/tapset %{_datadir}/systemtap/tapset/node.stp
-%if %{with bootstrap} -# no dtrace -%else +%if %{without bootstrap} %dir %{_usr}/lib/dtrace %{_usr}/lib/dtrace/node.d %endif @@ -697,6 +693,7 @@ end %changelog * Mon Apr 04 2022 Jan Staněk jstanek@redhat.com - 16.14.1-2 - Unify configure.py calls into single command +- Refactor bootstrap-related parts
* Thu Mar 17 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.14.1-1 - Update to Node.js 16.14.1
commit d0e0545474b130027eac8e855a08a5dfde85bccf Author: Jan Staněk jstanek@redhat.com Date: Mon Apr 4 14:48:57 2022 +0200
unify configure.py calls into single command
This should fix and prevent bugs resulting from only adding a configure option to either bootstrap or non-bootstrap variant when the intention was to add it to both.
Resolves: rhbz#2009880
diff --git a/nodejs.spec b/nodejs.spec index 25c283e..6148272 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -430,53 +430,28 @@ export NODE_GYP_FORCE_PYTHON=%{__python3} # build with debugging symbols and add defines from libuv (#892601) # Node's v8 breaks with GCC 6 because of incorrect usage of methods on # NULL objects. We need to pass -fno-delete-null-pointer-checks -export CFLAGS='%{optflags} \ - -D_LARGEFILE_SOURCE \ - -D_FILE_OFFSET_BITS=64 \ - -DZLIB_CONST \ - -fno-delete-null-pointer-checks' -export CXXFLAGS='%{optflags} \ - -D_LARGEFILE_SOURCE \ - -D_FILE_OFFSET_BITS=64 \ - -DZLIB_CONST \ - -fno-delete-null-pointer-checks' - -# Explicit new lines in C(XX)FLAGS can break naive build scripts -export CFLAGS="$(echo ${CFLAGS} | tr '\n\' ' ')" -export CXXFLAGS="$(echo ${CXXFLAGS} | tr '\n\' ' ')" - +extra_cflags=( + -D_LARGEFILE_SOURCE + -D_FILE_OFFSET_BITS=64 + -DZLIB_CONST + -fno-delete-null-pointer-checks +) +export CFLAGS="%{optflags} ${extra_cflags[*]}" CXXFLAGS="%{optflags} ${extra_cflags[*]}" export LDFLAGS="%{build_ldflags}"
-%if %{with bootstrap} -%{__python3} configure.py --prefix=%{_prefix} \ - --shared \ - --libdir=%{_lib} \ - %{ssl_configure} \ -%if !%{with bundled_zlib} - --shared-zlib \ -%endif - --shared-brotli \ - --without-dtrace \ - --with-intl=small-icu \ - --without-corepack \ - --openssl-use-def-ca-store -%else %{__python3} configure.py --prefix=%{_prefix} \ --shared \ --libdir=%{_lib} \ %{ssl_configure} \ -%if !%{with bundled_zlib} - --shared-zlib \ -%endif + %{!?with_bundled_zlib:--shared-zlib} \ --shared-brotli \ - --shared-libuv \ - %{nghttp2_configure} \ - --with-dtrace \ + %{!?with_bootstrap:--shared-libuv} \ + %{!?with_bootstrap:%{nghttp2_configure} \ + %{?with_bootstrap:--without-dtrace}%{!?with_bootstrap:--with-dtrace} \ --with-intl=small-icu \ --with-icu-default-data-dir=%{icudatadir} \ --without-corepack \ --openssl-use-def-ca-store -%endif
%make_build BUILDTYPE=Release
@@ -721,6 +696,7 @@ end
%changelog * Mon Apr 04 2022 Jan Staněk jstanek@redhat.com - 16.14.1-2 +- Unify configure.py calls into single command
* Thu Mar 17 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.14.1-1 - Update to Node.js 16.14.1
commit 975cd082a0ca63d716ee43418aae8c6b614d720a Author: Jan Staněk jstanek@redhat.com Date: Mon Apr 4 14:40:57 2022 +0200
prepare new release
diff --git a/nodejs.spec b/nodejs.spec index 6c2c04c..25c283e 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -25,7 +25,7 @@ # This is used by both the nodejs package and the npm subpackage that # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 1 +%global baserelease 2
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -720,6 +720,8 @@ end
%changelog +* Mon Apr 04 2022 Jan Staněk jstanek@redhat.com - 16.14.1-2 + * Thu Mar 17 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.14.1-1 - Update to Node.js 16.14.1 - Drop corepack
commit 22ea0f9dcfbf99484e938ac3083d81cb07c7f411 Author: Stephen Gallagher sgallagh@redhat.com Date: Fri Mar 18 09:19:46 2022 -0400
Add Conflicts: v8-314-devel
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 982bca4..6c2c04c 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -334,6 +334,7 @@ Epoch: %{v8_epoch} Version: %{v8_version} Release: %{v8_release}%{?dist} Requires: %{name}-devel%{?_isa} = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} +Conflicts: v8-314-devel
%description -n v8-devel Development headers for the v8 runtime.
commit 37e63a09a3570853ac31c3da2e105bbc8329b8e6 Author: Stephen Gallagher sgallagh@redhat.com Date: Thu Mar 17 12:25:55 2022 -0400
Update to Node.js 16.14.1
Drop corepack
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 71d17bc..982bca4 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -25,7 +25,7 @@ # This is used by both the nodejs package and the npm subpackage that # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 3 +%global baserelease 1
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -37,7 +37,7 @@ %global nodejs_epoch 1 %global nodejs_major 16 %global nodejs_minor 14 -%global nodejs_patch 0 +%global nodejs_patch 1 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 93 @@ -93,7 +93,7 @@
# npm - from deps/npm/package.json %global npm_epoch 1 -%global npm_version 8.3.1 +%global npm_version 8.5.0
# In order to avoid needing to keep incrementing the release version for the # main package forever, we will just construct one for npm that is guaranteed @@ -719,11 +719,16 @@ end
%changelog +* Thu Mar 17 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.14.1-1 +- Update to Node.js 16.14.1 +- Drop corepack + * Thu Mar 03 2022 Zuzana Svetlikova zsvetlik@redhat.com - 1:16.14.0-3 - Build without corepack
* Wed Feb 09 2022 Zuzana Svetlikova zsvetlik@redhat.com - 1:16.14.0-2 -- Replace explicit version of npm in %%check with variable and make build fail if it doesn't match +- Replace explicit version of npm in %%check with variable and make build fail + if it doesn't match
* Tue Feb 08 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.14.0-1 - Update to Node.js 16.14.0 diff --git a/sources b/sources index 40087ff..a8ac71f 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v16.14.0-stripped.tar.gz) = 434a8743ef5b82c78cb9de7fff707df87567f859bca86f91dc8f4d4ed3b0a8951b49120e90e52f96248eb511d3bcb4dbfc6d56735861760b7090779483a65e4b +SHA512 (node-v16.14.1-stripped.tar.gz) = df5fea1a3ba7a1d34884abd1642c8b9fb8716ba98798d87004afe3c713d0bee8e7127ab3f0699d4f936b974fd5312149e7a037f1a62328db6d4c0d381bac52b4 SHA512 (icu4c-70_1-src.tgz) = 0b26ae7207155cb65a8fdb25f7b2fa4431e74b12bccbed0884a17feaae3c96833d12451064dd152197fd6ea5fd3adfd95594284a463e66c82e0d860f645880c9
commit 823115314cd514c984afb0e516d00626c14843f0 Author: Stephen Gallagher sgallagh@redhat.com Date: Thu Mar 17 12:21:48 2022 -0400
Finish dropping corepack
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs-tarball.sh b/nodejs-tarball.sh index 0caefce..6f9c4c8 100755 --- a/nodejs-tarball.sh +++ b/nodejs-tarball.sh @@ -192,10 +192,6 @@ echo "npm" echo "=========================" grep ""version":" node-v${version}/deps/npm/package.json echo -echo "corepack" -echo "=========================" -grep ""version":" node-v${version}/deps/corepack/package.json -echo echo "zlib" echo "=========================" grep "define ZLIB_VERSION" node-v${version}/deps/zlib/zlib.h diff --git a/nodejs.spec b/nodejs.spec index b2bf34e..71d17bc 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -107,9 +107,6 @@ # histogram_c - assumed from timestamps %global histogram_version 0.9.7
-# Node.js 16.9.1 and later comes with an experimental package management tool -%global corepack_version 0.10.0 - Name: nodejs Epoch: %{nodejs_epoch} Version: %{nodejs_version} @@ -257,7 +254,6 @@ Provides: bundled(icu) = %{icu_version} # or there's no option to built it as a shared dependency, so we bundle them Provides: bundled(uvwasi) = %{uvwasi_version} Provides: bundled(histogram) = %{histogram_version} -Provides: bundled(corepack) = %{corepack_version}
%if 0%{?fedora} # Make sure to pull in the appropriate packaging macros when building RPMs @@ -592,11 +588,6 @@ find %{buildroot}%{_prefix}/lib/node_modules/npm \ chmod 0755 %{buildroot}%{_prefix}/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin/node-gyp chmod 0755 %{buildroot}%{_prefix}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js
-# Corepack contains a number of executable"shims", including some for Windows -# PowerShell. Drop the executable bit for those so we don't pick up an -# automatic dependency on /usr/bin/pwsh that we cannot satisfy. -chmod -x %{buildroot}%{_prefix}/lib/node_modules/corepack/shims/*.ps1 - # Drop the NPM default configuration in place mkdir -p %{buildroot}%{_sysconfdir} cp %{SOURCE1} %{buildroot}%{_sysconfdir}/npmrc @@ -651,10 +642,6 @@ end %dir %{_datadir}/systemtap/tapset %{_datadir}/systemtap/tapset/node.stp
-# corepack -%{_bindir}/corepack -%{_prefix}/lib/node_modules/corepack - %if %{with bootstrap} # no dtrace %else
commit b247312735a988c92e37bab66fe3aa1e6f8e17f6 Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Feb 21 08:49:07 2022 -0500
Additional i18n test
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/test2.js b/test2.js new file mode 100644 index 0000000..e88ef88 --- /dev/null +++ b/test2.js @@ -0,0 +1,3 @@ +const january = new Date(9e8); +const spanish = new Intl.DateTimeFormat('es', { month: 'long' }); +console.log(spanish.format(january));
commit 644b58f4baece3d4d30589f32fe2c1fbb4ecd90b Author: Zuzana Svetlikova zsvetlik@redhat.com Date: Thu Mar 3 14:34:41 2022 +0100
Build without corepack
diff --git a/nodejs.spec b/nodejs.spec index 78ec060..b2bf34e 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -25,7 +25,7 @@ # This is used by both the nodejs package and the npm subpackage that # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 2 +%global baserelease 3
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -461,6 +461,7 @@ export LDFLAGS="%{build_ldflags}" --shared-brotli \ --without-dtrace \ --with-intl=small-icu \ + --without-corepack \ --openssl-use-def-ca-store %else %{__python3} configure.py --prefix=%{_prefix} \ @@ -476,6 +477,7 @@ export LDFLAGS="%{build_ldflags}" --with-dtrace \ --with-intl=small-icu \ --with-icu-default-data-dir=%{icudatadir} \ + --without-corepack \ --openssl-use-def-ca-store %endif
@@ -730,6 +732,9 @@ end
%changelog +* Thu Mar 03 2022 Zuzana Svetlikova zsvetlik@redhat.com - 1:16.14.0-3 +- Build without corepack + * Wed Feb 09 2022 Zuzana Svetlikova zsvetlik@redhat.com - 1:16.14.0-2 - Replace explicit version of npm in %%check with variable and make build fail if it doesn't match
commit 142266e3ff98ec16c0a5a40f20a0c1c48450be31 Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Feb 14 09:17:55 2022 -0500
Actually add gating.yaml
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..9011d43 --- /dev/null +++ b/gating.yaml @@ -0,0 +1,18 @@ +--- !Policy +product_versions: + - fedora-* +decision_context: bodhi_update_push_testing +subject_type: koji_build +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpmdeplint.functional} + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.installability.functional} + +--- !Policy +product_versions: + - fedora-* +decision_context: bodhi_update_push_stable +subject_type: koji_build +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpmdeplint.functional} + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.installability.functional} +
commit 777056595316ab858632914bbeb404220067cadd Author: Zuzana Svetlikova zsvetlik@redhat.com Date: Wed Feb 9 12:18:48 2022 +0100
Replace explicit version of npm in %%check with variable and make build fail if it doesn't match
diff --git a/nodejs.spec b/nodejs.spec index 0e7157c..78ec060 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -25,7 +25,7 @@ # This is used by both the nodejs package and the npm subpackage that # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 1 +%global baserelease 2
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -619,7 +619,7 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require( LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require("assert").equal(require("punycode").version, '%{punycode_version}')"
# Ensure we have npm and that the version matches -LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}%{_bindir}/node %{buildroot}%{_bindir}/npm version --json |jq '. | select(.npm | contains("7.24.0"))' +LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}%{_bindir}/node %{buildroot}%{_bindir}/npm version --json |jq -e '.npm == "%{npm_version}"'
# Make sure i18n support is working NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{_prefix}/lib/node_modules/npm/node_modules LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node --icu-data-dir=%{buildroot}%{icudatadir} %{SOURCE2} @@ -730,6 +730,9 @@ end
%changelog +* Wed Feb 09 2022 Zuzana Svetlikova zsvetlik@redhat.com - 1:16.14.0-2 +- Replace explicit version of npm in %%check with variable and make build fail if it doesn't match + * Tue Feb 08 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.14.0-1 - Update to Node.js 16.14.0
commit e752a0f3a7f6b7aee58989c0a308809eb464d482 Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Feb 8 15:55:58 2022 -0500
Update package.cfg post-branch
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/package.cfg b/package.cfg index 54ce9d4..3b874bb 100644 --- a/package.cfg +++ b/package.cfg @@ -1,2 +1,2 @@ [koji] -targets = rawhide f35 epel7 +targets = rawhide f36 f35 epel7
commit 0ee3e7e83c498fd1d72f95925f9ab5526987f7ac Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Feb 8 15:55:05 2022 -0500
Update to Node.js 16.14.0
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index d6f57d1..97eddab 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,17 +1,17 @@ -From b65f81f25d060b048e788e846f9332a70fa953f1 Mon Sep 17 00:00:00 2001 +From dd952f69bcbf0a9947a0629e44c49003dcb9f77f Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Fri, 17 Apr 2020 12:59:44 +0200 -Subject: [PATCH 1/3] Disable running gyp on shared deps +Subject: [PATCH 1/2] Disable running gyp on shared deps
--- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile -index 7671bb804fa6a4f9c4bed07fa97b353e823d42cc..e0b7803710c539d7b291b24708d8a077cd5fb40d 100644 +index 688ebc550e9d6677f468bb791b5d06d5507d3ab5..b34b49db53a4b0cb4a3867921f5c6fb71ae34bf1 100644 --- a/Makefile +++ b/Makefile -@@ -142,11 +142,11 @@ endif +@@ -145,11 +145,11 @@ endif .PHONY: test-code-cache with-code-cache test-code-cache: $(warning '$@' target is a noop) diff --git a/0002-Install-both-binaries-and-use-libdir.patch b/0002-Install-both-binaries-and-use-libdir.patch index 5330f56..7536349 100644 --- a/0002-Install-both-binaries-and-use-libdir.patch +++ b/0002-Install-both-binaries-and-use-libdir.patch @@ -1,7 +1,7 @@ -From 73033dbc74778f7bee49f77716968bbac1e80c28 Mon Sep 17 00:00:00 2001 +From a1c35106e7e9ab3d4a01779079cf9788a2fe777a Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 -Subject: [PATCH 2/3] Install both binaries and use libdir. +Subject: [PATCH 2/2] Install both binaries and use libdir.
This allows us to build with a shared library for other users while still providing the normal executable. @@ -14,10 +14,10 @@ Signed-off-by: Stephen Gallagher sgallagh@redhat.com 2 files changed, 16 insertions(+), 12 deletions(-)
diff --git a/configure.py b/configure.py -index 6efb98c2316f089f3167e486282593245373af3f..a6d2ec939e4480dfae703f3978067537abf9f0f0 100755 +index 47137d8912dd1439962127a3c1f417eb78572021..c59037a39fcefdfe173d16a7aa9622a32a3c29e7 100755 --- a/configure.py +++ b/configure.py -@@ -721,10 +721,16 @@ parser.add_argument('--shared', +@@ -731,10 +731,16 @@ parser.add_argument('--shared', dest='shared', default=None, help='compile shared library for embedding node in another project. ' + @@ -34,7 +34,7 @@ index 6efb98c2316f089f3167e486282593245373af3f..a6d2ec939e4480dfae703f3978067537 dest='without_v8_platform', default=False, help='do not initialize v8 platform during node.js startup. ' + -@@ -1305,10 +1311,11 @@ def configure_node(o): +@@ -1332,10 +1338,11 @@ def configure_node(o): o['variables']['debug_nghttp2'] = 'false'
o['variables']['node_no_browser_globals'] = b(options.no_browser_globals) @@ -47,7 +47,7 @@ index 6efb98c2316f089f3167e486282593245373af3f..a6d2ec939e4480dfae703f3978067537 shlib_suffix = 'so' elif sys.platform == 'darwin': diff --git a/tools/install.py b/tools/install.py -index 41cc1cbc60a9480cc08df3aa0ebe582c2becc3a2..11208f9e7166ab60da46d5ace2257c239a7e9263 100755 +index eafcb19bf8b29f87c39b0fe7d3c3fd2d175a7b7b..71b5371578711fcc9a1b80069850f0b61bdfebe2 100755 --- a/tools/install.py +++ b/tools/install.py @@ -128,26 +128,23 @@ def subdir_files(path, dest, action): diff --git a/nodejs.spec b/nodejs.spec index 1c331a0..0e7157c 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -25,7 +25,7 @@ # This is used by both the nodejs package and the npm subpackage that # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 8 +%global baserelease 1
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -36,8 +36,8 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 16 -%global nodejs_minor 13 -%global nodejs_patch 2 +%global nodejs_minor 14 +%global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 93 @@ -68,13 +68,13 @@ %global llhttp_version 6.0.4
# libuv - from deps/uv/include/uv/version.h -%global libuv_version 1.42.0 +%global libuv_version 1.43.0
# nghttp2 - from deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h %global nghttp2_version 1.45.1
# ICU - from tools/icu/current_ver.dep -%global icu_major 69 +%global icu_major 70 %global icu_minor 1 %global icu_version %{icu_major}.%{icu_minor}
@@ -93,7 +93,7 @@
# npm - from deps/npm/package.json %global npm_epoch 1 -%global npm_version 8.1.2 +%global npm_version 8.3.1
# In order to avoid needing to keep incrementing the release version for the # main package forever, we will just construct one for npm that is guaranteed @@ -102,7 +102,7 @@ %global npm_release %{nodejs_epoch}.%{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release}
# uvwasi - from deps/uvwasi/include/uvwasi.h -%global uvwasi_version 0.0.11 +%global uvwasi_version 0.0.12
# histogram_c - assumed from timestamps %global histogram_version 0.9.7 @@ -141,10 +141,6 @@ Patch1: 0001-Disable-running-gyp-on-shared-deps.patch # Patch to install both node and libnode.so, using the correct libdir Patch2: 0002-Install-both-binaries-and-use-libdir.patch
-# Upstream patch to rebase npm to 8.3.1 -# Carrying it until 16.14.0 is released due to CVE-2021-43616 -Patch3: 0003-deps-upgrade-npm-to-8.3.1.patch - BuildRequires: make BuildRequires: python%{python3_pkgversion}-devel BuildRequires: python%{python3_pkgversion}-setuptools @@ -734,6 +730,9 @@ end
%changelog +* Tue Feb 08 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.14.0-1 +- Update to Node.js 16.14.0 + * Thu Feb 03 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.13.2-8 - Update npm to 8.3.1 (CVE-2021-43616)
diff --git a/sources b/sources index efd68f2..40087ff 100644 --- a/sources +++ b/sources @@ -1,3 +1,2 @@ -SHA512 (node-v16.13.2-stripped.tar.gz) = 2e55952b95681cb18d8ca3ee096105d3076d3c79a92b707e7f580141a5def6e6a45971bc32ecf47307e90fc51de71039dcb00697487fe83d4eb7af01b0ff40b5 -SHA512 (icu4c-69_1-src.tgz) = d4aeb781715144ea6e3c6b98df5bbe0490bfa3175221a1d667f3e6851b7bd4a638fa4a37d4a921ccb31f02b5d15a6dded9464d98051964a86f7b1cde0ff0aab7 -SHA512 (0003-deps-upgrade-npm-to-8.3.1.patch) = 756b8b77a11b08cfc57054b809b2d70d7c5a3ce72afa179efff548ebb814747135bcbd051c4d1c86ee045fa0d1fedbe4f1c6268a8b2610e44bf8a2e07be8d656 +SHA512 (node-v16.14.0-stripped.tar.gz) = 434a8743ef5b82c78cb9de7fff707df87567f859bca86f91dc8f4d4ed3b0a8951b49120e90e52f96248eb511d3bcb4dbfc6d56735861760b7090779483a65e4b +SHA512 (icu4c-70_1-src.tgz) = 0b26ae7207155cb65a8fdb25f7b2fa4431e74b12bccbed0884a17feaae3c96833d12451064dd152197fd6ea5fd3adfd95594284a463e66c82e0d860f645880c9
commit 7a4a4a45189ace25377dec6e808c2fa73effe3b1 Author: Stephen Gallagher sgallagh@redhat.com Date: Fri Feb 4 07:52:33 2022 -0500
Package new logging(6) manpage
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index b8d16c7..1c331a0 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -718,6 +718,7 @@ end %doc %{_mandir}/man7/config.7* %doc %{_mandir}/man7/developers.7* %doc %{_mandir}/man7/orgs.7* +%doc %{_mandir}/man7/logging.7* %doc %{_mandir}/man7/registry.7* %doc %{_mandir}/man7/removal.7* %doc %{_mandir}/man7/scope.7*
commit b699bdb677110bf7c57d86c8a249ab20f28cfa4c Author: Stephen Gallagher sgallagh@redhat.com Date: Thu Feb 3 16:25:10 2022 -0500
Update npm to 8.3.1 (CVE-2021-43616)
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/.gitignore b/.gitignore index fdd7ef0..2caefcf 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ /.build-*.log /noarch /x86_64 +/0003-deps-upgrade-npm-to-8.3.1.patch diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index 7155f13..d6f57d1 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,14 +1,14 @@ -From 51f31ab027934c3e7aead556752911e6dee1ea69 Mon Sep 17 00:00:00 2001 +From b65f81f25d060b048e788e846f9332a70fa953f1 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Fri, 17 Apr 2020 12:59:44 +0200 -Subject: [PATCH 1/2] Disable running gyp on shared deps +Subject: [PATCH 1/3] Disable running gyp on shared deps
--- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile -index e55bd8d70242ace659fa9c7945708156e7770f9d..2959b0a436b10c9ff9b104de5130b751d19cb3a9 100644 +index 7671bb804fa6a4f9c4bed07fa97b353e823d42cc..e0b7803710c539d7b291b24708d8a077cd5fb40d 100644 --- a/Makefile +++ b/Makefile @@ -142,11 +142,11 @@ endif @@ -25,5 +25,5 @@ index e55bd8d70242ace659fa9c7945708156e7770f9d..2959b0a436b10c9ff9b104de5130b751
# node_version.h is listed because the N-API version is taken from there -- -2.33.0 +2.34.1
diff --git a/0002-Install-both-binaries-and-use-libdir.patch b/0002-Install-both-binaries-and-use-libdir.patch index 0900d64..5330f56 100644 --- a/0002-Install-both-binaries-and-use-libdir.patch +++ b/0002-Install-both-binaries-and-use-libdir.patch @@ -1,7 +1,7 @@ -From 62ddf8499747fb1e366477d666c0634ad50039a9 Mon Sep 17 00:00:00 2001 +From 73033dbc74778f7bee49f77716968bbac1e80c28 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 -Subject: [PATCH 2/2] Install both binaries and use libdir. +Subject: [PATCH 2/3] Install both binaries and use libdir.
This allows us to build with a shared library for other users while still providing the normal executable. @@ -87,5 +87,5 @@ index 41cc1cbc60a9480cc08df3aa0ebe582c2becc3a2..11208f9e7166ab60da46d5ace2257c23
# behave similarly for systemtap -- -2.33.0 +2.34.1
diff --git a/nodejs.spec b/nodejs.spec index 9b5e209..b8d16c7 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -25,7 +25,7 @@ # This is used by both the nodejs package and the npm subpackage that # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 7 +%global baserelease 8
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -141,6 +141,10 @@ Patch1: 0001-Disable-running-gyp-on-shared-deps.patch # Patch to install both node and libnode.so, using the correct libdir Patch2: 0002-Install-both-binaries-and-use-libdir.patch
+# Upstream patch to rebase npm to 8.3.1 +# Carrying it until 16.14.0 is released due to CVE-2021-43616 +Patch3: 0003-deps-upgrade-npm-to-8.3.1.patch + BuildRequires: make BuildRequires: python%{python3_pkgversion}-devel BuildRequires: python%{python3_pkgversion}-setuptools @@ -729,6 +733,9 @@ end
%changelog +* Thu Feb 03 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.13.2-8 +- Update npm to 8.3.1 (CVE-2021-43616) + * Wed Feb 02 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.13.2-7 - Fix incorrect version Provides: for npm (bz#2049873)
diff --git a/sources b/sources index 410af83..efd68f2 100644 --- a/sources +++ b/sources @@ -1,2 +1,3 @@ SHA512 (node-v16.13.2-stripped.tar.gz) = 2e55952b95681cb18d8ca3ee096105d3076d3c79a92b707e7f580141a5def6e6a45971bc32ecf47307e90fc51de71039dcb00697487fe83d4eb7af01b0ff40b5 SHA512 (icu4c-69_1-src.tgz) = d4aeb781715144ea6e3c6b98df5bbe0490bfa3175221a1d667f3e6851b7bd4a638fa4a37d4a921ccb31f02b5d15a6dded9464d98051964a86f7b1cde0ff0aab7 +SHA512 (0003-deps-upgrade-npm-to-8.3.1.patch) = 756b8b77a11b08cfc57054b809b2d70d7c5a3ce72afa179efff548ebb814747135bcbd051c4d1c86ee045fa0d1fedbe4f1c6268a8b2610e44bf8a2e07be8d656
commit 56f025de66e90eca868b65fa1071755e77bc9aa4 Author: Stephen Gallagher sgallagh@redhat.com Date: Wed Feb 2 16:08:00 2022 -0500
Fix incorrect version Provides: for npm (bz#2049873)
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index dccb68c..9b5e209 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -25,7 +25,7 @@ # This is used by both the nodejs package and the npm subpackage that # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 6 +%global baserelease 7
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -353,7 +353,6 @@ Release: %{npm_release}%{?dist} # (and expected to be present on all Node.js systems) that we ship it bundled # now. Obsoletes: npm < 0:3.5.4-6 -Provides: npm = %{npm_epoch}:%{npm_version} Requires: nodejs = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} %if 0%{?fedora} || 0%{?rhel} >= 8 Recommends: nodejs-docs = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} @@ -730,6 +729,9 @@ end
%changelog +* Wed Feb 02 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.13.2-7 +- Fix incorrect version Provides: for npm (bz#2049873) + * Mon Jan 31 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.13.2-6 - Rebuild for more architectures
commit a04bf23c79952538a8498beea9062e2f00babc79 Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Jan 31 16:18:12 2022 -0500
Rebuild for more architectures
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index c00be47..dccb68c 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -25,7 +25,7 @@ # This is used by both the nodejs package and the npm subpackage that # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 5 +%global baserelease 6
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -730,9 +730,12 @@ end
%changelog -* Mon Jan 31 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.13.2-3 +* Mon Jan 31 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.13.2-6 +- Rebuild for more architectures + +* Mon Jan 31 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.13.2-5 - Tweak some dependencies on EPEL 7 (bz2048589) -- Add (Provides: bundled(zlib)) +- Add Provides: bundled(zlib)
* Wed Jan 19 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.13.2-3 - Bundle zlib on EPEL 7
commit a83c6d516849af54a01915c55ed755845f3581b5 Merge: f0d01eb f42688b Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Jan 31 10:42:25 2022 -0500
Merge remote-tracking branch 'origin/rawhide' into 16
diff --cc nodejs.spec index f329db1,fba3599..c00be47 --- a/nodejs.spec +++ b/nodejs.spec @@@ -25,7 -14,7 +25,7 @@@ # This is used by both the nodejs package and the npm subpackage that # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. - %global baserelease 4 -%global baserelease 2 ++%global baserelease 5
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
commit f0d01eb00287b62f11a8c615264327ee870e5a40 Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Jan 31 10:40:09 2022 -0500
Tweak some dependencies on EPEL 7 (bz2048589)
Add (Provides: bundled(zlib))
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index bbdab8f..f329db1 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -25,7 +25,7 @@ # This is used by both the nodejs package and the npm subpackage that # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 3 +%global baserelease 4
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -148,7 +148,9 @@ BuildRequires: python%{python3_pkgversion}-jinja2 %if !%{with python3_fixup} BuildRequires: python-unversioned-command %endif -%if !%{with bundled_zlib} +%if %{with bundled_zlib} +Provides: bundled(zlib) = %{zlib_version} +%else BuildRequires: zlib-devel %endif BuildRequires: brotli-devel @@ -205,9 +207,7 @@ Requires: ca-certificates Requires: nodejs-libs%{?_isa} = %{nodejs_epoch}:%{version}-%{release}
# Pull in the full-icu data by default -%if 0%{?rhel} && 0%{?rhel} < 8 -Requires: nodejs-full-i18n%{?_isa} = %{nodejs_epoch}:%{version}-%{release} -%else +%if 0%{?fedora} || 0%{?rhel} >= 8 Recommends: nodejs-full-i18n%{?_isa} = %{nodejs_epoch}:%{version}-%{release} %endif
@@ -265,11 +265,10 @@ Requires: (nodejs-packaging if rpm-build) %endif
# Make sure we keep NPM up to date when we update Node.js -%if 0%{?rhel} && 0%{?rhel} < 8 -Requires: npm >= %{npm_epoch}:%{npm_version}-%{npm_release}%{?dist} -%else +%if 0%{?fedora} || 0%{?rhel} >= 8 Recommends: npm >= %{npm_epoch}:%{npm_version}-%{npm_release}%{?dist} %endif +Conflicts: npm < %{npm_epoch}:%{npm_version}-%{npm_release}%{?dist}
%description @@ -356,9 +355,7 @@ Release: %{npm_release}%{?dist} Obsoletes: npm < 0:3.5.4-6 Provides: npm = %{npm_epoch}:%{npm_version} Requires: nodejs = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} -%if 0%{?rhel} && 0%{?rhel} < 8 -Requires: nodejs-docs = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} -%else +%if 0%{?fedora} || 0%{?rhel} >= 8 Recommends: nodejs-docs = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} %endif
@@ -733,6 +730,10 @@ end
%changelog +* Mon Jan 31 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.13.2-3 +- Tweak some dependencies on EPEL 7 (bz2048589) +- Add (Provides: bundled(zlib)) + * Wed Jan 19 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.13.2-3 - Bundle zlib on EPEL 7
commit f42688b21707ff6d1a5fb3da620916afd25aa7f5 Author: Fedora Release Engineering releng@fedoraproject.org Date: Thu Jan 20 21:17:22 2022 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering releng@fedoraproject.org
diff --git a/nodejs.spec b/nodejs.spec index 58e9503..fba3599 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -14,7 +14,7 @@ # This is used by both the nodejs package and the npm subpackage that # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 1 +%global baserelease 2
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -701,6 +701,9 @@ end
%changelog +* Thu Jan 20 2022 Fedora Release Engineering releng@fedoraproject.org - 1:16.13.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Tue Jan 11 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.13.2-1 - Improper handling of URI Subject Alternative Names (Medium)(CVE-2021-44531) - Certificate Verification Bypass via String Injection (Medium)(CVE-2021-44532)
commit 6198b7db1527bb780b42d4effdeefbd4dd8b8f38 Author: Stephen Gallagher sgallagh@redhat.com Date: Wed Jan 19 14:04:11 2022 -0500
Bundle zlib on EPEL 7
RHEL 7 has zlib 1.2.7, which is too old for NPM.
RHEL 7 is upgrading from 4.x, so we need to re-add the pretrans scriptlet for npm.
Also clean up and simplify some of the various version macros.
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs-tarball.sh b/nodejs-tarball.sh index 11fd006..0caefce 100755 --- a/nodejs-tarball.sh +++ b/nodejs-tarball.sh @@ -196,6 +196,10 @@ echo "corepack" echo "=========================" grep ""version":" node-v${version}/deps/corepack/package.json echo +echo "zlib" +echo "=========================" +grep "define ZLIB_VERSION" node-v${version}/deps/zlib/zlib.h +echo echo "Make sure these versions match what is in the RPM spec file"
rm -rf node-v${version} diff --git a/nodejs.spec b/nodejs.spec index 97f12b9..bbdab8f 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -7,6 +7,13 @@ %bcond_with python3_fixup %endif
+%if 0%{?rhel} && 0%{?rhel} < 8 +%bcond_without bundled_zlib +%else +%bcond_with bundled_zlib +%endif + + # LTO is currently broken on Node.js builds %define _lto_cflags %{nil}
@@ -18,7 +25,7 @@ # This is used by both the nodejs package and the npm subpackage that # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 2 +%global baserelease 3
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -50,30 +57,21 @@ %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} %global v8_release %{nodejs_epoch}.%{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release}
+# zlib - from deps/zlib/zlib.h +%global zlib_version 1.2.11 + # c-ares - from deps/cares/include/ares_version.h # https://github.com/nodejs/node/pull/9332 -%global c_ares_major 1 -%global c_ares_minor 18 -%global c_ares_patch 1 -%global c_ares_version %{c_ares_major}.%{c_ares_minor}.%{c_ares_patch} +%global c_ares_version 1.18.1
# llhttp - from deps/llhttp/include/llhttp.h -%global llhttp_major 6 -%global llhttp_minor 0 -%global llhttp_patch 4 -%global llhttp_version %{llhttp_major}.%{llhttp_minor}.%{llhttp_patch} +%global llhttp_version 6.0.4
# libuv - from deps/uv/include/uv/version.h -%global libuv_major 1 -%global libuv_minor 42 -%global libuv_patch 0 -%global libuv_version %{libuv_major}.%{libuv_minor}.%{libuv_patch} +%global libuv_version 1.42.0
# nghttp2 - from deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h -%global nghttp2_major 1 -%global nghttp2_minor 45 -%global nghttp2_patch 1 -%global nghttp2_version %{nghttp2_major}.%{nghttp2_minor}.%{nghttp2_patch} +%global nghttp2_version 1.45.1
# ICU - from tools/icu/current_ver.dep %global icu_major 69 @@ -91,17 +89,11 @@ # punycode - from lib/punycode.js # Note: this was merged into the mainline since 0.6.x # Note: this will be unmerged in an upcoming major release -%global punycode_major 2 -%global punycode_minor 1 -%global punycode_patch 0 -%global punycode_version %{punycode_major}.%{punycode_minor}.%{punycode_patch} +%global punycode_version 2.1.0
# npm - from deps/npm/package.json %global npm_epoch 1 -%global npm_major 8 -%global npm_minor 1 -%global npm_patch 2 -%global npm_version %{npm_major}.%{npm_minor}.%{npm_patch} +%global npm_version 8.1.2
# In order to avoid needing to keep incrementing the release version for the # main package forever, we will just construct one for npm that is guaranteed @@ -110,16 +102,10 @@ %global npm_release %{nodejs_epoch}.%{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release}
# uvwasi - from deps/uvwasi/include/uvwasi.h -%global uvwasi_major 0 -%global uvwasi_minor 0 -%global uvwasi_patch 11 -%global uvwasi_version %{uvwasi_major}.%{uvwasi_minor}.%{uvwasi_patch} +%global uvwasi_version 0.0.11
# histogram_c - assumed from timestamps -%global histogram_major 0 -%global histogram_minor 9 -%global histogram_patch 7 -%global histogram_version %{histogram_major}.%{histogram_minor}.%{histogram_patch} +%global histogram_version 0.9.7
# Node.js 16.9.1 and later comes with an experimental package management tool %global corepack_version 0.10.0 @@ -162,7 +148,9 @@ BuildRequires: python%{python3_pkgversion}-jinja2 %if !%{with python3_fixup} BuildRequires: python-unversioned-command %endif +%if !%{with bundled_zlib} BuildRequires: zlib-devel +%endif BuildRequires: brotli-devel %if 0%{?rhel} && 0%{?rhel} < 8 BuildRequires: devtoolset-11-gcc @@ -297,7 +285,9 @@ Summary: JavaScript runtime - development headers Group: Development/Languages Requires: %{name}%{?_isa} = %{epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} Requires: openssl-devel%{?_isa} +%if !%{with bundled_zlib} Requires: zlib-devel%{?_isa} +%endif Requires: brotli-devel%{?_isa} Requires: nodejs-packaging
@@ -400,7 +390,10 @@ The API documentation for the Node.js JavaScript runtime. %autosetup -p1 -n node-v%{nodejs_version}
# remove bundled dependencies that we aren't building +%if !%{with bundled_zlib} rm -rf deps/zlib +%endif + rm -rf deps/brotli rm -rf deps/v8/third_party/jinja2 rm -rf tools/inspector_protocol/jinja2 @@ -466,7 +459,9 @@ export LDFLAGS="%{build_ldflags}" --shared \ --libdir=%{_lib} \ %{ssl_configure} \ +%if !%{with bundled_zlib} --shared-zlib \ +%endif --shared-brotli \ --without-dtrace \ --with-intl=small-icu \ @@ -476,7 +471,9 @@ export LDFLAGS="%{build_ldflags}" --shared \ --libdir=%{_lib} \ %{ssl_configure} \ +%if !%{with bundled_zlib} --shared-zlib \ +%endif --shared-brotli \ --shared-libuv \ %{nghttp2_configure} \ @@ -573,7 +570,7 @@ cp -pr deps/npm/man/* %{buildroot}%{_mandir}/ rm -rf %{buildroot}%{_prefix}/lib/node_modules/npm/man ln -sf %{_mandir} %{buildroot}%{_prefix}/lib/node_modules/npm/man
-# Install Gatsby HTML documentation to %{_pkgdocdir} +# Install Gatsby HTML documentation to %%{_pkgdocdir} cp -pr deps/npm/docs %{buildroot}%{_pkgdocdir}/npm/ rm -rf %{buildroot}%{_prefix}/lib/node_modules/npm/docs
@@ -632,6 +629,22 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}%{_bindir}/node %{buildroot}% NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{_prefix}/lib/node_modules/npm/node_modules LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node --icu-data-dir=%{buildroot}%{icudatadir} %{SOURCE2}
+%if 0%{?rhel} && 0%{?rhel} < 8 +%pretrans -n npm -p <lua> +-- Remove all of the symlinks from the bundled npm node_modules directory +base_path = "%{_prefix}/lib/node_modules/npm/node_modules/" +d_st = posix.stat(base_path) +if d_st then + for f in posix.files(base_path) do + path = base_path..f + st = posix.stat(path) + if st and st.type == "link" then + os.remove(path) + end + end +end +%endif + %files %{_bindir}/node %dir %{_prefix}/lib/node_modules @@ -720,6 +733,9 @@ NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{_prefix}/lib/nod
%changelog +* Wed Jan 19 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.13.2-3 +- Bundle zlib on EPEL 7 + * Mon Jan 17 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.13.2-2 - Add support for building on EPEL 7
diff --git a/sources b/sources index 486a352..410af83 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v16.13.2-stripped.tar.gz) = 0f09ce68779448b60fe84df5ace3bc482c1059e0ca9c9e55cfc51e5ad7e94f7f70c3c561b351674f734dbd4c08944a4f5f82d023a61f292bd6eaad8ab6e2d7c5 +SHA512 (node-v16.13.2-stripped.tar.gz) = 2e55952b95681cb18d8ca3ee096105d3076d3c79a92b707e7f580141a5def6e6a45971bc32ecf47307e90fc51de71039dcb00697487fe83d4eb7af01b0ff40b5 SHA512 (icu4c-69_1-src.tgz) = d4aeb781715144ea6e3c6b98df5bbe0490bfa3175221a1d667f3e6851b7bd4a638fa4a37d4a921ccb31f02b5d15a6dded9464d98051964a86f7b1cde0ff0aab7
commit 0a43c6461513f5ebf90f21cd3e0dd4f7857ddba4 Merge: 497f09b 1dc586d Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Jan 18 09:10:42 2022 -0500
Merge branch 'epel7' into epel7-merge
commit 1dc586df1632b457339c40cf3488b81448da43bc Author: Tomas Hrcka thrcka@redhat.com Date: Tue Jan 18 14:38:15 2022 +0100
Unretirement request: https://pagure.io/releng/issue/10541
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1fc6100 --- /dev/null +++ b/.gitignore @@ -0,0 +1,84 @@ +/node-v0.9.3.tar.gz +/node-v0.9.4.tar.gz +/node-v0.9.5.tar.gz +/node-v0.10.0.tar.gz +/node-v0.10.1.tar.gz +/node-v0.10.2.tar.gz +/node-v0.10.3.tar.gz +/node-v0.10.4.tar.gz +/node-v0.10.5.tar.gz +/node-v0.10.6.tar.gz +/node-v0.10.7-stripped.tar.gz +/node-v0.10.8-stripped.tar.gz +/node-v0.10.9-stripped.tar.gz +/node-v0.10.12-stripped.tar.gz +/node-v0.10.13-stripped.tar.gz +/node-v0.10.14-stripped.tar.gz +/node-v0.10.16-stripped.tar.gz +/node-v0.10.17-stripped.tar.gz +/node-v0.10.18-stripped.tar.gz +/node-v0.10.19-stripped.tar.gz +/node-v0.10.20-stripped.tar.gz +/node-v0.10.21-stripped.tar.gz +/node-v0.10.22-stripped.tar.gz +/node-v0.10.23-stripped.tar.gz +/node-v0.10.24.tar.gz +/node-v0.10.24-stripped.tar.gz +/node-v0.10.25-stripped.tar.gz +/node-v0.10.26-stripped.tar.gz +/node-v0.10.28-stripped.tar.gz +/node-v0.10.29-stripped.tar.gz +/node-v0.10.30-stripped.tar.gz +/node-v0.10.32-stripped.tar.gz +/node-v0.10.33-stripped.tar.gz +/node-v0.10.36-stripped.tar.gz +/node-v4.2.2-stripped.tar.gz +/node-v4.2.3-stripped.tar.gz +/node-v4.2.4-stripped.tar.gz +/node-v4.2.6-stripped.tar.gz +/node-v4.3.0-stripped.tar.gz +/node-v4.3.1-stripped.tar.gz +/node-v5.7.1-stripped.tar.gz +/node-v5.8.0-stripped.tar.gz +/node-v5.9.0.tar.gz +/node-v5.9.1-stripped.tar.gz +/node-v5.10.0-stripped.tar.gz +/node-v5.10.1-stripped.tar.gz +/node-v5.11.0-stripped.tar.gz +/node-v6.1.0-stripped.tar.gz +/node-v6.2.0-stripped.tar.gz +/node-v6.2.1-stripped.tar.gz +/node-v6.2.2-stripped.tar.gz +/node-v6.3.0-stripped.tar.gz +/node-v6.3.1-stripped.tar.gz +/node-v6.4.0-stripped.tar.gz +/node-v6.5.0-stripped.tar.gz +/node-v6.6.0-stripped.tar.gz +/node-v6.7.0-stripped.tar.gz +/node-v6.8.0-stripped.tar.gz +/node-v6.8.1-stripped.tar.gz +/node-v6.9.0-stripped.tar.gz +/node-v6.9.1-stripped.tar.gz +/node-v6.9.2-stripped.tar.gz +/node-v6.9.3-stripped.tar.gz +/node-v6.9.4-stripped.tar.gz +/node-v6.9.5-stripped.tar.gz +/node-v6.10.0-stripped.tar.gz +/node-v6.10.1-stripped.tar.gz +/node-v6.10.2-stripped.tar.gz +/node-v6.10.3-stripped.tar.gz +/node-v6.11.0-stripped.tar.gz +/node-v6.11.1-stripped.tar.gz +/node-v6.11.2-stripped.tar.gz +/node-v6.11.3-stripped.tar.gz +/node-v6.11.4-stripped.tar.gz +/node-v6.11.5-stripped.tar.gz +/node-v6.12.0-stripped.tar.gz +/node-v6.12.2-stripped.tar.gz +/node-v6.12.3-stripped.tar.gz +/node-v6.13.1-stripped.tar.gz +/node-v6.14.0-stripped.tar.gz +/node-v6.14.2-stripped.tar.gz +/node-v6.14.3-stripped.tar.gz +/node-v6.16.0-stripped.tar.gz +/node-v6.17.1-stripped.tar.gz diff --git a/0001-Disable-running-gyp-files-for-bundled-deps.patch b/0001-Disable-running-gyp-files-for-bundled-deps.patch new file mode 100644 index 0000000..a97a09a --- /dev/null +++ b/0001-Disable-running-gyp-files-for-bundled-deps.patch @@ -0,0 +1,25 @@ +From 8946146b37e4170c406fbdd7c60f1bbb79a9311a Mon Sep 17 00:00:00 2001 +From: Zuzana Svetlikova zsvetlik@redhat.com +Date: Wed, 6 Sep 2017 14:17:21 +0200 +Subject: [PATCH] dont run gyp on shared deps + +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 577d0e232a..bb47a1b95e 100644 +--- a/Makefile ++++ b/Makefile +@@ -77,7 +77,7 @@ $(NODE_G_EXE): config.gypi out/Makefile + $(MAKE) -C out BUILDTYPE=Debug V=$(V) + if [ ! -r $@ -o ! -L $@ ]; then ln -fs out/Debug/$(NODE_EXE) $@; fi + +-out/Makefile: common.gypi deps/uv/uv.gyp deps/http_parser/http_parser.gyp deps/zlib/zlib.gyp deps/v8/build/toolchain.gypi deps/v8/build/features.gypi deps/v8/tools/gyp/v8.gyp node.gyp config.gypi ++out/Makefile: common.gypi deps/v8/build/toolchain.gypi deps/v8/build/features.gypi deps/v8/tools/gyp/v8.gyp node.gyp config.gypi + $(PYTHON) tools/gyp_node.py -f make + + config.gypi: configure +-- +2.14.1 + diff --git a/dead.package b/dead.package deleted file mode 100644 index 9e77afb..0000000 --- a/dead.package +++ /dev/null @@ -1 +0,0 @@ -Node.js 6.x is years beyond its supported life diff --git a/macros.nodejs b/macros.nodejs new file mode 100644 index 0000000..468a30d --- /dev/null +++ b/macros.nodejs @@ -0,0 +1,33 @@ +# nodejs binary +%__nodejs %{_bindir}/node + +# nodejs library directory +%nodejs_sitelib %{_prefix}/lib/node_modules + +#arch specific library directory +#for future-proofing only; we don't do multilib +%nodejs_sitearch %{nodejs_sitelib} + +# currently installed nodejs version +%nodejs_version %(%{__nodejs} -v | sed s/v//) + +# symlink dependencies so `npm link` works +# this should be run in every module's %%install section +# pass --check to work in the current directory instead of the buildroot +# pass --no-devdeps to ignore devDependencies when --check is used +%nodejs_symlink_deps %{_rpmconfigdir}/nodejs-symlink-deps %{nodejs_sitelib} + +# patch package.json to fix a dependency +# see `man npm-json` for details on writing dependencies for package.json files +# e.g. `%%nodejs_fixdep frobber` makes any version of frobber do +# `%%nodejs_fixdep frobber '>1.0'` requires frobber > 1.0 +# `%%nodejs_fixdep -r frobber removes the frobber dep +%nodejs_fixdep %{_rpmconfigdir}/nodejs-fixdep + +# macro to filter unwanted provides from Node.js binary native modules +%nodejs_default_filter %{expand: \ +%global __provides_exclude_from ^%{nodejs_sitearch}/.*\.node$ +} + +# no-op macro to allow spec compatibility with EPEL +%nodejs_find_provides_and_requires %{nil} diff --git a/nodejs-tarball.sh b/nodejs-tarball.sh new file mode 100755 index 0000000..237ae13 --- /dev/null +++ b/nodejs-tarball.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +version=$(rpm -q --specfile --qf='%{version}\n' nodejs.spec | head -n1) +rm -f node-v${version}.tar.gz +wget http://nodejs.org/dist/v$%7Bversion%7D/node-v$%7Bversion%7D.tar.gz +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} + +fedpkg new-sources node-v${version}-stripped.tar.gz diff --git a/nodejs.spec b/nodejs.spec new file mode 100644 index 0000000..8f2bc62 --- /dev/null +++ b/nodejs.spec @@ -0,0 +1,1066 @@ +# bundle some dependencies missing in Modularity +%bcond_with bootstrap + +%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}} + +# == Node.js Version == +# Note: Fedora should only ship LTS versions of Node.js (currently expected +# to be major versions with even numbers). The odd-numbered versions are new +# feature releases that are only supported for nine months, which is shorter +# than a Fedora release lifecycle. +%global nodejs_epoch 1 +%global nodejs_major 6 +%global nodejs_minor 17 +%global nodejs_patch 1 +%global nodejs_abi %{nodejs_major}.%{nodejs_minor} +%global nodejs_version %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch} +%global nodejs_release 1 + +# == Bundled Dependency Versions == +# v8 - from deps/v8/include/v8-version.h +%global v8_major 5 +%global v8_minor 1 +%global v8_build 281 +%global v8_patch 111 +# V8 presently breaks ABI at least every x.y release while never bumping SONAME +%global v8_abi %{v8_major}.%{v8_minor} +%global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} + +# c-ares - from deps/cares/include/ares_version.h +%global c_ares_major 1 +%global c_ares_minor 10 +%global c_ares_patch 1 +%global c_ares_version %{c_ares_major}.%{c_ares_minor}.%{c_ares_patch} + +# http-parser - from deps/http_parser/http_parser.h +%global http_parser_major 2 +%global http_parser_minor 8 +%global http_parser_patch 0 +%global http_parser_version %{http_parser_major}.%{http_parser_minor}.%{http_parser_patch} + +# libuv - from deps/uv/include/uv-version.h +%global libuv_major 1 +%global libuv_minor 16 +%global libuv_patch 1 +%global libuv_version %{libuv_major}.%{libuv_minor}.%{libuv_patch} + +# punycode - from lib/punycode.js +# Note: this was merged into the mainline since 0.6.x +%global punycode_major 2 +%global punycode_minor 0 +%global punycode_patch 0 +%global punycode_version %{punycode_major}.%{punycode_minor}.%{punycode_patch} + +# npm - from deps/npm/package.json +%global npm_epoch 1 +%global npm_major 3 +%global npm_minor 10 +%global npm_patch 10 +%global npm_version %{npm_major}.%{npm_minor}.%{npm_patch} + +# In order to avoid needing to keep incrementing the release version for the +# main package forever, we will just construct one for npm that is guaranteed +# to increment safely. Changing this can only be done during an update when the +# base npm version number is increasing. +%global npm_release %{nodejs_epoch}.%{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release} + +# Filter out the NPM bundled dependencies so we aren't providing them +%global __provides_exclude_from ^%{_prefix}/lib/node_modules/npm/.*$ +%global __requires_exclude_from ^%{_prefix}/lib/node_modules/npm/.*$ + + +Name: nodejs +Epoch: %{nodejs_epoch} +Version: %{nodejs_version} +Release: %{nodejs_release}%{?dist} +Summary: JavaScript runtime +License: MIT and ASL 2.0 and ISC and BSD +Group: Development/Languages +URL: http://nodejs.org/ + +ExclusiveArch: %{nodejs_arches} + +# nodejs bundles openssl, but we use the system version in Fedora +# because openssl contains prohibited code, we remove openssl completely from +# the tarball, using the script in Source100 +Source0: node-v%{nodejs_version}-stripped.tar.gz +Source100: %{name}-tarball.sh + +# The native module Requires generator remains in the nodejs SRPM, so it knows +# the nodejs and v8 versions. The remainder has migrated to the +# nodejs-packaging SRPM. +Source7: nodejs_native.attr + +# Disable running gyp on bundled deps we don't use +Patch1: 0001-Disable-running-gyp-files-for-bundled-deps.patch + +BuildRequires: python2-devel +BuildRequires: libicu-devel +BuildRequires: zlib-devel +BuildRequires: gcc >= 4.8.5 +BuildRequires: gcc-c++ >= 4.8.5 +Provides: bundled(http-parser) = %{http_parser_version} + +%if %{with bootstrap} +Provides: bundled(libuv) = %{libuv_version} +%else +BuildRequires: systemtap-sdt-devel +BuildRequires: libuv-devel >= 1:1.9.1 +Requires: libuv >= 1:1.9.1 +%endif + +%if 0%{?fedora} > 25 +BuildRequires: compat-openssl10-devel >= 1:1.0.2 +%else +BuildRequires: openssl-devel >= 1:1.0.2 +%endif + +# we need the system certificate store when Patch2 is applied +Requires: ca-certificates + +#we need ABI virtual provides where SONAMEs aren't enough/not present so deps +#break when binary compatibility is broken +Provides: nodejs(abi) = %{nodejs_abi} +Provides: nodejs(abi%{nodejs_major}) = %{nodejs_abi} +Provides: nodejs(v8-abi) = %{v8_abi} +Provides: nodejs(v8-abi%{v8_major}) = %{v8_abi} + +#this corresponds to the "engine" requirement in package.json +Provides: nodejs(engine) = %{nodejs_version} + +# Node.js currently has a conflict with the 'node' package in Fedora +# The ham-radio group has agreed to rename their binary for us, but +# in the meantime, we're setting an explicit Conflicts: here +Conflicts: node <= 0.3.2-12 + +# The punycode module was absorbed into the standard library in v0.6. +# It still exists as a seperate package for the benefit of users of older +# versions. Since we've never shipped anything older than v0.10 in Fedora, +# we don't need the seperate nodejs-punycode package, so we Provide it here so +# dependent packages don't need to override the dependency generator. +# See also: RHBZ#11511811 +# UPDATE: punycode will be deprecated and so we should unbundle it in Node v8 +# and use upstream module instead +# https://github.com/nodejs/node/commit/29e49fc286080215031a81effbd59eac092fff... +Provides: nodejs-punycode = %{punycode_version} +Provides: npm(punycode) = %{punycode_version} + + +# Node.js has forked c-ares from upstream in an incompatible way, so we need +# to carry the bundled version internally. +# See https://github.com/nodejs/node/commit/766d063e0578c0f7758c3a965c971763f43fec... +Provides: bundled(c-ares) = %{c_ares_version} + +# Node.js is closely tied to the version of v8 that is used with it. It makes +# sense to use the bundled version because upstream consistently breaks ABI +# even in point releases. Node.js upstream has now removed the ability to build +# against a shared system version entirely. +# See https://github.com/nodejs/node/commit/d726a177ed59c37cf5306983ed00ecd858cfbb... +Provides: bundled(v8) = %{v8_version} + +%if 0%{?epel} +# EPEL doesn't support Recommends, so make it strict +Requires: npm = %{npm_epoch}:%{npm_version}-%{npm_release}%{?dist} +%else +Recommends: npm = %{npm_epoch}:%{npm_version}-%{npm_release}%{?dist} +%endif + + +%description +Node.js is a platform built on Chrome's JavaScript runtime +for easily building fast, scalable network applications. +Node.js uses an event-driven, non-blocking I/O model that +makes it lightweight and efficient, perfect for data-intensive +real-time applications that run across distributed devices. + +%package devel +Summary: JavaScript runtime - development headers +Group: Development/Languages +Requires: %{name}%{?_isa} = %{epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} +Requires: openssl-devel%{?_isa} +Requires: zlib-devel%{?_isa} +Requires: nodejs-packaging +#%if ! 0%%{?bootstrap} +%if %{with bootstrap} +#deps are bundled +%else +Requires: libuv-devel%{?_isa} +%endif + +%description devel +Development headers for the Node.js JavaScript runtime. + +%package -n npm +Summary: Node.js Package Manager +Epoch: %{npm_epoch} +Version: %{npm_version} +Release: %{npm_release}%{?dist} + +# We used to ship npm separately, but it is so tightly integrated with Node.js +# (and expected to be present on all Node.js systems) that we ship it bundled +# now. +Obsoletes: npm < 0:3.5.4-6 +Provides: npm = %{npm_epoch}:%{npm_version} +Requires: nodejs = %{epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} + +# Do not add epoch to the virtual NPM provides or it will break +# the automatic dependency-generation script. +Provides: npm(npm) = %{npm_version} + +%description -n npm +npm is a package manager for node.js. You can use it to install and publish +your node programs. It manages dependencies and does other cool stuff. + +%package docs +Summary: Node.js API documentation +Group: Documentation +BuildArch: noarch + +# We don't require that the main package be installed to +# use the docs, but if it is installed, make sure the +# version always matches +Conflicts: %{name} > %{epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} +Conflicts: %{name} < %{epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} + +%description docs +The API documentation for the Node.js JavaScript runtime. + + +%prep +%setup -q -n node-v%{nodejs_version} + +# remove bundled dependencies that we aren't building +%patch1 -p1 +rm -rf deps/icu-small \ + deps/zlib + + +%build +# Work around Fedora 28 build issue: +# https://fedoraproject.org/wiki/Changes/Avoid_usr_bin_python_in_RPM_Build#Qui... +# Tracking BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1550564 +export PYTHON_DISALLOW_AMBIGUOUS_VERSION=0 + +# build with debugging symbols and add defines from libuv (#892601) +# Node's v8 breaks with GCC 6 because of incorrect usage of methods on +# NULL objects. We need to pass -fno-delete-null-pointer-checks +export CFLAGS='%{optflags} -g \ + -D_LARGEFILE_SOURCE \ + -D_FILE_OFFSET_BITS=64 \ + -DZLIB_CONST \ + -fno-delete-null-pointer-checks' +export CXXFLAGS='%{optflags} -g \ + -D_LARGEFILE_SOURCE \ + -D_FILE_OFFSET_BITS=64 \ + -DZLIB_CONST \ + -fno-delete-null-pointer-checks' + +# Explicit new lines in C(XX)FLAGS can break naive build scripts +export CFLAGS="$(echo ${CFLAGS} | tr '\n\' ' ')" +export CXXFLAGS="$(echo ${CXXFLAGS} | tr '\n\' ' ')" + +export LDFLAGS="%{__global_ldflags}" + +%if %{with bootstrap} +./configure --prefix=%{_prefix} \ + --shared-openssl \ + --shared-zlib \ + --without-dtrace \ + --with-intl=system-icu \ + --openssl-use-def-ca-store +%else +./configure --prefix=%{_prefix} \ + --shared-openssl \ + --shared-zlib \ + --shared-libuv \ + --with-dtrace \ + --with-intl=system-icu \ + --openssl-use-def-ca-store +%endif + +make BUILDTYPE=Release %{?_smp_mflags} + + +%install +# Work around Fedora 28 build issue: +# https://fedoraproject.org/wiki/Changes/Avoid_usr_bin_python_in_RPM_Build#Qui... +# Tracking BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1550564 +export PYTHON_DISALLOW_AMBIGUOUS_VERSION=0 + +rm -rf %{buildroot} + +./tools/install.py install %{buildroot} %{_prefix} + +# Set the binary permissions properly +chmod 0755 %{buildroot}/%{_bindir}/node + +# own the sitelib directory +mkdir -p %{buildroot}%{_prefix}/lib/node_modules + +# ensure Requires are added to every native module that match the Provides from +# the nodejs build in the buildroot +install -Dpm0644 %{SOURCE7} %{buildroot}%{_rpmconfigdir}/fileattrs/nodejs_native.attr +cat << EOF > %{buildroot}%{_rpmconfigdir}/nodejs_native.req +#!/bin/sh +echo 'nodejs(abi%{nodejs_major}) >= %nodejs_abi' +echo 'nodejs(v8-abi%{v8_major}) >= %v8_abi' +EOF +chmod 0755 %{buildroot}%{_rpmconfigdir}/nodejs_native.req + +#install documentation +mkdir -p %{buildroot}%{_pkgdocdir}/html +cp -pr doc/* %{buildroot}%{_pkgdocdir}/html +rm -f %{buildroot}%{_pkgdocdir}/html/nodejs.1 + +#node-gyp needs common.gypi too +mkdir -p %{buildroot}%{_datadir}/node +cp -p common.gypi %{buildroot}%{_datadir}/node + +# Install the GDB init tool into the documentation directory +mv %{buildroot}/%{_datadir}/doc/node/gdbinit %{buildroot}/%{_pkgdocdir}/gdbinit + +# Since the old version of NPM was unbundled, there are a lot of symlinks in +# it's node_modules directory. We need to keep these as symlinks to ensure we +# can backtrack on this if we decide to. + +# Rename the npm node_modules directory to node_modules.bundled +mv %{buildroot}/%{_prefix}/lib/node_modules/npm/node_modules \ + %{buildroot}/%{_prefix}/lib/node_modules/npm/node_modules.bundled + +# Recreate all the symlinks +mkdir -p %{buildroot}/%{_prefix}/lib/node_modules/npm/node_modules +FILES=%{buildroot}/%{_prefix}/lib/node_modules/npm/node_modules.bundled/* +for f in $FILES +do + module=`basename $f` + ln -s ../node_modules.bundled/$module %{buildroot}%{_prefix}/lib/node_modules/npm/node_modules/$module +done + +# install NPM docs to mandir +mkdir -p %{buildroot}%{_mandir} \ + %{buildroot}%{_pkgdocdir}/npm + +cp -pr deps/npm/man/* %{buildroot}%{_mandir}/ +rm -rf %{buildroot}%{_prefix}/lib/node_modules/npm/man +ln -sf %{_mandir} %{buildroot}%{_prefix}/lib/node_modules/npm/man + +# Install Markdown and HTML documentation to %{_pkgdocdir} +cp -pr deps/npm/html deps/npm/doc %{buildroot}%{_pkgdocdir}/npm/ +rm -rf %{buildroot}%{_prefix}/lib/node_modules/npm/html \ + %{buildroot}%{_prefix}/lib/node_modules/npm/doc + +ln -sf %{_pkgdocdir} %{buildroot}%{_prefix}/lib/node_modules/npm/html +ln -sf %{_pkgdocdir}/npm/html %{buildroot}%{_prefix}/lib/node_modules/npm/doc + + +# Node tries to install some python files into a documentation directory +# (and not the proper one). Remove them for now until we figure out what to +# do with them. +rm -f %{buildroot}/%{_defaultdocdir}/node/lldb_commands.py \ + %{buildroot}/%{_defaultdocdir}/node/lldbinit + +%check +# Fail the build if the versions don't match +%{buildroot}/%{_bindir}/node -e "require('assert').equal(process.versions.node, '%{nodejs_version}')" +%{buildroot}/%{_bindir}/node -e "require('assert').equal(process.versions.v8, '%{v8_version}')" +%{buildroot}/%{_bindir}/node -e "require('assert').equal(process.versions.ares.replace(/-DEV$/, ''), '%{c_ares_version}')" + +# Ensure we have punycode and that the version matches +%{buildroot}/%{_bindir}/node -e "require("assert").equal(require("punycode").version, '%{punycode_version}')" + +# Ensure we have npm and that the version matches +NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules %{buildroot}/%{_bindir}/node -e "require("assert").equal(require("npm").version, '%{npm_version}')" + +%files +%{_bindir}/node +%dir %{_prefix}/lib/node_modules +%dir %{_datadir}/node +%dir %{_datadir}/systemtap +%dir %{_datadir}/systemtap/tapset +%{_datadir}/systemtap/tapset/node.stp + +#%if ! 0%%{?bootstrap} +%if %{with bootstrap} +#no dtrace +%else +%dir %{_usr}/lib/dtrace +%{_usr}/lib/dtrace/node.d +%endif + +%{_rpmconfigdir}/fileattrs/nodejs_native.attr +%{_rpmconfigdir}/nodejs_native.req +%license LICENSE +%doc AUTHORS CHANGELOG.md COLLABORATOR_GUIDE.md GOVERNANCE.md README.md +%doc %{_mandir}/man1/node.1* + + +%files devel +%{_includedir}/node +%{_datadir}/node/common.gypi +%{_pkgdocdir}/gdbinit + + +%files -n npm +%{_bindir}/npm +%{_prefix}/lib/node_modules/npm +%ghost %{_sysconfdir}/npmrc +%ghost %{_sysconfdir}/npmignore +%doc %{_mandir}/man*/npm* +%doc %{_mandir}/man5/package.json.5* +%doc %{_mandir}/man7/removing-npm.7* +%doc %{_mandir}/man7/semver.7* + + +%files docs +%dir %{_pkgdocdir} +%{_pkgdocdir}/html +%{_pkgdocdir}/npm/html +%{_pkgdocdir}/npm/doc + +%changelog +* Tue Jun 18 2019 Stephen Gallagher sgallagh@redhat.com - 1:6.17.1-1 +- Update to 6.17.1 security release +- https://nodejs.org/en/blog/release/v6.17.1/ +- https://nodejs.org/en/blog/release/v6.17.0/ +- Drop debug build + +* Thu Jan 10 2019 Stephen Gallagher sgallagh@redhat.com - 1:6.16.0-2 +- Bundle http-parser since it uses backported features not available in RHEL + +* Thu Jan 10 2019 Stephen Gallagher sgallagh@redhat.com - 1:6.16.0-1 +- Update to 6.16.0 security release +- https://nodejs.org/en/blog/release/v6.16.0/ +- https://nodejs.org/en/blog/release/v6.15.1/ +- https://nodejs.org/en/blog/release/v6.15.0/ +- https://nodejs.org/en/blog/release/v6.14.4/ + +* Thu Jun 14 2018 Stephen Gallagher sgallagh@redhat.com - 1:6.14.3-1 +- Update to 6.14.3 security release +- https://nodejs.org/en/blog/release/v6.14.3/ + +* Thu May 03 2018 Stephen Gallagher sgallagh@redhat.com - 1:6.14.2-1 +- Update to 6.14.2 +- https://nodejs.org/en/blog/release/v6.14.2/ +- https://nodejs.org/en/blog/release/v6.14.1/ + +* Fri Apr 13 2018 Rafael dos Santos rdossant@redhat.com - 1:6.14.0-2 +- Use standard Fedora linker flags (bug #1543859) + +* Wed Mar 28 2018 Stephen Gallagher sgallagh@redhat.com - 1:6.14.0-1 +- Update to 6.14.0 +- https://nodejs.org/en/blog/release/v6.14.0/ + +* Thu Mar 08 2018 Stephen Gallagher sgallagh@redhat.com - 1:6.13.1-1 +- Update to 6.13.1 +- https://nodejs.org/en/blog/release/v6.12.4/ +- https://nodejs.org/en/blog/release/v6.12.5/ +- https://nodejs.org/en/blog/release/v6.13.0/ +- https://nodejs.org/en/blog/release/v6.13.1/ + +* Thu Jan 11 2018 Stephen Gallagher sgallagh@redhat.com - 1:6.12.3-1 +- Update to 6.12.3 +- https://nodejs.org/en/blog/release/v6.12.3/ + +* Fri Dec 08 2017 Stephen Gallagher sgallagh@redhat.com - 1:6.12.2-1 +- Update to 6.12.2 +- https://nodejs.org/en/blog/release/v6.12.2/ + +* Mon Nov 13 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.12.0-1 +- Update to 6.12.0 + +* Thu Oct 26 2017 Stephen Gallagher sgallagh@redhat.com - 1:6.11.5-1 +- Update to 6.11.5 security release + +* Fri Oct 06 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.11.4-1 +- Update to 6.11.4 +- https://nodejs.org/en/blog/release/v6.11.4/ +- use bcond macro + +* Thu Sep 21 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:6:11.3-2 +- Adjust spec for modularity + +* Thu Sep 07 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.11.3-1 +- Update to 6.11.3 +- https://nodejs.org/en/blog/release/v6.11.3/ +- remove openssl 1.0.1 patches + +* Wed Aug 23 2017 Stephen Gallagher sgallagh@redhat.com - 1:6.11.2-2 +- Move to requiring OpenSSL 1.0.2 +- Unbundle http-parser again + +* Tue Aug 22 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.11.2-1.3 +- Run gyp on http-parser + +* Tue Aug 15 2017 Stephen Gallagher sgallagh@redhat.com - 1:6.11.2-1.2 +- Add bundled Provides for http-parser + +* Tue Aug 15 2017 Stephen Gallagher sgallagh@redhat.com - 1:6.11.2-1.1 +- Temporarily bundle http-parser +- Resolves: RHBZ#1481470 + +* Wed Aug 02 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.11.2-1 +- Update to 6.11.2 +- https://nodejs.org/en/blog/release/v6.11.2/ +- remove GCC 7 patch merged upstream + +* Thu Jul 13 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.11.1-1 +- Security update (https://nodejs.org/en/blog/vulnerability/july-2017-security-releases/) + +* Thu Jun 29 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.11.0-2 +- Fix typo + +* Thu Jun 29 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.11.0-1 +- Update to 6.11.0 +- https://nodejs.org/en/blog/release/v6.10.3/ +- explicitly depend on http-parser (RHBZ#1457763) + +* Wed May 10 2017 Stephen Gallagher sgallagh@redhat.com - 1:6.10.3-1 +- Update to 6.10.3 (LTS) +- https://nodejs.org/en/blog/release/v6.10.3/ +- Stop using the bundled http-parser now that there is an upstream + release with a new-enough version. + +* Tue May 09 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.10.2-3 +- Bootstrap systemtap-sdt-devel for modularity + +* Wed Apr 19 2017 Stephen Gallagher sgallagh@redhat.com - 1:6.10.2-2 +- Switch to final upstream patch for GCC 7 compatibility + +* Wed Apr 12 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.10.2-1 +- Update to 6.10.2 + +* Mon Apr 03 2017 Stephen Gallagher sgallagh@redhat.com - 1:6.10.1-3 +- Move NPM manpages into the correct subpackage +- Fixes: rhbz#1433403 + +* Mon Apr 03 2017 Stephen Gallagher sgallagh@redhat.com - 1:6.10.1-2 +- Revert upstream change that is incompatible with OpenSSL 1.0.1 +- Fixes: rhbz#1436445 + +* Wed Mar 22 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.10.1-1 +- Update to 6.10.1 +- remove small-icu from deps + +* Thu Mar 09 2017 Stephen Gallagher sgallagh@redhat.com - 1:6.10.0-1 +- Update to 6.10.0 +- https://nodejs.org/en/blog/release/v6.10.0/ +- New patch for handling system CA certificates + +* Tue Feb 28 2017 Stephen Gallagher sgallagh@redhat.com - 1:6.9.5-2 +- Fix FTBFS against GCC 7 +- Resolves: RHBZ 1423991 + +* Fri Feb 10 2017 Fedora Release Engineering releng@fedoraproject.org - 1:6.9.5-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Feb 1 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.9.5-1 +- Update to v6.9.5(security) +- Reenable debug mode (https://github.com/nodejs/node/pull/10525) + +* Tue Jan 17 2017 Stephen Gallagher sgallagh@redhat.com - 1:6.9.4-2 +- Enable DTrace support. +- Eliminate newlines from CFLAGS due to broken dtrace shim + https://sourceware.org/bugzilla/show_bug.cgi?id=21063 + Thanks to Kinston Hughes for the fix. + +* Tue Jan 10 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.9.4-1 +- Update to v6.9.4 + +* Thu Jan 05 2017 Stephen Gallagher sgallagh@redhat.com - 1:6.9.3-1 +- https://nodejs.org/en/blog/release/v6.9.3/ + +* Wed Dec 21 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.9.2-2 +- Debug builds are failing. Disable them. + +* Thu Dec 08 2016 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.9.2-1 +- Update to v6.9.2 + +* Tue Nov 08 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.9.1-4 +- Fix incorrect Conflicts for nodejs-docs + +* Tue Nov 08 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.9.1-2 +- Bump revision and rebuild for s390x + +* Thu Oct 20 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.9.1-1 +- Update to 6.9.1 LTS release +- Fix a regression introduced in v6.8.0 in readable stream that caused unpipe + to remove the wrong stream +- https://nodejs.org/en/blog/release/v6.9.1/ + +* Tue Oct 18 2016 Stephen Gallagher sgallagh@redhat.com - - +- Update to 6.9.0 LTS release +- https://nodejs.org/en/blog/release/v6.9.0/ + +* Mon Oct 17 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.8.1-5 +- Add dist tag to npm nodejs dependency + +* Mon Oct 17 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.8.1-4 +- Fix typo in npm nodejs dependency + +* Sat Oct 15 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.8.1-3 +- Bump release version for tagging bug + +* Sat Oct 15 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.8.1-1 +- Update node to v6.8.0 +- Fix FTBFS against non-bundled zlib + +* Thu Oct 13 2016 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.8.0-108 +- Update node to v6.8.0 and npm@3.10.8 + +* Tue Sep 27 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.7.0-107 +- Update to 6.7.0 +- https://nodejs.org/en/blog/release/v6.7.0/ + +* Fri Sep 16 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.6.0-106 +- Drop Conflicts: from main package. + It wasn't needed and was breaking upgrades in some cases. +- Move npm support files into the npm package +- Mark manpages as %%doc + +* Fri Sep 16 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.6.0-105 +- Update to 6.6.0 +- https://github.com/nodejs/node/blob/v6.6.0/doc/changelogs/CHANGELOG_V6.md#6.... + +* Mon Sep 12 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.5.0-104 +- Add support for building on EPEL 7 against OpenSSL 1.0.1 +- Modify v8_abi autorequires to avoid unnecessary rebuilds + +* Mon Aug 29 2016 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.5.0-103 +- Update to 6.5.0 + +* Mon Aug 22 2016 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.4.0-102 +- Bump release to 102 to fix broken npm dependency + +* Thu Aug 18 2016 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.4.0-1 +- Update to 6.4.0 + +* Tue Aug 16 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.3.1-101 +- Build Node.js with internationalization support + +* Thu Aug 04 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.3.1-100 +- Split npm into a subpackage + +* Mon Jul 25 2016 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.3.1-1 +- Update to 6.3.1 +- comment out %%patch3 + +* Mon Jul 18 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.3.0-3 +- Fix epoch version dependency on libuv + +* Tue Jul 12 2016 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.3.0-2 +- Patch node.gyp to fix failing ./configure + +* Sun Jul 10 2016 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.3.0-1 +- Update node to 6.3.0 +- update punycode to 2.0.0 +- add gcc and gcc-c++ as build dependencies +- modified system-certs patch + +* Sat Jun 18 2016 Tom Hughes tom@compton.nu - 1:6.2.2-1 +- Update to latest stable release 6.2.2 +- Add check on npm version + +* Tue Jun 7 2016 Tom Hughes tom@compton.nu - 1:6.2.1-1 +- Update to latest stable release 6.2.1 + +* Wed May 18 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.2.0-1 +- Update to latest stable release 6.2.0 +- https://github.com/nodejs/node/blob/v6.2.0/doc/changelogs/CHANGELOG_V6.md#6.... + +* Mon May 09 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.1.0-1 +- Update to latest stable release 6.1.0 +- https://github.com/nodejs/node/blob/v6.1.0/CHANGELOG.md + +* Tue May 03 2016 Stephen Gallagher sgallagh@redhat.com - 1:5.11.0-3 +- Drop the epoch on the virtual provides for npm + +* Thu Apr 28 2016 Stephen Gallagher sgallagh@redhat.com - 1:5.11.0-2 +- Add epoch and rebuild to preserve upgrade path + +* Mon Apr 25 2016 Stephen Gallagher sgallagh@redhat.com - 5.11.0-1 +- Update to latest stable release 5.11.0 +- https://github.com/nodejs/node/blob/v5.11.0/CHANGELOG.md + +* Mon Apr 11 2016 Stephen Gallagher sgallagh@redhat.com - 5.10.0-1 +- Update to latest stable release 5.10.1 +- https://github.com/nodejs/node/blob/v5.10.1/CHANGELOG.md + +* Fri Apr 01 2016 Stephen Gallagher sgallagh@redhat.com - 5.10.0-1 +- Update to latest security release (5.10.0) +- Update bundled npm to 3.8.3 +- Fixes serious man-in-the-middle vulnerability with npm + +* Wed Mar 23 2016 Stephen Gallagher sgallagh@redhat.com - 5.9.1-1 +- Update to latest stable release (5.9.1) +- Bundle npm (3.7.3) + +* Wed Mar 23 2016 Stephen Gallagher sgallagh@redhat.com - 4.4.1-1 +- Update to 4.4.1 upstream LTS release +- Add more versatile ABI checking + +* Tue Feb 23 2016 Tom Hughes tom@compton.nu - 4.3.1-1 +- Update to 4.3.1 upstream LTS release + +* Wed Feb 10 2016 Tom Hughes tom@compton.nu - 4.3.0-3 +- Verify that the built node reports the expected versions +- Drop unneeded dep on http-parser-devel +- Add version check for punycode + +* Wed Feb 10 2016 Stephen Gallagher sgallagh@redhat.com - 4.3.0-2 +- Fix nodejs-abi to be 4.3 +- Clean up bundled versions in spec file + +* Tue Feb 09 2016 Stephen Gallagher sgallagh@redhat.com - 4.3.0-1 +- Update to 4.3.0 upstream LTS release +- https://github.com/nodejs/node/blob/v4.3.0/CHANGELOG.md +- Switch to the bundled http-parser +- Build with -fno-delete-pointer-null-checks for GCC 6 + +* Tue Feb 9 2016 Tom Hughes tom@compton.nu - 4.2.6-1 +- Update to 4.2.6 upstream release + +* Thu Feb 04 2016 Fedora Release Engineering releng@fedoraproject.org - 4.2.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Jan 19 2016 Stephen Gallagher sgallagh@redhat.com - 4.2.4-4 +- Force a depdendency on the correct version of http-parser + +* Tue Jan 19 2016 Stephen Gallagher sgallagh@redhat.com - 4.2.4-3 +- Force a dependency on the correct version of libuv + +* Mon Jan 18 2016 Stephen Gallagher sgallagh@redhat.com - 4.2.4-2 +- Fix Provides: for punycode + +* Wed Jan 13 2016 Stephen Gallagher sgallagh@redhat.com - 4.2.4-1 +- New upstream bugfix release 4.2.4 +- https://github.com/nodejs/node/blob/v4.2.3/CHANGELOG.md + +* Fri Dec 04 2015 Stephen Gallagher sgallagh@redhat.com 4.2.3-2 +- Add %%with_debug variable to spec file + The debug build is not supported on all architectures. + +* Fri Dec 04 2015 Stephen Gallagher sgallagh@redhat.com 4.2.3-1 +- New upstream security release 4.2.3 +- https://github.com/nodejs/node/blob/v4.2.3/CHANGELOG.md +- Fix incorrect v8 version + +* Wed Dec 2 2015 Peter Robinson pbrobinson@fedoraproject.org 4.2.2-4 +- Use nodejs_arches macro for arch definition (add aarch64 and power64 platforms) + +* Wed Dec 02 2015 Stephen Gallagher sgallagh@redhat.com 4.2.2-3 +- Fix nodejs_abi version +- Also ensure that we are building against the correct libuv + +* Wed Dec 02 2015 Stephen Gallagher sgallagh@redhat.com 4.2.2-2 +- Disable debug build for ARMv7 since it fails to build + +* Tue Dec 01 2015 Stephen Gallagher sgallagh@redhat.com 4.2.2-1 +- Upgrade to Node.js 4.2.2 (LTS) + +* Wed Jun 17 2015 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 0.10.36-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Wed Apr 29 2015 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.36-4 +- fix incorrect Requires on libuv (RHBZ#1215719) + +* Tue Feb 24 2015 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.36-3 +- bump v8 requires (RHBZ#1195457) + +* Thu Feb 19 2015 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.36-2 +- build against compat-libuv010 + +* Thu Feb 19 2015 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.36-1 +- new upstream release 0.10.36 + http://blog.nodejs.org/2015/01/26/node-v0-10-36-stable/ +- Please note that several upstream releases were skipped due to regressions + reported in the upstream bug tracker. Please also review the 0.10.34 and + 0.10.35 changelogs available at the above URL for a list of all changes. + +* Wed Nov 19 2014 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.33-1 +- new upstream release 0.10.33 + http://blog.nodejs.org/2014/10/23/node-v0-10-33-stable/ +- This release disables SSLv3 to secure Node.js services against the POODLE + attack. (CVE-2014-3566; RHBZ#1152789) For more information or to learn how + to re-enable SSLv3 in order to support legacy clients, please see the upstream + release announcement linked above. + +* Tue Oct 21 2014 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.32-2 +- add Provides nodejs-punycode (RHBZ#1151811) + +* Thu Sep 18 2014 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.32-1 +- new upstream release 0.10.32 + http://blog.nodejs.org/2014/08/19/node-v0-10-31-stable/ + http://blog.nodejs.org/2014/09/16/node-v0-10-32-stable/ + +* Sun Aug 17 2014 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 0.10.30-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Fri Aug 01 2014 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.30-1 +- new upstream release 0.10.30 + http://blog.nodejs.org/2014/07/31/node-v0-10-30-stable/ + +* Thu Jun 19 2014 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.29-1 +- new upstream release 0.10.29 + http://blog.nodejs.org/2014/06/16/node-v0-10-29-stable/ +- The invalid UTF8 fix has been reverted since this breaks v8 API, which cannot + be done in a stable distribution release. This build of nodejs will behave as + if NODE_INVALID_UTF8 was set. For more information on the implications, see: + http://blog.nodejs.org/2014/06/16/openssl-and-breaking-utf-8-change/ + +* Sat Jun 07 2014 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 0.10.28-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sat May 03 2014 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.28-2 +- use the system certificate store instead of the bundled copy + both are based on the Mozilla CA list, so the only effect this should have is + making additional certificates added by the system administrator available to + node + +* Sat May 03 2014 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.28-1 +- new upstream release 0.10.28 + There is no dfference between 0.10.27 and 0.10.28 for Fedora, as the only + thing updated was npm, which is shipped seperately. The latest was only + packaged to avoid confusion. Please see the v0.10.27 changelog for relevant + changes in this update: + http://blog.nodejs.org/2014/05/01/node-v0-10-27-stable/ + +* Thu Feb 20 2014 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.26-1 +- new upstream release 0.10.26 + http://blog.nodejs.org/2014/02/18/node-v0-10-26-stable/ + +* Fri Feb 14 2014 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.25-2 +- rebuild for icu-53 (via v8) + +* Mon Jan 27 2014 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.25-1 +- new upstream release 0.10.25 + http://blog.nodejs.org/2014/01/23/node-v0-10-25-stable/ + +* Thu Dec 19 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.24-1 +- new upstream release 0.10.24 + http://blog.nodejs.org/2013/12/19/node-v0-10-24-stable/ +- upstream install script installs the headers now + +* Thu Dec 12 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.23-1 +- new upstream release 0.10.23 + http://blog.nodejs.org/2013/12/11/node-v0-10-23-stable/ + +* Tue Nov 12 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.22-1 +- new upstream release 0.10.22 + http://blog.nodejs.org/2013/11/12/node-v0-10-22-stable/ + +* Fri Oct 18 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.21-1 +- new upstream release 0.10.21 + http://blog.nodejs.org/2013/10/18/node-v0-10-21-stable/ +- resolves an undisclosed security vulnerability in the http module + +* Tue Oct 01 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.20-1 +- new upstream release 0.10.20 + http://blog.nodejs.org/2013/09/30/node-v0-10-20-stable/ + +* Wed Sep 25 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.19-1 +- new upstream release 0.10.19 + http://blog.nodejs.org/2013/09/24/node-v0-10-19-stable/ + +* Fri Sep 06 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.18-1 +- new upstream release 0.10.18 + http://blog.nodejs.org/2013/09/04/node-v0-10-18-stable/ + +* Tue Aug 27 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.17-1 +- new upstream release 0.10.17 + http://blog.nodejs.org/2013/08/21/node-v0-10-17-stable/ +- fix duplicated/conflicting documentation files (RHBZ#1001253) + +* Sat Aug 17 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.16-1 +- new upstream release 0.10.16 + http://blog.nodejs.org/2013/08/16/node-v0-10-16-stable/ +- add v8-devel to -devel Requires +- restrict -devel Requires to the same architecture + +* Wed Aug 14 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.14-3 +- fix typo in _isa macro in v8 Requires + +* Mon Aug 05 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.14-2 +- use unversioned docdir for -docs subpackage + https://fedoraproject.org/wiki/Changes/UnversionedDocdirs +- use main package's docdir instead of a seperate -docs directory + +* Thu Jul 25 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.14-1 +- new upstream release 0.10.14 + http://blog.nodejs.org/2013/07/25/node-v0-10-14-stable/ + +* Wed Jul 10 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.13-1 +- new upstream release 0.10.13 + http://blog.nodejs.org/2013/07/09/node-v0-10-13-stable/ +- remove RPM macros, etc. now that they've migrated to nodejs-packaging + +* Wed Jun 19 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.12-1 +- new upstream release 0.10.12 + http://blog.nodejs.org/2013/06/18/node-v0-10-12-stable/ +- split off a -packaging subpackage with RPM macros, etc. +- build -docs as noarch +- copy mutiple version logic from nodejs-packaging SRPM for now + +* Fri May 31 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.9-1 +- new upstream release 0.10.9 + http://blog.nodejs.org/2013/05/30/node-v0-10-9-stable/ + +* Wed May 29 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.8-1 +- new upstream release 0.10.8 + http://blog.nodejs.org/2013/05/24/node-v0-10-8-stable/ + +* Wed May 29 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.7-1 +- new upstream release 0.10.7 + http://blog.nodejs.org/2013/05/17/node-v0-10-7-stable/ +- strip openssl from the tarball; it contains prohibited code (RHBZ#967736) +- patch Makefile so we can just remove all bundled deps completely + +* Wed May 15 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.6-1 +- new upstream release 0.10.6 + http://blog.nodejs.org/2013/05/14/node-v0-10-6-stable/ + +* Mon May 06 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.5-3 +- nodejs-fixdep: work properly when a package has no dependencies + +* Mon Apr 29 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.5-2 +- nodejs-symlink-deps: make it work when --check is used and just + devDependencies exist + +* Wed Apr 24 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.5-1 +- new upstream release 0.10.5 + http://blog.nodejs.org/2013/04/23/node-v0-10-5-stable/ + +* Mon Apr 15 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.4-1 +- new upstream release 0.10.4 + http://blog.nodejs.org/2013/04/11/node-v0-10-4-stable/ +- add no-op macro to permit spec compatibility with EPEL + +* Thu Apr 04 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.3-2 +- nodejs-symlink-deps: symlink unconditionally in the buildroot + +* Wed Apr 03 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.3-1 +- new upstream release 0.10.3 + http://blog.nodejs.org/2013/04/03/node-v0-10-3-stable/ +- nodejs-symlink-deps: only create symlink if target exists +- nodejs-symlink-deps: symlink devDependencies when --check is used + +* Sun Mar 31 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.2-1 +- new upstream release 0.10.2 + http://blog.nodejs.org/2013/03/28/node-v0-10-2-stable/ +- remove %%nodejs_arches macro since it will only be useful if it is present in + the redhat-rpm-config package +- add default filtering macro to remove unwanted Provides from native modules +- nodejs-symlink-deps now supports multiple modules in one SRPM properly +- nodejs-symlink-deps also now supports a --check argument that works in the + current working directry instead of the buildroot + +* Fri Mar 22 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.1-1 +- new upstream release 0.10.1 + http://blog.nodejs.org/2013/03/21/node-v0-10-1-stable/ + +* Wed Mar 20 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.0-4 +- fix escaping in dependency generator regular expressions (RHBZ#923941) + +* Wed Mar 13 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.0-3 +- add virtual ABI provides for node and v8 so binary module's deps break when + binary compatibility is broken +- automatically add matching Requires to nodejs binary modules +- add %%nodejs_arches macro to future-proof ExcluseArch stanza in dependent + packages + +* Tue Mar 12 2013 Stephen Gallagher sgallagh@redhat.com - 0.10.0-2 +- Fix up documentation subpackage + +* Mon Mar 11 2013 Stephen Gallagher sgallagh@redhat.com - 0.10.0-1 +- Update to stable 0.10.0 release +- https://raw.github.com/joyent/node/v0.10.0/ChangeLog + +* Thu Feb 14 2013 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 0.9.5-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Tue Jan 22 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.9.5-10 +- minor bugfixes to RPM magic + - nodejs-symlink-deps: don't create an empty node_modules dir when a module + has no dependencies + - nodes-fixdep: support adding deps when none exist +- Add the full set of headers usually bundled with node as deps to nodejs-devel. + This way `npm install` for native modules that assume the stuff bundled with + node exists will usually "just work". +-move RPM magic to nodejs-devel as requested by FPC + +* Sat Jan 12 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.9.5-9 +- fix brown paper bag bug in requires generation script + +* Thu Jan 10 2013 Stephen Gallagher sgallagh@redhat.com - 0.9.5-8 +- Build debug binary and install it in the nodejs-devel subpackage + +* Thu Jan 10 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.9.5-7 +- don't use make install since it rebuilds everything + +* Thu Jan 10 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.9.5-6 +- add %%{?isa}, epoch to v8 deps + +* Wed Jan 09 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.9.5-5 +- add defines to match libuv (#892601) +- make v8 dependency explicit (and thus more accurate) +- add -g to $C(XX)FLAGS instead of patching configure to add it +- don't write pointless 'npm(foo) > 0' deps + +* Sat Jan 05 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.9.5-4 +- install development headers +- add nodejs_sitearch macro + +* Wed Jan 02 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.9.5-3 +- make nodejs-symlink-deps actually work + +* Tue Jan 01 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.9.5-2 +- provide nodejs-devel so modules can BuildRequire it (and be consistent + with other interpreted languages in the distro) + +* Tue Jan 01 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.9.5-1 +- new upstream release 0.9.5 +- provide nodejs-devel for the moment +- fix minor bugs in RPM magic +- add nodejs_fixdep macro so packagers can easily adjust dependencies in + package.json files + +* Wed Dec 26 2012 T.C. Hollingsworth tchollingsworth@gmail.com - 0.9.4-1 +- new upstream release 0.9.4 +- system library patches are now upstream +- respect optflags +- include documentation in subpackage +- add RPM dependency generation and related magic +- guard libuv depedency so it always gets bumped when nodejs does +- add -devel subpackage with enough to make node-gyp happy + +* Wed Dec 19 2012 Dan Horák <dan[at]danny.cz> - 0.9.3-8 +- set exclusive arch list to match v8 + +* Tue Dec 18 2012 Stephen Gallagher sgallagh@redhat.com - 0.9.3-7 +- Add remaining changes from code review +- Remove unnecessary BuildRequires on findutils +- Remove %%clean section + +* Fri Dec 14 2012 Stephen Gallagher sgallagh@redhat.com - 0.9.3-6 +- Fixes from code review +- Fix executable permissions +- Correct the License field +- Build debuginfo properly + +* Thu Dec 13 2012 Stephen Gallagher sgallagh@redhat.com - 0.9.3-5 +- Return back to using the standard binary name +- Temporarily adding a conflict against the ham radio node package until they + complete an agreed rename of their binary. + +* Wed Nov 28 2012 Stephen Gallagher sgallagh@redhat.com - 0.9.3-4 +- Rename binary and manpage to nodejs + +* Mon Nov 19 2012 Stephen Gallagher sgallagh@redhat.com - 0.9.3-3 +- Update to latest upstream development release 0.9.3 +- Include upstreamed patches to unbundle dependent libraries + +* Tue Oct 23 2012 Adrian Alves alvesadrian@fedoraproject.org 0.8.12-1 +- Fixes and Patches suggested by Matthias Runge + +* Mon Apr 09 2012 Adrian Alves alvesadrian@fedoraproject.org 0.6.5 +- First build. + diff --git a/nodejs_native.attr b/nodejs_native.attr new file mode 100644 index 0000000..0527af6 --- /dev/null +++ b/nodejs_native.attr @@ -0,0 +1,2 @@ +%__nodejs_native_requires %{_rpmconfigdir}/nodejs_native.req +%__nodejs_native_path ^/usr/lib.*/node_modules/.*\.node$ diff --git a/sources b/sources new file mode 100644 index 0000000..9608953 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (node-v6.17.1-stripped.tar.gz) = 0c89917d14872bfdb94cd2ee428f67093fdef16cbaff5bd96d00960c040c23ce95550d3b634172035b28e214caeac7d2808e0b0b152885deb33b5ec55a6a2f7e
commit 497f09bac44db42a8665c625eb8df9965d12b36e Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Jan 17 14:22:40 2022 -0500
Support building Node.js 16.x for EPEL 7
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 58e9503..97f12b9 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -10,11 +10,15 @@ # LTO is currently broken on Node.js builds %define _lto_cflags %{nil}
+# Heavy-handed approach to avoiding issues with python +# bytecompiling files in the node_modules/ directory +%global __python %{__python3} + # == Master Relase == # This is used by both the nodejs package and the npm subpackage that # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 1 +%global baserelease 2
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -152,16 +156,22 @@ Patch1: 0001-Disable-running-gyp-on-shared-deps.patch Patch2: 0002-Install-both-binaries-and-use-libdir.patch
BuildRequires: make -BuildRequires: python3-devel -BuildRequires: python3-setuptools -BuildRequires: python3-jinja2 +BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: python%{python3_pkgversion}-setuptools +BuildRequires: python%{python3_pkgversion}-jinja2 %if !%{with python3_fixup} BuildRequires: python-unversioned-command %endif BuildRequires: zlib-devel BuildRequires: brotli-devel -BuildRequires: gcc >= 6.3.0 -BuildRequires: gcc-c++ >= 6.3.0 +%if 0%{?rhel} && 0%{?rhel} < 8 +BuildRequires: devtoolset-11-gcc +BuildRequires: devtoolset-11-gcc-c++ +%else +BuildRequires: gcc >= 8.3.0 +BuildRequires: gcc-c++ >= 8.3.0 +%endif + BuildRequires: jq # needed to generate bundled provides for npm dependencies # https://src.fedoraproject.org/rpms/nodejs/pull-request/2 @@ -191,8 +201,15 @@ Provides: bundled(nghttp2) = %{nghttp2_version} # provide releases for it. Provides: bundled(llhttp) = %{llhttp_version}
+%if 0%{?rhel} && 0%{?rhel} < 8 +BuildRequires: openssl11-devel >= %{openssl_minimum} +Requires: openssl11 >= %{openssl_minimum} +%global ssl_configure --shared-openssl --shared-openssl-includes=%{_includedir}/openssl11 --shared-openssl-libpath=%{_libdir}/openssl11 +%else BuildRequires: openssl-devel >= %{openssl_minimum} Requires: openssl >= %{openssl_minimum} +%global ssl_configure --shared-openssl +%endif
# we need the system certificate store Requires: ca-certificates @@ -200,7 +217,11 @@ Requires: ca-certificates Requires: nodejs-libs%{?_isa} = %{nodejs_epoch}:%{version}-%{release}
# Pull in the full-icu data by default +%if 0%{?rhel} && 0%{?rhel} < 8 +Requires: nodejs-full-i18n%{?_isa} = %{nodejs_epoch}:%{version}-%{release} +%else Recommends: nodejs-full-i18n%{?_isa} = %{nodejs_epoch}:%{version}-%{release} +%endif
# we need ABI virtual provides where SONAMEs aren't enough/not present so deps # break when binary compatibility is broken @@ -256,7 +277,12 @@ Requires: (nodejs-packaging if rpm-build) %endif
# Make sure we keep NPM up to date when we update Node.js +%if 0%{?rhel} && 0%{?rhel} < 8 +Requires: npm >= %{npm_epoch}:%{npm_version}-%{npm_release}%{?dist} +%else Recommends: npm >= %{npm_epoch}:%{npm_version}-%{npm_release}%{?dist} +%endif +
%description Node.js is a platform built on Chrome's JavaScript runtime @@ -340,7 +366,11 @@ Release: %{npm_release}%{?dist} Obsoletes: npm < 0:3.5.4-6 Provides: npm = %{npm_epoch}:%{npm_version} Requires: nodejs = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} +%if 0%{?rhel} && 0%{?rhel} < 8 +Requires: nodejs-docs = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} +%else Recommends: nodejs-docs = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} +%endif
# Do not add epoch to the virtual NPM provides or it will break # the automatic dependency-generation script. @@ -387,6 +417,12 @@ find . -type f -exec sed -i "s~python -c~python3 -c~" {} ;
%build + +# Activate DevToolset 11 on EPEL 7 +%if 0%{?rhel} && 0%{?rhel} < 8 +. /opt/rh/devtoolset-11/enable +%endif + # When compiled on armv7hl this package generates an out of range # reference to the literal pool. This is most likely a GCC issue. %ifarch armv7hl @@ -429,7 +465,7 @@ export LDFLAGS="%{build_ldflags}" %{__python3} configure.py --prefix=%{_prefix} \ --shared \ --libdir=%{_lib} \ - --shared-openssl \ + %{ssl_configure} \ --shared-zlib \ --shared-brotli \ --without-dtrace \ @@ -439,7 +475,7 @@ export LDFLAGS="%{build_ldflags}" %{__python3} configure.py --prefix=%{_prefix} \ --shared \ --libdir=%{_lib} \ - --shared-openssl \ + %{ssl_configure} \ --shared-zlib \ --shared-brotli \ --shared-libuv \ @@ -576,6 +612,7 @@ mkdir -p %{buildroot}%{_prefix}/etc ln -s %{_sysconfdir}/npmrc %{buildroot}%{_prefix}/etc/npmrc
# Install the full-icu data files +mkdir -p %{buildroot}%{icudatadir} install -Dpm0644 -t %{buildroot}%{icudatadir} deps/icu/source/converted/*
@@ -589,30 +626,12 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require( LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require("assert").equal(require("punycode").version, '%{punycode_version}')"
# Ensure we have npm and that the version matches -LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/npm version --json |jq '. | select(.npm | contains("7.24.0"))' +LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}%{_bindir}/node %{buildroot}%{_bindir}/npm version --json |jq '. | select(.npm | contains("7.24.0"))'
# Make sure i18n support is working NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{_prefix}/lib/node_modules/npm/node_modules LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node --icu-data-dir=%{buildroot}%{icudatadir} %{SOURCE2}
-%pretrans -n npm -p <lua> --- Replace the npm man directory with a symlink --- Drop this scriptlet when F31 is EOL -path = "%{_prefix}/lib/node_modules/npm/man" -st = posix.stat(path) -if st and st.type == "directory" then - status = os.rename(path, path .. ".rpmmoved") - if not status then - suffix = 0 - while not status do - suffix = suffix + 1 - status = os.rename(path .. ".rpmmoved", path .. ".rpmmoved." .. suffix) - end - os.rename(path, path .. ".rpmmoved") - end -end - - %files %{_bindir}/node %dir %{_prefix}/lib/node_modules @@ -701,6 +720,9 @@ end
%changelog +* Mon Jan 17 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.13.2-2 +- Add support for building on EPEL 7 + * Tue Jan 11 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.13.2-1 - Improper handling of URI Subject Alternative Names (Medium)(CVE-2021-44531) - Certificate Verification Bypass via String Injection (Medium)(CVE-2021-44532) diff --git a/package.cfg b/package.cfg index 618b18e..54ce9d4 100644 --- a/package.cfg +++ b/package.cfg @@ -1,2 +1,2 @@ [koji] -targets = rawhide f35 +targets = rawhide f35 epel7
commit 20609b0988594c588e3ed361e48b66b94a877a2f Merge: 97203e0 9fe5274 Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Jan 17 09:36:10 2022 -0500
Merge branch 'epel7' into epel7-merge
commit 9fe52744a293fb453d4c57a6063e5af6b4fa460f Author: Stephen Gallagher sgallagh@redhat.com Date: Fri Jan 14 15:55:11 2022 -0500
Node.js 6.x is years beyond its supported life
diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 1fc6100..0000000 --- a/.gitignore +++ /dev/null @@ -1,84 +0,0 @@ -/node-v0.9.3.tar.gz -/node-v0.9.4.tar.gz -/node-v0.9.5.tar.gz -/node-v0.10.0.tar.gz -/node-v0.10.1.tar.gz -/node-v0.10.2.tar.gz -/node-v0.10.3.tar.gz -/node-v0.10.4.tar.gz -/node-v0.10.5.tar.gz -/node-v0.10.6.tar.gz -/node-v0.10.7-stripped.tar.gz -/node-v0.10.8-stripped.tar.gz -/node-v0.10.9-stripped.tar.gz -/node-v0.10.12-stripped.tar.gz -/node-v0.10.13-stripped.tar.gz -/node-v0.10.14-stripped.tar.gz -/node-v0.10.16-stripped.tar.gz -/node-v0.10.17-stripped.tar.gz -/node-v0.10.18-stripped.tar.gz -/node-v0.10.19-stripped.tar.gz -/node-v0.10.20-stripped.tar.gz -/node-v0.10.21-stripped.tar.gz -/node-v0.10.22-stripped.tar.gz -/node-v0.10.23-stripped.tar.gz -/node-v0.10.24.tar.gz -/node-v0.10.24-stripped.tar.gz -/node-v0.10.25-stripped.tar.gz -/node-v0.10.26-stripped.tar.gz -/node-v0.10.28-stripped.tar.gz -/node-v0.10.29-stripped.tar.gz -/node-v0.10.30-stripped.tar.gz -/node-v0.10.32-stripped.tar.gz -/node-v0.10.33-stripped.tar.gz -/node-v0.10.36-stripped.tar.gz -/node-v4.2.2-stripped.tar.gz -/node-v4.2.3-stripped.tar.gz -/node-v4.2.4-stripped.tar.gz -/node-v4.2.6-stripped.tar.gz -/node-v4.3.0-stripped.tar.gz -/node-v4.3.1-stripped.tar.gz -/node-v5.7.1-stripped.tar.gz -/node-v5.8.0-stripped.tar.gz -/node-v5.9.0.tar.gz -/node-v5.9.1-stripped.tar.gz -/node-v5.10.0-stripped.tar.gz -/node-v5.10.1-stripped.tar.gz -/node-v5.11.0-stripped.tar.gz -/node-v6.1.0-stripped.tar.gz -/node-v6.2.0-stripped.tar.gz -/node-v6.2.1-stripped.tar.gz -/node-v6.2.2-stripped.tar.gz -/node-v6.3.0-stripped.tar.gz -/node-v6.3.1-stripped.tar.gz -/node-v6.4.0-stripped.tar.gz -/node-v6.5.0-stripped.tar.gz -/node-v6.6.0-stripped.tar.gz -/node-v6.7.0-stripped.tar.gz -/node-v6.8.0-stripped.tar.gz -/node-v6.8.1-stripped.tar.gz -/node-v6.9.0-stripped.tar.gz -/node-v6.9.1-stripped.tar.gz -/node-v6.9.2-stripped.tar.gz -/node-v6.9.3-stripped.tar.gz -/node-v6.9.4-stripped.tar.gz -/node-v6.9.5-stripped.tar.gz -/node-v6.10.0-stripped.tar.gz -/node-v6.10.1-stripped.tar.gz -/node-v6.10.2-stripped.tar.gz -/node-v6.10.3-stripped.tar.gz -/node-v6.11.0-stripped.tar.gz -/node-v6.11.1-stripped.tar.gz -/node-v6.11.2-stripped.tar.gz -/node-v6.11.3-stripped.tar.gz -/node-v6.11.4-stripped.tar.gz -/node-v6.11.5-stripped.tar.gz -/node-v6.12.0-stripped.tar.gz -/node-v6.12.2-stripped.tar.gz -/node-v6.12.3-stripped.tar.gz -/node-v6.13.1-stripped.tar.gz -/node-v6.14.0-stripped.tar.gz -/node-v6.14.2-stripped.tar.gz -/node-v6.14.3-stripped.tar.gz -/node-v6.16.0-stripped.tar.gz -/node-v6.17.1-stripped.tar.gz diff --git a/0001-Disable-running-gyp-files-for-bundled-deps.patch b/0001-Disable-running-gyp-files-for-bundled-deps.patch deleted file mode 100644 index a97a09a..0000000 --- a/0001-Disable-running-gyp-files-for-bundled-deps.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 8946146b37e4170c406fbdd7c60f1bbb79a9311a Mon Sep 17 00:00:00 2001 -From: Zuzana Svetlikova zsvetlik@redhat.com -Date: Wed, 6 Sep 2017 14:17:21 +0200 -Subject: [PATCH] dont run gyp on shared deps - ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 577d0e232a..bb47a1b95e 100644 ---- a/Makefile -+++ b/Makefile -@@ -77,7 +77,7 @@ $(NODE_G_EXE): config.gypi out/Makefile - $(MAKE) -C out BUILDTYPE=Debug V=$(V) - if [ ! -r $@ -o ! -L $@ ]; then ln -fs out/Debug/$(NODE_EXE) $@; fi - --out/Makefile: common.gypi deps/uv/uv.gyp deps/http_parser/http_parser.gyp deps/zlib/zlib.gyp deps/v8/build/toolchain.gypi deps/v8/build/features.gypi deps/v8/tools/gyp/v8.gyp node.gyp config.gypi -+out/Makefile: common.gypi deps/v8/build/toolchain.gypi deps/v8/build/features.gypi deps/v8/tools/gyp/v8.gyp node.gyp config.gypi - $(PYTHON) tools/gyp_node.py -f make - - config.gypi: configure --- -2.14.1 - diff --git a/dead.package b/dead.package new file mode 100644 index 0000000..9e77afb --- /dev/null +++ b/dead.package @@ -0,0 +1 @@ +Node.js 6.x is years beyond its supported life diff --git a/macros.nodejs b/macros.nodejs deleted file mode 100644 index 468a30d..0000000 --- a/macros.nodejs +++ /dev/null @@ -1,33 +0,0 @@ -# nodejs binary -%__nodejs %{_bindir}/node - -# nodejs library directory -%nodejs_sitelib %{_prefix}/lib/node_modules - -#arch specific library directory -#for future-proofing only; we don't do multilib -%nodejs_sitearch %{nodejs_sitelib} - -# currently installed nodejs version -%nodejs_version %(%{__nodejs} -v | sed s/v//) - -# symlink dependencies so `npm link` works -# this should be run in every module's %%install section -# pass --check to work in the current directory instead of the buildroot -# pass --no-devdeps to ignore devDependencies when --check is used -%nodejs_symlink_deps %{_rpmconfigdir}/nodejs-symlink-deps %{nodejs_sitelib} - -# patch package.json to fix a dependency -# see `man npm-json` for details on writing dependencies for package.json files -# e.g. `%%nodejs_fixdep frobber` makes any version of frobber do -# `%%nodejs_fixdep frobber '>1.0'` requires frobber > 1.0 -# `%%nodejs_fixdep -r frobber removes the frobber dep -%nodejs_fixdep %{_rpmconfigdir}/nodejs-fixdep - -# macro to filter unwanted provides from Node.js binary native modules -%nodejs_default_filter %{expand: \ -%global __provides_exclude_from ^%{nodejs_sitearch}/.*\.node$ -} - -# no-op macro to allow spec compatibility with EPEL -%nodejs_find_provides_and_requires %{nil} diff --git a/nodejs-tarball.sh b/nodejs-tarball.sh deleted file mode 100755 index 237ae13..0000000 --- a/nodejs-tarball.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -version=$(rpm -q --specfile --qf='%{version}\n' nodejs.spec | head -n1) -rm -f node-v${version}.tar.gz -wget http://nodejs.org/dist/v$%7Bversion%7D/node-v$%7Bversion%7D.tar.gz -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} - -fedpkg new-sources node-v${version}-stripped.tar.gz diff --git a/nodejs.spec b/nodejs.spec deleted file mode 100644 index 8f2bc62..0000000 --- a/nodejs.spec +++ /dev/null @@ -1,1066 +0,0 @@ -# bundle some dependencies missing in Modularity -%bcond_with bootstrap - -%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}} - -# == Node.js Version == -# Note: Fedora should only ship LTS versions of Node.js (currently expected -# to be major versions with even numbers). The odd-numbered versions are new -# feature releases that are only supported for nine months, which is shorter -# than a Fedora release lifecycle. -%global nodejs_epoch 1 -%global nodejs_major 6 -%global nodejs_minor 17 -%global nodejs_patch 1 -%global nodejs_abi %{nodejs_major}.%{nodejs_minor} -%global nodejs_version %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch} -%global nodejs_release 1 - -# == Bundled Dependency Versions == -# v8 - from deps/v8/include/v8-version.h -%global v8_major 5 -%global v8_minor 1 -%global v8_build 281 -%global v8_patch 111 -# V8 presently breaks ABI at least every x.y release while never bumping SONAME -%global v8_abi %{v8_major}.%{v8_minor} -%global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} - -# c-ares - from deps/cares/include/ares_version.h -%global c_ares_major 1 -%global c_ares_minor 10 -%global c_ares_patch 1 -%global c_ares_version %{c_ares_major}.%{c_ares_minor}.%{c_ares_patch} - -# http-parser - from deps/http_parser/http_parser.h -%global http_parser_major 2 -%global http_parser_minor 8 -%global http_parser_patch 0 -%global http_parser_version %{http_parser_major}.%{http_parser_minor}.%{http_parser_patch} - -# libuv - from deps/uv/include/uv-version.h -%global libuv_major 1 -%global libuv_minor 16 -%global libuv_patch 1 -%global libuv_version %{libuv_major}.%{libuv_minor}.%{libuv_patch} - -# punycode - from lib/punycode.js -# Note: this was merged into the mainline since 0.6.x -%global punycode_major 2 -%global punycode_minor 0 -%global punycode_patch 0 -%global punycode_version %{punycode_major}.%{punycode_minor}.%{punycode_patch} - -# npm - from deps/npm/package.json -%global npm_epoch 1 -%global npm_major 3 -%global npm_minor 10 -%global npm_patch 10 -%global npm_version %{npm_major}.%{npm_minor}.%{npm_patch} - -# In order to avoid needing to keep incrementing the release version for the -# main package forever, we will just construct one for npm that is guaranteed -# to increment safely. Changing this can only be done during an update when the -# base npm version number is increasing. -%global npm_release %{nodejs_epoch}.%{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release} - -# Filter out the NPM bundled dependencies so we aren't providing them -%global __provides_exclude_from ^%{_prefix}/lib/node_modules/npm/.*$ -%global __requires_exclude_from ^%{_prefix}/lib/node_modules/npm/.*$ - - -Name: nodejs -Epoch: %{nodejs_epoch} -Version: %{nodejs_version} -Release: %{nodejs_release}%{?dist} -Summary: JavaScript runtime -License: MIT and ASL 2.0 and ISC and BSD -Group: Development/Languages -URL: http://nodejs.org/ - -ExclusiveArch: %{nodejs_arches} - -# nodejs bundles openssl, but we use the system version in Fedora -# because openssl contains prohibited code, we remove openssl completely from -# the tarball, using the script in Source100 -Source0: node-v%{nodejs_version}-stripped.tar.gz -Source100: %{name}-tarball.sh - -# The native module Requires generator remains in the nodejs SRPM, so it knows -# the nodejs and v8 versions. The remainder has migrated to the -# nodejs-packaging SRPM. -Source7: nodejs_native.attr - -# Disable running gyp on bundled deps we don't use -Patch1: 0001-Disable-running-gyp-files-for-bundled-deps.patch - -BuildRequires: python2-devel -BuildRequires: libicu-devel -BuildRequires: zlib-devel -BuildRequires: gcc >= 4.8.5 -BuildRequires: gcc-c++ >= 4.8.5 -Provides: bundled(http-parser) = %{http_parser_version} - -%if %{with bootstrap} -Provides: bundled(libuv) = %{libuv_version} -%else -BuildRequires: systemtap-sdt-devel -BuildRequires: libuv-devel >= 1:1.9.1 -Requires: libuv >= 1:1.9.1 -%endif - -%if 0%{?fedora} > 25 -BuildRequires: compat-openssl10-devel >= 1:1.0.2 -%else -BuildRequires: openssl-devel >= 1:1.0.2 -%endif - -# we need the system certificate store when Patch2 is applied -Requires: ca-certificates - -#we need ABI virtual provides where SONAMEs aren't enough/not present so deps -#break when binary compatibility is broken -Provides: nodejs(abi) = %{nodejs_abi} -Provides: nodejs(abi%{nodejs_major}) = %{nodejs_abi} -Provides: nodejs(v8-abi) = %{v8_abi} -Provides: nodejs(v8-abi%{v8_major}) = %{v8_abi} - -#this corresponds to the "engine" requirement in package.json -Provides: nodejs(engine) = %{nodejs_version} - -# Node.js currently has a conflict with the 'node' package in Fedora -# The ham-radio group has agreed to rename their binary for us, but -# in the meantime, we're setting an explicit Conflicts: here -Conflicts: node <= 0.3.2-12 - -# The punycode module was absorbed into the standard library in v0.6. -# It still exists as a seperate package for the benefit of users of older -# versions. Since we've never shipped anything older than v0.10 in Fedora, -# we don't need the seperate nodejs-punycode package, so we Provide it here so -# dependent packages don't need to override the dependency generator. -# See also: RHBZ#11511811 -# UPDATE: punycode will be deprecated and so we should unbundle it in Node v8 -# and use upstream module instead -# https://github.com/nodejs/node/commit/29e49fc286080215031a81effbd59eac092fff... -Provides: nodejs-punycode = %{punycode_version} -Provides: npm(punycode) = %{punycode_version} - - -# Node.js has forked c-ares from upstream in an incompatible way, so we need -# to carry the bundled version internally. -# See https://github.com/nodejs/node/commit/766d063e0578c0f7758c3a965c971763f43fec... -Provides: bundled(c-ares) = %{c_ares_version} - -# Node.js is closely tied to the version of v8 that is used with it. It makes -# sense to use the bundled version because upstream consistently breaks ABI -# even in point releases. Node.js upstream has now removed the ability to build -# against a shared system version entirely. -# See https://github.com/nodejs/node/commit/d726a177ed59c37cf5306983ed00ecd858cfbb... -Provides: bundled(v8) = %{v8_version} - -%if 0%{?epel} -# EPEL doesn't support Recommends, so make it strict -Requires: npm = %{npm_epoch}:%{npm_version}-%{npm_release}%{?dist} -%else -Recommends: npm = %{npm_epoch}:%{npm_version}-%{npm_release}%{?dist} -%endif - - -%description -Node.js is a platform built on Chrome's JavaScript runtime -for easily building fast, scalable network applications. -Node.js uses an event-driven, non-blocking I/O model that -makes it lightweight and efficient, perfect for data-intensive -real-time applications that run across distributed devices. - -%package devel -Summary: JavaScript runtime - development headers -Group: Development/Languages -Requires: %{name}%{?_isa} = %{epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} -Requires: openssl-devel%{?_isa} -Requires: zlib-devel%{?_isa} -Requires: nodejs-packaging -#%if ! 0%%{?bootstrap} -%if %{with bootstrap} -#deps are bundled -%else -Requires: libuv-devel%{?_isa} -%endif - -%description devel -Development headers for the Node.js JavaScript runtime. - -%package -n npm -Summary: Node.js Package Manager -Epoch: %{npm_epoch} -Version: %{npm_version} -Release: %{npm_release}%{?dist} - -# We used to ship npm separately, but it is so tightly integrated with Node.js -# (and expected to be present on all Node.js systems) that we ship it bundled -# now. -Obsoletes: npm < 0:3.5.4-6 -Provides: npm = %{npm_epoch}:%{npm_version} -Requires: nodejs = %{epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} - -# Do not add epoch to the virtual NPM provides or it will break -# the automatic dependency-generation script. -Provides: npm(npm) = %{npm_version} - -%description -n npm -npm is a package manager for node.js. You can use it to install and publish -your node programs. It manages dependencies and does other cool stuff. - -%package docs -Summary: Node.js API documentation -Group: Documentation -BuildArch: noarch - -# We don't require that the main package be installed to -# use the docs, but if it is installed, make sure the -# version always matches -Conflicts: %{name} > %{epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} -Conflicts: %{name} < %{epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} - -%description docs -The API documentation for the Node.js JavaScript runtime. - - -%prep -%setup -q -n node-v%{nodejs_version} - -# remove bundled dependencies that we aren't building -%patch1 -p1 -rm -rf deps/icu-small \ - deps/zlib - - -%build -# Work around Fedora 28 build issue: -# https://fedoraproject.org/wiki/Changes/Avoid_usr_bin_python_in_RPM_Build#Qui... -# Tracking BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1550564 -export PYTHON_DISALLOW_AMBIGUOUS_VERSION=0 - -# build with debugging symbols and add defines from libuv (#892601) -# Node's v8 breaks with GCC 6 because of incorrect usage of methods on -# NULL objects. We need to pass -fno-delete-null-pointer-checks -export CFLAGS='%{optflags} -g \ - -D_LARGEFILE_SOURCE \ - -D_FILE_OFFSET_BITS=64 \ - -DZLIB_CONST \ - -fno-delete-null-pointer-checks' -export CXXFLAGS='%{optflags} -g \ - -D_LARGEFILE_SOURCE \ - -D_FILE_OFFSET_BITS=64 \ - -DZLIB_CONST \ - -fno-delete-null-pointer-checks' - -# Explicit new lines in C(XX)FLAGS can break naive build scripts -export CFLAGS="$(echo ${CFLAGS} | tr '\n\' ' ')" -export CXXFLAGS="$(echo ${CXXFLAGS} | tr '\n\' ' ')" - -export LDFLAGS="%{__global_ldflags}" - -%if %{with bootstrap} -./configure --prefix=%{_prefix} \ - --shared-openssl \ - --shared-zlib \ - --without-dtrace \ - --with-intl=system-icu \ - --openssl-use-def-ca-store -%else -./configure --prefix=%{_prefix} \ - --shared-openssl \ - --shared-zlib \ - --shared-libuv \ - --with-dtrace \ - --with-intl=system-icu \ - --openssl-use-def-ca-store -%endif - -make BUILDTYPE=Release %{?_smp_mflags} - - -%install -# Work around Fedora 28 build issue: -# https://fedoraproject.org/wiki/Changes/Avoid_usr_bin_python_in_RPM_Build#Qui... -# Tracking BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1550564 -export PYTHON_DISALLOW_AMBIGUOUS_VERSION=0 - -rm -rf %{buildroot} - -./tools/install.py install %{buildroot} %{_prefix} - -# Set the binary permissions properly -chmod 0755 %{buildroot}/%{_bindir}/node - -# own the sitelib directory -mkdir -p %{buildroot}%{_prefix}/lib/node_modules - -# ensure Requires are added to every native module that match the Provides from -# the nodejs build in the buildroot -install -Dpm0644 %{SOURCE7} %{buildroot}%{_rpmconfigdir}/fileattrs/nodejs_native.attr -cat << EOF > %{buildroot}%{_rpmconfigdir}/nodejs_native.req -#!/bin/sh -echo 'nodejs(abi%{nodejs_major}) >= %nodejs_abi' -echo 'nodejs(v8-abi%{v8_major}) >= %v8_abi' -EOF -chmod 0755 %{buildroot}%{_rpmconfigdir}/nodejs_native.req - -#install documentation -mkdir -p %{buildroot}%{_pkgdocdir}/html -cp -pr doc/* %{buildroot}%{_pkgdocdir}/html -rm -f %{buildroot}%{_pkgdocdir}/html/nodejs.1 - -#node-gyp needs common.gypi too -mkdir -p %{buildroot}%{_datadir}/node -cp -p common.gypi %{buildroot}%{_datadir}/node - -# Install the GDB init tool into the documentation directory -mv %{buildroot}/%{_datadir}/doc/node/gdbinit %{buildroot}/%{_pkgdocdir}/gdbinit - -# Since the old version of NPM was unbundled, there are a lot of symlinks in -# it's node_modules directory. We need to keep these as symlinks to ensure we -# can backtrack on this if we decide to. - -# Rename the npm node_modules directory to node_modules.bundled -mv %{buildroot}/%{_prefix}/lib/node_modules/npm/node_modules \ - %{buildroot}/%{_prefix}/lib/node_modules/npm/node_modules.bundled - -# Recreate all the symlinks -mkdir -p %{buildroot}/%{_prefix}/lib/node_modules/npm/node_modules -FILES=%{buildroot}/%{_prefix}/lib/node_modules/npm/node_modules.bundled/* -for f in $FILES -do - module=`basename $f` - ln -s ../node_modules.bundled/$module %{buildroot}%{_prefix}/lib/node_modules/npm/node_modules/$module -done - -# install NPM docs to mandir -mkdir -p %{buildroot}%{_mandir} \ - %{buildroot}%{_pkgdocdir}/npm - -cp -pr deps/npm/man/* %{buildroot}%{_mandir}/ -rm -rf %{buildroot}%{_prefix}/lib/node_modules/npm/man -ln -sf %{_mandir} %{buildroot}%{_prefix}/lib/node_modules/npm/man - -# Install Markdown and HTML documentation to %{_pkgdocdir} -cp -pr deps/npm/html deps/npm/doc %{buildroot}%{_pkgdocdir}/npm/ -rm -rf %{buildroot}%{_prefix}/lib/node_modules/npm/html \ - %{buildroot}%{_prefix}/lib/node_modules/npm/doc - -ln -sf %{_pkgdocdir} %{buildroot}%{_prefix}/lib/node_modules/npm/html -ln -sf %{_pkgdocdir}/npm/html %{buildroot}%{_prefix}/lib/node_modules/npm/doc - - -# Node tries to install some python files into a documentation directory -# (and not the proper one). Remove them for now until we figure out what to -# do with them. -rm -f %{buildroot}/%{_defaultdocdir}/node/lldb_commands.py \ - %{buildroot}/%{_defaultdocdir}/node/lldbinit - -%check -# Fail the build if the versions don't match -%{buildroot}/%{_bindir}/node -e "require('assert').equal(process.versions.node, '%{nodejs_version}')" -%{buildroot}/%{_bindir}/node -e "require('assert').equal(process.versions.v8, '%{v8_version}')" -%{buildroot}/%{_bindir}/node -e "require('assert').equal(process.versions.ares.replace(/-DEV$/, ''), '%{c_ares_version}')" - -# Ensure we have punycode and that the version matches -%{buildroot}/%{_bindir}/node -e "require("assert").equal(require("punycode").version, '%{punycode_version}')" - -# Ensure we have npm and that the version matches -NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules %{buildroot}/%{_bindir}/node -e "require("assert").equal(require("npm").version, '%{npm_version}')" - -%files -%{_bindir}/node -%dir %{_prefix}/lib/node_modules -%dir %{_datadir}/node -%dir %{_datadir}/systemtap -%dir %{_datadir}/systemtap/tapset -%{_datadir}/systemtap/tapset/node.stp - -#%if ! 0%%{?bootstrap} -%if %{with bootstrap} -#no dtrace -%else -%dir %{_usr}/lib/dtrace -%{_usr}/lib/dtrace/node.d -%endif - -%{_rpmconfigdir}/fileattrs/nodejs_native.attr -%{_rpmconfigdir}/nodejs_native.req -%license LICENSE -%doc AUTHORS CHANGELOG.md COLLABORATOR_GUIDE.md GOVERNANCE.md README.md -%doc %{_mandir}/man1/node.1* - - -%files devel -%{_includedir}/node -%{_datadir}/node/common.gypi -%{_pkgdocdir}/gdbinit - - -%files -n npm -%{_bindir}/npm -%{_prefix}/lib/node_modules/npm -%ghost %{_sysconfdir}/npmrc -%ghost %{_sysconfdir}/npmignore -%doc %{_mandir}/man*/npm* -%doc %{_mandir}/man5/package.json.5* -%doc %{_mandir}/man7/removing-npm.7* -%doc %{_mandir}/man7/semver.7* - - -%files docs -%dir %{_pkgdocdir} -%{_pkgdocdir}/html -%{_pkgdocdir}/npm/html -%{_pkgdocdir}/npm/doc - -%changelog -* Tue Jun 18 2019 Stephen Gallagher sgallagh@redhat.com - 1:6.17.1-1 -- Update to 6.17.1 security release -- https://nodejs.org/en/blog/release/v6.17.1/ -- https://nodejs.org/en/blog/release/v6.17.0/ -- Drop debug build - -* Thu Jan 10 2019 Stephen Gallagher sgallagh@redhat.com - 1:6.16.0-2 -- Bundle http-parser since it uses backported features not available in RHEL - -* Thu Jan 10 2019 Stephen Gallagher sgallagh@redhat.com - 1:6.16.0-1 -- Update to 6.16.0 security release -- https://nodejs.org/en/blog/release/v6.16.0/ -- https://nodejs.org/en/blog/release/v6.15.1/ -- https://nodejs.org/en/blog/release/v6.15.0/ -- https://nodejs.org/en/blog/release/v6.14.4/ - -* Thu Jun 14 2018 Stephen Gallagher sgallagh@redhat.com - 1:6.14.3-1 -- Update to 6.14.3 security release -- https://nodejs.org/en/blog/release/v6.14.3/ - -* Thu May 03 2018 Stephen Gallagher sgallagh@redhat.com - 1:6.14.2-1 -- Update to 6.14.2 -- https://nodejs.org/en/blog/release/v6.14.2/ -- https://nodejs.org/en/blog/release/v6.14.1/ - -* Fri Apr 13 2018 Rafael dos Santos rdossant@redhat.com - 1:6.14.0-2 -- Use standard Fedora linker flags (bug #1543859) - -* Wed Mar 28 2018 Stephen Gallagher sgallagh@redhat.com - 1:6.14.0-1 -- Update to 6.14.0 -- https://nodejs.org/en/blog/release/v6.14.0/ - -* Thu Mar 08 2018 Stephen Gallagher sgallagh@redhat.com - 1:6.13.1-1 -- Update to 6.13.1 -- https://nodejs.org/en/blog/release/v6.12.4/ -- https://nodejs.org/en/blog/release/v6.12.5/ -- https://nodejs.org/en/blog/release/v6.13.0/ -- https://nodejs.org/en/blog/release/v6.13.1/ - -* Thu Jan 11 2018 Stephen Gallagher sgallagh@redhat.com - 1:6.12.3-1 -- Update to 6.12.3 -- https://nodejs.org/en/blog/release/v6.12.3/ - -* Fri Dec 08 2017 Stephen Gallagher sgallagh@redhat.com - 1:6.12.2-1 -- Update to 6.12.2 -- https://nodejs.org/en/blog/release/v6.12.2/ - -* Mon Nov 13 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.12.0-1 -- Update to 6.12.0 - -* Thu Oct 26 2017 Stephen Gallagher sgallagh@redhat.com - 1:6.11.5-1 -- Update to 6.11.5 security release - -* Fri Oct 06 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.11.4-1 -- Update to 6.11.4 -- https://nodejs.org/en/blog/release/v6.11.4/ -- use bcond macro - -* Thu Sep 21 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:6:11.3-2 -- Adjust spec for modularity - -* Thu Sep 07 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.11.3-1 -- Update to 6.11.3 -- https://nodejs.org/en/blog/release/v6.11.3/ -- remove openssl 1.0.1 patches - -* Wed Aug 23 2017 Stephen Gallagher sgallagh@redhat.com - 1:6.11.2-2 -- Move to requiring OpenSSL 1.0.2 -- Unbundle http-parser again - -* Tue Aug 22 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.11.2-1.3 -- Run gyp on http-parser - -* Tue Aug 15 2017 Stephen Gallagher sgallagh@redhat.com - 1:6.11.2-1.2 -- Add bundled Provides for http-parser - -* Tue Aug 15 2017 Stephen Gallagher sgallagh@redhat.com - 1:6.11.2-1.1 -- Temporarily bundle http-parser -- Resolves: RHBZ#1481470 - -* Wed Aug 02 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.11.2-1 -- Update to 6.11.2 -- https://nodejs.org/en/blog/release/v6.11.2/ -- remove GCC 7 patch merged upstream - -* Thu Jul 13 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.11.1-1 -- Security update (https://nodejs.org/en/blog/vulnerability/july-2017-security-releases/) - -* Thu Jun 29 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.11.0-2 -- Fix typo - -* Thu Jun 29 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.11.0-1 -- Update to 6.11.0 -- https://nodejs.org/en/blog/release/v6.10.3/ -- explicitly depend on http-parser (RHBZ#1457763) - -* Wed May 10 2017 Stephen Gallagher sgallagh@redhat.com - 1:6.10.3-1 -- Update to 6.10.3 (LTS) -- https://nodejs.org/en/blog/release/v6.10.3/ -- Stop using the bundled http-parser now that there is an upstream - release with a new-enough version. - -* Tue May 09 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.10.2-3 -- Bootstrap systemtap-sdt-devel for modularity - -* Wed Apr 19 2017 Stephen Gallagher sgallagh@redhat.com - 1:6.10.2-2 -- Switch to final upstream patch for GCC 7 compatibility - -* Wed Apr 12 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.10.2-1 -- Update to 6.10.2 - -* Mon Apr 03 2017 Stephen Gallagher sgallagh@redhat.com - 1:6.10.1-3 -- Move NPM manpages into the correct subpackage -- Fixes: rhbz#1433403 - -* Mon Apr 03 2017 Stephen Gallagher sgallagh@redhat.com - 1:6.10.1-2 -- Revert upstream change that is incompatible with OpenSSL 1.0.1 -- Fixes: rhbz#1436445 - -* Wed Mar 22 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.10.1-1 -- Update to 6.10.1 -- remove small-icu from deps - -* Thu Mar 09 2017 Stephen Gallagher sgallagh@redhat.com - 1:6.10.0-1 -- Update to 6.10.0 -- https://nodejs.org/en/blog/release/v6.10.0/ -- New patch for handling system CA certificates - -* Tue Feb 28 2017 Stephen Gallagher sgallagh@redhat.com - 1:6.9.5-2 -- Fix FTBFS against GCC 7 -- Resolves: RHBZ 1423991 - -* Fri Feb 10 2017 Fedora Release Engineering releng@fedoraproject.org - 1:6.9.5-1.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Wed Feb 1 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.9.5-1 -- Update to v6.9.5(security) -- Reenable debug mode (https://github.com/nodejs/node/pull/10525) - -* Tue Jan 17 2017 Stephen Gallagher sgallagh@redhat.com - 1:6.9.4-2 -- Enable DTrace support. -- Eliminate newlines from CFLAGS due to broken dtrace shim - https://sourceware.org/bugzilla/show_bug.cgi?id=21063 - Thanks to Kinston Hughes for the fix. - -* Tue Jan 10 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.9.4-1 -- Update to v6.9.4 - -* Thu Jan 05 2017 Stephen Gallagher sgallagh@redhat.com - 1:6.9.3-1 -- https://nodejs.org/en/blog/release/v6.9.3/ - -* Wed Dec 21 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.9.2-2 -- Debug builds are failing. Disable them. - -* Thu Dec 08 2016 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.9.2-1 -- Update to v6.9.2 - -* Tue Nov 08 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.9.1-4 -- Fix incorrect Conflicts for nodejs-docs - -* Tue Nov 08 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.9.1-2 -- Bump revision and rebuild for s390x - -* Thu Oct 20 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.9.1-1 -- Update to 6.9.1 LTS release -- Fix a regression introduced in v6.8.0 in readable stream that caused unpipe - to remove the wrong stream -- https://nodejs.org/en/blog/release/v6.9.1/ - -* Tue Oct 18 2016 Stephen Gallagher sgallagh@redhat.com - - -- Update to 6.9.0 LTS release -- https://nodejs.org/en/blog/release/v6.9.0/ - -* Mon Oct 17 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.8.1-5 -- Add dist tag to npm nodejs dependency - -* Mon Oct 17 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.8.1-4 -- Fix typo in npm nodejs dependency - -* Sat Oct 15 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.8.1-3 -- Bump release version for tagging bug - -* Sat Oct 15 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.8.1-1 -- Update node to v6.8.0 -- Fix FTBFS against non-bundled zlib - -* Thu Oct 13 2016 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.8.0-108 -- Update node to v6.8.0 and npm@3.10.8 - -* Tue Sep 27 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.7.0-107 -- Update to 6.7.0 -- https://nodejs.org/en/blog/release/v6.7.0/ - -* Fri Sep 16 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.6.0-106 -- Drop Conflicts: from main package. - It wasn't needed and was breaking upgrades in some cases. -- Move npm support files into the npm package -- Mark manpages as %%doc - -* Fri Sep 16 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.6.0-105 -- Update to 6.6.0 -- https://github.com/nodejs/node/blob/v6.6.0/doc/changelogs/CHANGELOG_V6.md#6.... - -* Mon Sep 12 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.5.0-104 -- Add support for building on EPEL 7 against OpenSSL 1.0.1 -- Modify v8_abi autorequires to avoid unnecessary rebuilds - -* Mon Aug 29 2016 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.5.0-103 -- Update to 6.5.0 - -* Mon Aug 22 2016 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.4.0-102 -- Bump release to 102 to fix broken npm dependency - -* Thu Aug 18 2016 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.4.0-1 -- Update to 6.4.0 - -* Tue Aug 16 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.3.1-101 -- Build Node.js with internationalization support - -* Thu Aug 04 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.3.1-100 -- Split npm into a subpackage - -* Mon Jul 25 2016 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.3.1-1 -- Update to 6.3.1 -- comment out %%patch3 - -* Mon Jul 18 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.3.0-3 -- Fix epoch version dependency on libuv - -* Tue Jul 12 2016 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.3.0-2 -- Patch node.gyp to fix failing ./configure - -* Sun Jul 10 2016 Zuzana Svetlikova zsvetlik@redhat.com - 1:6.3.0-1 -- Update node to 6.3.0 -- update punycode to 2.0.0 -- add gcc and gcc-c++ as build dependencies -- modified system-certs patch - -* Sat Jun 18 2016 Tom Hughes tom@compton.nu - 1:6.2.2-1 -- Update to latest stable release 6.2.2 -- Add check on npm version - -* Tue Jun 7 2016 Tom Hughes tom@compton.nu - 1:6.2.1-1 -- Update to latest stable release 6.2.1 - -* Wed May 18 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.2.0-1 -- Update to latest stable release 6.2.0 -- https://github.com/nodejs/node/blob/v6.2.0/doc/changelogs/CHANGELOG_V6.md#6.... - -* Mon May 09 2016 Stephen Gallagher sgallagh@redhat.com - 1:6.1.0-1 -- Update to latest stable release 6.1.0 -- https://github.com/nodejs/node/blob/v6.1.0/CHANGELOG.md - -* Tue May 03 2016 Stephen Gallagher sgallagh@redhat.com - 1:5.11.0-3 -- Drop the epoch on the virtual provides for npm - -* Thu Apr 28 2016 Stephen Gallagher sgallagh@redhat.com - 1:5.11.0-2 -- Add epoch and rebuild to preserve upgrade path - -* Mon Apr 25 2016 Stephen Gallagher sgallagh@redhat.com - 5.11.0-1 -- Update to latest stable release 5.11.0 -- https://github.com/nodejs/node/blob/v5.11.0/CHANGELOG.md - -* Mon Apr 11 2016 Stephen Gallagher sgallagh@redhat.com - 5.10.0-1 -- Update to latest stable release 5.10.1 -- https://github.com/nodejs/node/blob/v5.10.1/CHANGELOG.md - -* Fri Apr 01 2016 Stephen Gallagher sgallagh@redhat.com - 5.10.0-1 -- Update to latest security release (5.10.0) -- Update bundled npm to 3.8.3 -- Fixes serious man-in-the-middle vulnerability with npm - -* Wed Mar 23 2016 Stephen Gallagher sgallagh@redhat.com - 5.9.1-1 -- Update to latest stable release (5.9.1) -- Bundle npm (3.7.3) - -* Wed Mar 23 2016 Stephen Gallagher sgallagh@redhat.com - 4.4.1-1 -- Update to 4.4.1 upstream LTS release -- Add more versatile ABI checking - -* Tue Feb 23 2016 Tom Hughes tom@compton.nu - 4.3.1-1 -- Update to 4.3.1 upstream LTS release - -* Wed Feb 10 2016 Tom Hughes tom@compton.nu - 4.3.0-3 -- Verify that the built node reports the expected versions -- Drop unneeded dep on http-parser-devel -- Add version check for punycode - -* Wed Feb 10 2016 Stephen Gallagher sgallagh@redhat.com - 4.3.0-2 -- Fix nodejs-abi to be 4.3 -- Clean up bundled versions in spec file - -* Tue Feb 09 2016 Stephen Gallagher sgallagh@redhat.com - 4.3.0-1 -- Update to 4.3.0 upstream LTS release -- https://github.com/nodejs/node/blob/v4.3.0/CHANGELOG.md -- Switch to the bundled http-parser -- Build with -fno-delete-pointer-null-checks for GCC 6 - -* Tue Feb 9 2016 Tom Hughes tom@compton.nu - 4.2.6-1 -- Update to 4.2.6 upstream release - -* Thu Feb 04 2016 Fedora Release Engineering releng@fedoraproject.org - 4.2.4-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Tue Jan 19 2016 Stephen Gallagher sgallagh@redhat.com - 4.2.4-4 -- Force a depdendency on the correct version of http-parser - -* Tue Jan 19 2016 Stephen Gallagher sgallagh@redhat.com - 4.2.4-3 -- Force a dependency on the correct version of libuv - -* Mon Jan 18 2016 Stephen Gallagher sgallagh@redhat.com - 4.2.4-2 -- Fix Provides: for punycode - -* Wed Jan 13 2016 Stephen Gallagher sgallagh@redhat.com - 4.2.4-1 -- New upstream bugfix release 4.2.4 -- https://github.com/nodejs/node/blob/v4.2.3/CHANGELOG.md - -* Fri Dec 04 2015 Stephen Gallagher sgallagh@redhat.com 4.2.3-2 -- Add %%with_debug variable to spec file - The debug build is not supported on all architectures. - -* Fri Dec 04 2015 Stephen Gallagher sgallagh@redhat.com 4.2.3-1 -- New upstream security release 4.2.3 -- https://github.com/nodejs/node/blob/v4.2.3/CHANGELOG.md -- Fix incorrect v8 version - -* Wed Dec 2 2015 Peter Robinson pbrobinson@fedoraproject.org 4.2.2-4 -- Use nodejs_arches macro for arch definition (add aarch64 and power64 platforms) - -* Wed Dec 02 2015 Stephen Gallagher sgallagh@redhat.com 4.2.2-3 -- Fix nodejs_abi version -- Also ensure that we are building against the correct libuv - -* Wed Dec 02 2015 Stephen Gallagher sgallagh@redhat.com 4.2.2-2 -- Disable debug build for ARMv7 since it fails to build - -* Tue Dec 01 2015 Stephen Gallagher sgallagh@redhat.com 4.2.2-1 -- Upgrade to Node.js 4.2.2 (LTS) - -* Wed Jun 17 2015 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 0.10.36-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Wed Apr 29 2015 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.36-4 -- fix incorrect Requires on libuv (RHBZ#1215719) - -* Tue Feb 24 2015 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.36-3 -- bump v8 requires (RHBZ#1195457) - -* Thu Feb 19 2015 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.36-2 -- build against compat-libuv010 - -* Thu Feb 19 2015 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.36-1 -- new upstream release 0.10.36 - http://blog.nodejs.org/2015/01/26/node-v0-10-36-stable/ -- Please note that several upstream releases were skipped due to regressions - reported in the upstream bug tracker. Please also review the 0.10.34 and - 0.10.35 changelogs available at the above URL for a list of all changes. - -* Wed Nov 19 2014 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.33-1 -- new upstream release 0.10.33 - http://blog.nodejs.org/2014/10/23/node-v0-10-33-stable/ -- This release disables SSLv3 to secure Node.js services against the POODLE - attack. (CVE-2014-3566; RHBZ#1152789) For more information or to learn how - to re-enable SSLv3 in order to support legacy clients, please see the upstream - release announcement linked above. - -* Tue Oct 21 2014 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.32-2 -- add Provides nodejs-punycode (RHBZ#1151811) - -* Thu Sep 18 2014 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.32-1 -- new upstream release 0.10.32 - http://blog.nodejs.org/2014/08/19/node-v0-10-31-stable/ - http://blog.nodejs.org/2014/09/16/node-v0-10-32-stable/ - -* Sun Aug 17 2014 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 0.10.30-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Fri Aug 01 2014 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.30-1 -- new upstream release 0.10.30 - http://blog.nodejs.org/2014/07/31/node-v0-10-30-stable/ - -* Thu Jun 19 2014 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.29-1 -- new upstream release 0.10.29 - http://blog.nodejs.org/2014/06/16/node-v0-10-29-stable/ -- The invalid UTF8 fix has been reverted since this breaks v8 API, which cannot - be done in a stable distribution release. This build of nodejs will behave as - if NODE_INVALID_UTF8 was set. For more information on the implications, see: - http://blog.nodejs.org/2014/06/16/openssl-and-breaking-utf-8-change/ - -* Sat Jun 07 2014 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 0.10.28-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Sat May 03 2014 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.28-2 -- use the system certificate store instead of the bundled copy - both are based on the Mozilla CA list, so the only effect this should have is - making additional certificates added by the system administrator available to - node - -* Sat May 03 2014 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.28-1 -- new upstream release 0.10.28 - There is no dfference between 0.10.27 and 0.10.28 for Fedora, as the only - thing updated was npm, which is shipped seperately. The latest was only - packaged to avoid confusion. Please see the v0.10.27 changelog for relevant - changes in this update: - http://blog.nodejs.org/2014/05/01/node-v0-10-27-stable/ - -* Thu Feb 20 2014 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.26-1 -- new upstream release 0.10.26 - http://blog.nodejs.org/2014/02/18/node-v0-10-26-stable/ - -* Fri Feb 14 2014 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.25-2 -- rebuild for icu-53 (via v8) - -* Mon Jan 27 2014 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.25-1 -- new upstream release 0.10.25 - http://blog.nodejs.org/2014/01/23/node-v0-10-25-stable/ - -* Thu Dec 19 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.24-1 -- new upstream release 0.10.24 - http://blog.nodejs.org/2013/12/19/node-v0-10-24-stable/ -- upstream install script installs the headers now - -* Thu Dec 12 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.23-1 -- new upstream release 0.10.23 - http://blog.nodejs.org/2013/12/11/node-v0-10-23-stable/ - -* Tue Nov 12 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.22-1 -- new upstream release 0.10.22 - http://blog.nodejs.org/2013/11/12/node-v0-10-22-stable/ - -* Fri Oct 18 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.21-1 -- new upstream release 0.10.21 - http://blog.nodejs.org/2013/10/18/node-v0-10-21-stable/ -- resolves an undisclosed security vulnerability in the http module - -* Tue Oct 01 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.20-1 -- new upstream release 0.10.20 - http://blog.nodejs.org/2013/09/30/node-v0-10-20-stable/ - -* Wed Sep 25 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.19-1 -- new upstream release 0.10.19 - http://blog.nodejs.org/2013/09/24/node-v0-10-19-stable/ - -* Fri Sep 06 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.18-1 -- new upstream release 0.10.18 - http://blog.nodejs.org/2013/09/04/node-v0-10-18-stable/ - -* Tue Aug 27 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.17-1 -- new upstream release 0.10.17 - http://blog.nodejs.org/2013/08/21/node-v0-10-17-stable/ -- fix duplicated/conflicting documentation files (RHBZ#1001253) - -* Sat Aug 17 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.16-1 -- new upstream release 0.10.16 - http://blog.nodejs.org/2013/08/16/node-v0-10-16-stable/ -- add v8-devel to -devel Requires -- restrict -devel Requires to the same architecture - -* Wed Aug 14 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.14-3 -- fix typo in _isa macro in v8 Requires - -* Mon Aug 05 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.14-2 -- use unversioned docdir for -docs subpackage - https://fedoraproject.org/wiki/Changes/UnversionedDocdirs -- use main package's docdir instead of a seperate -docs directory - -* Thu Jul 25 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.14-1 -- new upstream release 0.10.14 - http://blog.nodejs.org/2013/07/25/node-v0-10-14-stable/ - -* Wed Jul 10 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.13-1 -- new upstream release 0.10.13 - http://blog.nodejs.org/2013/07/09/node-v0-10-13-stable/ -- remove RPM macros, etc. now that they've migrated to nodejs-packaging - -* Wed Jun 19 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.12-1 -- new upstream release 0.10.12 - http://blog.nodejs.org/2013/06/18/node-v0-10-12-stable/ -- split off a -packaging subpackage with RPM macros, etc. -- build -docs as noarch -- copy mutiple version logic from nodejs-packaging SRPM for now - -* Fri May 31 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.9-1 -- new upstream release 0.10.9 - http://blog.nodejs.org/2013/05/30/node-v0-10-9-stable/ - -* Wed May 29 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.8-1 -- new upstream release 0.10.8 - http://blog.nodejs.org/2013/05/24/node-v0-10-8-stable/ - -* Wed May 29 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.7-1 -- new upstream release 0.10.7 - http://blog.nodejs.org/2013/05/17/node-v0-10-7-stable/ -- strip openssl from the tarball; it contains prohibited code (RHBZ#967736) -- patch Makefile so we can just remove all bundled deps completely - -* Wed May 15 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.6-1 -- new upstream release 0.10.6 - http://blog.nodejs.org/2013/05/14/node-v0-10-6-stable/ - -* Mon May 06 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.5-3 -- nodejs-fixdep: work properly when a package has no dependencies - -* Mon Apr 29 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.5-2 -- nodejs-symlink-deps: make it work when --check is used and just - devDependencies exist - -* Wed Apr 24 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.5-1 -- new upstream release 0.10.5 - http://blog.nodejs.org/2013/04/23/node-v0-10-5-stable/ - -* Mon Apr 15 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.4-1 -- new upstream release 0.10.4 - http://blog.nodejs.org/2013/04/11/node-v0-10-4-stable/ -- add no-op macro to permit spec compatibility with EPEL - -* Thu Apr 04 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.3-2 -- nodejs-symlink-deps: symlink unconditionally in the buildroot - -* Wed Apr 03 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.3-1 -- new upstream release 0.10.3 - http://blog.nodejs.org/2013/04/03/node-v0-10-3-stable/ -- nodejs-symlink-deps: only create symlink if target exists -- nodejs-symlink-deps: symlink devDependencies when --check is used - -* Sun Mar 31 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.2-1 -- new upstream release 0.10.2 - http://blog.nodejs.org/2013/03/28/node-v0-10-2-stable/ -- remove %%nodejs_arches macro since it will only be useful if it is present in - the redhat-rpm-config package -- add default filtering macro to remove unwanted Provides from native modules -- nodejs-symlink-deps now supports multiple modules in one SRPM properly -- nodejs-symlink-deps also now supports a --check argument that works in the - current working directry instead of the buildroot - -* Fri Mar 22 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.1-1 -- new upstream release 0.10.1 - http://blog.nodejs.org/2013/03/21/node-v0-10-1-stable/ - -* Wed Mar 20 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.0-4 -- fix escaping in dependency generator regular expressions (RHBZ#923941) - -* Wed Mar 13 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.10.0-3 -- add virtual ABI provides for node and v8 so binary module's deps break when - binary compatibility is broken -- automatically add matching Requires to nodejs binary modules -- add %%nodejs_arches macro to future-proof ExcluseArch stanza in dependent - packages - -* Tue Mar 12 2013 Stephen Gallagher sgallagh@redhat.com - 0.10.0-2 -- Fix up documentation subpackage - -* Mon Mar 11 2013 Stephen Gallagher sgallagh@redhat.com - 0.10.0-1 -- Update to stable 0.10.0 release -- https://raw.github.com/joyent/node/v0.10.0/ChangeLog - -* Thu Feb 14 2013 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 0.9.5-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Tue Jan 22 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.9.5-10 -- minor bugfixes to RPM magic - - nodejs-symlink-deps: don't create an empty node_modules dir when a module - has no dependencies - - nodes-fixdep: support adding deps when none exist -- Add the full set of headers usually bundled with node as deps to nodejs-devel. - This way `npm install` for native modules that assume the stuff bundled with - node exists will usually "just work". --move RPM magic to nodejs-devel as requested by FPC - -* Sat Jan 12 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.9.5-9 -- fix brown paper bag bug in requires generation script - -* Thu Jan 10 2013 Stephen Gallagher sgallagh@redhat.com - 0.9.5-8 -- Build debug binary and install it in the nodejs-devel subpackage - -* Thu Jan 10 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.9.5-7 -- don't use make install since it rebuilds everything - -* Thu Jan 10 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.9.5-6 -- add %%{?isa}, epoch to v8 deps - -* Wed Jan 09 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.9.5-5 -- add defines to match libuv (#892601) -- make v8 dependency explicit (and thus more accurate) -- add -g to $C(XX)FLAGS instead of patching configure to add it -- don't write pointless 'npm(foo) > 0' deps - -* Sat Jan 05 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.9.5-4 -- install development headers -- add nodejs_sitearch macro - -* Wed Jan 02 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.9.5-3 -- make nodejs-symlink-deps actually work - -* Tue Jan 01 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.9.5-2 -- provide nodejs-devel so modules can BuildRequire it (and be consistent - with other interpreted languages in the distro) - -* Tue Jan 01 2013 T.C. Hollingsworth tchollingsworth@gmail.com - 0.9.5-1 -- new upstream release 0.9.5 -- provide nodejs-devel for the moment -- fix minor bugs in RPM magic -- add nodejs_fixdep macro so packagers can easily adjust dependencies in - package.json files - -* Wed Dec 26 2012 T.C. Hollingsworth tchollingsworth@gmail.com - 0.9.4-1 -- new upstream release 0.9.4 -- system library patches are now upstream -- respect optflags -- include documentation in subpackage -- add RPM dependency generation and related magic -- guard libuv depedency so it always gets bumped when nodejs does -- add -devel subpackage with enough to make node-gyp happy - -* Wed Dec 19 2012 Dan Horák <dan[at]danny.cz> - 0.9.3-8 -- set exclusive arch list to match v8 - -* Tue Dec 18 2012 Stephen Gallagher sgallagh@redhat.com - 0.9.3-7 -- Add remaining changes from code review -- Remove unnecessary BuildRequires on findutils -- Remove %%clean section - -* Fri Dec 14 2012 Stephen Gallagher sgallagh@redhat.com - 0.9.3-6 -- Fixes from code review -- Fix executable permissions -- Correct the License field -- Build debuginfo properly - -* Thu Dec 13 2012 Stephen Gallagher sgallagh@redhat.com - 0.9.3-5 -- Return back to using the standard binary name -- Temporarily adding a conflict against the ham radio node package until they - complete an agreed rename of their binary. - -* Wed Nov 28 2012 Stephen Gallagher sgallagh@redhat.com - 0.9.3-4 -- Rename binary and manpage to nodejs - -* Mon Nov 19 2012 Stephen Gallagher sgallagh@redhat.com - 0.9.3-3 -- Update to latest upstream development release 0.9.3 -- Include upstreamed patches to unbundle dependent libraries - -* Tue Oct 23 2012 Adrian Alves alvesadrian@fedoraproject.org 0.8.12-1 -- Fixes and Patches suggested by Matthias Runge - -* Mon Apr 09 2012 Adrian Alves alvesadrian@fedoraproject.org 0.6.5 -- First build. - diff --git a/nodejs_native.attr b/nodejs_native.attr deleted file mode 100644 index 0527af6..0000000 --- a/nodejs_native.attr +++ /dev/null @@ -1,2 +0,0 @@ -%__nodejs_native_requires %{_rpmconfigdir}/nodejs_native.req -%__nodejs_native_path ^/usr/lib.*/node_modules/.*\.node$ diff --git a/sources b/sources deleted file mode 100644 index 9608953..0000000 --- a/sources +++ /dev/null @@ -1 +0,0 @@ -SHA512 (node-v6.17.1-stripped.tar.gz) = 0c89917d14872bfdb94cd2ee428f67093fdef16cbaff5bd96d00960c040c23ce95550d3b634172035b28e214caeac7d2808e0b0b152885deb33b5ec55a6a2f7e
commit 97203e0629cad6495495abfe369960d676e2335b Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Jan 11 14:24:23 2022 -0500
Improper handling of URI Subject Alternative Names (Medium)(CVE-2021-44531)
Certificate Verification Bypass via String Injection (Medium)(CVE-2021-44532) Incorrect handling of certificate subject and issuer fields (Medium)(CVE-2021-44533) Prototype pollution via `console.table` properties (Low)(CVE-2022-21824)
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index ecb1c1a..58e9503 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -14,7 +14,7 @@ # This is used by both the nodejs package and the npm subpackage that # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 2 +%global baserelease 1
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -26,7 +26,7 @@ %global nodejs_epoch 1 %global nodejs_major 16 %global nodejs_minor 13 -%global nodejs_patch 1 +%global nodejs_patch 2 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 93 @@ -701,6 +701,12 @@ end
%changelog +* Tue Jan 11 2022 Stephen Gallagher sgallagh@redhat.com - 1:16.13.2-1 +- Improper handling of URI Subject Alternative Names (Medium)(CVE-2021-44531) +- Certificate Verification Bypass via String Injection (Medium)(CVE-2021-44532) +- Incorrect handling of certificate subject and issuer fields (Medium)(CVE-2021-44533) +- Prototype pollution via `console.table` properties (Low)(CVE-2022-21824) + * Thu Dec 02 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.13.1-2 - Enable building for EPEL 8 modules
diff --git a/sources b/sources index 2b2baaf..486a352 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v16.13.1-stripped.tar.gz) = 0cfc02dbc6f574dd56df096b6a5b08e32629af93eef3e9e99828b6813b1b49dba283a113542c4d1c7541955a95f1c57f8f642f3d7b722b00708b2853c1461fa0 +SHA512 (node-v16.13.2-stripped.tar.gz) = 0f09ce68779448b60fe84df5ace3bc482c1059e0ca9c9e55cfc51e5ad7e94f7f70c3c561b351674f734dbd4c08944a4f5f82d023a61f292bd6eaad8ab6e2d7c5 SHA512 (icu4c-69_1-src.tgz) = d4aeb781715144ea6e3c6b98df5bbe0490bfa3175221a1d667f3e6851b7bd4a638fa4a37d4a921ccb31f02b5d15a6dded9464d98051964a86f7b1cde0ff0aab7
commit 87f93eb0ac86a181a1a3f18e9c8bdb37b06b6e57 Author: Stephen Gallagher sgallagh@redhat.com Date: Thu Dec 2 11:17:26 2021 -0500
Enable building for EPEL 8 modules
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index e5432e4..ecb1c1a 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -1,6 +1,12 @@ # bundle dependencies that are not available as Fedora modules %bcond_with bootstrap
+%if 0%{?rhel} && 0%{?rhel} < 9 +%bcond_without python3_fixup +%else +%bcond_with python3_fixup +%endif + # LTO is currently broken on Node.js builds %define _lto_cflags %{nil}
@@ -8,7 +14,7 @@ # This is used by both the nodejs package and the npm subpackage that # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 1 +%global baserelease 2
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -149,7 +155,9 @@ BuildRequires: make BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-jinja2 +%if !%{with python3_fixup} BuildRequires: python-unversioned-command +%endif BuildRequires: zlib-devel BuildRequires: brotli-devel BuildRequires: gcc >= 6.3.0 @@ -367,6 +375,16 @@ rm -rf deps/brotli rm -rf deps/v8/third_party/jinja2 rm -rf tools/inspector_protocol/jinja2
+# Replace any instances of unversioned python' with python3 +%if %{with python3_fixup} +pathfix.py -i %{__python3} -pn $(find -type f ! -name "*.js") +find . -type f -exec sed -i "s~/usr/bin/env python~/usr/bin/python3~" {} ; +find . -type f -exec sed -i "s~/usr/bin/python\W~/usr/bin/python3~" {} ; +sed -i "s~usr/bin/python2~usr/bin/python3~" ./deps/v8/tools/gen-inlining-tests.py +sed -i "s~usr/bin/python.*$~usr/bin/python3~" ./deps/v8/tools/mb/mb_unittest.py +find . -type f -exec sed -i "s~python -c~python3 -c~" {} ; +%endif +
%build # When compiled on armv7hl this package generates an out of range @@ -383,6 +401,9 @@ rm -rf tools/inspector_protocol/jinja2
export CC='%{__cc}' export CXX='%{__cxx}' +%if %{with python3_fixup} +export NODE_GYP_FORCE_PYTHON=%{__python3} +%endif
# build with debugging symbols and add defines from libuv (#892601) # Node's v8 breaks with GCC 6 because of incorrect usage of methods on @@ -680,6 +701,9 @@ end
%changelog +* Thu Dec 02 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.13.1-2 +- Enable building for EPEL 8 modules + * Thu Dec 02 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.13.1-1 - Update to 16.13.1 - https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1...
commit 7a3f77a0c3aac346df06eb71f682b72929141743 Author: Stephen Gallagher sgallagh@redhat.com Date: Thu Dec 2 08:06:21 2021 -0500
Update to 16.13.1
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 1015a66..e5432e4 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage that # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 3 +%global baserelease 1
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -20,7 +20,7 @@ %global nodejs_epoch 1 %global nodejs_major 16 %global nodejs_minor 13 -%global nodejs_patch 0 +%global nodejs_patch 1 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 93 @@ -36,15 +36,15 @@ %global v8_major 9 %global v8_minor 4 %global v8_build 146 -%global v8_patch 19 +%global v8_patch 24 %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} %global v8_release %{nodejs_epoch}.%{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release}
# c-ares - from deps/cares/include/ares_version.h # https://github.com/nodejs/node/pull/9332 %global c_ares_major 1 -%global c_ares_minor 17 -%global c_ares_patch 2 +%global c_ares_minor 18 +%global c_ares_patch 1 %global c_ares_version %{c_ares_major}.%{c_ares_minor}.%{c_ares_patch}
# llhttp - from deps/llhttp/include/llhttp.h @@ -90,7 +90,7 @@ %global npm_epoch 1 %global npm_major 8 %global npm_minor 1 -%global npm_patch 0 +%global npm_patch 2 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch}
# In order to avoid needing to keep incrementing the release version for the @@ -680,6 +680,10 @@ end
%changelog +* Thu Dec 02 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.13.1-1 +- Update to 16.13.1 +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... + * Thu Nov 25 2021 Honza Horak hhorak@redhat.com - 1:16.13.0-3 - Make sure binary node-gyp is executable Resolves: #2026615 diff --git a/sources b/sources index 93d90d0..2b2baaf 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v16.13.0-stripped.tar.gz) = 93aa7e15660da39a5db4b5019b56160f773bc726a704e1fe674f27e16d52fcae855cc7f50d8c119dd12b2181ef7b9d22d9650cae42f30d7e4c0f568b57645e2f +SHA512 (node-v16.13.1-stripped.tar.gz) = 0cfc02dbc6f574dd56df096b6a5b08e32629af93eef3e9e99828b6813b1b49dba283a113542c4d1c7541955a95f1c57f8f642f3d7b722b00708b2853c1461fa0 SHA512 (icu4c-69_1-src.tgz) = d4aeb781715144ea6e3c6b98df5bbe0490bfa3175221a1d667f3e6851b7bd4a638fa4a37d4a921ccb31f02b5d15a6dded9464d98051964a86f7b1cde0ff0aab7
commit 39f6a05ac8bb2dddf0288d7fba7a981400ad62f9 Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Nov 29 16:57:55 2021 -0500
Fix release number
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 698e4b9..1015a66 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage that # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 2 +%global baserelease 3
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -680,7 +680,7 @@ end
%changelog -* Thu Nov 25 2021 Honza Horak hhorak@redhat.com - 1:16.13.0-2 +* Thu Nov 25 2021 Honza Horak hhorak@redhat.com - 1:16.13.0-3 - Make sure binary node-gyp is executable Resolves: #2026615
commit 23764b6e3225a69211a2a97706af17dd77ed27d7 Author: Honza Horak hhorak@redhat.com Date: Thu Nov 25 11:55:28 2021 +0000
Make sure binary node-gyp is executable
This is the same change as already applied in CentOS Stream 9: https://gitlab.com/redhat/centos-stream/rpms/nodejs/-/blob/c9s/nodejs.spec#L...
Resolves: #2026615
diff --git a/nodejs.spec b/nodejs.spec index f08747a..698e4b9 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage that # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 1 +%global baserelease 2
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -537,6 +537,7 @@ find %{buildroot}%{_prefix}/lib/node_modules/npm \ -exec chmod -x {} ;
# The above command is a little overzealous. Add a few permissions back. +chmod 0755 %{buildroot}%{_prefix}/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin/node-gyp chmod 0755 %{buildroot}%{_prefix}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js
# Corepack contains a number of executable"shims", including some for Windows @@ -679,6 +680,10 @@ end
%changelog +* Thu Nov 25 2021 Honza Horak hhorak@redhat.com - 1:16.13.0-2 +- Make sure binary node-gyp is executable + Resolves: #2026615 + * Mon Nov 01 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.13.0-1 - Update to 16.13.0 - https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1...
commit 075be128407b0cbfee165920d5646cc32371e079 Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Nov 29 16:54:59 2021 -0500
Revert "use python2 for building on EPEL 8"
This reverts commit af7e633b53c4fec96d4a76ac34f3b872fee2a268.
diff --git a/nodejs.spec b/nodejs.spec index 1b290b1..f08747a 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage that # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 2 +%global baserelease 1
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -149,13 +149,7 @@ BuildRequires: make BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-jinja2 -%if 0%{?fedora} || 0%{?rhel} >= 9 BuildRequires: python-unversioned-command -%else -BuildRequires: python2-devel -BuildRequires: python2-setuptools -BuildRequires: python2-jinja2 -%endif BuildRequires: zlib-devel BuildRequires: brotli-devel BuildRequires: gcc >= 6.3.0 @@ -685,9 +679,6 @@ end
%changelog -* Mon Nov 01 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.13.0-2 -- Use python2 for building on EPEL 8 - * Mon Nov 01 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.13.0-1 - Update to 16.13.0 - https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1...
commit 4eee8bba8db630ae1f56218d7143edf8e2dca9c7 Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Nov 8 10:32:45 2021 -0500
Fix missing bundled provides
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index d12857f..1b290b1 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -181,6 +181,7 @@ Requires: libnghttp2 >= %{nghttp2_version} %define nghttp2_configure --shared-nghttp2 %else %define nghttp2_configure %{nil} +Provides: bundled(nghttp2) = %{nghttp2_version} %endif %endif
commit af7e633b53c4fec96d4a76ac34f3b872fee2a268 Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Nov 8 10:12:00 2021 -0500
use python2 for building on EPEL 8
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index f0d2b68..d12857f 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage that # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 1 +%global baserelease 2
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -149,7 +149,13 @@ BuildRequires: make BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-jinja2 +%if 0%{?fedora} || 0%{?rhel} >= 9 BuildRequires: python-unversioned-command +%else +BuildRequires: python2-devel +BuildRequires: python2-setuptools +BuildRequires: python2-jinja2 +%endif BuildRequires: zlib-devel BuildRequires: brotli-devel BuildRequires: gcc >= 6.3.0 @@ -678,6 +684,9 @@ end
%changelog +* Mon Nov 01 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.13.0-2 +- Use python2 for building on EPEL 8 + * Mon Nov 01 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.13.0-1 - Update to 16.13.0 - https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1...
commit da1ef7a4743d091e5560e0efd45fde237449114f Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Nov 8 10:07:01 2021 -0500
Fix changelog date
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 8bc84ec..f0d2b68 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -678,7 +678,7 @@ end
%changelog -* Mon Oct 25 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.13.0-1 +* Mon Nov 01 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.13.0-1 - Update to 16.13.0 - https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... - Add support for epel8
commit a2ee1ccfdd1287eed5fb82dedaf276c527e609bd Author: Stephen Gallagher sgallagh@redhat.com Date: Fri Nov 5 14:56:57 2021 -0400
Update to 16.13.0
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... Add support for epel8
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index f5afc1e..8bc84ec 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -19,7 +19,7 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 16 -%global nodejs_minor 12 +%global nodejs_minor 13 %global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h @@ -169,8 +169,13 @@ Provides: bundled(nghttp2) = %{nghttp2_version} %else BuildRequires: libuv-devel >= 1:%{libuv_version} Requires: libuv >= 1:%{libuv_version} +%if 0%{?fedora} || 0%{?rhel} >= 9 BuildRequires: libnghttp2-devel >= %{nghttp2_version} Requires: libnghttp2 >= %{nghttp2_version} +%define nghttp2_configure --shared-nghttp2 +%else +%define nghttp2_configure %{nil} +%endif %endif
# Temporarily bundle llhttp because the upstream doesn't @@ -416,7 +421,7 @@ export LDFLAGS="%{build_ldflags}" --shared-zlib \ --shared-brotli \ --shared-libuv \ - --shared-nghttp2 \ + %{nghttp2_configure} \ --with-dtrace \ --with-intl=small-icu \ --with-icu-default-data-dir=%{icudatadir} \ @@ -673,6 +678,11 @@ end
%changelog +* Mon Oct 25 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.13.0-1 +- Update to 16.13.0 +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... +- Add support for epel8 + * Mon Oct 25 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.12.0-1 - Update to 16.12.0 - https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... diff --git a/sources b/sources index a3b70f5..93d90d0 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v16.12.0-stripped.tar.gz) = 4ac9e17e50a900711db39712f38b6e384902ea32c6bce2652ebec493a431bb0b73d20637a39a89ad1c68a494e573a3ec5aa37880f21e5770c0b8a9844ea1b6a8 +SHA512 (node-v16.13.0-stripped.tar.gz) = 93aa7e15660da39a5db4b5019b56160f773bc726a704e1fe674f27e16d52fcae855cc7f50d8c119dd12b2181ef7b9d22d9650cae42f30d7e4c0f568b57645e2f SHA512 (icu4c-69_1-src.tgz) = d4aeb781715144ea6e3c6b98df5bbe0490bfa3175221a1d667f3e6851b7bd4a638fa4a37d4a921ccb31f02b5d15a6dded9464d98051964a86f7b1cde0ff0aab7
commit aba90e54b0b89f09aa3d442d1dabeafbb0da7f64 Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Oct 25 09:58:28 2021 -0400
Update to 16.12.0
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 5420f35..f5afc1e 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -19,8 +19,8 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 16 -%global nodejs_minor 11 -%global nodejs_patch 1 +%global nodejs_minor 12 +%global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 93 @@ -89,7 +89,7 @@ # npm - from deps/npm/package.json %global npm_epoch 1 %global npm_major 8 -%global npm_minor 0 +%global npm_minor 1 %global npm_patch 0 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch}
@@ -112,7 +112,7 @@ %global histogram_version %{histogram_major}.%{histogram_minor}.%{histogram_patch}
# Node.js 16.9.1 and later comes with an experimental package management tool -%global corepack_version 0.9.0 +%global corepack_version 0.10.0
Name: nodejs Epoch: %{nodejs_epoch} @@ -673,10 +673,14 @@ end
%changelog +* Mon Oct 25 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.12.0-1 +- Update to 16.12.0 +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... + * Wed Oct 13 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.11.1-1 - Update to 16.11.1 - https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... -- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1...
* Thu Sep 23 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.10.0-1 - Update to 16.10.0 diff --git a/sources b/sources index 96a0da4..a3b70f5 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v16.11.1-stripped.tar.gz) = 28bc889637ac8b15b80002b11027ee02d20839ac2262019d6389816221bdf78107a20e51ae439efbb023b3d5b46c183052805b2de53bebee7aa52a66f2040168 +SHA512 (node-v16.12.0-stripped.tar.gz) = 4ac9e17e50a900711db39712f38b6e384902ea32c6bce2652ebec493a431bb0b73d20637a39a89ad1c68a494e573a3ec5aa37880f21e5770c0b8a9844ea1b6a8 SHA512 (icu4c-69_1-src.tgz) = d4aeb781715144ea6e3c6b98df5bbe0490bfa3175221a1d667f3e6851b7bd4a638fa4a37d4a921ccb31f02b5d15a6dded9464d98051964a86f7b1cde0ff0aab7
commit 4c556b450b49cd2af33feee140968cbf14b68b79 Author: Stephen Gallagher sgallagh@redhat.com Date: Wed Oct 13 09:20:02 2021 -0400
Update to 16.11.1
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1...
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index fc756b0..7155f13 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,4 +1,4 @@ -From b67fd1cbe8be07f4f3c2eb2cfa6df4cd78ab6e70 Mon Sep 17 00:00:00 2001 +From 51f31ab027934c3e7aead556752911e6dee1ea69 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Fri, 17 Apr 2020 12:59:44 +0200 Subject: [PATCH 1/2] Disable running gyp on shared deps @@ -8,7 +8,7 @@ Subject: [PATCH 1/2] Disable running gyp on shared deps 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile -index baae6a3b46bd2680ede8f18166657d3ca6b27027..6b62d40a2ce479e7155a2f23253013b46f11b8b8 100644 +index e55bd8d70242ace659fa9c7945708156e7770f9d..2959b0a436b10c9ff9b104de5130b751d19cb3a9 100644 --- a/Makefile +++ b/Makefile @@ -142,11 +142,11 @@ endif @@ -25,5 +25,5 @@ index baae6a3b46bd2680ede8f18166657d3ca6b27027..6b62d40a2ce479e7155a2f23253013b4
# node_version.h is listed because the N-API version is taken from there -- -2.32.0 +2.33.0
diff --git a/0002-Install-both-binaries-and-use-libdir.patch b/0002-Install-both-binaries-and-use-libdir.patch index 533c437..0900d64 100644 --- a/0002-Install-both-binaries-and-use-libdir.patch +++ b/0002-Install-both-binaries-and-use-libdir.patch @@ -1,4 +1,4 @@ -From 7f409cba5389bba6bb10f9a0f05cdf68c4a39338 Mon Sep 17 00:00:00 2001 +From 62ddf8499747fb1e366477d666c0634ad50039a9 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 Subject: [PATCH 2/2] Install both binaries and use libdir. @@ -14,7 +14,7 @@ Signed-off-by: Stephen Gallagher sgallagh@redhat.com 2 files changed, 16 insertions(+), 12 deletions(-)
diff --git a/configure.py b/configure.py -index 9327d6e5f5da064b4476adcc38dfa170ad6c16a2..3c54f419e34cb9f06bb32bc318be2de3cefc4546 100755 +index 6efb98c2316f089f3167e486282593245373af3f..a6d2ec939e4480dfae703f3978067537abf9f0f0 100755 --- a/configure.py +++ b/configure.py @@ -721,10 +721,16 @@ parser.add_argument('--shared', @@ -87,5 +87,5 @@ index 41cc1cbc60a9480cc08df3aa0ebe582c2becc3a2..11208f9e7166ab60da46d5ace2257c23
# behave similarly for systemtap -- -2.32.0 +2.33.0
diff --git a/nodejs.spec b/nodejs.spec index e672779..5420f35 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -5,7 +5,7 @@ %define _lto_cflags %{nil}
# == Master Relase == -# This is used by both the nodejs package and the npm subpackage thar +# This is used by both the nodejs package and the npm subpackage that # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. %global baserelease 1 @@ -19,8 +19,8 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 16 -%global nodejs_minor 10 -%global nodejs_patch 0 +%global nodejs_minor 11 +%global nodejs_patch 1 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 93 @@ -34,8 +34,8 @@ # Epoch is set to ensure clean upgrades from the old v8 package %global v8_epoch 2 %global v8_major 9 -%global v8_minor 3 -%global v8_build 345 +%global v8_minor 4 +%global v8_build 146 %global v8_patch 19 %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} %global v8_release %{nodejs_epoch}.%{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release} @@ -50,7 +50,7 @@ # llhttp - from deps/llhttp/include/llhttp.h %global llhttp_major 6 %global llhttp_minor 0 -%global llhttp_patch 2 +%global llhttp_patch 4 %global llhttp_version %{llhttp_major}.%{llhttp_minor}.%{llhttp_patch}
# libuv - from deps/uv/include/uv/version.h @@ -61,8 +61,8 @@
# nghttp2 - from deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h %global nghttp2_major 1 -%global nghttp2_minor 42 -%global nghttp2_patch 0 +%global nghttp2_minor 45 +%global nghttp2_patch 1 %global nghttp2_version %{nghttp2_major}.%{nghttp2_minor}.%{nghttp2_patch}
# ICU - from tools/icu/current_ver.dep @@ -88,11 +88,17 @@
# npm - from deps/npm/package.json %global npm_epoch 1 -%global npm_major 7 -%global npm_minor 24 +%global npm_major 8 +%global npm_minor 0 %global npm_patch 0 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch}
+# In order to avoid needing to keep incrementing the release version for the +# main package forever, we will just construct one for npm that is guaranteed +# to increment safely. Changing this can only be done during an update when the +# base npm version number is increasing. +%global npm_release %{nodejs_epoch}.%{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release} + # uvwasi - from deps/uvwasi/include/uvwasi.h %global uvwasi_major 0 %global uvwasi_minor 0 @@ -105,13 +111,6 @@ %global histogram_patch 7 %global histogram_version %{histogram_major}.%{histogram_minor}.%{histogram_patch}
-# In order to avoid needing to keep incrementing the release version for the -# main package forever, we will just construct one for npm that is guaranteed -# to increment safely. Changing this can only be done during an update when the -# base npm version number is increasing. -%global npm_release %{nodejs_epoch}.%{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release} - - # Node.js 16.9.1 and later comes with an experimental package management tool %global corepack_version 0.9.0
@@ -155,6 +154,7 @@ BuildRequires: zlib-devel BuildRequires: brotli-devel BuildRequires: gcc >= 6.3.0 BuildRequires: gcc-c++ >= 6.3.0 +BuildRequires: jq # needed to generate bundled provides for npm dependencies # https://src.fedoraproject.org/rpms/nodejs/pull-request/2 # https://pagure.io/nodejs-packaging/pull-request/10 @@ -561,7 +561,7 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require( LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require("assert").equal(require("punycode").version, '%{punycode_version}')"
# Ensure we have npm and that the version matches -NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{_prefix}/lib/node_modules/npm/node_modules LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require("assert").equal(require("npm").version, '%{npm_version}')" +LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/npm version --json |jq '. | select(.npm | contains("7.24.0"))'
# Make sure i18n support is working NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{_prefix}/lib/node_modules/npm/node_modules LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node --icu-data-dir=%{buildroot}%{icudatadir} %{SOURCE2} @@ -673,6 +673,11 @@ end
%changelog +* Wed Oct 13 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.11.1-1 +- Update to 16.11.1 +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... + * Thu Sep 23 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.10.0-1 - Update to 16.10.0 - https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... diff --git a/sources b/sources index 1741e8d..96a0da4 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v16.10.0-stripped.tar.gz) = db3e99cd64dc5879be342603affb6b31f674deb7b5e37b08c482d93a862c19c2eb929c20ac5636ad19aeec60693c599466c530f911d48da6e8f4cac5d6c81fe4 +SHA512 (node-v16.11.1-stripped.tar.gz) = 28bc889637ac8b15b80002b11027ee02d20839ac2262019d6389816221bdf78107a20e51ae439efbb023b3d5b46c183052805b2de53bebee7aa52a66f2040168 SHA512 (icu4c-69_1-src.tgz) = d4aeb781715144ea6e3c6b98df5bbe0490bfa3175221a1d667f3e6851b7bd4a638fa4a37d4a921ccb31f02b5d15a6dded9464d98051964a86f7b1cde0ff0aab7
commit 99c49fc16fe08b4fecd657fe7762a285aea9f7bf Author: Stephen Gallagher sgallagh@redhat.com Date: Thu Sep 23 16:23:19 2021 -0400
Drop unintended ccache usage
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index fba1484..e672779 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -375,11 +375,8 @@ rm -rf tools/inspector_protocol/jinja2 %global optflags %(echo %{optflags} | sed 's/-g /-g1 /') %endif
-#export CC='%{__cc}' -#export CXX='%{__cxx}' - -export CC='ccache gcc' -export CXX='ccache g++' +export CC='%{__cc}' +export CXX='%{__cxx}'
# build with debugging symbols and add defines from libuv (#892601) # Node's v8 breaks with GCC 6 because of incorrect usage of methods on
commit e13a2ee5560acaa2b18a2733fd7fe47587990c82 Author: Stephen Gallagher sgallagh@redhat.com Date: Thu Sep 23 16:16:56 2021 -0400
Update to 16.10.0
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index 3b9ad1d..fc756b0 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,4 +1,4 @@ -From 2c7f9fbe4a30ef6e06d4edf5603a638e1775567a Mon Sep 17 00:00:00 2001 +From b67fd1cbe8be07f4f3c2eb2cfa6df4cd78ab6e70 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Fri, 17 Apr 2020 12:59:44 +0200 Subject: [PATCH 1/2] Disable running gyp on shared deps @@ -8,7 +8,7 @@ Subject: [PATCH 1/2] Disable running gyp on shared deps 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile -index cc0539d98e8ab985acf75cd3714d165fc60c34c6..079823ad619ce1b859be26f283af6ac3ee4397e2 100644 +index baae6a3b46bd2680ede8f18166657d3ca6b27027..6b62d40a2ce479e7155a2f23253013b46f11b8b8 100644 --- a/Makefile +++ b/Makefile @@ -142,11 +142,11 @@ endif diff --git a/0002-Install-both-binaries-and-use-libdir.patch b/0002-Install-both-binaries-and-use-libdir.patch index a112320..533c437 100644 --- a/0002-Install-both-binaries-and-use-libdir.patch +++ b/0002-Install-both-binaries-and-use-libdir.patch @@ -1,4 +1,4 @@ -From c5cf0a60bc07de8fa7a23f98c242a218094a6c9c Mon Sep 17 00:00:00 2001 +From 7f409cba5389bba6bb10f9a0f05cdf68c4a39338 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 Subject: [PATCH 2/2] Install both binaries and use libdir. diff --git a/nodejs.spec b/nodejs.spec index d3b86ac..fba1484 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 4 +%global baserelease 1
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -19,8 +19,8 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 16 -%global nodejs_minor 9 -%global nodejs_patch 1 +%global nodejs_minor 10 +%global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 93 @@ -36,7 +36,7 @@ %global v8_major 9 %global v8_minor 3 %global v8_build 345 -%global v8_patch 16 +%global v8_patch 19 %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} %global v8_release %{nodejs_epoch}.%{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release}
@@ -89,8 +89,8 @@ # npm - from deps/npm/package.json %global npm_epoch 1 %global npm_major 7 -%global npm_minor 21 -%global npm_patch 1 +%global npm_minor 24 +%global npm_patch 0 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch}
# uvwasi - from deps/uvwasi/include/uvwasi.h @@ -375,8 +375,11 @@ rm -rf tools/inspector_protocol/jinja2 %global optflags %(echo %{optflags} | sed 's/-g /-g1 /') %endif
-export CC='%{__cc}' -export CXX='%{__cxx}' +#export CC='%{__cc}' +#export CXX='%{__cxx}' + +export CC='ccache gcc' +export CXX='ccache g++'
# build with debugging symbols and add defines from libuv (#892601) # Node's v8 breaks with GCC 6 because of incorrect usage of methods on @@ -673,6 +676,10 @@ end
%changelog +* Thu Sep 23 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.10.0-1 +- Update to 16.10.0 +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... + * Tue Sep 14 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.9.1-4 - Correct the bad merge of corepack fix
diff --git a/sources b/sources index 0fea247..1741e8d 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v16.9.1-stripped.tar.gz) = aba020f272d351c0dc5c54fdd8db7a8cf07965d1af2ac1b77879f7dc1736848820648d4d75b6ded4eb3cb51e2f5d6314cbdb31d9a62bbbdc1f43dc1efa7521d5 +SHA512 (node-v16.10.0-stripped.tar.gz) = db3e99cd64dc5879be342603affb6b31f674deb7b5e37b08c482d93a862c19c2eb929c20ac5636ad19aeec60693c599466c530f911d48da6e8f4cac5d6c81fe4 SHA512 (icu4c-69_1-src.tgz) = d4aeb781715144ea6e3c6b98df5bbe0490bfa3175221a1d667f3e6851b7bd4a638fa4a37d4a921ccb31f02b5d15a6dded9464d98051964a86f7b1cde0ff0aab7
commit 0787dcc5e4a0ed51e59cdd9bee534d0ec4e3d23d Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Sep 14 13:25:22 2021 -0400
Correct the bad merge of corepack fix
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index e3d81e5..d3b86ac 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 3 +%global baserelease 4
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -533,6 +533,11 @@ find %{buildroot}%{_prefix}/lib/node_modules/npm \ # The above command is a little overzealous. Add a few permissions back. chmod 0755 %{buildroot}%{_prefix}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js
+# Corepack contains a number of executable"shims", including some for Windows +# PowerShell. Drop the executable bit for those so we don't pick up an +# automatic dependency on /usr/bin/pwsh that we cannot satisfy. +chmod -x %{buildroot}%{_prefix}/lib/node_modules/corepack/shims/*.ps1 + # Drop the NPM default configuration in place mkdir -p %{buildroot}%{_sysconfdir} cp %{SOURCE1} %{buildroot}%{_sysconfdir}/npmrc @@ -668,6 +673,9 @@ end
%changelog +* Tue Sep 14 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.9.1-4 +- Correct the bad merge of corepack fix + * Tue Sep 14 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.9.1-3 - Drop auto-dependency on PowerShell introduced by corepack
commit 01e00d5acc7066fb62c73511fcf4ab537f574001 Merge: e43df00 8d2c8a7 Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Sep 14 16:44:20 2021 -0400
Merge branch '16' into rawhide
diff --cc nodejs.spec index 7b23945,98e668f..e3d81e5 --- a/nodejs.spec +++ b/nodejs.spec @@@ -8,7 -8,7 +8,7 @@@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. --%global baserelease 2 ++%global baserelease 3
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@@ -668,9 -673,9 +668,12 @@@ en
%changelog -* Tue Sep 14 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.9.1-2 ++* Tue Sep 14 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.9.1-3 + - Drop auto-dependency on PowerShell introduced by corepack + +* Tue Sep 14 2021 Sahana Prasad sahana@redhat.com - 1:16.9.1-2 +- Rebuilt with OpenSSL 3.0.0 + * Mon Sep 13 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.9.1-1 - Update to 16.9.1 - Add experimental 'corepack' tool
commit 8d2c8a7748b3b60748becccaddd136e54b64459b Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Sep 14 13:25:22 2021 -0400
Drop auto-dependency on PowerShell introduced by corepack
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 4a862b7..98e668f 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 1 +%global baserelease 2
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -533,6 +533,11 @@ find %{buildroot}%{_prefix}/lib/node_modules/npm \ # The above command is a little overzealous. Add a few permissions back. chmod 0755 %{buildroot}%{_prefix}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js
+# Corepack contains a number of executable"shims", including some for Windows +# PowerShell. Drop the executable bit for those so we don't pick up an +# automatic dependency on /usr/bin/pwsh that we cannot satisfy. +chmod -x %{buildroot}%{_prefix}/lib/node_modules/corepack/shims/*.ps1 + # Drop the NPM default configuration in place mkdir -p %{buildroot}%{_sysconfdir} cp %{SOURCE1} %{buildroot}%{_sysconfdir}/npmrc @@ -668,6 +673,9 @@ end
%changelog +* Tue Sep 14 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.9.1-2 +- Drop auto-dependency on PowerShell introduced by corepack + * Mon Sep 13 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.9.1-1 - Update to 16.9.1 - Add experimental 'corepack' tool
commit e43df0067aa21caa8889591dcdcf4c58ec923559 Author: Sahana Prasad sahana@redhat.com Date: Tue Sep 14 19:09:14 2021 +0200
Rebuilt with OpenSSL 3.0.0
diff --git a/nodejs.spec b/nodejs.spec index 4a862b7..7b23945 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 1 +%global baserelease 2
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -668,6 +668,9 @@ end
%changelog +* Tue Sep 14 2021 Sahana Prasad sahana@redhat.com - 1:16.9.1-2 +- Rebuilt with OpenSSL 3.0.0 + * Mon Sep 13 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.9.1-1 - Update to 16.9.1 - Add experimental 'corepack' tool
commit 97563f52cd138445f5d123d4cc8bb7aa15c1007a Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Sep 13 17:05:10 2021 -0400
Update to 16.9.1
Add experimental 'corepack' tool https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1...
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index c4eeec5..3b9ad1d 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,4 +1,4 @@ -From 9cb78e590f42d3fea0234912558fdd3902d799ba Mon Sep 17 00:00:00 2001 +From 2c7f9fbe4a30ef6e06d4edf5603a638e1775567a Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Fri, 17 Apr 2020 12:59:44 +0200 Subject: [PATCH 1/2] Disable running gyp on shared deps @@ -8,7 +8,7 @@ Subject: [PATCH 1/2] Disable running gyp on shared deps 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile -index 609d0614419f86a4fef6171f23ee45830d3ef324..a7ecbce37008f0e7399a26348fe7bed73c3d7516 100644 +index cc0539d98e8ab985acf75cd3714d165fc60c34c6..079823ad619ce1b859be26f283af6ac3ee4397e2 100644 --- a/Makefile +++ b/Makefile @@ -142,11 +142,11 @@ endif @@ -25,5 +25,5 @@ index 609d0614419f86a4fef6171f23ee45830d3ef324..a7ecbce37008f0e7399a26348fe7bed7
# node_version.h is listed because the N-API version is taken from there -- -2.31.1 +2.32.0
diff --git a/0002-Install-both-binaries-and-use-libdir.patch b/0002-Install-both-binaries-and-use-libdir.patch index d1ec985..a112320 100644 --- a/0002-Install-both-binaries-and-use-libdir.patch +++ b/0002-Install-both-binaries-and-use-libdir.patch @@ -1,4 +1,4 @@ -From c93114b805d4dd5860a5bc7dfd6a0a140444aee7 Mon Sep 17 00:00:00 2001 +From c5cf0a60bc07de8fa7a23f98c242a218094a6c9c Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 Subject: [PATCH 2/2] Install both binaries and use libdir. @@ -47,10 +47,10 @@ index 9327d6e5f5da064b4476adcc38dfa170ad6c16a2..3c54f419e34cb9f06bb32bc318be2de3 shlib_suffix = 'so' elif sys.platform == 'darwin': diff --git a/tools/install.py b/tools/install.py -index 24cf51e73199e60b4c24700e1074fe9bd0a399e6..cce482738804a563b5701ae25039b3d72b0aca73 100755 +index 41cc1cbc60a9480cc08df3aa0ebe582c2becc3a2..11208f9e7166ab60da46d5ace2257c239a7e9263 100755 --- a/tools/install.py +++ b/tools/install.py -@@ -119,26 +119,23 @@ def subdir_files(path, dest, action): +@@ -128,26 +128,23 @@ def subdir_files(path, dest, action): for subdir, files_in_path in ret.items(): action(files_in_path, subdir + '/')
@@ -87,5 +87,5 @@ index 24cf51e73199e60b4c24700e1074fe9bd0a399e6..cce482738804a563b5701ae25039b3d7
# behave similarly for systemtap -- -2.31.1 +2.32.0
diff --git a/nodejs-tarball.sh b/nodejs-tarball.sh index f5b042b..11fd006 100755 --- a/nodejs-tarball.sh +++ b/nodejs-tarball.sh @@ -111,7 +111,10 @@ 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 +rm -rf node-v${version}.tar.gz \ + node-v${version}-stripped.tar.gz \ + node-v${version}/ \ + SHASUMS256.txt wget http://nodejs.org/dist/v$%7Bversion%7D/node-v$%7Bversion%7D.tar.gz \ http://nodejs.org/dist/v$%7Bversion%7D/SHASUMS256.txt sha256sum -c SHASUMS256.txt --ignore-missing @@ -189,6 +192,10 @@ echo "npm" echo "=========================" grep ""version":" node-v${version}/deps/npm/package.json echo +echo "corepack" +echo "=========================" +grep ""version":" node-v${version}/deps/corepack/package.json +echo echo "Make sure these versions match what is in the RPM spec file"
rm -rf node-v${version} diff --git a/nodejs.spec b/nodejs.spec index e77bc20..4a862b7 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -19,8 +19,8 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 16 -%global nodejs_minor 8 -%global nodejs_patch 0 +%global nodejs_minor 9 +%global nodejs_patch 1 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 93 @@ -34,11 +34,9 @@ # Epoch is set to ensure clean upgrades from the old v8 package %global v8_epoch 2 %global v8_major 9 -%global v8_minor 2 -%global v8_build 230 -%global v8_patch 21 -# V8 presently breaks ABI at least every x.y release while never bumping SONAME -%global v8_abi %{v8_major}.%{v8_minor} +%global v8_minor 3 +%global v8_build 345 +%global v8_patch 16 %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} %global v8_release %{nodejs_epoch}.%{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release}
@@ -92,7 +90,7 @@ %global npm_epoch 1 %global npm_major 7 %global npm_minor 21 -%global npm_patch 0 +%global npm_patch 1 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch}
# uvwasi - from deps/uvwasi/include/uvwasi.h @@ -114,6 +112,9 @@ %global npm_release %{nodejs_epoch}.%{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release}
+# Node.js 16.9.1 and later comes with an experimental package management tool +%global corepack_version 0.9.0 + Name: nodejs Epoch: %{nodejs_epoch} Version: %{nodejs_version} @@ -191,8 +192,6 @@ Recommends: nodejs-full-i18n%{?_isa} = %{nodejs_epoch}:%{version}-%{release} # break when binary compatibility is broken Provides: nodejs(abi) = %{nodejs_abi} Provides: nodejs(abi%{nodejs_major}) = %{nodejs_abi} -Provides: nodejs(v8-abi) = %{v8_abi} -Provides: nodejs(v8-abi%{v8_major}) = %{v8_abi}
# this corresponds to the "engine" requirement in package.json Provides: nodejs(engine) = %{nodejs_version} @@ -235,6 +234,7 @@ Provides: bundled(icu) = %{icu_version} # or there's no option to built it as a shared dependency, so we bundle them Provides: bundled(uvwasi) = %{uvwasi_version} Provides: bundled(histogram) = %{histogram_version} +Provides: bundled(corepack) = %{corepack_version}
%if 0%{?fedora} # Make sure to pull in the appropriate packaging macros when building RPMs @@ -487,7 +487,6 @@ install -Dpm0644 %{SOURCE7} %{buildroot}%{_rpmconfigdir}/fileattrs/nodejs_native cat << EOF > %{buildroot}%{_rpmconfigdir}/nodejs_native.req #!/bin/sh echo 'nodejs(abi%{nodejs_major}) >= %nodejs_abi' -echo 'nodejs(v8-abi%{v8_major}) >= %v8_abi' EOF chmod 0755 %{buildroot}%{_rpmconfigdir}/nodejs_native.req
@@ -589,6 +588,10 @@ end %dir %{_datadir}/systemtap/tapset %{_datadir}/systemtap/tapset/node.stp
+# corepack +%{_bindir}/corepack +%{_prefix}/lib/node_modules/corepack + %if %{with bootstrap} # no dtrace %else @@ -665,6 +668,12 @@ end
%changelog +* Mon Sep 13 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.9.1-1 +- Update to 16.9.1 +- Add experimental 'corepack' tool +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... + * Tue Aug 31 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.8.0-1 - Update to 16.8.0 - https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... diff --git a/sources b/sources index c179b0b..0fea247 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v16.8.0-stripped.tar.gz) = f785d7552548dd6c6514c83467eb197fccba87aee2dda154f631b89dc4dab22674b51450d784e3a7cf239906e951e185db4dcd51ad92a9d4b87a9449c9e4103b +SHA512 (node-v16.9.1-stripped.tar.gz) = aba020f272d351c0dc5c54fdd8db7a8cf07965d1af2ac1b77879f7dc1736848820648d4d75b6ded4eb3cb51e2f5d6314cbdb31d9a62bbbdc1f43dc1efa7521d5 SHA512 (icu4c-69_1-src.tgz) = d4aeb781715144ea6e3c6b98df5bbe0490bfa3175221a1d667f3e6851b7bd4a638fa4a37d4a921ccb31f02b5d15a6dded9464d98051964a86f7b1cde0ff0aab7
commit d4c00004d5d0898218f205f60065294d26ad2c53 Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Aug 31 13:57:07 2021 -0400
Update to 16.8.0
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index b2c21a1..c4eeec5 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,4 +1,4 @@ -From 88f468c012528efc5b75587ed543a9e78e336a16 Mon Sep 17 00:00:00 2001 +From 9cb78e590f42d3fea0234912558fdd3902d799ba Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Fri, 17 Apr 2020 12:59:44 +0200 Subject: [PATCH 1/2] Disable running gyp on shared deps @@ -8,7 +8,7 @@ Subject: [PATCH 1/2] Disable running gyp on shared deps 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile -index ec4c774748cd9163143bcbb79c9af78148fada4f..45739d94c20d6afc22f210f3b4605e656f06e4e1 100644 +index 609d0614419f86a4fef6171f23ee45830d3ef324..a7ecbce37008f0e7399a26348fe7bed73c3d7516 100644 --- a/Makefile +++ b/Makefile @@ -142,11 +142,11 @@ endif diff --git a/0002-Install-both-binaries-and-use-libdir.patch b/0002-Install-both-binaries-and-use-libdir.patch index 032e047..d1ec985 100644 --- a/0002-Install-both-binaries-and-use-libdir.patch +++ b/0002-Install-both-binaries-and-use-libdir.patch @@ -1,4 +1,4 @@ -From 67118bf5edf003ac4415ec25ecbdc0a67b149fc2 Mon Sep 17 00:00:00 2001 +From c93114b805d4dd5860a5bc7dfd6a0a140444aee7 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 Subject: [PATCH 2/2] Install both binaries and use libdir. diff --git a/nodejs.spec b/nodejs.spec index 035ea51..e77bc20 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -19,8 +19,8 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 16 -%global nodejs_minor 6 -%global nodejs_patch 2 +%global nodejs_minor 8 +%global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 93 @@ -57,7 +57,7 @@
# libuv - from deps/uv/include/uv/version.h %global libuv_major 1 -%global libuv_minor 41 +%global libuv_minor 42 %global libuv_patch 0 %global libuv_version %{libuv_major}.%{libuv_minor}.%{libuv_patch}
@@ -91,8 +91,8 @@ # npm - from deps/npm/package.json %global npm_epoch 1 %global npm_major 7 -%global npm_minor 20 -%global npm_patch 3 +%global npm_minor 21 +%global npm_patch 0 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch}
# uvwasi - from deps/uvwasi/include/uvwasi.h @@ -665,6 +665,11 @@ end
%changelog +* Tue Aug 31 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.8.0-1 +- Update to 16.8.0 +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... + * Wed Aug 11 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.6.2-1 - Update to 16.6.2 - https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... diff --git a/sources b/sources index 9a98cc3..c179b0b 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v16.6.2-stripped.tar.gz) = 97210fe4a12f444392a034c707f506506cf4a42c340b9df9240707a875f5a521cffad2be2ad2792a0feca4c47c568b627160adebfaffbbc8e428e824c4281732 +SHA512 (node-v16.8.0-stripped.tar.gz) = f785d7552548dd6c6514c83467eb197fccba87aee2dda154f631b89dc4dab22674b51450d784e3a7cf239906e951e185db4dcd51ad92a9d4b87a9449c9e4103b SHA512 (icu4c-69_1-src.tgz) = d4aeb781715144ea6e3c6b98df5bbe0490bfa3175221a1d667f3e6851b7bd4a638fa4a37d4a921ccb31f02b5d15a6dded9464d98051964a86f7b1cde0ff0aab7
commit cdfd803960cb5128e9eb4115b31119b5e50bd451 Author: Stephen Gallagher sgallagh@redhat.com Date: Wed Aug 11 16:46:26 2021 -0400
Fix package.cfg
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/package.cfg b/package.cfg index 311514e..618b18e 100644 --- a/package.cfg +++ b/package.cfg @@ -1,2 +1,2 @@ [koji] -targets = rawhide f36 +targets = rawhide f35
commit 41ef8447a85f98f2e573beefa17ab4701206f45a Author: Stephen Gallagher sgallagh@redhat.com Date: Wed Aug 11 16:36:30 2021 -0400
Update to 16.6.2
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1...
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index bf6aa78..035ea51 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -20,7 +20,7 @@ %global nodejs_epoch 1 %global nodejs_major 16 %global nodejs_minor 6 -%global nodejs_patch 1 +%global nodejs_patch 2 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 93 @@ -46,7 +46,7 @@ # https://github.com/nodejs/node/pull/9332 %global c_ares_major 1 %global c_ares_minor 17 -%global c_ares_patch 1 +%global c_ares_patch 2 %global c_ares_version %{c_ares_major}.%{c_ares_minor}.%{c_ares_patch}
# llhttp - from deps/llhttp/include/llhttp.h @@ -91,8 +91,8 @@ # npm - from deps/npm/package.json %global npm_epoch 1 %global npm_major 7 -%global npm_minor 19 -%global npm_patch 1 +%global npm_minor 20 +%global npm_patch 3 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch}
# uvwasi - from deps/uvwasi/include/uvwasi.h @@ -423,7 +423,7 @@ export LDFLAGS="%{build_ldflags}" --openssl-use-def-ca-store %endif
-make BUILDTYPE=Release %{?_smp_mflags} +%make_build BUILDTYPE=Release
# Extract the ICU data and convert it to the appropriate endianness pushd deps/ @@ -665,6 +665,10 @@ end
%changelog +* Wed Aug 11 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.6.2-1 +- Update to 16.6.2 +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... + * Tue Aug 03 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.6.1-1 - Update to 16.6.1 - https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... diff --git a/package.cfg b/package.cfg index ec98f0b..311514e 100644 --- a/package.cfg +++ b/package.cfg @@ -1,2 +1,2 @@ [koji] -targets = rawhide +targets = rawhide f36 diff --git a/sources b/sources index 7247690..9a98cc3 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v16.6.1-stripped.tar.gz) = cc56b01cb4de9fa45375b4bd3c036c3d6a38016de8bf79d93764261d816c15eb1810191db78ca4e1127525bdf78b1be1d0f965773c60167f1446946cf99c2f3b +SHA512 (node-v16.6.2-stripped.tar.gz) = 97210fe4a12f444392a034c707f506506cf4a42c340b9df9240707a875f5a521cffad2be2ad2792a0feca4c47c568b627160adebfaffbbc8e428e824c4281732 SHA512 (icu4c-69_1-src.tgz) = d4aeb781715144ea6e3c6b98df5bbe0490bfa3175221a1d667f3e6851b7bd4a638fa4a37d4a921ccb31f02b5d15a6dded9464d98051964a86f7b1cde0ff0aab7
commit a659677e3aa66b7c3ce700382cd671991bdcd27a Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Aug 3 11:13:27 2021 -0400
Update to 16.6.1
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... Fixes v8 regression introduced in 16.6.0
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index 24dcb4f..b2c21a1 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,4 +1,4 @@ -From 1f9fbdd011f93d9b7818fa4c5e0fd366a89613d0 Mon Sep 17 00:00:00 2001 +From 88f468c012528efc5b75587ed543a9e78e336a16 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Fri, 17 Apr 2020 12:59:44 +0200 Subject: [PATCH 1/2] Disable running gyp on shared deps @@ -8,7 +8,7 @@ Subject: [PATCH 1/2] Disable running gyp on shared deps 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile -index 81907c9220f2027e8d25f985de585fd2c2e7bac7..d2023f39eb61e9b777e0d1d0162d21a6453a6eb1 100644 +index ec4c774748cd9163143bcbb79c9af78148fada4f..45739d94c20d6afc22f210f3b4605e656f06e4e1 100644 --- a/Makefile +++ b/Makefile @@ -142,11 +142,11 @@ endif diff --git a/0002-Install-both-binaries-and-use-libdir.patch b/0002-Install-both-binaries-and-use-libdir.patch index 0d5a1d8..032e047 100644 --- a/0002-Install-both-binaries-and-use-libdir.patch +++ b/0002-Install-both-binaries-and-use-libdir.patch @@ -1,4 +1,4 @@ -From fae25ad98f1aaad77e31a59405730ebbc53eb5c9 Mon Sep 17 00:00:00 2001 +From 67118bf5edf003ac4415ec25ecbdc0a67b149fc2 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 Subject: [PATCH 2/2] Install both binaries and use libdir. @@ -14,7 +14,7 @@ Signed-off-by: Stephen Gallagher sgallagh@redhat.com 2 files changed, 16 insertions(+), 12 deletions(-)
diff --git a/configure.py b/configure.py -index a4c4d26987cb10297662258fab957d8d89b2f9f9..7738a72ffe82034ce109b9eb398f09493b8cd5f5 100755 +index 9327d6e5f5da064b4476adcc38dfa170ad6c16a2..3c54f419e34cb9f06bb32bc318be2de3cefc4546 100755 --- a/configure.py +++ b/configure.py @@ -721,10 +721,16 @@ parser.add_argument('--shared', diff --git a/nodejs.spec b/nodejs.spec index dae93fb..bf6aa78 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -20,7 +20,7 @@ %global nodejs_epoch 1 %global nodejs_major 16 %global nodejs_minor 6 -%global nodejs_patch 0 +%global nodejs_patch 1 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 93 @@ -665,6 +665,11 @@ end
%changelog +* Tue Aug 03 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.6.1-1 +- Update to 16.6.1 +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... +- Fixes v8 regression introduced in 16.6.0 + * Mon Aug 02 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.6.0-1 - Update to 16.6.0 - https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... diff --git a/sources b/sources index 01d904a..7247690 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v16.6.0-stripped.tar.gz) = 33f318257d0cc1ac13625b5f90c3215d345023aefee0a975fbb24edac8e6192d0db5fc614a68d2c582b4bbdd7eea7efff064057624cf9a759129734c1bc2bf32 +SHA512 (node-v16.6.1-stripped.tar.gz) = cc56b01cb4de9fa45375b4bd3c036c3d6a38016de8bf79d93764261d816c15eb1810191db78ca4e1127525bdf78b1be1d0f965773c60167f1446946cf99c2f3b SHA512 (icu4c-69_1-src.tgz) = d4aeb781715144ea6e3c6b98df5bbe0490bfa3175221a1d667f3e6851b7bd4a638fa4a37d4a921ccb31f02b5d15a6dded9464d98051964a86f7b1cde0ff0aab7
commit 72af3e78094232bcdc5f0948a883cfd318a98956 Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Aug 2 08:59:07 2021 -0400
Update to 16.6.0 https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1...
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index 5fae389..24dcb4f 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,14 +1,14 @@ -From dcc5e9723343bb540ed678e6e3cb93d9a6f00391 Mon Sep 17 00:00:00 2001 +From 1f9fbdd011f93d9b7818fa4c5e0fd366a89613d0 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Fri, 17 Apr 2020 12:59:44 +0200 -Subject: [PATCH 1/3] Disable running gyp on shared deps +Subject: [PATCH 1/2] Disable running gyp on shared deps
--- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile -index 58260979e114588365ebb3ebd5331622440ecff4..9388260f5da5fa01f8881dea53caf849fc278d10 100644 +index 81907c9220f2027e8d25f985de585fd2c2e7bac7..d2023f39eb61e9b777e0d1d0162d21a6453a6eb1 100644 --- a/Makefile +++ b/Makefile @@ -142,11 +142,11 @@ endif diff --git a/0002-Install-both-binaries-and-use-libdir.patch b/0002-Install-both-binaries-and-use-libdir.patch index ae8774c..0d5a1d8 100644 --- a/0002-Install-both-binaries-and-use-libdir.patch +++ b/0002-Install-both-binaries-and-use-libdir.patch @@ -1,4 +1,4 @@ -From 75126d1a069e58e4fd659d411bdf9f60f9ae94fc Mon Sep 17 00:00:00 2001 +From fae25ad98f1aaad77e31a59405730ebbc53eb5c9 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 Subject: [PATCH 2/2] Install both binaries and use libdir. @@ -14,10 +14,10 @@ Signed-off-by: Stephen Gallagher sgallagh@redhat.com 2 files changed, 16 insertions(+), 12 deletions(-)
diff --git a/configure.py b/configure.py -index d69c52521d80fb3a24f79bcc4d4a364aceb6fa81..83274ac51613cfc3e37fa563aad19447a4028416 100755 +index a4c4d26987cb10297662258fab957d8d89b2f9f9..7738a72ffe82034ce109b9eb398f09493b8cd5f5 100755 --- a/configure.py +++ b/configure.py -@@ -720,10 +720,16 @@ parser.add_argument('--shared', +@@ -721,10 +721,16 @@ parser.add_argument('--shared', dest='shared', default=None, help='compile shared library for embedding node in another project. ' + @@ -34,7 +34,7 @@ index d69c52521d80fb3a24f79bcc4d4a364aceb6fa81..83274ac51613cfc3e37fa563aad19447 dest='without_v8_platform', default=False, help='do not initialize v8 platform during node.js startup. ' + -@@ -1307,10 +1313,11 @@ def configure_node(o): +@@ -1305,10 +1311,11 @@ def configure_node(o): o['variables']['debug_nghttp2'] = 'false'
o['variables']['node_no_browser_globals'] = b(options.no_browser_globals) diff --git a/nodejs.spec b/nodejs.spec index f8bacd1..dae93fb 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 2 +%global baserelease 1
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -19,7 +19,7 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 16 -%global nodejs_minor 5 +%global nodejs_minor 6 %global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h @@ -34,9 +34,9 @@ # Epoch is set to ensure clean upgrades from the old v8 package %global v8_epoch 2 %global v8_major 9 -%global v8_minor 1 -%global v8_build 269 -%global v8_patch 38 +%global v8_minor 2 +%global v8_build 230 +%global v8_patch 21 # V8 presently breaks ABI at least every x.y release while never bumping SONAME %global v8_abi %{v8_major}.%{v8_minor} %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} @@ -665,6 +665,10 @@ end
%changelog +* Mon Aug 02 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.6.0-1 +- Update to 16.6.0 +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... + * Thu Jul 22 2021 Fedora Release Engineering releng@fedoraproject.org - 1:16.5.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
diff --git a/sources b/sources index 81a2c8a..01d904a 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v16.5.0-stripped.tar.gz) = 9f370df93afaec7c5cc6cab08f667dfbaf0f0524a07816c5f823375d102226ca30e6f279bbfcf22fb3bd1b5fb37f7f6137b36c7e393724d2206d43f47db4faa8 +SHA512 (node-v16.6.0-stripped.tar.gz) = 33f318257d0cc1ac13625b5f90c3215d345023aefee0a975fbb24edac8e6192d0db5fc614a68d2c582b4bbdd7eea7efff064057624cf9a759129734c1bc2bf32 SHA512 (icu4c-69_1-src.tgz) = d4aeb781715144ea6e3c6b98df5bbe0490bfa3175221a1d667f3e6851b7bd4a638fa4a37d4a921ccb31f02b5d15a6dded9464d98051964a86f7b1cde0ff0aab7
commit 368b5190bc0369745f1ecb5c267358243e7700d2 Author: Fedora Release Engineering releng@fedoraproject.org Date: Thu Jul 22 16:12:25 2021 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering releng@fedoraproject.org
diff --git a/nodejs.spec b/nodejs.spec index 41cca8a..f8bacd1 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 1 +%global baserelease 2
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -665,6 +665,9 @@ end
%changelog +* Thu Jul 22 2021 Fedora Release Engineering releng@fedoraproject.org - 1:16.5.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Tue Jul 20 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.5.0-1 - Update to 16.5.0 - https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1...
commit 9bf4a2ac613c0c872610c722a75ffdfe7b02eef7 Merge: f11d379 9285d83 Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Jul 20 16:09:13 2021 -0400
Merge branch '16' into rawhide
commit 9285d83020fa0e3b496f93c241d6d074d38e053b Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Jul 20 16:08:17 2021 -0400
Update to 16.5.0
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1...
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0002-Install-both-binaries-and-use-libdir.patch b/0002-Install-both-binaries-and-use-libdir.patch index 676b6fe..ae8774c 100644 --- a/0002-Install-both-binaries-and-use-libdir.patch +++ b/0002-Install-both-binaries-and-use-libdir.patch @@ -1,7 +1,7 @@ -From 8506b9411c41dd525249f6b728fd9b91131e8c7c Mon Sep 17 00:00:00 2001 +From 75126d1a069e58e4fd659d411bdf9f60f9ae94fc Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 -Subject: [PATCH 2/3] Install both binaries and use libdir. +Subject: [PATCH 2/2] Install both binaries and use libdir.
This allows us to build with a shared library for other users while still providing the normal executable. @@ -14,7 +14,7 @@ Signed-off-by: Stephen Gallagher sgallagh@redhat.com 2 files changed, 16 insertions(+), 12 deletions(-)
diff --git a/configure.py b/configure.py -index 4bc790e2f24219fdd57d59cbf2359f51c02707c5..c3802868080920ef5306aef4d6d632ca88f6efcf 100755 +index d69c52521d80fb3a24f79bcc4d4a364aceb6fa81..83274ac51613cfc3e37fa563aad19447a4028416 100755 --- a/configure.py +++ b/configure.py @@ -720,10 +720,16 @@ parser.add_argument('--shared', @@ -34,7 +34,7 @@ index 4bc790e2f24219fdd57d59cbf2359f51c02707c5..c3802868080920ef5306aef4d6d632ca dest='without_v8_platform', default=False, help='do not initialize v8 platform during node.js startup. ' + -@@ -1300,10 +1306,11 @@ def configure_node(o): +@@ -1307,10 +1313,11 @@ def configure_node(o): o['variables']['debug_nghttp2'] = 'false'
o['variables']['node_no_browser_globals'] = b(options.no_browser_globals) @@ -47,7 +47,7 @@ index 4bc790e2f24219fdd57d59cbf2359f51c02707c5..c3802868080920ef5306aef4d6d632ca shlib_suffix = 'so' elif sys.platform == 'darwin': diff --git a/tools/install.py b/tools/install.py -index 045d406d84be301722f3de62abc448db84e751f8..b3ef4541999126c512e3811881388e0ec8d401c4 100755 +index 24cf51e73199e60b4c24700e1074fe9bd0a399e6..cce482738804a563b5701ae25039b3d72b0aca73 100755 --- a/tools/install.py +++ b/tools/install.py @@ -119,26 +119,23 @@ def subdir_files(path, dest, action): diff --git a/0003-Revert-build-include-minimal-V8-headers-in-distribut.patch b/0003-Revert-build-include-minimal-V8-headers-in-distribut.patch deleted file mode 100644 index 6a8be05..0000000 --- a/0003-Revert-build-include-minimal-V8-headers-in-distribut.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 804555d0bf0014393883df59c471b42ed11d1f9e Mon Sep 17 00:00:00 2001 -From: Stephen Gallagher sgallagh@redhat.com -Date: Fri, 2 Jul 2021 09:22:28 -0400 -Subject: [PATCH 3/3] Revert "build: include minimal V8 headers in - distribution" - -This reverts commit 38f32386c138073c6a020ce79085daea15e7b800. ---- - tools/install.py | 17 ++++++----------- - 1 file changed, 6 insertions(+), 11 deletions(-) - -diff --git a/tools/install.py b/tools/install.py -index b3ef4541999126c512e3811881388e0ec8d401c4..7c0b1ba999cdeacd3431b5334d650677754a9752 100755 ---- a/tools/install.py -+++ b/tools/install.py -@@ -152,21 +152,16 @@ def files(action): - if 'true' == variables.get('node_install_npm'): npm_files(action) - - headers(action) - - def headers(action): -- def wanted_v8_headers(files_arg, dest): -- v8_headers = [ -- 'deps/v8/include/cppgc/common.h', -- 'deps/v8/include/v8.h', -- 'deps/v8/include/v8-internal.h', -- 'deps/v8/include/v8-platform.h', -- 'deps/v8/include/v8-profiler.h', -- 'deps/v8/include/v8-version.h', -- 'deps/v8/include/v8config.h', -+ def ignore_inspector_headers(files_arg, dest): -+ inspector_headers = [ -+ 'deps/v8/include/v8-inspector.h', -+ 'deps/v8/include/v8-inspector-protocol.h' - ] -- files_arg = [name for name in files_arg if name in v8_headers] -+ files_arg = [name for name in files_arg if name not in inspector_headers] - action(files_arg, dest) - - action([ - 'common.gypi', - 'config.gypi', -@@ -182,11 +177,11 @@ def headers(action): - - # Add the expfile that is created on AIX - if sys.platform.startswith('aix'): - action(['out/Release/node.exp'], 'include/node/') - -- subdir_files('deps/v8/include', 'include/node/', wanted_v8_headers) -+ subdir_files('deps/v8/include', 'include/node/', ignore_inspector_headers) - - if 'false' == variables.get('node_shared_libuv'): - subdir_files('deps/uv/include', 'include/node/', action) - - if 'true' == variables.get('node_use_openssl') and \ --- -2.31.1 - diff --git a/nodejs.spec b/nodejs.spec index 449c8f6..41cca8a 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 2 +%global baserelease 1
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -19,8 +19,8 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 16 -%global nodejs_minor 4 -%global nodejs_patch 1 +%global nodejs_minor 5 +%global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 93 @@ -36,7 +36,7 @@ %global v8_major 9 %global v8_minor 1 %global v8_build 269 -%global v8_patch 36 +%global v8_patch 38 # V8 presently breaks ABI at least every x.y release while never bumping SONAME %global v8_abi %{v8_major}.%{v8_minor} %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} @@ -91,7 +91,7 @@ # npm - from deps/npm/package.json %global npm_epoch 1 %global npm_major 7 -%global npm_minor 18 +%global npm_minor 19 %global npm_patch 1 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch}
@@ -145,10 +145,6 @@ Patch1: 0001-Disable-running-gyp-on-shared-deps.patch # Patch to install both node and libnode.so, using the correct libdir Patch2: 0002-Install-both-binaries-and-use-libdir.patch
-# Upstream no longer ships all of the v8 headers, but Fedora has packages -# that require them. -Patch3: 0003-Revert-build-include-minimal-V8-headers-in-distribut.patch - BuildRequires: make BuildRequires: python3-devel BuildRequires: python3-setuptools @@ -669,6 +665,10 @@ end
%changelog +* Tue Jul 20 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.5.0-1 +- Update to 16.5.0 +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... + * Fri Jul 02 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.4.1-2 - Re-add support for v8 development headers
diff --git a/sources b/sources index 205b61b..81a2c8a 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v16.4.1-stripped.tar.gz) = 20e6537fef961ba7518f4cb26ffb584b6dbc8990cde0bef9b561382c381528940907301e0f1a47063cbc2e133c7a788ae97ea2b0518fcd93e990bfeeff56f011 +SHA512 (node-v16.5.0-stripped.tar.gz) = 9f370df93afaec7c5cc6cab08f667dfbaf0f0524a07816c5f823375d102226ca30e6f279bbfcf22fb3bd1b5fb37f7f6137b36c7e393724d2206d43f47db4faa8 SHA512 (icu4c-69_1-src.tgz) = d4aeb781715144ea6e3c6b98df5bbe0490bfa3175221a1d667f3e6851b7bd4a638fa4a37d4a921ccb31f02b5d15a6dded9464d98051964a86f7b1cde0ff0aab7
commit f11d3796814be2a7b88221ea9589811bbc22826d Merge: 198d86c 5e958a4 Author: Stephen Gallagher sgallagh@redhat.com Date: Fri Jul 2 09:27:07 2021 -0400
Merge branch '16' into rawhide
commit 5e958a40556eac24c47dfcc63e82613cb836c2c9 Author: Stephen Gallagher sgallagh@redhat.com Date: Fri Jul 2 09:25:27 2021 -0400
Re-add support for v8 development headers
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index bf7e87b..5fae389 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,7 +1,7 @@ From dcc5e9723343bb540ed678e6e3cb93d9a6f00391 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Fri, 17 Apr 2020 12:59:44 +0200 -Subject: [PATCH 1/2] Disable running gyp on shared deps +Subject: [PATCH 1/3] Disable running gyp on shared deps
--- Makefile | 2 +- diff --git a/0002-Install-both-binaries-and-use-libdir.patch b/0002-Install-both-binaries-and-use-libdir.patch index 153a988..676b6fe 100644 --- a/0002-Install-both-binaries-and-use-libdir.patch +++ b/0002-Install-both-binaries-and-use-libdir.patch @@ -1,7 +1,7 @@ From 8506b9411c41dd525249f6b728fd9b91131e8c7c Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 -Subject: [PATCH 2/2] Install both binaries and use libdir. +Subject: [PATCH 2/3] Install both binaries and use libdir.
This allows us to build with a shared library for other users while still providing the normal executable. diff --git a/0003-Revert-build-include-minimal-V8-headers-in-distribut.patch b/0003-Revert-build-include-minimal-V8-headers-in-distribut.patch new file mode 100644 index 0000000..6a8be05 --- /dev/null +++ b/0003-Revert-build-include-minimal-V8-headers-in-distribut.patch @@ -0,0 +1,58 @@ +From 804555d0bf0014393883df59c471b42ed11d1f9e Mon Sep 17 00:00:00 2001 +From: Stephen Gallagher sgallagh@redhat.com +Date: Fri, 2 Jul 2021 09:22:28 -0400 +Subject: [PATCH 3/3] Revert "build: include minimal V8 headers in + distribution" + +This reverts commit 38f32386c138073c6a020ce79085daea15e7b800. +--- + tools/install.py | 17 ++++++----------- + 1 file changed, 6 insertions(+), 11 deletions(-) + +diff --git a/tools/install.py b/tools/install.py +index b3ef4541999126c512e3811881388e0ec8d401c4..7c0b1ba999cdeacd3431b5334d650677754a9752 100755 +--- a/tools/install.py ++++ b/tools/install.py +@@ -152,21 +152,16 @@ def files(action): + if 'true' == variables.get('node_install_npm'): npm_files(action) + + headers(action) + + def headers(action): +- def wanted_v8_headers(files_arg, dest): +- v8_headers = [ +- 'deps/v8/include/cppgc/common.h', +- 'deps/v8/include/v8.h', +- 'deps/v8/include/v8-internal.h', +- 'deps/v8/include/v8-platform.h', +- 'deps/v8/include/v8-profiler.h', +- 'deps/v8/include/v8-version.h', +- 'deps/v8/include/v8config.h', ++ def ignore_inspector_headers(files_arg, dest): ++ inspector_headers = [ ++ 'deps/v8/include/v8-inspector.h', ++ 'deps/v8/include/v8-inspector-protocol.h' + ] +- files_arg = [name for name in files_arg if name in v8_headers] ++ files_arg = [name for name in files_arg if name not in inspector_headers] + action(files_arg, dest) + + action([ + 'common.gypi', + 'config.gypi', +@@ -182,11 +177,11 @@ def headers(action): + + # Add the expfile that is created on AIX + if sys.platform.startswith('aix'): + action(['out/Release/node.exp'], 'include/node/') + +- subdir_files('deps/v8/include', 'include/node/', wanted_v8_headers) ++ subdir_files('deps/v8/include', 'include/node/', ignore_inspector_headers) + + if 'false' == variables.get('node_shared_libuv'): + subdir_files('deps/uv/include', 'include/node/', action) + + if 'true' == variables.get('node_use_openssl') and \ +-- +2.31.1 + diff --git a/nodejs.spec b/nodejs.spec index cc64321..449c8f6 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 1 +%global baserelease 2
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -145,6 +145,10 @@ Patch1: 0001-Disable-running-gyp-on-shared-deps.patch # Patch to install both node and libnode.so, using the correct libdir Patch2: 0002-Install-both-binaries-and-use-libdir.patch
+# Upstream no longer ships all of the v8 headers, but Fedora has packages +# that require them. +Patch3: 0003-Revert-build-include-minimal-V8-headers-in-distribut.patch + BuildRequires: make BuildRequires: python3-devel BuildRequires: python3-setuptools @@ -665,11 +669,13 @@ end
%changelog +* Fri Jul 02 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.4.1-2 +- Re-add support for v8 development headers + * Thu Jul 01 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.4.1-1 - Update to 16.4.1 - https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1...
- * Wed Jun 23 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.4.0-1 - Update to 16.4.0 - https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1...
commit 198d86c5346500ba8cb90a9c9d9a66926513ed43 Merge: cba03ba 7b85cf7 Author: Stephen Gallagher sgallagh@redhat.com Date: Thu Jul 1 14:08:09 2021 -0400
Merge branch '16' into rawhide
commit 7b85cf7accdbb724015b9d2419bc9674b5c8009a Author: Stephen Gallagher sgallagh@redhat.com Date: Thu Jul 1 14:07:26 2021 -0400
Update to 16.4.1
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1...
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index 033f1df..bf7e87b 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,4 +1,4 @@ -From 081c89ebc1a3fd1796708f46e32154079a15cf27 Mon Sep 17 00:00:00 2001 +From dcc5e9723343bb540ed678e6e3cb93d9a6f00391 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Fri, 17 Apr 2020 12:59:44 +0200 Subject: [PATCH 1/2] Disable running gyp on shared deps diff --git a/0002-Install-both-binaries-and-use-libdir.patch b/0002-Install-both-binaries-and-use-libdir.patch index 124ea16..153a988 100644 --- a/0002-Install-both-binaries-and-use-libdir.patch +++ b/0002-Install-both-binaries-and-use-libdir.patch @@ -1,4 +1,4 @@ -From 862cef2e4f62cd747987b15d9832820da856b154 Mon Sep 17 00:00:00 2001 +From 8506b9411c41dd525249f6b728fd9b91131e8c7c Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 Subject: [PATCH 2/2] Install both binaries and use libdir. diff --git a/nodejs.spec b/nodejs.spec index f04d8c4..cc64321 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -20,7 +20,7 @@ %global nodejs_epoch 1 %global nodejs_major 16 %global nodejs_minor 4 -%global nodejs_patch 0 +%global nodejs_patch 1 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 93 @@ -665,6 +665,11 @@ end
%changelog +* Thu Jul 01 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.4.1-1 +- Update to 16.4.1 +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... + + * Wed Jun 23 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.4.0-1 - Update to 16.4.0 - https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... diff --git a/sources b/sources index 94b3bdb..205b61b 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v16.4.0-stripped.tar.gz) = 695ea82cb94e05f2105211acac5c1cb1b8dc11e999ae1a53be990f4b4af007f8e5654ec678a3e7b99a63330d1eaf4329a346283e4cb739e803f674c2c3c6eaba +SHA512 (node-v16.4.1-stripped.tar.gz) = 20e6537fef961ba7518f4cb26ffb584b6dbc8990cde0bef9b561382c381528940907301e0f1a47063cbc2e133c7a788ae97ea2b0518fcd93e990bfeeff56f011 SHA512 (icu4c-69_1-src.tgz) = d4aeb781715144ea6e3c6b98df5bbe0490bfa3175221a1d667f3e6851b7bd4a638fa4a37d4a921ccb31f02b5d15a6dded9464d98051964a86f7b1cde0ff0aab7
commit cba03baa0760ab71ea70769e3f9f7078b605297f Merge: 310ded1 86d13af Author: Stephen Gallagher sgallagh@redhat.com Date: Thu Jun 24 10:20:41 2021 -0400
Merge branch '16' into rawhide
commit 86d13afe9295f224df9a88c0b97fd02f7738a325 Author: Stephen Gallagher sgallagh@redhat.com Date: Thu Jun 24 10:15:22 2021 -0400
Use system version of jinja2 during build
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index c938a2c..f04d8c4 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -148,6 +148,7 @@ Patch2: 0002-Install-both-binaries-and-use-libdir.patch BuildRequires: make BuildRequires: python3-devel BuildRequires: python3-setuptools +BuildRequires: python3-jinja2 BuildRequires: python-unversioned-command BuildRequires: zlib-devel BuildRequires: brotli-devel @@ -357,6 +358,8 @@ The API documentation for the Node.js JavaScript runtime. # remove bundled dependencies that we aren't building rm -rf deps/zlib rm -rf deps/brotli +rm -rf deps/v8/third_party/jinja2 +rm -rf tools/inspector_protocol/jinja2
%build
commit 310ded126e058cfb2853f897a59424fed81fe62c Merge: 3d8af66 4057b49 Author: Stephen Gallagher sgallagh@redhat.com Date: Wed Jun 23 16:26:52 2021 -0400
Merge branch '16' into rawhide
commit 4057b49b1e36b4e6e533e1d732e170be4fa45a79 Author: Stephen Gallagher sgallagh@redhat.com Date: Wed Jun 23 16:24:47 2021 -0400
Update to 16.4.0
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1...
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index df53ce7..033f1df 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,4 +1,4 @@ -From da423176c1ec74b660de5687aec1b6c4bc274a08 Mon Sep 17 00:00:00 2001 +From 081c89ebc1a3fd1796708f46e32154079a15cf27 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Fri, 17 Apr 2020 12:59:44 +0200 Subject: [PATCH 1/2] Disable running gyp on shared deps @@ -8,10 +8,10 @@ Subject: [PATCH 1/2] Disable running gyp on shared deps 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile -index 939bba64575bff36be4e9225ea92627a75b04904..6c62c6a5169f16477bfc5ff19d2899d50b731603 100644 +index 58260979e114588365ebb3ebd5331622440ecff4..9388260f5da5fa01f8881dea53caf849fc278d10 100644 --- a/Makefile +++ b/Makefile -@@ -137,11 +137,11 @@ endif +@@ -142,11 +142,11 @@ endif .PHONY: test-code-cache with-code-cache test-code-cache: $(warning '$@' target is a noop) diff --git a/0002-Install-both-binaries-and-use-libdir.patch b/0002-Install-both-binaries-and-use-libdir.patch index 0ddb85a..124ea16 100644 --- a/0002-Install-both-binaries-and-use-libdir.patch +++ b/0002-Install-both-binaries-and-use-libdir.patch @@ -1,4 +1,4 @@ -From c483da788bde23870ba1115220d40ec911196d4c Mon Sep 17 00:00:00 2001 +From 862cef2e4f62cd747987b15d9832820da856b154 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 Subject: [PATCH 2/2] Install both binaries and use libdir. @@ -14,7 +14,7 @@ Signed-off-by: Stephen Gallagher sgallagh@redhat.com 2 files changed, 16 insertions(+), 12 deletions(-)
diff --git a/configure.py b/configure.py -index 05d43150524946fac12bf5786afbacd90122d4a7..4cd90ed78af7f6ec5e2e0d713ac1231c8862db5d 100755 +index 4bc790e2f24219fdd57d59cbf2359f51c02707c5..c3802868080920ef5306aef4d6d632ca88f6efcf 100755 --- a/configure.py +++ b/configure.py @@ -720,10 +720,16 @@ parser.add_argument('--shared', diff --git a/nodejs.spec b/nodejs.spec index 49f40a9..c938a2c 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -19,7 +19,7 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 16 -%global nodejs_minor 3 +%global nodejs_minor 4 %global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h @@ -34,9 +34,9 @@ # Epoch is set to ensure clean upgrades from the old v8 package %global v8_epoch 2 %global v8_major 9 -%global v8_minor 0 -%global v8_build 257 -%global v8_patch 25 +%global v8_minor 1 +%global v8_build 269 +%global v8_patch 36 # V8 presently breaks ABI at least every x.y release while never bumping SONAME %global v8_abi %{v8_major}.%{v8_minor} %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} @@ -91,7 +91,7 @@ # npm - from deps/npm/package.json %global npm_epoch 1 %global npm_major 7 -%global npm_minor 15 +%global npm_minor 18 %global npm_patch 1 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch}
@@ -662,6 +662,10 @@ end
%changelog +* Wed Jun 23 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.4.0-1 +- Update to 16.4.0 +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... + * Fri Jun 04 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.3.0-1 - Update to 16.3.0 - https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... diff --git a/sources b/sources index 5603a40..94b3bdb 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v16.3.0-stripped.tar.gz) = ae7acbae0e2569a5a37c68dfa3fa6e7e7ea820cf8c5efb4bd2264b0adbbf2a5e64a7f96aacd27cbd86e462ff077d133d5e8c357b0a06994a67858ba36752ea28 +SHA512 (node-v16.4.0-stripped.tar.gz) = 695ea82cb94e05f2105211acac5c1cb1b8dc11e999ae1a53be990f4b4af007f8e5654ec678a3e7b99a63330d1eaf4329a346283e4cb739e803f674c2c3c6eaba SHA512 (icu4c-69_1-src.tgz) = d4aeb781715144ea6e3c6b98df5bbe0490bfa3175221a1d667f3e6851b7bd4a638fa4a37d4a921ccb31f02b5d15a6dded9464d98051964a86f7b1cde0ff0aab7
commit f02a2195c90870f37b45ee15c5b929488c278d34 Author: Stephen Gallagher sgallagh@redhat.com Date: Fri Jun 4 10:55:16 2021 -0400
Update to 16.3.0
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1...
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index 38fc8d1..df53ce7 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,4 +1,4 @@ -From 3aebb3eb39fd81c1355dffef8617a5028bc3f622 Mon Sep 17 00:00:00 2001 +From da423176c1ec74b660de5687aec1b6c4bc274a08 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Fri, 17 Apr 2020 12:59:44 +0200 Subject: [PATCH 1/2] Disable running gyp on shared deps @@ -8,7 +8,7 @@ Subject: [PATCH 1/2] Disable running gyp on shared deps 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile -index 50d6795bc349035ae6b46363e6a05fed59dd2cf9..ddf127a0c5d990e08a2d3dfe78d1d611ed51f657 100644 +index 939bba64575bff36be4e9225ea92627a75b04904..6c62c6a5169f16477bfc5ff19d2899d50b731603 100644 --- a/Makefile +++ b/Makefile @@ -137,11 +137,11 @@ endif diff --git a/0002-Install-both-binaries-and-use-libdir.patch b/0002-Install-both-binaries-and-use-libdir.patch index cc2e527..0ddb85a 100644 --- a/0002-Install-both-binaries-and-use-libdir.patch +++ b/0002-Install-both-binaries-and-use-libdir.patch @@ -1,4 +1,4 @@ -From efd1e3e6e56c3874c7c5b19434223d094d598254 Mon Sep 17 00:00:00 2001 +From c483da788bde23870ba1115220d40ec911196d4c Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 Subject: [PATCH 2/2] Install both binaries and use libdir. @@ -14,10 +14,10 @@ Signed-off-by: Stephen Gallagher sgallagh@redhat.com 2 files changed, 16 insertions(+), 12 deletions(-)
diff --git a/configure.py b/configure.py -index 6798b4a445c3878e63a47e078f3cb4e0dc5b5543..14867568d8552d70b92373fadac28d31682d708b 100755 +index 05d43150524946fac12bf5786afbacd90122d4a7..4cd90ed78af7f6ec5e2e0d713ac1231c8862db5d 100755 --- a/configure.py +++ b/configure.py -@@ -715,10 +715,16 @@ parser.add_argument('--shared', +@@ -720,10 +720,16 @@ parser.add_argument('--shared', dest='shared', default=None, help='compile shared library for embedding node in another project. ' + @@ -34,7 +34,7 @@ index 6798b4a445c3878e63a47e078f3cb4e0dc5b5543..14867568d8552d70b92373fadac28d31 dest='without_v8_platform', default=False, help='do not initialize v8 platform during node.js startup. ' + -@@ -1286,10 +1292,11 @@ def configure_node(o): +@@ -1300,10 +1306,11 @@ def configure_node(o): o['variables']['debug_nghttp2'] = 'false'
o['variables']['node_no_browser_globals'] = b(options.no_browser_globals) diff --git a/nodejs.spec b/nodejs.spec index 6c55d54..49f40a9 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -19,7 +19,7 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 16 -%global nodejs_minor 2 +%global nodejs_minor 3 %global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h @@ -52,7 +52,7 @@ # llhttp - from deps/llhttp/include/llhttp.h %global llhttp_major 6 %global llhttp_minor 0 -%global llhttp_patch 1 +%global llhttp_patch 2 %global llhttp_version %{llhttp_major}.%{llhttp_minor}.%{llhttp_patch}
# libuv - from deps/uv/include/uv/version.h @@ -91,8 +91,8 @@ # npm - from deps/npm/package.json %global npm_epoch 1 %global npm_major 7 -%global npm_minor 13 -%global npm_patch 0 +%global npm_minor 15 +%global npm_patch 1 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch}
# uvwasi - from deps/uvwasi/include/uvwasi.h @@ -662,6 +662,11 @@ end
%changelog +* Fri Jun 04 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.3.0-1 +- Update to 16.3.0 +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... + + * Wed May 19 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.2.0-1 - Update to 16.2.0 - https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... diff --git a/sources b/sources index e2c172d..5603a40 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v16.2.0-stripped.tar.gz) = f61280177acf4e73c28c28e6b13fc5c6968728887b3d1a669a4bb2e4fd5849f4076425cab550e2d2057bec015b3e6c886216c2ac1738c9a851c9a98aba3d743b +SHA512 (node-v16.3.0-stripped.tar.gz) = ae7acbae0e2569a5a37c68dfa3fa6e7e7ea820cf8c5efb4bd2264b0adbbf2a5e64a7f96aacd27cbd86e462ff077d133d5e8c357b0a06994a67858ba36752ea28 SHA512 (icu4c-69_1-src.tgz) = d4aeb781715144ea6e3c6b98df5bbe0490bfa3175221a1d667f3e6851b7bd4a638fa4a37d4a921ccb31f02b5d15a6dded9464d98051964a86f7b1cde0ff0aab7
commit 18a648f82cb71eff08f1e9185159493f24fcec06 Author: Stephen Gallagher sgallagh@redhat.com Date: Wed May 19 09:16:58 2021 -0400
Update to 16.2.0
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... Fix changelog version numbers
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 5c1719e..6c55d54 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -19,7 +19,7 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 16 -%global nodejs_minor 1 +%global nodejs_minor 2 %global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h @@ -36,7 +36,7 @@ %global v8_major 9 %global v8_minor 0 %global v8_build 257 -%global v8_patch 24 +%global v8_patch 25 # V8 presently breaks ABI at least every x.y release while never bumping SONAME %global v8_abi %{v8_major}.%{v8_minor} %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} @@ -91,8 +91,8 @@ # npm - from deps/npm/package.json %global npm_epoch 1 %global npm_major 7 -%global npm_minor 11 -%global npm_patch 2 +%global npm_minor 13 +%global npm_patch 0 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch}
# uvwasi - from deps/uvwasi/include/uvwasi.h @@ -662,11 +662,16 @@ end
%changelog -* Tue May 04 2021 Stephen Gallagher sgallagh@redhat.com - 16.1.0-1 +* Wed May 19 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.2.0-1 +- Update to 16.2.0 +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... +- Fix changelog version numbers + +* Tue May 04 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.1.0-1 - Update to 16.1.0 - https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... - Drop upstreamed patch
-* Thu Apr 29 2021 Stephen Gallagher sgallagh@redhat.com - 16.0.0-1 +* Thu Apr 29 2021 Stephen Gallagher sgallagh@redhat.com - 1:16.0.0-1 - First release of Node.js 16.x
diff --git a/sources b/sources index 074ec08..e2c172d 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v16.1.0-stripped.tar.gz) = 2c4e73af9e056f0bd106762c67d019d36b132707a37a673e0a9a9d6fe3188418c647e2dff8851981d9f0a8eca94adc8ff69e561f6cbff4302fc5260c157155fd +SHA512 (node-v16.2.0-stripped.tar.gz) = f61280177acf4e73c28c28e6b13fc5c6968728887b3d1a669a4bb2e4fd5849f4076425cab550e2d2057bec015b3e6c886216c2ac1738c9a851c9a98aba3d743b SHA512 (icu4c-69_1-src.tgz) = d4aeb781715144ea6e3c6b98df5bbe0490bfa3175221a1d667f3e6851b7bd4a638fa4a37d4a921ccb31f02b5d15a6dded9464d98051964a86f7b1cde0ff0aab7
commit 3d8af661ad151c39ed6fefb311b3d4723433126c Author: Stephen Gallagher sgallagh@redhat.com Date: Mon May 17 11:17:58 2021 -0400
Update to 14.17.0
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V14.md#1...
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index 1b5cf73..962763f 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,4 +1,4 @@ -From 0a889af5ee18290d833f7f63742d5b714bdb1a40 Mon Sep 17 00:00:00 2001 +From 867d8911b63b9837d89cd6ba65ea6ebccd7f77e7 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Fri, 17 Apr 2020 12:59:44 +0200 Subject: [PATCH 1/3] Disable running gyp on shared deps @@ -8,7 +8,7 @@ Subject: [PATCH 1/3] Disable running gyp on shared deps 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile -index 93d63110ae2e3928a95d24036b86d11885ab240f..79caaec2112cefa8f6a1c947375b517e9676f176 100644 +index 5bb5d7df5f87e2b1d640e027fd4d0c21975959f7..fc812607ac76fadbbc9f4670a479a040a5024780 100644 --- a/Makefile +++ b/Makefile @@ -136,11 +136,11 @@ endif diff --git a/0002-Install-both-binaries-and-use-libdir.patch b/0002-Install-both-binaries-and-use-libdir.patch index 9679f8b..94943d1 100644 --- a/0002-Install-both-binaries-and-use-libdir.patch +++ b/0002-Install-both-binaries-and-use-libdir.patch @@ -1,4 +1,4 @@ -From 4012d5b9ae521f36c8b0155f591a38383e84407b Mon Sep 17 00:00:00 2001 +From ea59ced68789dc24c95572b84091afcebe9acb98 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 Subject: [PATCH 2/3] Install both binaries and use libdir. @@ -13,7 +13,7 @@ Signed-off-by: Elliott Sales de Andrade quantum.analyst@gmail.com 2 files changed, 16 insertions(+), 12 deletions(-)
diff --git a/configure.py b/configure.py -index e6f7e4db0040dda00e432352afa7576535d9b672..6cf5c45dde79ce355b532c2f11b5b7ed80fde88a 100755 +index a477bd1c9578d03cd81456c513486620435749ee..3067eb9fc3e5c3eb22eb4ff3d20f87415b115bb8 100755 --- a/configure.py +++ b/configure.py @@ -624,10 +624,16 @@ parser.add_option('--shared', @@ -46,7 +46,7 @@ index e6f7e4db0040dda00e432352afa7576535d9b672..6cf5c45dde79ce355b532c2f11b5b7ed shlib_suffix = 'so' elif sys.platform == 'darwin': diff --git a/tools/install.py b/tools/install.py -index 729b416fc47d3ff3317ae3671dee977c719a8841..9bfc6234edb7732f9b90f063c2ee4a276e840636 100755 +index 693faff4c37ac4d83a47e818f4412900497a2b62..7c0b1ba999cdeacd3431b5334d650677754a9752 100755 --- a/tools/install.py +++ b/tools/install.py @@ -119,26 +119,23 @@ def subdir_files(path, dest, action): diff --git a/0003-src-add-.note.GNU-stack-section.patch b/0003-src-add-.note.GNU-stack-section.patch index 74fd28f..f943f9c 100644 --- a/0003-src-add-.note.GNU-stack-section.patch +++ b/0003-src-add-.note.GNU-stack-section.patch @@ -1,4 +1,4 @@ -From 6aa11a8cf48463432c0b5c6bfca5c2a5b18b1cc7 Mon Sep 17 00:00:00 2001 +From 7388d30b111414507b1353da12529f23daec4ee3 Mon Sep 17 00:00:00 2001 From: James Addison jay@jp-hosting.net Date: Tue, 9 Mar 2021 13:08:47 +0000 Subject: [PATCH 3/3] src: add .note.GNU-stack section @@ -24,22 +24,22 @@ Related: https://github.com/nodejs/node/pull/37688
Signed-off-by: Stephen Gallagher sgallagh@redhat.com --- - src/large_pages/node_text_start.S | 3 +++ - 1 file changed, 3 insertions(+) + src/large_pages/node_text_start.S | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/large_pages/node_text_start.S b/src/large_pages/node_text_start.S -index 1609b254f0495a32f8896ba96d96bad03f6f2321..d27dd39cc236f0e6be4e68113bfff7b531a37455 100644 +index 3227b62464932ced6d42916a4300ddbd9b4a4fbb..d27dd39cc236f0e6be4e68113bfff7b531a37455 100644 --- a/src/large_pages/node_text_start.S +++ b/src/large_pages/node_text_start.S -@@ -1,5 +1,8 @@ -+#if defined(__ELF__) +@@ -1,7 +1,7 @@ + #if defined(__ELF__) +-.section .note.GNU-stack,"",@progbits +.section .note.GNU-stack,"",%progbits -+#endif + #endif .text .align 0x2000 .global __node_text_start .hidden __node_text_start - __node_text_start: -- 2.31.1
diff --git a/nodejs.spec b/nodejs.spec index 4993651..e55b7e4 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 2 +%global baserelease 1
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -19,8 +19,8 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 14 -%global nodejs_minor 16 -%global nodejs_patch 1 +%global nodejs_minor 17 +%global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 83 @@ -36,7 +36,7 @@ %global v8_major 8 %global v8_minor 4 %global v8_build 371 -%global v8_patch 19 +%global v8_patch 23 # V8 presently breaks ABI at least every x.y release while never bumping SONAME %global v8_abi %{v8_major}.%{v8_minor} %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} @@ -45,7 +45,7 @@ # c-ares - from deps/cares/include/ares_version.h # https://github.com/nodejs/node/pull/9332 %global c_ares_major 1 -%global c_ares_minor 16 +%global c_ares_minor 17 %global c_ares_patch 1 %global c_ares_version %{c_ares_major}.%{c_ares_minor}.%{c_ares_patch}
@@ -57,19 +57,19 @@
# libuv - from deps/uv/include/uv/version.h %global libuv_major 1 -%global libuv_minor 40 +%global libuv_minor 41 %global libuv_patch 0 %global libuv_version %{libuv_major}.%{libuv_minor}.%{libuv_patch}
# nghttp2 - from deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h %global nghttp2_major 1 -%global nghttp2_minor 41 +%global nghttp2_minor 42 %global nghttp2_patch 0 %global nghttp2_version %{nghttp2_major}.%{nghttp2_minor}.%{nghttp2_patch}
# ICU - from tools/icu/current_ver.dep -%global icu_major 67 -%global icu_minor 1 +%global icu_major 68 +%global icu_minor 2 %global icu_version %{icu_major}.%{icu_minor}
%global icudatadir %{nodejs_datadir}/icudata @@ -92,7 +92,7 @@ %global npm_epoch 1 %global npm_major 6 %global npm_minor 14 -%global npm_patch 12 +%global npm_patch 13 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch}
# uvwasi - from deps/uvwasi/include/uvwasi.h @@ -669,6 +669,10 @@ end
%changelog +* Mon May 17 2021 Stephen Gallagher sgallagh@redhat.com - 1:14.17.0-2 +- Update to 14.17.0 +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V14.md#1... + * Tue Apr 20 2021 Stephen Gallagher sgallagh@redhat.com - 1:14.16.1-2 - Disable stack execution (bz#1950528)
diff --git a/sources b/sources index 96692c4..db3ba87 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v14.16.1-stripped.tar.gz) = 1ec3f503ecd6f8ffa24c3abc04e4e33758e1d577f645dc9c3a22282e3f4755e44169ca54a178fb90e8edb8ef6490d65edc4fd7fcf6ec9b5445d38630b9861a29 -SHA512 (icu4c-67_1-src.tgz) = 4779f1ce1ca7976f6fad6768853ea8c540da54d11509e3b6cfd864a04b5f2db1c3d4b546387f91ad02fb90804525bc37d2543173f0d705d6ca11dc6f2b7640a8 +SHA512 (node-v14.17.0-stripped.tar.gz) = eb1109d13da376df49f3d0b25c21573585c9aec589e9175e182491211bc5b3fd54980f8002ae85544fa9127b95584c030c8f121b6e2520d5f0feb84ef6dab104 +SHA512 (icu4c-68_2-src.tgz) = 24f3b7981667b37df58118f56ae76a09b719358c1efa8d6f044d28ef8df1c722a894957acadfb3c37aee39ac845893924fc3370d6bbe09875aec8d937059f84b
commit 9f9d592a89e317ceca7837f5ee73fa0474d8ffbc Author: Stephen Gallagher sgallagh@redhat.com Date: Tue May 4 17:10:37 2021 -0400
Update to 16.1.0
- Update to 16.1.0 - https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... - Drop upstreamed patch
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index f58de31..38fc8d1 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,14 +1,14 @@ -From 3e85ce30203fd13ac663680f0103b2a66c864685 Mon Sep 17 00:00:00 2001 +From 3aebb3eb39fd81c1355dffef8617a5028bc3f622 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Fri, 17 Apr 2020 12:59:44 +0200 -Subject: [PATCH 1/3] Disable running gyp on shared deps +Subject: [PATCH 1/2] Disable running gyp on shared deps
--- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile -index 26746d94f4ab8c2580bc3304b293f37c273cd8f5..11dd97805dae7c6fb8485bffc42e104a9624ba13 100644 +index 50d6795bc349035ae6b46363e6a05fed59dd2cf9..ddf127a0c5d990e08a2d3dfe78d1d611ed51f657 100644 --- a/Makefile +++ b/Makefile @@ -137,11 +137,11 @@ endif diff --git a/0002-Install-both-binaries-and-use-libdir.patch b/0002-Install-both-binaries-and-use-libdir.patch index 3499c83..cc2e527 100644 --- a/0002-Install-both-binaries-and-use-libdir.patch +++ b/0002-Install-both-binaries-and-use-libdir.patch @@ -1,7 +1,7 @@ -From d5009b7659e101c76f782003e184ba72bce4686b Mon Sep 17 00:00:00 2001 +From efd1e3e6e56c3874c7c5b19434223d094d598254 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 -Subject: [PATCH 2/3] Install both binaries and use libdir. +Subject: [PATCH 2/2] Install both binaries and use libdir.
This allows us to build with a shared library for other users while still providing the normal executable. diff --git a/0003-src-add-.note.GNU-stack-section.patch b/0003-src-add-.note.GNU-stack-section.patch deleted file mode 100644 index 74ac3e7..0000000 --- a/0003-src-add-.note.GNU-stack-section.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 7f1be47c1bcd021c5b28a468d443dd49bae705c4 Mon Sep 17 00:00:00 2001 -From: James Addison jay@jp-hosting.net -Date: Tue, 9 Mar 2021 13:08:47 +0000 -Subject: [PATCH 3/3] src: add .note.GNU-stack section - -This indicates to GNU binutils that it can unset the executable stack -flag on the binary that it is building. - -PR-URL: https://github.com/nodejs/node/pull/37688 -Refs: https://github.com/nodejs/node/issues/17933 -Reviewed-By: Daniel Bevenius daniel.bevenius@gmail.com - -src: Use %progbits instead of @progbits - -While @progbits is preferred for most architectures, there are some -(notably 32-bit ARM) for which it does not. %progbits is effective -everywhere. - -See https://bugzilla.redhat.com/show_bug.cgi?id=1950528 for more -details. - -Related: https://github.com/nodejs/node/issues/17933 -Related: https://github.com/nodejs/node/pull/37688 - -Signed-off-by: Stephen Gallagher sgallagh@redhat.com ---- - src/large_pages/node_text_start.S | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/large_pages/node_text_start.S b/src/large_pages/node_text_start.S -index 3227b62464932ced6d42916a4300ddbd9b4a4fbb..d27dd39cc236f0e6be4e68113bfff7b531a37455 100644 ---- a/src/large_pages/node_text_start.S -+++ b/src/large_pages/node_text_start.S -@@ -1,7 +1,7 @@ - #if defined(__ELF__) --.section .note.GNU-stack,"",@progbits -+.section .note.GNU-stack,"",%progbits - #endif - .text - .align 0x2000 - .global __node_text_start - .hidden __node_text_start --- -2.31.1 - diff --git a/nodejs.spec b/nodejs.spec index 9b80555..5c1719e 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -19,7 +19,7 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 16 -%global nodejs_minor 0 +%global nodejs_minor 1 %global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h @@ -36,7 +36,7 @@ %global v8_major 9 %global v8_minor 0 %global v8_build 257 -%global v8_patch 17 +%global v8_patch 24 # V8 presently breaks ABI at least every x.y release while never bumping SONAME %global v8_abi %{v8_major}.%{v8_minor} %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} @@ -52,7 +52,7 @@ # llhttp - from deps/llhttp/include/llhttp.h %global llhttp_major 6 %global llhttp_minor 0 -%global llhttp_patch 0 +%global llhttp_patch 1 %global llhttp_version %{llhttp_major}.%{llhttp_minor}.%{llhttp_patch}
# libuv - from deps/uv/include/uv/version.h @@ -91,8 +91,8 @@ # npm - from deps/npm/package.json %global npm_epoch 1 %global npm_major 7 -%global npm_minor 10 -%global npm_patch 0 +%global npm_minor 11 +%global npm_patch 2 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch}
# uvwasi - from deps/uvwasi/include/uvwasi.h @@ -145,10 +145,6 @@ Patch1: 0001-Disable-running-gyp-on-shared-deps.patch # Patch to install both node and libnode.so, using the correct libdir Patch2: 0002-Install-both-binaries-and-use-libdir.patch
-# Patch to disable stack execution. Merged from one upstream patch and -# one upstream proposed patch -Patch3: 0003-src-add-.note.GNU-stack-section.patch - BuildRequires: make BuildRequires: python3-devel BuildRequires: python3-setuptools @@ -666,6 +662,11 @@ end
%changelog +* Tue May 04 2021 Stephen Gallagher sgallagh@redhat.com - 16.1.0-1 +- Update to 16.1.0 +- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#1... +- Drop upstreamed patch + * Thu Apr 29 2021 Stephen Gallagher sgallagh@redhat.com - 16.0.0-1 - First release of Node.js 16.x
diff --git a/sources b/sources index d09a6a1..074ec08 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v16.0.0-stripped.tar.gz) = 45afd2b674a061f9a11ae270015910b16b79d6702a53d8947d7c4c384e024ac381ed386c4ffef3f19a7ff1b760e45f2caf4d4df41ca05b409ad2a5bae46da49b +SHA512 (node-v16.1.0-stripped.tar.gz) = 2c4e73af9e056f0bd106762c67d019d36b132707a37a673e0a9a9d6fe3188418c647e2dff8851981d9f0a8eca94adc8ff69e561f6cbff4302fc5260c157155fd SHA512 (icu4c-69_1-src.tgz) = d4aeb781715144ea6e3c6b98df5bbe0490bfa3175221a1d667f3e6851b7bd4a638fa4a37d4a921ccb31f02b5d15a6dded9464d98051964a86f7b1cde0ff0aab7
commit 3ef3ddba235327db5773ba72d0e97cf2e2d26068 Author: Stephen Gallagher sgallagh@redhat.com Date: Fri Apr 30 11:54:03 2021 -0400
Changes to manpages
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 0f005a7..9b80555 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -645,19 +645,17 @@ end %doc %{_mandir}/man5/folders.5* %doc %{_mandir}/man5/install.5* %doc %{_mandir}/man5/npmrc.5* +%doc %{_mandir}/man5/npm-shrinkwrap-json.5* %doc %{_mandir}/man5/package-json.5* %doc %{_mandir}/man5/package-lock-json.5* -%doc %{_mandir}/man5/package-locks.5* -%doc %{_mandir}/man5/shrinkwrap-json.5* %doc %{_mandir}/man7/config.7* %doc %{_mandir}/man7/developers.7* -%doc %{_mandir}/man7/disputes.7* %doc %{_mandir}/man7/orgs.7* %doc %{_mandir}/man7/registry.7* %doc %{_mandir}/man7/removal.7* %doc %{_mandir}/man7/scope.7* %doc %{_mandir}/man7/scripts.7* -%doc %{_mandir}/man7/semver.7* +%doc %{_mandir}/man7/workspaces.7*
%files docs
commit 49aeab92f056572a23d00106f959e5f0c273252c Author: Stephen Gallagher sgallagh@redhat.com Date: Thu Apr 29 09:41:42 2021 -0400
First release of Node.js 16.x
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index 1b5cf73..f58de31 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,4 +1,4 @@ -From 0a889af5ee18290d833f7f63742d5b714bdb1a40 Mon Sep 17 00:00:00 2001 +From 3e85ce30203fd13ac663680f0103b2a66c864685 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Fri, 17 Apr 2020 12:59:44 +0200 Subject: [PATCH 1/3] Disable running gyp on shared deps @@ -8,10 +8,10 @@ Subject: [PATCH 1/3] Disable running gyp on shared deps 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile -index 93d63110ae2e3928a95d24036b86d11885ab240f..79caaec2112cefa8f6a1c947375b517e9676f176 100644 +index 26746d94f4ab8c2580bc3304b293f37c273cd8f5..11dd97805dae7c6fb8485bffc42e104a9624ba13 100644 --- a/Makefile +++ b/Makefile -@@ -136,11 +136,11 @@ endif +@@ -137,11 +137,11 @@ endif .PHONY: test-code-cache with-code-cache test-code-cache: $(warning '$@' target is a noop) diff --git a/0002-Install-both-binaries-and-use-libdir.patch b/0002-Install-both-binaries-and-use-libdir.patch index 9679f8b..3499c83 100644 --- a/0002-Install-both-binaries-and-use-libdir.patch +++ b/0002-Install-both-binaries-and-use-libdir.patch @@ -1,4 +1,4 @@ -From 4012d5b9ae521f36c8b0155f591a38383e84407b Mon Sep 17 00:00:00 2001 +From d5009b7659e101c76f782003e184ba72bce4686b Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 Subject: [PATCH 2/3] Install both binaries and use libdir. @@ -7,33 +7,34 @@ This allows us to build with a shared library for other users while still providing the normal executable.
Signed-off-by: Elliott Sales de Andrade quantum.analyst@gmail.com +Signed-off-by: Stephen Gallagher sgallagh@redhat.com --- configure.py | 7 +++++++ tools/install.py | 21 +++++++++------------ 2 files changed, 16 insertions(+), 12 deletions(-)
diff --git a/configure.py b/configure.py -index e6f7e4db0040dda00e432352afa7576535d9b672..6cf5c45dde79ce355b532c2f11b5b7ed80fde88a 100755 +index 6798b4a445c3878e63a47e078f3cb4e0dc5b5543..14867568d8552d70b92373fadac28d31682d708b 100755 --- a/configure.py +++ b/configure.py -@@ -624,10 +624,16 @@ parser.add_option('--shared', - action='store_true', +@@ -715,10 +715,16 @@ parser.add_argument('--shared', dest='shared', + default=None, help='compile shared library for embedding node in another project. ' + '(This mode is not officially supported for regular applications)')
-+parser.add_option('--libdir', ++parser.add_argument('--libdir', + action='store', + dest='libdir', + default='lib', + help='a directory to install the shared library into') + - parser.add_option('--without-v8-platform', + parser.add_argument('--without-v8-platform', action='store_true', dest='without_v8_platform', default=False, help='do not initialize v8 platform during node.js startup. ' + -@@ -1200,10 +1206,11 @@ def configure_node(o): +@@ -1286,10 +1292,11 @@ def configure_node(o): o['variables']['debug_nghttp2'] = 'false'
o['variables']['node_no_browser_globals'] = b(options.no_browser_globals) @@ -46,7 +47,7 @@ index e6f7e4db0040dda00e432352afa7576535d9b672..6cf5c45dde79ce355b532c2f11b5b7ed shlib_suffix = 'so' elif sys.platform == 'darwin': diff --git a/tools/install.py b/tools/install.py -index 729b416fc47d3ff3317ae3671dee977c719a8841..9bfc6234edb7732f9b90f063c2ee4a276e840636 100755 +index 045d406d84be301722f3de62abc448db84e751f8..b3ef4541999126c512e3811881388e0ec8d401c4 100755 --- a/tools/install.py +++ b/tools/install.py @@ -119,26 +119,23 @@ def subdir_files(path, dest, action): diff --git a/0003-src-add-.note.GNU-stack-section.patch b/0003-src-add-.note.GNU-stack-section.patch index 74fd28f..74ac3e7 100644 --- a/0003-src-add-.note.GNU-stack-section.patch +++ b/0003-src-add-.note.GNU-stack-section.patch @@ -1,4 +1,4 @@ -From 6aa11a8cf48463432c0b5c6bfca5c2a5b18b1cc7 Mon Sep 17 00:00:00 2001 +From 7f1be47c1bcd021c5b28a468d443dd49bae705c4 Mon Sep 17 00:00:00 2001 From: James Addison jay@jp-hosting.net Date: Tue, 9 Mar 2021 13:08:47 +0000 Subject: [PATCH 3/3] src: add .note.GNU-stack section @@ -24,22 +24,22 @@ Related: https://github.com/nodejs/node/pull/37688
Signed-off-by: Stephen Gallagher sgallagh@redhat.com --- - src/large_pages/node_text_start.S | 3 +++ - 1 file changed, 3 insertions(+) + src/large_pages/node_text_start.S | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/large_pages/node_text_start.S b/src/large_pages/node_text_start.S -index 1609b254f0495a32f8896ba96d96bad03f6f2321..d27dd39cc236f0e6be4e68113bfff7b531a37455 100644 +index 3227b62464932ced6d42916a4300ddbd9b4a4fbb..d27dd39cc236f0e6be4e68113bfff7b531a37455 100644 --- a/src/large_pages/node_text_start.S +++ b/src/large_pages/node_text_start.S -@@ -1,5 +1,8 @@ -+#if defined(__ELF__) +@@ -1,7 +1,7 @@ + #if defined(__ELF__) +-.section .note.GNU-stack,"",@progbits +.section .note.GNU-stack,"",%progbits -+#endif + #endif .text .align 0x2000 .global __node_text_start .hidden __node_text_start - __node_text_start: -- 2.31.1
diff --git a/nodejs.spec b/nodejs.spec index 4993651..0f005a7 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 2 +%global baserelease 1
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -18,12 +18,12 @@ # feature releases that are only supported for nine months, which is shorter # than a Fedora release lifecycle. %global nodejs_epoch 1 -%global nodejs_major 14 -%global nodejs_minor 16 -%global nodejs_patch 1 +%global nodejs_major 16 +%global nodejs_minor 0 +%global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h -%global nodejs_soversion 83 +%global nodejs_soversion 93 %global nodejs_version %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch} %global nodejs_release %{baserelease}
@@ -33,10 +33,10 @@ # v8 - from deps/v8/include/v8-version.h # Epoch is set to ensure clean upgrades from the old v8 package %global v8_epoch 2 -%global v8_major 8 -%global v8_minor 4 -%global v8_build 371 -%global v8_patch 19 +%global v8_major 9 +%global v8_minor 0 +%global v8_build 257 +%global v8_patch 17 # V8 presently breaks ABI at least every x.y release while never bumping SONAME %global v8_abi %{v8_major}.%{v8_minor} %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} @@ -45,30 +45,30 @@ # c-ares - from deps/cares/include/ares_version.h # https://github.com/nodejs/node/pull/9332 %global c_ares_major 1 -%global c_ares_minor 16 +%global c_ares_minor 17 %global c_ares_patch 1 %global c_ares_version %{c_ares_major}.%{c_ares_minor}.%{c_ares_patch}
# llhttp - from deps/llhttp/include/llhttp.h -%global llhttp_major 2 -%global llhttp_minor 1 -%global llhttp_patch 3 +%global llhttp_major 6 +%global llhttp_minor 0 +%global llhttp_patch 0 %global llhttp_version %{llhttp_major}.%{llhttp_minor}.%{llhttp_patch}
# libuv - from deps/uv/include/uv/version.h %global libuv_major 1 -%global libuv_minor 40 +%global libuv_minor 41 %global libuv_patch 0 %global libuv_version %{libuv_major}.%{libuv_minor}.%{libuv_patch}
# nghttp2 - from deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h %global nghttp2_major 1 -%global nghttp2_minor 41 +%global nghttp2_minor 42 %global nghttp2_patch 0 %global nghttp2_version %{nghttp2_major}.%{nghttp2_minor}.%{nghttp2_patch}
# ICU - from tools/icu/current_ver.dep -%global icu_major 67 +%global icu_major 69 %global icu_minor 1 %global icu_version %{icu_major}.%{icu_minor}
@@ -90,9 +90,9 @@
# npm - from deps/npm/package.json %global npm_epoch 1 -%global npm_major 6 -%global npm_minor 14 -%global npm_patch 12 +%global npm_major 7 +%global npm_minor 10 +%global npm_patch 0 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch}
# uvwasi - from deps/uvwasi/include/uvwasi.h @@ -533,7 +533,6 @@ find %{buildroot}%{_prefix}/lib/node_modules/npm \ -exec chmod -x {} ;
# The above command is a little overzealous. Add a few permissions back. -chmod 0755 %{buildroot}%{_prefix}/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin/node-gyp chmod 0755 %{buildroot}%{_prefix}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js
# Drop the NPM default configuration in place @@ -669,81 +668,6 @@ end
%changelog -* Tue Apr 20 2021 Stephen Gallagher sgallagh@redhat.com - 1:14.16.1-2 -- Disable stack execution (bz#1950528) - -* Thu Apr 08 2021 Stephen Gallagher sgallagh@redhat.com - 1:14.16.1-1 -- Update to 14.16.1 - -* Wed Mar 31 2021 Jonathan Wakely jwakely@redhat.com - 1:14.16.0-4 -- Rebuilt for removed libstdc++ symbols (#1937698) - -* Tue Mar 09 2021 Zuzana Svetlikova <zsvetlik@redhat.com - 1:14.16.0-3 -- Only require nodejs-packaging on Fedora -- remove --debug-nghttp2 (#1930775) -- always build with systemtap - -* Mon Jan 04 2021 Stephen Gallagher sgallagh@redhat.com - 1:14.16.0-1 -- Update to 14.16.0 - -* Mon Jan 04 2021 Stephen Gallagher sgallagh@redhat.com - 1:14.15.4-1 -- Update to 14.15.4 - -* Wed Dec 02 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.15.1-1 -- Update to 14.15.1 - -* Tue Oct 20 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.14.0-2 -- Don't build with LTO on aarch64 - -* Mon Oct 19 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.14.0-1 -- Update to 14.14.0 - -* Fri Oct 09 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.13.1-1 -- Update to 14.13.1 - -* Thu Oct 01 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.13.0-1 -- Update to 14.13.0 - -* Wed Sep 16 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.11.0-1 -- Update to 14.11.0 - -* Tue Sep 08 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.10.0-1 -- Update to 14.10.0 - -* Fri Aug 21 2020 Jeff Law law@redhat.com - 1:14.7.0-2 -- Narrow LTO opt-out to just armv7hl - -* Fri Jul 31 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.7.0-1 -- Update to 14.7.0 - -* Tue Jul 28 2020 Fedora Release Engineering releng@fedoraproject.org - 1:14.5.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jul 07 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.5.0-1 -- Update to 14.5.0 - -* Tue Jul 07 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.4.0-3 -- Update for new packaging guidelines - -* Tue Jun 30 2020 Jeff Law law@redhat.com - 1:14.4.0-2 -- Disable LTO - -* Wed Jun 03 2020 Zuzana Svetlikova zsvetlik@redhat.com - 1:14.4.0-1 -- Security update to 14.4.0 - -* Thu May 21 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.3.0-1 -- Update to 14.3.0 - -* Wed May 06 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.2.0-1 -- Update to 14.2.0 - -* Wed Apr 29 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.1.0-1 -- Update to 14.1.0 - -* Fri Apr 24 2020 Zuzana Svetlikova zsvetlik@redhat.com - 1:14.0.0-2 -- Keep the fix scripts for Koji - -* Thu Apr 23 2020 Zuzana Svetlikova zsvetlik@redhat.com - 1:14.0.0-1 -- Update to 14.0.0 -- v14.x should be python3 compatible, so commented out py sed scripts +* Thu Apr 29 2021 Stephen Gallagher sgallagh@redhat.com - 16.0.0-1 +- First release of Node.js 16.x
diff --git a/package.cfg b/package.cfg index 5e7e859..ec98f0b 100644 --- a/package.cfg +++ b/package.cfg @@ -1,2 +1,2 @@ [koji] -targets = rawhide f34 f33 +targets = rawhide diff --git a/sources b/sources index 96692c4..d09a6a1 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v14.16.1-stripped.tar.gz) = 1ec3f503ecd6f8ffa24c3abc04e4e33758e1d577f645dc9c3a22282e3f4755e44169ca54a178fb90e8edb8ef6490d65edc4fd7fcf6ec9b5445d38630b9861a29 -SHA512 (icu4c-67_1-src.tgz) = 4779f1ce1ca7976f6fad6768853ea8c540da54d11509e3b6cfd864a04b5f2db1c3d4b546387f91ad02fb90804525bc37d2543173f0d705d6ca11dc6f2b7640a8 +SHA512 (node-v16.0.0-stripped.tar.gz) = 45afd2b674a061f9a11ae270015910b16b79d6702a53d8947d7c4c384e024ac381ed386c4ffef3f19a7ff1b760e45f2caf4d4df41ca05b409ad2a5bae46da49b +SHA512 (icu4c-69_1-src.tgz) = d4aeb781715144ea6e3c6b98df5bbe0490bfa3175221a1d667f3e6851b7bd4a638fa4a37d4a921ccb31f02b5d15a6dded9464d98051964a86f7b1cde0ff0aab7
commit b3a32a173864e60e3e3c88c81079b93ec1d44988 Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Apr 20 09:43:10 2021 -0400
Truncate %changelog
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index e807c09..4993651 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -686,9 +686,6 @@ end * Mon Jan 04 2021 Stephen Gallagher sgallagh@redhat.com - 1:14.16.0-1 - Update to 14.16.0
-* Tue Jan 26 2021 Fedora Release Engineering releng@fedoraproject.org - 1:14.15.4-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - * Mon Jan 04 2021 Stephen Gallagher sgallagh@redhat.com - 1:14.15.4-1 - Update to 14.15.4
@@ -750,414 +747,3 @@ end - Update to 14.0.0 - v14.x should be python3 compatible, so commented out py sed scripts
-* Wed Apr 15 2020 Zuzana Svetlikova zsvetlik@redhat.com - 1:13.13.0-1 -- Update to 13.13.0 -- Add bundled uvwasi and histogram_c provides -- Add shared brotli dependency -- Remove icustrip.py patch, which was merged in upstream - -* Tue Mar 17 2020 Stephen Gallagher sgallagh@redhat.com - 1:13.11.0-2 -- Fix python3 issue in icustrip.py - -* Mon Mar 16 2020 Stephen Gallagher sgallagh@redhat.com - 1:13.11.0-1 -- Update to 13.11.0 - -* Wed Feb 26 2020 Stephen Gallagher sgallagh@redhat.com - 1:13.9.0-2 -- Build with python 3 only - -* Tue Feb 25 2020 Stephen Gallagher sgallagh@redhat.com - 1:13.9.0-1 -- Release Node.js 13.9.0 - -* Tue Feb 25 2020 Stephen Gallagher sgallagh@redhat.com - 1:12.16.1-1 -- Update to 12.16.1 -- Fixes six regressions introduced in 12.16.0 - -* Fri Feb 14 2020 Stephen Gallagher sgallagh@redhat.com - 1:12.16.0-1 -- Update to 12.16.0 -- Drop upstreamed patch - -* Thu Feb 06 2020 Stephen Gallagher sgallagh@redhat.com - 1:12.15.0-1 -- Update to 12.15.0 - -* Wed Jan 29 2020 Fedora Release Engineering releng@fedoraproject.org - 1:12.14.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Mon Jan 13 2020 Stephen Gallagher sgallagh@redhat.com - 1:12.14.1-3 -- Fix issue with header symlinks in v8-devel - -* Tue Jan 07 2020 Stephen Gallagher sgallagh@redhat.com - 1:12.14.1-2 -- Drop unneeded dependency on http-parser-devel - -* Tue Jan 07 2020 Stephen Gallagher sgallagh@redhat.com - 1:12.14.1-1 -- Update to 12.14.1 -- https://github.com/nodejs/node/blob/v12.14.1/doc/changelogs/CHANGELOG_V12.md - -* Mon Jan 06 2020 Stephen Gallagher sgallagh@redhat.com - 1:12.14.0-2 -- Update to 12.14.0 -- https://github.com/nodejs/node/blob/v12.14.0/doc/changelogs/CHANGELOG_V12.md -- Add new subpackage nodejs-full-i18n to enable optional non-English locale - support -- Update documentation packaging for NPM - -* Mon Dec 02 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.13.1-1 -- Update to 12.13.1 -- https://github.com/nodejs/node/blob/v12.13.1/doc/changelogs/CHANGELOG_V12.md - -* Tue Oct 29 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.13.0-6 -- Add proper i18n support - -* Tue Oct 29 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.13.0-5 -- Fix issue with NPM docs being replaced with a symlink - -* Mon Oct 28 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.13.0-2 -- Simplify npmrc default configuration - -* Mon Oct 28 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.13.0-1 -- Update to 12.13.0 (LTS) -- https://github.com/nodejs/node/blob/v12.13.0/doc/changelogs/CHANGELOG_V12.md -- NPM no longer clobbers RPM-installed Node.js modules -- Drop no-longer needed patch to suppress `npm update -g npm` message - -* Wed Sep 04 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.10.0-1 -- Update to 12.10.0 -- https://github.com/nodejs/node/blob/v12.10.0/doc/changelogs/CHANGELOG_V12.md... - -* Wed Aug 21 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.9.0-1 -- Update to 12.9.0 -- https://github.com/nodejs/node/blob/v12.9.0/doc/changelogs/CHANGELOG_V12.md#... - -* Thu Aug 15 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.8.2-1 -- Update to 12.8.1 -- Resolves: CVE-2019-9511 "Data Dribble" -- Resolves: CVE-2019-9512 "Ping Flood" -- Resolves: CVE-2019-9513 "Resource Loop" -- Resolves: CVE-2019-9514 "Reset Flood" -- Resolves: CVE-2019-9515 "Settings Flood" -- Resolves: CVE-2019-9516 "0-Length Headers Leak" -- Resolves: CVE-2019-9517 "Internal Data Buffering" -- Resolves: CVE-2019-9518 "Empty Frames Flood" -- https://github.com/nodejs/node/blob/v12.8.1/doc/changelogs/CHANGELOG_V12.md#... - -* Mon Aug 05 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.7.0-3 -- Fix epoch dependencies -- Carry data files for ICU - -* Fri Aug 02 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.7.0-2 -- Change v8-devel release field to avoid duplicated package names - -* Thu Aug 01 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.7.0-1 -- Update to 12.7.0 -- https://nodejs.org/en/blog/release/v12.7.0/ - -* Tue Jul 30 2019 Tom Hughes tom@compton.nu - 1:12.6.0-2 -- Bump release to fix dependencies - -* Thu Jul 25 2019 Fedora Release Engineering releng@fedoraproject.org - 1:12.6.0-1.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Thu Jun 27 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.6.0-1 -- Update to 12.6.0 -- https://nodejs.org/en/blog/release/v12.6.0/ -- https://nodejs.org/en/blog/release/v12.5.0/ - -* Tue Jun 04 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.4.0-1 -- Update to 12.4.0 -- https://nodejs.org/en/blog/release/v12.4.0/ - -* Fri May 24 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.3.1-1 -- Update to 12.3.1 -- https://nodejs.org/en/blog/release/v12.3.1/ -- https://nodejs.org/en/blog/release/v12.3.0/ - -* Wed May 15 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.2.0-1 -- Update to 12.2.0 -- https://nodejs.org/en/blog/release/v12.2.0/ - -* Tue Apr 30 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.1.0-1 -- Update to 12.1.0 -- https://nodejs.org/en/blog/release/v12.1.0/ - -* Wed Apr 24 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.0.0-3 -- Fix upgrade bug for v8-devel (BZ #1702609) - -* Tue Apr 23 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.0.0-2 -- Node.js 12.x requires OpenSSL 1.1.1+ - -* Tue Apr 23 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.0.0-1 -- Release 12.0.0 -- https://nodejs.org/en/blog/release/v12.0.0/ - -* Thu Apr 11 2019 Stephen Gallagher sgallagh@redhat.com - 1:11.13.0-1 -- Update to 11.13.0 -- https://nodejs.org/en/blog/release/v11.13.0/ -- https://nodejs.org/en/blog/release/v11.12.0/ -- https://nodejs.org/en/blog/release/v11.11.0/ - -* Fri Mar 01 2019 Stephen Gallagher sgallagh@redhat.com - 1:11.10.1-1 -- Update to 11.10.1 -- https://nodejs.org/en/blog/release/v11.10.1/ -- https://nodejs.org/en/blog/release/v11.10.0/ -- https://nodejs.org/en/blog/release/v11.9.0/ -- https://nodejs.org/en/blog/release/v11.8.0/ - -* Fri Jan 18 2019 Stephen Gallagher sgallagh@redhat.com - 1:11.7.0-1 -- Update to 11.7.0 -- https://nodejs.org/en/blog/release/v11.7.0/ -- https://nodejs.org/en/blog/release/v11.6.0/ -- https://nodejs.org/en/blog/release/v11.5.0/ -- https://nodejs.org/en/blog/release/v11.4.0/ - -* Thu Nov 29 2018 Stephen Gallagher sgallagh@redhat.com - 1:11.3.0-1 -- Update to 11.3.0 -- https://nodejs.org/en/blog/release/v11.2.0/ -- https://nodejs.org/en/blog/release/v11.3.0/ - -* Fri Nov 02 2018 Stephen Gallagher sgallagh@redhat.com - 1:11.1.0-1 -- Update to 11.1.0 -- https://nodejs.org/en/blog/release/v11.1.0/ - -* Thu Nov 01 2018 Stephen Gallagher sgallagh@redhat.com - 1:11.0.0-1 -- Update to 11.0.0 -- https://nodejs.org/en/blog/release/v11.0.0/ - -* Thu Nov 01 2018 Stephen Gallagher sgallagh@redhat.com - 1:10.13.0-1 -- Update to 10.13.0 -- https://nodejs.org/en/blog/release/v10.13.0/ - -* Thu Oct 11 2018 Stephen Gallagher sgallagh@redhat.com - 1:10.12.0-1 -- Update to 10.12.0 -- https://nodejs.org/en/blog/release/v10.12.0/ - -* Wed Oct 10 2018 Jan Staněk jstanek@redhat.com - 1:10.11.0-2 -- Add non-bootstrap BR for nodejs-packaging - -* Thu Sep 20 2018 Stephen Gallagher sgallagh@redhat.com - 1:10.11.0-1 -- Update to 10.11.0 -- https://nodejs.org/en/blog/release/v10.11.0/ - -* Wed Sep 19 2018 Stephen Gallagher sgallagh@redhat.com - 1:10.10.0-2 -- Really, finally fix npm dep executable permissions - -* Tue Sep 11 2018 Stephen Gallagher sgallagh@redhat.com - 1:10.10.0-1 -- Update to 10.10.0 -- https://nodejs.org/en/blog/release/v10.10.0/ -- Fix issue with npm permissions - -* Tue Aug 21 2018 Stephen Gallagher sgallagh@redhat.com - 1:10.9.0-2 -- Clean up automatic dependencies for npm - -* Thu Aug 16 2018 Stephen Gallagher sgallagh@redhat.com - 1:10.9.0-1 -- Update to 10.9.0 -- https://nodejs.org/en/blog/release/v10.9.0/ - -* Tue Aug 07 2018 Stephen Gallagher sgallagh@redhat.com - 1:10.8.0-1 -- Update to 10.8.0 -- https://nodejs.org/en/blog/release/v10.8.0/ - -* Fri Jul 20 2018 Stephen Gallagher sgallagh@redhat.com - 1:10.7.0-4 -- Fix npm upgrade scriptlet -- Fix unexpected trailing .1 in npm release field - -* Fri Jul 20 2018 Stephen Gallagher sgallagh@redhat.com - 1:10.7.0-3 -- Restore annotations to binaries -- Fix unexpected trailing .1 in release field - -* Thu Jul 19 2018 Stephen Gallagher sgallagh@redhat.com - 1:10.7.0-2 -- Update to 10.7.0 -- https://nodejs.org/en/blog/release/v10.7.0/ -- https://nodejs.org/en/blog/release/v10.6.0/ - -* Fri Jul 13 2018 Fedora Release Engineering releng@fedoraproject.org - 1:10.5.0-1.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Thu Jun 21 2018 Stephen Gallagher sgallagh@redhat.com - 1:10.5.0-1 -- Update to 10.5.0 -- https://nodejs.org/en/blog/release/v10.5.0/ - -* Thu Jun 14 2018 Stephen Gallagher sgallagh@redhat.com - 1:10.4.1-1 -- Update to 10.4.1 to address security issues -- https://nodejs.org/en/blog/release/v10.4.1/ -- Resolves: rhbz#1590801 -- Resolves: rhbz#1591014 -- Resolves: rhbz#1591019 - -* Thu Jun 07 2018 Stephen Gallagher sgallagh@redhat.com - 1:10.4.0-1 -- Update to 10.4.0 -- https://nodejs.org/en/blog/release/v10.4.0/ - -* Wed May 30 2018 Stephen Gallagher sgallagh@redhat.com - 1:10.3.0-1 -- Update to 10.3.0 -- Update npm to 6.1.0 -- https://nodejs.org/en/blog/release/v10.3.0/ - -* Tue May 29 2018 Stephen Gallagher sgallagh@redhat.com - 1:10.2.1-2 -- Fix up bare 'python' to be python2 -- Drop redundant entry in docs section - -* Fri May 25 2018 Stephen Gallagher sgallagh@redhat.com - 1:10.2.1-1 -- Update to 10.2.1 -- https://nodejs.org/en/blog/release/v10.2.1/ - -* Wed May 23 2018 Stephen Gallagher sgallagh@redhat.com - 1:10.2.0-1 -- Update to 10.2.0 -- https://nodejs.org/en/blog/release/v10.2.0/ - -* Thu May 10 2018 Stephen Gallagher sgallagh@redhat.com - 1:10.1.0-3 -- Fix incorrect rpm macro - -* Thu May 10 2018 Stephen Gallagher sgallagh@redhat.com - 1:10.1.0-2 -- Include upstream v8 fix for ppc64[le] -- Disable debug build on ppc64[le] and s390x - -* Wed May 09 2018 Stephen Gallagher sgallagh@redhat.com - 1:10.1.0-1 -- Update to 10.1.0 -- https://nodejs.org/en/blog/release/v10.1.0/ -- Reenable node_g binary - -* Thu Apr 26 2018 Stephen Gallagher sgallagh@redhat.com - 1:10.0.0-1 -- Update to 10.0.0 -- https://nodejs.org/en/blog/release/v10.0.0/ -- Drop workaround patch -- Temporarily drop node_g binary due to - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85587 - -* Fri Apr 13 2018 Rafael dos Santos rdossant@redhat.com - 1:9.11.1-2 -- Use standard Fedora linker flags (bug #1543859) - -* Thu Apr 05 2018 Stephen Gallagher sgallagh@redhat.com - 1:9.11.1-1 -- Update to 9.11.1 -- https://nodejs.org/en/blog/release/v9.11.0/ -- https://nodejs.org/en/blog/release/v9.11.1/ - -* Wed Mar 28 2018 Stephen Gallagher sgallagh@redhat.com - 1:9.10.0-1 -- Update to 9.10.0 -- https://nodejs.org/en/blog/release/v9.10.0/ - -* Wed Mar 21 2018 Stephen Gallagher sgallagh@redhat.com - 1:9.9.0-1 -- Update to 9.9.0 -- https://nodejs.org/en/blog/release/v9.9.0/ - -* Thu Mar 08 2018 Stephen Gallagher sgallagh@redhat.com - 1:9.8.0-1 -- Update to 9.8.0 -- https://nodejs.org/en/blog/release/v9.8.0/ - -* Thu Mar 01 2018 Stephen Gallagher sgallagh@redhat.com - 1:9.7.0-1 -- Update to 9.7.0 -- https://nodejs.org/en/blog/release/v9.7.0/ -- Work around F28 build issue - -* Sun Feb 25 2018 Stephen Gallagher sgallagh@redhat.com - 1:9.6.1-1 -- Update to 9.6.1 -- https://nodejs.org/en/blog/release/v9.6.1/ -- https://nodejs.org/en/blog/release/v9.6.0/ - -* Mon Feb 05 2018 Stephen Gallagher sgallagh@redhat.com - 1:9.5.0-1 -- Package Node.js 9.5.0 - -* Thu Jan 11 2018 Stephen Gallagher sgallagh@redhat.com - 1:8.9.4-2 -- Fix incorrect Requires: - -* Thu Jan 11 2018 Stephen Gallagher sgallagh@redhat.com - 1:8.9.4-1 -- Update to 8.9.4 -- https://nodejs.org/en/blog/release/v8.9.4/ -- Switch to system copy of nghttp2 - -* Fri Dec 08 2017 Stephen Gallagher sgallagh@redhat.com - 1:8.9.3-2 -- Update to 8.9.3 -- https://nodejs.org/en/blog/release/v8.9.3/ -- https://nodejs.org/en/blog/release/v8.9.2/ - -* Thu Nov 30 2017 Pete Walter pwalter@fedoraproject.org - 1:8.9.1-2 -- Rebuild for ICU 60.1 - -* Thu Nov 09 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:8.9.1-1 -- Update to 8.9.1 - -* Tue Oct 31 2017 Stephen Gallagher sgallagh@redhat.com - 1:8.9.0-1 -- Update to 8.9.0 -- Drop upstreamed patch - -* Thu Oct 26 2017 Stephen Gallagher sgallagh@redhat.com - 1:8.8.1-1 -- Update to 8.8.1 to fix a regression - -* Wed Oct 25 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:8.8.0-1 -- Security update to 8.8.0 -- https://nodejs.org/en/blog/release/v8.8.0/ - -* Sun Oct 15 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:8.7.0-1 -- Update to 8.7.0 -- https://nodejs.org/en/blog/release/v8.7.0/ - -* Fri Oct 06 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:8.6.0-2 -- Use bcond macro instead of bootstrap conditional - -* Wed Sep 27 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:8.6.0-1 -- Fix nghttp2 version -- Update to 8.6.0 -- https://nodejs.org/en/blog/release/v8.6.0/ - -* Wed Sep 20 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:8.5.0-3 -- Build with bootstrap + bundle libuv for modularity -- backport patch for aarch64 debug build - -* Wed Sep 13 2017 Stephen Gallagher sgallagh@redhat.com - 1:8.5.0-2 -- Disable debug builds on aarch64 due to https://github.com/nodejs/node/issues/15395 - -* Tue Sep 12 2017 Stephen Gallagher sgallagh@redhat.com - 1:8.5.0-1 -- Update to v8.5.0 -- https://nodejs.org/en/blog/release/v8.5.0/ - -* Thu Sep 07 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:8.4.0-2 -- Refactor openssl BR - -* Wed Aug 16 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:8.4.0-1 -- Update to v8.4.0 -- https://nodejs.org/en/blog/release/v8.4.0/ -- http2 is now supported, add bundled nghttp2 -- remove openssl 1.0.1 patches, we won't be using them in fedora - -* Thu Aug 10 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:8.3.0-1 -- Update to v8.3.0 -- https://nodejs.org/en/blog/release/v8.3.0/ -- update V8 to 6.0 -- update minimal gcc and g++ requirements to 4.9.4 - -* Wed Aug 09 2017 Tom Hughes tom@compton.nu - 1:8.2.1-2 -- Bump release to fix broken dependencies - -* Thu Aug 03 2017 Fedora Release Engineering releng@fedoraproject.org - 1:8.2.1-1.2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Wed Jul 26 2017 Fedora Release Engineering releng@fedoraproject.org - 1:8.2.1-1.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Fri Jul 21 2017 Stephen Gallagher sgallagh@redhat.com - 1:8.2.1-1 -- Update to v8.2.1 -- https://nodejs.org/en/blog/release/v8.2.1/ - -* Thu Jul 20 2017 Stephen Gallagher sgallagh@redhat.com - 1:8.2.0-1 -- Update to v8.2.0 -- https://nodejs.org/en/blog/release/v8.2.0/ -- Update npm to 5.3.0 -- Adds npx command - -* Tue Jul 18 2017 Igor Gnatenko ignatenko@redhat.com - 1:8.1.4-3 -- s/BuildRequires/Requires/ for http-parser-devel%%{?_isa} - -* Mon Jul 17 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:8.1.4-2 -- Rename python-devel to python2-devel -- own %%{_pkgdocdir}/npm - -* Tue Jul 11 2017 Stephen Gallagher sgallagh@redhat.com - 1:8.1.4-1 -- Update to v8.1.4 -- https://nodejs.org/en/blog/release/v8.1.4/ -- Drop upstreamed c-ares patch - -* Thu Jun 29 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:8.1.3-1 -- Update to v8.1.3 -- https://nodejs.org/en/blog/release/v8.1.3/ - -* Wed Jun 28 2017 Zuzana Svetlikova zsvetlik@redhat.com - 1:8.1.2-1 -- Update to v8.1.2 -- remove GCC 7 patch, as it is now fixed in node >= 6.12 -
commit 32edd143c20830bf393c7563daa1a2ca024b0eb2 Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Apr 20 09:35:18 2021 -0400
Disable stack execution
Resolves: rhbz#1950528
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index 361ea08..1b5cf73 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,7 +1,7 @@ -From b0b4d1ddbc720db73fb8ab13cdbbf1ce6524eebd Mon Sep 17 00:00:00 2001 +From 0a889af5ee18290d833f7f63742d5b714bdb1a40 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Fri, 17 Apr 2020 12:59:44 +0200 -Subject: [PATCH 1/2] Disable running gyp on shared deps +Subject: [PATCH 1/3] Disable running gyp on shared deps
--- Makefile | 2 +- @@ -25,5 +25,5 @@ index 93d63110ae2e3928a95d24036b86d11885ab240f..79caaec2112cefa8f6a1c947375b517e
# node_version.h is listed because the N-API version is taken from there -- -2.29.2 +2.31.1
diff --git a/0002-Install-both-binaries-and-use-libdir.patch b/0002-Install-both-binaries-and-use-libdir.patch index 1dc8b12..9679f8b 100644 --- a/0002-Install-both-binaries-and-use-libdir.patch +++ b/0002-Install-both-binaries-and-use-libdir.patch @@ -1,7 +1,7 @@ -From 45a9bca165f6ed76c4e43cc2cc3fdf596814bc77 Mon Sep 17 00:00:00 2001 +From 4012d5b9ae521f36c8b0155f591a38383e84407b Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 -Subject: [PATCH 2/2] Install both binaries and use libdir. +Subject: [PATCH 2/3] Install both binaries and use libdir.
This allows us to build with a shared library for other users while still providing the normal executable. @@ -86,5 +86,5 @@ index 729b416fc47d3ff3317ae3671dee977c719a8841..9bfc6234edb7732f9b90f063c2ee4a27
# behave similarly for systemtap -- -2.29.2 +2.31.1
diff --git a/0003-src-add-.note.GNU-stack-section.patch b/0003-src-add-.note.GNU-stack-section.patch new file mode 100644 index 0000000..74fd28f --- /dev/null +++ b/0003-src-add-.note.GNU-stack-section.patch @@ -0,0 +1,45 @@ +From 6aa11a8cf48463432c0b5c6bfca5c2a5b18b1cc7 Mon Sep 17 00:00:00 2001 +From: James Addison jay@jp-hosting.net +Date: Tue, 9 Mar 2021 13:08:47 +0000 +Subject: [PATCH 3/3] src: add .note.GNU-stack section + +This indicates to GNU binutils that it can unset the executable stack +flag on the binary that it is building. + +PR-URL: https://github.com/nodejs/node/pull/37688 +Refs: https://github.com/nodejs/node/issues/17933 +Reviewed-By: Daniel Bevenius daniel.bevenius@gmail.com + +src: Use %progbits instead of @progbits + +While @progbits is preferred for most architectures, there are some +(notably 32-bit ARM) for which it does not. %progbits is effective +everywhere. + +See https://bugzilla.redhat.com/show_bug.cgi?id=1950528 for more +details. + +Related: https://github.com/nodejs/node/issues/17933 +Related: https://github.com/nodejs/node/pull/37688 + +Signed-off-by: Stephen Gallagher sgallagh@redhat.com +--- + src/large_pages/node_text_start.S | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/large_pages/node_text_start.S b/src/large_pages/node_text_start.S +index 1609b254f0495a32f8896ba96d96bad03f6f2321..d27dd39cc236f0e6be4e68113bfff7b531a37455 100644 +--- a/src/large_pages/node_text_start.S ++++ b/src/large_pages/node_text_start.S +@@ -1,5 +1,8 @@ ++#if defined(__ELF__) ++.section .note.GNU-stack,"",%progbits ++#endif + .text + .align 0x2000 + .global __node_text_start + .hidden __node_text_start + __node_text_start: +-- +2.31.1 + diff --git a/nodejs.spec b/nodejs.spec index a4eb5e2..e807c09 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 1 +%global baserelease 2
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -145,6 +145,10 @@ Patch1: 0001-Disable-running-gyp-on-shared-deps.patch # Patch to install both node and libnode.so, using the correct libdir Patch2: 0002-Install-both-binaries-and-use-libdir.patch
+# Patch to disable stack execution. Merged from one upstream patch and +# one upstream proposed patch +Patch3: 0003-src-add-.note.GNU-stack-section.patch + BuildRequires: make BuildRequires: python3-devel BuildRequires: python3-setuptools @@ -665,6 +669,9 @@ end
%changelog +* Tue Apr 20 2021 Stephen Gallagher sgallagh@redhat.com - 1:14.16.1-2 +- Disable stack execution (bz#1950528) + * Thu Apr 08 2021 Stephen Gallagher sgallagh@redhat.com - 1:14.16.1-1 - Update to 14.16.1
commit 4fb06444126942877fd999911ffdc1edde41a5e2 Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Jan 18 12:47:39 2021 -0500
Simplify handling of unversioned python
Now that /usr/bin/python == python3, we can just BR: the python-unversioned-command package instead of doing a complicated search and replace through the codebase.
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 10fdeaa..a4eb5e2 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -1,6 +1,5 @@ # bundle dependencies that are not available as Fedora modules %bcond_with bootstrap -%bcond_without python3_fixup
# LTO is currently broken on Node.js builds %define _lto_cflags %{nil} @@ -149,6 +148,7 @@ Patch2: 0002-Install-both-binaries-and-use-libdir.patch BuildRequires: make BuildRequires: python3-devel BuildRequires: python3-setuptools +BuildRequires: python-unversioned-command BuildRequires: zlib-devel BuildRequires: brotli-devel BuildRequires: gcc >= 6.3.0 @@ -358,16 +358,6 @@ The API documentation for the Node.js JavaScript runtime. rm -rf deps/zlib rm -rf deps/brotli
-# Replace any instances of unversioned python' with python3 -%if %{with python3_fixup} -pathfix.py -i %{__python3} -pn $(find -type f ! -name "*.js") -find . -type f -exec sed -i "s~/usr/bin/env python~/usr/bin/python3~" {} ; -find . -type f -exec sed -i "s~/usr/bin/python\W~/usr/bin/python3~" {} ; -sed -i "s~python~python3~" $(find . -type f | grep "gyp$") -sed -i "s~usr/bin/python2~usr/bin/python3~" ./deps/v8/tools/gen-inlining-tests.py -sed -i "s~usr/bin/python.*$~usr/bin/python3~" ./deps/v8/tools/mb/mb_unittest.py -find . -type f -exec sed -i "s~python -c~python3 -c~" {} ; -%endif
%build # When compiled on armv7hl this package generates an out of range
commit 3ce811c32fe85e6689e386345f72b30127321727 Merge: d51feae 0e63a14 Author: Stephen Gallagher sgallagh@redhat.com Date: Thu Apr 8 12:26:38 2021 -0400
Merge branch '14' into rawhide
diff --cc nodejs.spec index 80b9828,c2d4caf..10fdeaa --- a/nodejs.spec +++ b/nodejs.spec @@@ -675,9 -675,9 +675,12 @@@ en
%changelog + * Thu Apr 08 2021 Stephen Gallagher sgallagh@redhat.com - 1:14.16.1-1 + - Update to 14.16.1 + +* Wed Mar 31 2021 Jonathan Wakely jwakely@redhat.com - 1:14.16.0-4 +- Rebuilt for removed libstdc++ symbols (#1937698) + * Tue Mar 09 2021 Zuzana Svetlikova <zsvetlik@redhat.com - 1:14.16.0-3 - Only require nodejs-packaging on Fedora - remove --debug-nghttp2 (#1930775)
commit 0e63a1498397f5001f7298bc5f7c5ba39563d17c Author: Stephen Gallagher sgallagh@redhat.com Date: Thu Apr 8 12:25:10 2021 -0400
Fix package.cfg
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/package.cfg b/package.cfg index ceab82f..5e7e859 100644 --- a/package.cfg +++ b/package.cfg @@ -1,2 +1,2 @@ [koji] -targets = master f34 f33 +targets = rawhide f34 f33
commit 37e035e7684ee405ab3b90e4f6cc2ffe0940faa5 Author: Stephen Gallagher sgallagh@redhat.com Date: Thu Apr 8 12:23:11 2021 -0400
Update to 14.16.1
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 730889d..c2d4caf 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -9,7 +9,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 3 +%global baserelease 1
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -21,7 +21,7 @@ %global nodejs_epoch 1 %global nodejs_major 14 %global nodejs_minor 16 -%global nodejs_patch 0 +%global nodejs_patch 1 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 83 @@ -93,7 +93,7 @@ %global npm_epoch 1 %global npm_major 6 %global npm_minor 14 -%global npm_patch 11 +%global npm_patch 12 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch}
# uvwasi - from deps/uvwasi/include/uvwasi.h @@ -675,6 +675,9 @@ end
%changelog +* Thu Apr 08 2021 Stephen Gallagher sgallagh@redhat.com - 1:14.16.1-1 +- Update to 14.16.1 + * Tue Mar 09 2021 Zuzana Svetlikova <zsvetlik@redhat.com - 1:14.16.0-3 - Only require nodejs-packaging on Fedora - remove --debug-nghttp2 (#1930775) diff --git a/sources b/sources index b355517..96692c4 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v14.16.0-stripped.tar.gz) = 817683b85eb47aa976f90b26e6e4a582ad67e7a2f48841be7ca378af46e87434d55fbc894e262889d07283775946348cb3fad152c488ce0c2199eba742018094 +SHA512 (node-v14.16.1-stripped.tar.gz) = 1ec3f503ecd6f8ffa24c3abc04e4e33758e1d577f645dc9c3a22282e3f4755e44169ca54a178fb90e8edb8ef6490d65edc4fd7fcf6ec9b5445d38630b9861a29 SHA512 (icu4c-67_1-src.tgz) = 4779f1ce1ca7976f6fad6768853ea8c540da54d11509e3b6cfd864a04b5f2db1c3d4b546387f91ad02fb90804525bc37d2543173f0d705d6ca11dc6f2b7640a8
commit d51feaec0d8b415a6392576bc5790ede5a994a98 Author: Jonathan Wakely jwakely@redhat.com Date: Wed Mar 31 17:35:43 2021 +0100
Rebuilt for removed libstdc++ symbols (#1937698)
diff --git a/nodejs.spec b/nodejs.spec index 730889d..80b9828 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -9,7 +9,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 3 +%global baserelease 4
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -675,6 +675,9 @@ end
%changelog +* Wed Mar 31 2021 Jonathan Wakely jwakely@redhat.com - 1:14.16.0-4 +- Rebuilt for removed libstdc++ symbols (#1937698) + * Tue Mar 09 2021 Zuzana Svetlikova <zsvetlik@redhat.com - 1:14.16.0-3 - Only require nodejs-packaging on Fedora - remove --debug-nghttp2 (#1930775)
commit 562828877ed4f5cfa589da19a7001785f8b22008 Author: Zuzana Svetlikova zsvetlik@redhat.com Date: Tue Mar 9 18:26:30 2021 +0100
Only require nodejs-packaging on Fedora remove --debug-nghttp2 (#1930775) always build with systemtap
diff --git a/nodejs.spec b/nodejs.spec index dabb932..730889d 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -9,7 +9,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 2 +%global baserelease 3
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -159,12 +159,12 @@ BuildRequires: gcc-c++ >= 6.3.0 BuildRequires: nodejs-packaging BuildRequires: chrpath BuildRequires: libatomic +BuildRequires: systemtap-sdt-devel
%if %{with bootstrap} Provides: bundled(libuv) = %{libuv_version} Provides: bundled(nghttp2) = %{nghttp2_version} %else -BuildRequires: systemtap-sdt-devel BuildRequires: libuv-devel >= 1:%{libuv_version} Requires: libuv >= 1:%{libuv_version} BuildRequires: libnghttp2-devel >= %{nghttp2_version} @@ -235,8 +235,10 @@ Provides: bundled(icu) = %{icu_version} Provides: bundled(uvwasi) = %{uvwasi_version} Provides: bundled(histogram) = %{histogram_version}
+%if 0%{?fedora} # Make sure to pull in the appropriate packaging macros when building RPMs Requires: (nodejs-packaging if rpm-build) +%endif
# Make sure we keep NPM up to date when we update Node.js Recommends: npm >= %{npm_epoch}:%{npm_version}-%{npm_release}%{?dist} @@ -412,7 +414,6 @@ export LDFLAGS="%{build_ldflags}" --shared-brotli \ --without-dtrace \ --with-intl=small-icu \ - --debug-nghttp2 \ --openssl-use-def-ca-store %else %{__python3} configure.py --prefix=%{_prefix} \ @@ -426,7 +427,6 @@ export LDFLAGS="%{build_ldflags}" --with-dtrace \ --with-intl=small-icu \ --with-icu-default-data-dir=%{icudatadir} \ - --debug-nghttp2 \ --openssl-use-def-ca-store %endif
@@ -675,6 +675,11 @@ end
%changelog +* Tue Mar 09 2021 Zuzana Svetlikova <zsvetlik@redhat.com - 1:14.16.0-3 +- Only require nodejs-packaging on Fedora +- remove --debug-nghttp2 (#1930775) +- always build with systemtap + * Mon Jan 04 2021 Stephen Gallagher sgallagh@redhat.com - 1:14.16.0-1 - Update to 14.16.0
commit 095039c5a9ea57e731cd96b54d204dec1ca29333 Author: Zuzana Svetlikova zsvetlik@redhat.com Date: Tue Mar 9 18:26:30 2021 +0100
Only require nodejs-packaging on Fedora remove --debug-nghttp2 (#1930775) always build with systemtap
diff --git a/nodejs.spec b/nodejs.spec index dabb932..730889d 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -9,7 +9,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 2 +%global baserelease 3
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -159,12 +159,12 @@ BuildRequires: gcc-c++ >= 6.3.0 BuildRequires: nodejs-packaging BuildRequires: chrpath BuildRequires: libatomic +BuildRequires: systemtap-sdt-devel
%if %{with bootstrap} Provides: bundled(libuv) = %{libuv_version} Provides: bundled(nghttp2) = %{nghttp2_version} %else -BuildRequires: systemtap-sdt-devel BuildRequires: libuv-devel >= 1:%{libuv_version} Requires: libuv >= 1:%{libuv_version} BuildRequires: libnghttp2-devel >= %{nghttp2_version} @@ -235,8 +235,10 @@ Provides: bundled(icu) = %{icu_version} Provides: bundled(uvwasi) = %{uvwasi_version} Provides: bundled(histogram) = %{histogram_version}
+%if 0%{?fedora} # Make sure to pull in the appropriate packaging macros when building RPMs Requires: (nodejs-packaging if rpm-build) +%endif
# Make sure we keep NPM up to date when we update Node.js Recommends: npm >= %{npm_epoch}:%{npm_version}-%{npm_release}%{?dist} @@ -412,7 +414,6 @@ export LDFLAGS="%{build_ldflags}" --shared-brotli \ --without-dtrace \ --with-intl=small-icu \ - --debug-nghttp2 \ --openssl-use-def-ca-store %else %{__python3} configure.py --prefix=%{_prefix} \ @@ -426,7 +427,6 @@ export LDFLAGS="%{build_ldflags}" --with-dtrace \ --with-intl=small-icu \ --with-icu-default-data-dir=%{icudatadir} \ - --debug-nghttp2 \ --openssl-use-def-ca-store %endif
@@ -675,6 +675,11 @@ end
%changelog +* Tue Mar 09 2021 Zuzana Svetlikova <zsvetlik@redhat.com - 1:14.16.0-3 +- Only require nodejs-packaging on Fedora +- remove --debug-nghttp2 (#1930775) +- always build with systemtap + * Mon Jan 04 2021 Stephen Gallagher sgallagh@redhat.com - 1:14.16.0-1 - Update to 14.16.0
commit 867d4da14b272bfdc3514a5decad078503d06328 Merge: 44f3bfe a630cd6 Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Feb 23 13:57:03 2021 -0500
Merge branch '14' into rawhide
diff --cc nodejs.spec index 210889e,8c8be0a..dabb932 --- a/nodejs.spec +++ b/nodejs.spec @@@ -675,9 -674,9 +675,12 @@@ en
%changelog + * Mon Jan 04 2021 Stephen Gallagher sgallagh@redhat.com - 1:14.16.0-1 + - Update to 14.16.0 + +* Tue Jan 26 2021 Fedora Release Engineering releng@fedoraproject.org - 1:14.15.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Mon Jan 04 2021 Stephen Gallagher sgallagh@redhat.com - 1:14.15.4-1 - Update to 14.15.4
commit a630cd6af9c313edbebc198215cc87e4e96f9c24 Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Feb 23 13:53:36 2021 -0500
Update to 14.16.0
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 6717f99..8c8be0a 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -20,8 +20,8 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 14 -%global nodejs_minor 15 -%global nodejs_patch 4 +%global nodejs_minor 16 +%global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 83 @@ -93,7 +93,7 @@ %global npm_epoch 1 %global npm_major 6 %global npm_minor 14 -%global npm_patch 10 +%global npm_patch 11 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch}
# uvwasi - from deps/uvwasi/include/uvwasi.h @@ -674,6 +674,9 @@ end
%changelog +* Mon Jan 04 2021 Stephen Gallagher sgallagh@redhat.com - 1:14.16.0-1 +- Update to 14.16.0 + * Mon Jan 04 2021 Stephen Gallagher sgallagh@redhat.com - 1:14.15.4-1 - Update to 14.15.4
diff --git a/package.cfg b/package.cfg index dfe80fb..ceab82f 100644 --- a/package.cfg +++ b/package.cfg @@ -1,2 +1,2 @@ [koji] -targets = master f33 +targets = master f34 f33 diff --git a/sources b/sources index 3547e12..b355517 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v14.15.4-stripped.tar.gz) = 2c1d9b67e6b9bbdd960eeb82edfb02c237a7c7190407cf60bf14b02eb2b6143159b6f45e7bddb7c97120eab4faa37455534ab8b90bd4161b6d66dab0a72b122e +SHA512 (node-v14.16.0-stripped.tar.gz) = 817683b85eb47aa976f90b26e6e4a582ad67e7a2f48841be7ca378af46e87434d55fbc894e262889d07283775946348cb3fad152c488ce0c2199eba742018094 SHA512 (icu4c-67_1-src.tgz) = 4779f1ce1ca7976f6fad6768853ea8c540da54d11509e3b6cfd864a04b5f2db1c3d4b546387f91ad02fb90804525bc37d2543173f0d705d6ca11dc6f2b7640a8
commit 44f3bfe9c7a4919bd088aa95b52546960aa030fb Author: Fedora Release Engineering releng@fedoraproject.org Date: Tue Jan 26 21:35:49 2021 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering releng@fedoraproject.org
diff --git a/nodejs.spec b/nodejs.spec index 00a12d8..210889e 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -9,7 +9,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 1 +%global baserelease 2
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -675,6 +675,9 @@ end
%changelog +* Tue Jan 26 2021 Fedora Release Engineering releng@fedoraproject.org - 1:14.15.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Mon Jan 04 2021 Stephen Gallagher sgallagh@redhat.com - 1:14.15.4-1 - Update to 14.15.4
commit c2e87c433405746eed5667023febc41fd04dc08a Author: Tom Stellard tstellar@redhat.com Date: Thu Jan 7 05:55:20 2021 +0000
Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
diff --git a/nodejs.spec b/nodejs.spec index 6717f99..00a12d8 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -146,6 +146,7 @@ Patch1: 0001-Disable-running-gyp-on-shared-deps.patch # Patch to install both node and libnode.so, using the correct libdir Patch2: 0002-Install-both-binaries-and-use-libdir.patch
+BuildRequires: make BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: zlib-devel
commit 9f1a56347d44c7841a0d9615b0cdcbd7c17d66c1 Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Jan 4 15:58:35 2021 -0500
Disable LTO
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index dcc511d..6717f99 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -2,11 +2,8 @@ %bcond_with bootstrap %bcond_without python3_fixup
-# LTO is currently broken on aarch64 builds -%ifarch aarch64 +# LTO is currently broken on Node.js builds %define _lto_cflags %{nil} -%endif -
# == Master Relase == # This is used by both the nodejs package and the npm subpackage thar
commit 74b49c257f94c38b880f43e7e44d4439da4a65fe Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Jan 4 15:18:59 2021 -0500
Update to 14.15.4
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index ef45163..361ea08 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,18 +1,20 @@ -From 65f5eb67f4691ab535cc00240a00bd33efe29969 Mon Sep 17 00:00:00 2001 +From b0b4d1ddbc720db73fb8ab13cdbbf1ce6524eebd Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Fri, 17 Apr 2020 12:59:44 +0200 -Subject: [PATCH] 0001 +Subject: [PATCH 1/2] Disable running gyp on shared deps
--- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile -index 34cdec7f7767b5152678adaeea10a8cf711fb9a8..3b548907033108831e99e054bc84d3ce91daa25c 100644 +index 93d63110ae2e3928a95d24036b86d11885ab240f..79caaec2112cefa8f6a1c947375b517e9676f176 100644 --- a/Makefile +++ b/Makefile -@@ -141,7 +141,7 @@ test-code-cache: with-code-cache - echo "'test-code-cache' target is a noop" +@@ -136,11 +136,11 @@ endif + .PHONY: test-code-cache + with-code-cache test-code-cache: + $(warning '$@' target is a noop)
out/Makefile: config.gypi common.gypi node.gyp \ - deps/uv/uv.gyp deps/llhttp/llhttp.gyp deps/zlib/zlib.gyp \ @@ -20,6 +22,8 @@ index 34cdec7f7767b5152678adaeea10a8cf711fb9a8..3b548907033108831e99e054bc84d3ce tools/v8_gypfiles/toolchain.gypi tools/v8_gypfiles/features.gypi \ tools/v8_gypfiles/inspector.gypi tools/v8_gypfiles/v8.gyp $(PYTHON) tools/gyp_node.py -f make + + # node_version.h is listed because the N-API version is taken from there -- -2.25.2 +2.29.2
diff --git a/0002-Install-both-binaries-and-use-libdir.patch b/0002-Install-both-binaries-and-use-libdir.patch index b3441a7..1dc8b12 100644 --- a/0002-Install-both-binaries-and-use-libdir.patch +++ b/0002-Install-both-binaries-and-use-libdir.patch @@ -1,4 +1,4 @@ -From 0b315d55b13d098ce8f3e96d501aeb33152a9e00 Mon Sep 17 00:00:00 2001 +From 45a9bca165f6ed76c4e43cc2cc3fdf596814bc77 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 Subject: [PATCH 2/2] Install both binaries and use libdir. @@ -9,14 +9,16 @@ still providing the normal executable. Signed-off-by: Elliott Sales de Andrade quantum.analyst@gmail.com --- configure.py | 7 +++++++ - tools/install.py | 29 +++++++++++++---------------- - 2 files changed, 20 insertions(+), 16 deletions(-) + tools/install.py | 21 +++++++++------------ + 2 files changed, 16 insertions(+), 12 deletions(-)
diff --git a/configure.py b/configure.py -index beb08df0884f7693b6c07d7fb5e85ae7bdcd1d7d..9e364586d4f79322fe53f41915ed7aad0e23a30d 100755 +index e6f7e4db0040dda00e432352afa7576535d9b672..6cf5c45dde79ce355b532c2f11b5b7ed80fde88a 100755 --- a/configure.py +++ b/configure.py -@@ -582,6 +582,12 @@ parser.add_option('--shared', +@@ -624,10 +624,16 @@ parser.add_option('--shared', + action='store_true', + dest='shared', help='compile shared library for embedding node in another project. ' + '(This mode is not officially supported for regular applications)')
@@ -29,7 +31,11 @@ index beb08df0884f7693b6c07d7fb5e85ae7bdcd1d7d..9e364586d4f79322fe53f41915ed7aad parser.add_option('--without-v8-platform', action='store_true', dest='without_v8_platform', -@@ -1124,6 +1130,7 @@ def configure_node(o): + default=False, + help='do not initialize v8 platform during node.js startup. ' + +@@ -1200,10 +1206,11 @@ def configure_node(o): + o['variables']['debug_nghttp2'] = 'false' + o['variables']['node_no_browser_globals'] = b(options.no_browser_globals)
o['variables']['node_shared'] = b(options.shared) @@ -37,11 +43,15 @@ index beb08df0884f7693b6c07d7fb5e85ae7bdcd1d7d..9e364586d4f79322fe53f41915ed7aad node_module_version = getmoduleversion.get_version()
if options.dest_os == 'android': + shlib_suffix = 'so' + elif sys.platform == 'darwin': diff --git a/tools/install.py b/tools/install.py -index 655802980a6ea94d1d4ca1dc63c8c8e905fbb83a..fe4723bf15012c8aacacb0393dc8294c049b0503 100755 +index 729b416fc47d3ff3317ae3671dee977c719a8841..9bfc6234edb7732f9b90f063c2ee4a276e840636 100755 --- a/tools/install.py +++ b/tools/install.py -@@ -121,26 +121,23 @@ def subdir_files(path, dest, action): +@@ -119,26 +119,23 @@ def subdir_files(path, dest, action): + for subdir, files_in_path in ret.items(): + action(files_in_path, subdir + '/')
def files(action): is_windows = sys.platform == 'win32' @@ -60,16 +70,8 @@ index 655802980a6ea94d1d4ca1dc63c8c8e905fbb83a..fe4723bf15012c8aacacb0393dc8294c - output_file += '.dll' - else: - output_file = 'lib' + output_file + '.' + variables.get('shlib_suffix') -- # GYP will output to lib.target except on OS X, this is hardcoded -- # in its source - see the _InstallableTargetInstallPath function. -- if sys.platform != 'darwin': -- output_prefix += 'lib.target/' + output_bin = 'node' + output_lib = 'libnode.' + variables.get('shlib_suffix') -+ # GYP will output to lib.target except on OS X, this is hardcoded -+ # in its source - see the _InstallableTargetInstallPath function. -+ if sys.platform != 'darwin': -+ output_libprefix += 'lib.target/'
- if 'false' == variables.get('node_shared'): - action([output_prefix + output_file], 'bin/' + output_file) @@ -81,6 +83,8 @@ index 655802980a6ea94d1d4ca1dc63c8c8e905fbb83a..fe4723bf15012c8aacacb0393dc8294c
if 'true' == variables.get('node_use_dtrace'): action(['out/Release/node.d'], 'lib/dtrace/node.d') + + # behave similarly for systemtap -- -2.24.1 +2.29.2
diff --git a/nodejs.spec b/nodejs.spec index 9ba5ae5..dcc511d 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -24,7 +24,7 @@ %global nodejs_epoch 1 %global nodejs_major 14 %global nodejs_minor 15 -%global nodejs_patch 1 +%global nodejs_patch 4 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 83 @@ -96,7 +96,7 @@ %global npm_epoch 1 %global npm_major 6 %global npm_minor 14 -%global npm_patch 8 +%global npm_patch 10 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch}
# uvwasi - from deps/uvwasi/include/uvwasi.h @@ -677,6 +677,9 @@ end
%changelog +* Mon Jan 04 2021 Stephen Gallagher sgallagh@redhat.com - 1:14.15.4-1 +- Update to 14.15.4 + * Wed Dec 02 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.15.1-1 - Update to 14.15.1
diff --git a/sources b/sources index 7478cbc..3547e12 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v14.15.1-stripped.tar.gz) = aa07a49485a0fecc282173b8b6d915b912a19191446ed6f4684d979e4baebadb7708a338410c2c42ee81d8395db6cfaf9b0879baea9e652dd97f7811a077975d +SHA512 (node-v14.15.4-stripped.tar.gz) = 2c1d9b67e6b9bbdd960eeb82edfb02c237a7c7190407cf60bf14b02eb2b6143159b6f45e7bddb7c97120eab4faa37455534ab8b90bd4161b6d66dab0a72b122e SHA512 (icu4c-67_1-src.tgz) = 4779f1ce1ca7976f6fad6768853ea8c540da54d11509e3b6cfd864a04b5f2db1c3d4b546387f91ad02fb90804525bc37d2543173f0d705d6ca11dc6f2b7640a8
commit d4fae2de5af42fef0048e8ff5290f76df0e9e4ba Author: Stephen Gallagher sgallagh@redhat.com Date: Wed Dec 2 20:53:53 2020 -0500
Update to 14.15.1
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 0aa6bfb..9ba5ae5 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -12,7 +12,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 2 +%global baserelease 1
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -23,8 +23,8 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 14 -%global nodejs_minor 14 -%global nodejs_patch 0 +%global nodejs_minor 15 +%global nodejs_patch 1 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 83 @@ -677,6 +677,9 @@ end
%changelog +* Wed Dec 02 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.15.1-1 +- Update to 14.15.1 + * Tue Oct 20 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.14.0-2 - Don't build with LTO on aarch64
diff --git a/sources b/sources index 74190a6..7478cbc 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v14.14.0-stripped.tar.gz) = 208bcc585e6e8a25a656d942424afa26aa7442a6252c428c01081e3f052998363d3126e290576493bb8fcc3e2944026013cf7a5757113a8717574cefdaa72c31 +SHA512 (node-v14.15.1-stripped.tar.gz) = aa07a49485a0fecc282173b8b6d915b912a19191446ed6f4684d979e4baebadb7708a338410c2c42ee81d8395db6cfaf9b0879baea9e652dd97f7811a077975d SHA512 (icu4c-67_1-src.tgz) = 4779f1ce1ca7976f6fad6768853ea8c540da54d11509e3b6cfd864a04b5f2db1c3d4b546387f91ad02fb90804525bc37d2543173f0d705d6ca11dc6f2b7640a8
commit a042b795522128838140f15a3019f0cc42a63781 Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Oct 20 08:52:25 2020 -0400
Don't build with LTO on aarch64
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 96bfaff..0aa6bfb 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -2,12 +2,17 @@ %bcond_with bootstrap %bcond_without python3_fixup
+# LTO is currently broken on aarch64 builds +%ifarch aarch64 +%define _lto_cflags %{nil} +%endif +
# == Master Relase == # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 1 +%global baserelease 2
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -672,6 +677,9 @@ end
%changelog +* Tue Oct 20 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.14.0-2 +- Don't build with LTO on aarch64 + * Mon Oct 19 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.14.0-1 - Update to 14.14.0
commit ab1676bdb39acbfb7184338364769f22e5277599 Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Oct 19 09:37:56 2020 -0400
Update to 14.14.0
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 600e725..96bfaff 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -18,8 +18,8 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 14 -%global nodejs_minor 13 -%global nodejs_patch 1 +%global nodejs_minor 14 +%global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 83 @@ -672,6 +672,9 @@ end
%changelog +* Mon Oct 19 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.14.0-1 +- Update to 14.14.0 + * Fri Oct 09 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.13.1-1 - Update to 14.13.1
diff --git a/sources b/sources index 703a43d..74190a6 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v14.13.1-stripped.tar.gz) = eae37da105b0a176353c53d96ce081f6d018f9abe90476fa7396be7d3cf9b6d863d6edac4f67f09d384a717c6491f0c250b25e588dd449750bd70da6180ca35f +SHA512 (node-v14.14.0-stripped.tar.gz) = 208bcc585e6e8a25a656d942424afa26aa7442a6252c428c01081e3f052998363d3126e290576493bb8fcc3e2944026013cf7a5757113a8717574cefdaa72c31 SHA512 (icu4c-67_1-src.tgz) = 4779f1ce1ca7976f6fad6768853ea8c540da54d11509e3b6cfd864a04b5f2db1c3d4b546387f91ad02fb90804525bc37d2543173f0d705d6ca11dc6f2b7640a8
commit 52d3230036dd6bdc1c3b16ab7df8007696af8eef Author: Stephen Gallagher sgallagh@redhat.com Date: Fri Oct 9 09:44:18 2020 -0400
Update to 14.13.1
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index ebdbac5..600e725 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -19,7 +19,7 @@ %global nodejs_epoch 1 %global nodejs_major 14 %global nodejs_minor 13 -%global nodejs_patch 0 +%global nodejs_patch 1 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 83 @@ -51,7 +51,7 @@ # llhttp - from deps/llhttp/include/llhttp.h %global llhttp_major 2 %global llhttp_minor 1 -%global llhttp_patch 2 +%global llhttp_patch 3 %global llhttp_version %{llhttp_major}.%{llhttp_minor}.%{llhttp_patch}
# libuv - from deps/uv/include/uv/version.h @@ -672,6 +672,9 @@ end
%changelog +* Fri Oct 09 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.13.1-1 +- Update to 14.13.1 + * Thu Oct 01 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.13.0-1 - Update to 14.13.0
diff --git a/sources b/sources index ae6c258..703a43d 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v14.13.0-stripped.tar.gz) = be305a7e636a1f04e34b675d905be526f6370a94642bffa19c899e0885d58ddca3eb171765307238a6572cda7efceec2a6aaebf7af2e7a5ad617dee6124500ca +SHA512 (node-v14.13.1-stripped.tar.gz) = eae37da105b0a176353c53d96ce081f6d018f9abe90476fa7396be7d3cf9b6d863d6edac4f67f09d384a717c6491f0c250b25e588dd449750bd70da6180ca35f SHA512 (icu4c-67_1-src.tgz) = 4779f1ce1ca7976f6fad6768853ea8c540da54d11509e3b6cfd864a04b5f2db1c3d4b546387f91ad02fb90804525bc37d2543173f0d705d6ca11dc6f2b7640a8
commit 3781c81a5cccd262ea984b11219c5419b9c6fc4d Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Oct 5 09:40:46 2020 -0400
Add explicit setuptools dep
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index b66b6f2..ebdbac5 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -145,6 +145,7 @@ Patch1: 0001-Disable-running-gyp-on-shared-deps.patch Patch2: 0002-Install-both-binaries-and-use-libdir.patch
BuildRequires: python3-devel +BuildRequires: python3-setuptools BuildRequires: zlib-devel BuildRequires: brotli-devel BuildRequires: gcc >= 6.3.0
commit 2cd44ffc6bf6d8b291a848189b31cc8f16771ca7 Author: Stephen Gallagher sgallagh@redhat.com Date: Thu Oct 1 13:36:19 2020 -0400
Update to 14.13.0
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/.gitignore b/.gitignore index c7ca6db..fdd7ef0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +*~ +*.swp /*.tar.gz /*.src.rpm /*.tgz diff --git a/nodejs.spec b/nodejs.spec index 2918a64..b66b6f2 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -18,7 +18,7 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 14 -%global nodejs_minor 11 +%global nodejs_minor 13 %global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h @@ -45,7 +45,7 @@ # https://github.com/nodejs/node/pull/9332 %global c_ares_major 1 %global c_ares_minor 16 -%global c_ares_patch 0 +%global c_ares_patch 1 %global c_ares_version %{c_ares_major}.%{c_ares_minor}.%{c_ares_patch}
# llhttp - from deps/llhttp/include/llhttp.h @@ -56,7 +56,7 @@
# libuv - from deps/uv/include/uv/version.h %global libuv_major 1 -%global libuv_minor 39 +%global libuv_minor 40 %global libuv_patch 0 %global libuv_version %{libuv_major}.%{libuv_minor}.%{libuv_patch}
@@ -97,7 +97,7 @@ # uvwasi - from deps/uvwasi/include/uvwasi.h %global uvwasi_major 0 %global uvwasi_minor 0 -%global uvwasi_patch 10 +%global uvwasi_patch 11 %global uvwasi_version %{uvwasi_major}.%{uvwasi_minor}.%{uvwasi_patch}
# histogram_c - assumed from timestamps @@ -671,6 +671,9 @@ end
%changelog +* Thu Oct 01 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.13.0-1 +- Update to 14.13.0 + * Wed Sep 16 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.11.0-1 - Update to 14.11.0
diff --git a/sources b/sources index 5aae63e..ae6c258 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v14.11.0-stripped.tar.gz) = 0ac5496eed70d6d00b0d71fed6f07395d96a4fd1d7efdf2598ba66964f04bbabadbf465e26d07e80856ae825794ed740e607d63bdf8f2b2e64f80171d71851f0 +SHA512 (node-v14.13.0-stripped.tar.gz) = be305a7e636a1f04e34b675d905be526f6370a94642bffa19c899e0885d58ddca3eb171765307238a6572cda7efceec2a6aaebf7af2e7a5ad617dee6124500ca SHA512 (icu4c-67_1-src.tgz) = 4779f1ce1ca7976f6fad6768853ea8c540da54d11509e3b6cfd864a04b5f2db1c3d4b546387f91ad02fb90804525bc37d2543173f0d705d6ca11dc6f2b7640a8
commit 78306ffa5a3b1bf9853313bea9b8973043733d78 Author: Stephen Gallagher sgallagh@redhat.com Date: Thu Sep 17 11:55:27 2020 -0400
Drop old pretrans scriptlet
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index e3750ba..2918a64 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -585,24 +585,6 @@ if st and st.type == "directory" then end
-%pretrans -n v8-devel -p <lua> --- Replace the v8 libplatform include directory with a symlink --- Drop this scriptlet when F30 is EOL -path = "%{_includedir}/libplatform" -st = posix.stat(path) -if st and st.type == "directory" then - status = os.rename(path, path .. ".rpmmoved") - if not status then - suffix = 0 - while not status do - suffix = suffix + 1 - status = os.rename(path .. ".rpmmoved", path .. ".rpmmoved." .. suffix) - end - os.rename(path, path .. ".rpmmoved") - end -end - - %files %{_bindir}/node %dir %{_prefix}/lib/node_modules @@ -652,7 +634,6 @@ end %{_libdir}/libv8.so %{_libdir}/libv8_libbase.so %{_libdir}/libv8_libplatform.so -%ghost %{_includedir}/libplatform.rpmmoved
%files -n npm
commit af60d955d99018b81098bf0f8bf08e8a8e99de75 Author: Stephen Gallagher sgallagh@redhat.com Date: Wed Sep 16 08:55:53 2020 -0400
Add package.cfg
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/package.cfg b/package.cfg new file mode 100644 index 0000000..dfe80fb --- /dev/null +++ b/package.cfg @@ -0,0 +1,2 @@ +[koji] +targets = master f33
commit 227926069cfb44e68944537afa1416203b4ea0c0 Author: Stephen Gallagher sgallagh@redhat.com Date: Wed Sep 16 08:22:20 2020 -0400
Update to 14.11.0
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index e6b70ee..e3750ba 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -18,7 +18,7 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 14 -%global nodejs_minor 10 +%global nodejs_minor 11 %global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h @@ -50,8 +50,8 @@
# llhttp - from deps/llhttp/include/llhttp.h %global llhttp_major 2 -%global llhttp_minor 0 -%global llhttp_patch 4 +%global llhttp_minor 1 +%global llhttp_patch 2 %global llhttp_version %{llhttp_major}.%{llhttp_minor}.%{llhttp_patch}
# libuv - from deps/uv/include/uv/version.h @@ -690,6 +690,9 @@ end
%changelog +* Wed Sep 16 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.11.0-1 +- Update to 14.11.0 + * Tue Sep 08 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.10.0-1 - Update to 14.10.0
diff --git a/sources b/sources index 927ee67..5aae63e 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v14.10.0-stripped.tar.gz) = d0e5235112f6a3a8d76a6c88c1c52ac266e726d59257157435d0fcc81452f873d446490006a38b226a8dbb94e1f8e999eda61ea3064a5d993ecfeb31122bf649 +SHA512 (node-v14.11.0-stripped.tar.gz) = 0ac5496eed70d6d00b0d71fed6f07395d96a4fd1d7efdf2598ba66964f04bbabadbf465e26d07e80856ae825794ed740e607d63bdf8f2b2e64f80171d71851f0 SHA512 (icu4c-67_1-src.tgz) = 4779f1ce1ca7976f6fad6768853ea8c540da54d11509e3b6cfd864a04b5f2db1c3d4b546387f91ad02fb90804525bc37d2543173f0d705d6ca11dc6f2b7640a8
commit c30fcda754c76dbbf207abe8d2a51e268c199913 Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Sep 8 16:47:01 2020 -0400
Add missing symlink to files
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 2b8bb6a..e6b70ee 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -648,6 +648,7 @@ end %files -n v8-devel %{_includedir}/libplatform %{_includedir}/v8*.h +%{_includedir}/cppgc %{_libdir}/libv8.so %{_libdir}/libv8_libbase.so %{_libdir}/libv8_libplatform.so
commit f2dbb7e6ed0103c4140fdec399fde5399468cce7 Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Sep 8 14:13:55 2020 -0400
Update to 14.10.0
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 88beabe..2b8bb6a 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -7,7 +7,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 2 +%global baserelease 1
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -18,7 +18,7 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 14 -%global nodejs_minor 7 +%global nodejs_minor 10 %global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h @@ -56,8 +56,8 @@
# libuv - from deps/uv/include/uv/version.h %global libuv_major 1 -%global libuv_minor 38 -%global libuv_patch 1 +%global libuv_minor 39 +%global libuv_patch 0 %global libuv_version %{libuv_major}.%{libuv_minor}.%{libuv_patch}
# nghttp2 - from deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h @@ -91,13 +91,13 @@ %global npm_epoch 1 %global npm_major 6 %global npm_minor 14 -%global npm_patch 7 +%global npm_patch 8 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch}
# uvwasi - from deps/uvwasi/include/uvwasi.h %global uvwasi_major 0 %global uvwasi_minor 0 -%global uvwasi_patch 9 +%global uvwasi_patch 10 %global uvwasi_version %{uvwasi_major}.%{uvwasi_minor}.%{uvwasi_patch}
# histogram_c - assumed from timestamps @@ -473,8 +473,9 @@ ln -s libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/libnode.so # Install v8 compatibility symlinks for header in %{buildroot}%{_includedir}/node/libplatform %{buildroot}%{_includedir}/node/v8*.h; do header=$(basename ${header}) - ln -s %{_includedir}/node/${header} %{buildroot}%{_includedir}/${header} + ln -s ./node/${header} %{buildroot}%{_includedir}/${header} done +ln -s ./node/cppgc %{buildroot}%{_includedir}/cppgc for soname in libv8 libv8_libbase libv8_libplatform; do ln -s libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/${soname}.so ln -s libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/${soname}.so.%{v8_major} @@ -688,6 +689,9 @@ end
%changelog +* Tue Sep 08 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.10.0-1 +- Update to 14.10.0 + * Fri Aug 21 2020 Jeff Law law@redhat.com - 1:14.7.0-2 - Narrow LTO opt-out to just armv7hl
diff --git a/sources b/sources index b64ce65..927ee67 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v14.7.0-stripped.tar.gz) = b348851102b9cf204478b2b0d3eafc82287f6f32beee182fc1f77cad3636a1a529a31d4404ba310163d0f6c05209ba32acc9f4543204ec5bc25201ac2da662cf +SHA512 (node-v14.10.0-stripped.tar.gz) = d0e5235112f6a3a8d76a6c88c1c52ac266e726d59257157435d0fcc81452f873d446490006a38b226a8dbb94e1f8e999eda61ea3064a5d993ecfeb31122bf649 SHA512 (icu4c-67_1-src.tgz) = 4779f1ce1ca7976f6fad6768853ea8c540da54d11509e3b6cfd864a04b5f2db1c3d4b546387f91ad02fb90804525bc37d2543173f0d705d6ca11dc6f2b7640a8
commit 0ea33eec603687e056b3e576a0215d400ff300e0 Author: Jeff Law law@redhat.com Date: Fri Aug 21 09:04:40 2020 -0600
Narrow LTO opt-opt to just armv7hl
diff --git a/nodejs.spec b/nodejs.spec index 26dc400..88beabe 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -7,7 +7,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 1 +%global baserelease 2
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -364,9 +364,11 @@ find . -type f -exec sed -i "s~python -c~python3 -c~" {} ; %endif
%build -# This package has static probes which do not work with LTO -# Disable LTO +# When compiled on armv7hl this package generates an out of range +# reference to the literal pool. This is most likely a GCC issue. +%ifarch armv7hl %define _lto_cflags %{nil} +%endif
%ifarch s390 s390x %{arm} %ix86 # Decrease debuginfo verbosity to reduce memory consumption during final @@ -686,6 +688,9 @@ end
%changelog +* Fri Aug 21 2020 Jeff Law law@redhat.com - 1:14.7.0-2 +- Narrow LTO opt-out to just armv7hl + * Fri Jul 31 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.7.0-1 - Update to 14.7.0
commit 82bd0f8d940feb7de127b8ca4a6feea94ee21f4e Author: Stephen Gallagher sgallagh@redhat.com Date: Fri Jul 31 12:00:13 2020 -0400
Update to 14.7.0
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 8ad6700..26dc400 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -7,7 +7,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 2 +%global baserelease 1
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -18,7 +18,7 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 14 -%global nodejs_minor 5 +%global nodejs_minor 7 %global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h @@ -33,9 +33,9 @@ # Epoch is set to ensure clean upgrades from the old v8 package %global v8_epoch 2 %global v8_major 8 -%global v8_minor 3 -%global v8_build 110 -%global v8_patch 9 +%global v8_minor 4 +%global v8_build 371 +%global v8_patch 19 # V8 presently breaks ABI at least every x.y release while never bumping SONAME %global v8_abi %{v8_major}.%{v8_minor} %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} @@ -57,7 +57,7 @@ # libuv - from deps/uv/include/uv/version.h %global libuv_major 1 %global libuv_minor 38 -%global libuv_patch 0 +%global libuv_patch 1 %global libuv_version %{libuv_major}.%{libuv_minor}.%{libuv_patch}
# nghttp2 - from deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h @@ -91,7 +91,7 @@ %global npm_epoch 1 %global npm_major 6 %global npm_minor 14 -%global npm_patch 5 +%global npm_patch 7 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch}
# uvwasi - from deps/uvwasi/include/uvwasi.h @@ -686,6 +686,9 @@ end
%changelog +* Fri Jul 31 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.7.0-1 +- Update to 14.7.0 + * Tue Jul 28 2020 Fedora Release Engineering releng@fedoraproject.org - 1:14.5.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
diff --git a/sources b/sources index 73a0b5a..b64ce65 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v14.5.0-stripped.tar.gz) = 68b2867ea4b0c6185226fd686e361d2e711fd9dbd843c93b777e7214c5c88545cb5bd290a7b34a680c8392ff15a33644ee04610f0be1e240750e605ff1aa7d36 +SHA512 (node-v14.7.0-stripped.tar.gz) = b348851102b9cf204478b2b0d3eafc82287f6f32beee182fc1f77cad3636a1a529a31d4404ba310163d0f6c05209ba32acc9f4543204ec5bc25201ac2da662cf SHA512 (icu4c-67_1-src.tgz) = 4779f1ce1ca7976f6fad6768853ea8c540da54d11509e3b6cfd864a04b5f2db1c3d4b546387f91ad02fb90804525bc37d2543173f0d705d6ca11dc6f2b7640a8
commit 650d161657f6fe24e0232d1a5f0de11738f018a5 Author: Fedora Release Engineering releng@fedoraproject.org Date: Tue Jul 28 09:14:07 2020 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering releng@fedoraproject.org
diff --git a/nodejs.spec b/nodejs.spec index f623163..8ad6700 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -7,7 +7,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 1 +%global baserelease 2
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -686,6 +686,9 @@ end
%changelog +* Tue Jul 28 2020 Fedora Release Engineering releng@fedoraproject.org - 1:14.5.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Tue Jul 07 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.5.0-1 - Update to 14.5.0
commit 9a5b2eee9f25cbb4c40dce23592f583d9162d8ea Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Jul 7 11:33:57 2020 -0400
Update to 14.5.0
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/.gitignore b/.gitignore index 271dd29..c7ca6db 100644 --- a/.gitignore +++ b/.gitignore @@ -1,114 +1,7 @@ /*.tar.gz /*.src.rpm -/node-v0.9.3.tar.gz -/node-v0.9.4.tar.gz -/node-v0.9.5.tar.gz -/node-v0.10.0.tar.gz -/node-v0.10.1.tar.gz -/node-v0.10.2.tar.gz -/node-v0.10.3.tar.gz -/node-v0.10.4.tar.gz -/node-v0.10.5.tar.gz -/node-v0.10.6.tar.gz -/node-v0.10.7-stripped.tar.gz -/node-v0.10.8-stripped.tar.gz -/node-v0.10.9-stripped.tar.gz -/node-v0.10.12-stripped.tar.gz -/node-v0.10.13-stripped.tar.gz -/node-v0.10.14-stripped.tar.gz -/node-v0.10.16-stripped.tar.gz -/node-v0.10.17-stripped.tar.gz -/node-v0.10.18-stripped.tar.gz -/node-v0.10.19-stripped.tar.gz -/node-v0.10.20-stripped.tar.gz -/node-v0.10.21-stripped.tar.gz -/node-v0.10.22-stripped.tar.gz -/node-v0.10.23-stripped.tar.gz -/node-v0.10.24.tar.gz -/node-v0.10.24-stripped.tar.gz -/node-v0.10.25-stripped.tar.gz -/node-v0.10.26-stripped.tar.gz -/node-v0.10.28-stripped.tar.gz -/node-v0.10.29-stripped.tar.gz -/node-v0.10.30-stripped.tar.gz -/node-v0.10.32-stripped.tar.gz -/node-v0.10.33-stripped.tar.gz -/node-v0.10.36-stripped.tar.gz -/node-v4.2.2-stripped.tar.gz -/node-v4.2.3-stripped.tar.gz -/node-v4.2.4-stripped.tar.gz -/node-v4.2.6-stripped.tar.gz -/node-v4.3.0-stripped.tar.gz -/node-v4.3.1-stripped.tar.gz -/node-v5.7.1-stripped.tar.gz -/node-v5.8.0-stripped.tar.gz -/node-v5.9.0.tar.gz -/node-v5.9.1-stripped.tar.gz -/node-v5.10.0-stripped.tar.gz -/node-v5.10.1-stripped.tar.gz -/node-v5.11.0-stripped.tar.gz -/node-v6.1.0-stripped.tar.gz -/node-v6.2.0-stripped.tar.gz -/node-v6.2.1-stripped.tar.gz -/node-v6.2.2-stripped.tar.gz -/node-v6.3.0-stripped.tar.gz -/node-v6.3.1-stripped.tar.gz -/node-v6.4.0-stripped.tar.gz -/node-v6.5.0-stripped.tar.gz -/node-v6.6.0-stripped.tar.gz -/node-v6.7.0-stripped.tar.gz -/node-v6.8.0-stripped.tar.gz -/node-v6.8.1-stripped.tar.gz -/node-v6.9.0-stripped.tar.gz -/node-v6.9.1-stripped.tar.gz -/node-v6.9.2-stripped.tar.gz -/node-v6.9.3-stripped.tar.gz -/node-v6.9.4-stripped.tar.gz -/node-v6.9.5-stripped.tar.gz -/node-v6.10.0-stripped.tar.gz -/node-v6.10.1-stripped.tar.gz -/node-v6.10.2-stripped.tar.gz -/node-v6.10.3-stripped.tar.gz -/node-v6.11.0-stripped.tar.gz -/node-v8.1.2-stripped.tar.gz -/node-v8.1.3-stripped.tar.gz -/node-v8.1.4-stripped.tar.gz -/node-v8.2.0-stripped.tar.gz -/node-v8.2.1-stripped.tar.gz -/node-v8.3.0-stripped.tar.gz -/node-v8.4.0-stripped.tar.gz -/node-v8.5.0-stripped.tar.gz -/node-v8.6.0-stripped.tar.gz -/node-v8.7.0-stripped.tar.gz -/node-v8.8.0-stripped.tar.gz -/node-v8.8.1-stripped.tar.gz -/node-v8.9.0-stripped.tar.gz -/node-v8.9.1-stripped.tar.gz -/node-v8.9.3-stripped.tar.gz -/node-v8.9.4-stripped.tar.gz -/node-v9.5.0-stripped.tar.gz -/node-v9.6.1-stripped.tar.gz -/node-v9.7.0-stripped.tar.gz -/node-v9.8.0-stripped.tar.gz -/node-v9.9.0-stripped.tar.gz -/node-v9.10.0-stripped.tar.gz -/node-v9.11.1.tar.gz -/node-v9.11.1-stripped.tar.gz -/node-v10.0.0-stripped.tar.gz -/node-v10.1.0-stripped.tar.gz -/node-v10.2.0-stripped.tar.gz -/node-v10.2.1-stripped.tar.gz -/node-v10.3.0-stripped.tar.gz -/node-v10.4.0-stripped.tar.gz -/node-v10.4.1-stripped.tar.gz -/node-v10.5.0-stripped.tar.gz -/node-v10.6.0-stripped.tar.gz -/node-v10.7.0-stripped.tar.gz -/node-v10.8.0-stripped.tar.gz -/node-v10.9.0-stripped.tar.gz -/node-v10.10.0-stripped.tar.gz -/node-v10.11.0-stripped.tar.gz -/icu4c-64_2-src.tgz -/icu4c-65_1-src.tgz -/icu4c-66_1-src.tgz -/icu4c-67_1-src.tgz +/*.tgz +/node-*/* +/.build-*.log +/noarch +/x86_64 diff --git a/nodejs.spec b/nodejs.spec index 19149d1..f623163 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -7,7 +7,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 3 +%global baserelease 1
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -18,7 +18,7 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 14 -%global nodejs_minor 4 +%global nodejs_minor 5 %global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h @@ -33,9 +33,9 @@ # Epoch is set to ensure clean upgrades from the old v8 package %global v8_epoch 2 %global v8_major 8 -%global v8_minor 1 -%global v8_build 307 -%global v8_patch 31 +%global v8_minor 3 +%global v8_build 110 +%global v8_patch 9 # V8 presently breaks ABI at least every x.y release while never bumping SONAME %global v8_abi %{v8_major}.%{v8_minor} %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} @@ -56,7 +56,7 @@
# libuv - from deps/uv/include/uv/version.h %global libuv_major 1 -%global libuv_minor 37 +%global libuv_minor 38 %global libuv_patch 0 %global libuv_version %{libuv_major}.%{libuv_minor}.%{libuv_patch}
@@ -97,7 +97,7 @@ # uvwasi - from deps/uvwasi/include/uvwasi.h %global uvwasi_major 0 %global uvwasi_minor 0 -%global uvwasi_patch 8 +%global uvwasi_patch 9 %global uvwasi_version %{uvwasi_major}.%{uvwasi_minor}.%{uvwasi_patch}
# histogram_c - assumed from timestamps @@ -686,6 +686,9 @@ end
%changelog +* Tue Jul 07 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.5.0-1 +- Update to 14.5.0 + * Tue Jul 07 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.4.0-3 - Update for new packaging guidelines
diff --git a/sources b/sources index 3e05b63..73a0b5a 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v14.4.0-stripped.tar.gz) = 28112c451e59c678d8f3bfa58abc06f711a47bddaa4636919facb60e785bbce958a2061434f1579b7e47e4b3c8c57123655a8eb9662d6010a564280d890dfce3 +SHA512 (node-v14.5.0-stripped.tar.gz) = 68b2867ea4b0c6185226fd686e361d2e711fd9dbd843c93b777e7214c5c88545cb5bd290a7b34a680c8392ff15a33644ee04610f0be1e240750e605ff1aa7d36 SHA512 (icu4c-67_1-src.tgz) = 4779f1ce1ca7976f6fad6768853ea8c540da54d11509e3b6cfd864a04b5f2db1c3d4b546387f91ad02fb90804525bc37d2543173f0d705d6ca11dc6f2b7640a8
commit a6be2c886db91c82b64fbf8c8593d84afb1bd944 Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Jul 7 10:57:57 2020 -0400
Update for new packaging guidelines
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 4c2be8a..19149d1 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -7,7 +7,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 2 +%global baserelease 3
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -231,6 +231,9 @@ Provides: bundled(icu) = %{icu_version} Provides: bundled(uvwasi) = %{uvwasi_version} Provides: bundled(histogram) = %{histogram_version}
+# Make sure to pull in the appropriate packaging macros when building RPMs +Requires: (nodejs-packaging if rpm-build) + # Make sure we keep NPM up to date when we update Node.js Recommends: npm >= %{npm_epoch}:%{npm_version}-%{npm_release}%{?dist}
@@ -683,6 +686,9 @@ end
%changelog +* Tue Jul 07 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.4.0-3 +- Update for new packaging guidelines + * Tue Jun 30 2020 Jeff Law law@redhat.com - 1:14.4.0-2 - Disable LTO
commit 22d4850d291c81d57882e8ce5a22f45106c16a8f Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Jul 7 10:45:26 2020 -0400
Fix typo in changelog
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index c40bf21..4c2be8a 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -684,7 +684,7 @@ end
%changelog * Tue Jun 30 2020 Jeff Law law@redhat.com - 1:14.4.0-2 -Disable LTO +- Disable LTO
* Wed Jun 03 2020 Zuzana Svetlikova zsvetlik@redhat.com - 1:14.4.0-1 - Security update to 14.4.0
commit a9d362b0f18f91e91640f70e9cd72fd2384e750a Author: Jeff Law law@redhat.com Date: Tue Jun 30 14:07:04 2020 -0600
Disable LTO
diff --git a/nodejs.spec b/nodejs.spec index 046cbbb..c40bf21 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -7,7 +7,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 1 +%global baserelease 2
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -361,6 +361,9 @@ find . -type f -exec sed -i "s~python -c~python3 -c~" {} ; %endif
%build +# This package has static probes which do not work with LTO +# Disable LTO +%define _lto_cflags %{nil}
%ifarch s390 s390x %{arm} %ix86 # Decrease debuginfo verbosity to reduce memory consumption during final @@ -680,6 +683,9 @@ end
%changelog +* Tue Jun 30 2020 Jeff Law law@redhat.com - 1:14.4.0-2 +Disable LTO + * Wed Jun 03 2020 Zuzana Svetlikova zsvetlik@redhat.com - 1:14.4.0-1 - Security update to 14.4.0
commit 5ec847fbbad6783fe8403f23222a3cbcf52227c5 Merge: bb0d4da 78887f1 Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Jun 29 09:29:27 2020 -0400
Merge branch '14'
diff --cc 0001-Disable-running-gyp-on-shared-deps.patch index 6d662d3,a20fb72..ef45163 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@@ -1,7 -1,7 +1,7 @@@ - From 0da4decd64a9cbfcf75b2697c722cd6fc82a164d Mon Sep 17 00:00:00 2001 + From 65f5eb67f4691ab535cc00240a00bd33efe29969 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com -Date: Thu, 27 Apr 2017 14:25:42 +0200 -Subject: [PATCH 1/2] Disable running gyp on shared deps +Date: Fri, 17 Apr 2020 12:59:44 +0200 +Subject: [PATCH] 0001
--- Makefile | 2 +- diff --cc nodejs.spec index 36fe999,68f6176..046cbbb --- a/nodejs.spec +++ b/nodejs.spec @@@ -1,10 -1,7 +1,8 @@@ - # uncomment to enable bootstrap mode - # %%global _with_bootstrap 1 - # bundle dependencies that are not available as Fedora modules %bcond_with bootstrap + %bcond_without python3_fixup
+ # == Master Relase == # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec
commit 78887f1479112d6d5671c012b841411e2b89758f Author: Zuzana Svetlikova zsvetlik@redhat.com Date: Wed Jun 3 22:33:35 2020 +0200
Security update to 14.4.0
diff --git a/nodejs.spec b/nodejs.spec index f1d7d38..68f6176 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -1,6 +1,3 @@ -# uncomment to enable bootstrap mode -# %%global _with_bootstrap 1 - # bundle dependencies that are not available as Fedora modules %bcond_with bootstrap %bcond_without python3_fixup @@ -20,7 +17,7 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 14 -%global nodejs_minor 3 +%global nodejs_minor 4 %global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h @@ -64,7 +61,7 @@
# nghttp2 - from deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h %global nghttp2_major 1 -%global nghttp2_minor 40 +%global nghttp2_minor 41 %global nghttp2_patch 0 %global nghttp2_version %{nghttp2_major}.%{nghttp2_minor}.%{nghttp2_patch}
@@ -149,8 +146,12 @@ Patch2: 0002-Install-both-binaries-and-use-libdir.patch BuildRequires: python3-devel BuildRequires: zlib-devel BuildRequires: brotli-devel -BuildRequires: gcc >= 4.9.4 -BuildRequires: gcc-c++ >= 4.9.4 +BuildRequires: gcc >= 6.3.0 +BuildRequires: gcc-c++ >= 6.3.0 +# needed to generate bundled provides for npm dependencies +# https://src.fedoraproject.org/rpms/nodejs/pull-request/2 +# https://pagure.io/nodejs-packaging/pull-request/10 +BuildRequires: nodejs-packaging BuildRequires: chrpath BuildRequires: libatomic
@@ -158,7 +159,6 @@ BuildRequires: libatomic Provides: bundled(libuv) = %{libuv_version} Provides: bundled(nghttp2) = %{nghttp2_version} %else -BuildRequires: nodejs-packaging BuildRequires: systemtap-sdt-devel BuildRequires: libuv-devel >= 1:%{libuv_version} Requires: libuv >= 1:%{libuv_version} @@ -208,7 +208,6 @@ Conflicts: node <= 0.3.2-12 Provides: nodejs-punycode = %{punycode_version} Provides: npm(punycode) = %{punycode_version}
- # Node.js has forked c-ares from upstream in an incompatible way, so we need # to carry the bundled version internally. # See https://github.com/nodejs/node/commit/766d063e0578c0f7758c3a965c971763f43fec... @@ -234,7 +233,6 @@ Provides: bundled(histogram) = %{histogram_version} # Make sure we keep NPM up to date when we update Node.js Recommends: npm >= %{npm_epoch}:%{npm_version}-%{npm_release}%{?dist}
- %description Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. @@ -242,6 +240,7 @@ Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
+ %package devel Summary: JavaScript runtime - development headers Group: Development/Languages @@ -260,6 +259,7 @@ Requires: libuv-devel%{?_isa} %description devel Development headers for the Node.js JavaScript runtime.
+ %package libs Summary: Node.js and v8 libraries
@@ -287,7 +287,6 @@ Libraries to support Node.js and provide stable v8 interfaces. Summary: Non-English locale data for Node.js Requires: %{name}%{?_isa} = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist}
- %description full-i18n Optional data files to provide full-icu support for Node.js. Remove this package to save space if non-English locales are not needed. @@ -303,6 +302,7 @@ Requires: %{name}-devel%{?_isa} = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_rel %description -n v8-devel Development headers for the v8 runtime.
+ %package -n npm Summary: Node.js Package Manager Epoch: %{npm_epoch} @@ -325,6 +325,7 @@ Provides: npm(npm) = %{npm_version} npm is a package manager for node.js. You can use it to install and publish your node programs. It manages dependencies and does other cool stuff.
+ %package docs Summary: Node.js API documentation Group: Documentation @@ -347,7 +348,6 @@ The API documentation for the Node.js JavaScript runtime. rm -rf deps/zlib rm -rf deps/brotli
- # Replace any instances of unversioned python' with python3 %if %{with python3_fixup} pathfix.py -i %{__python3} -pn $(find -type f ! -name "*.js") @@ -419,7 +419,6 @@ export LDFLAGS="%{build_ldflags}"
make BUILDTYPE=Release %{?_smp_mflags}
- # Extract the ICU data and convert it to the appropriate endianness pushd deps/ tar xfz %SOURCE3 @@ -511,7 +510,6 @@ rm -rf %{buildroot}%{_prefix}/lib/node_modules/npm/docs
ln -sf %{_pkgdocdir}/npm %{buildroot}%{_prefix}/lib/node_modules/npm/docs
- # Node tries to install some python files into a documentation directory # (and not the proper one). Remove them for now until we figure out what to # do with them. @@ -530,7 +528,6 @@ find %{buildroot}%{_prefix}/lib/node_modules/npm \ chmod 0755 %{buildroot}%{_prefix}/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin/node-gyp chmod 0755 %{buildroot}%{_prefix}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js
- # Drop the NPM default configuration in place mkdir -p %{buildroot}%{_sysconfdir} cp %{SOURCE1} %{buildroot}%{_sysconfdir}/npmrc @@ -543,6 +540,7 @@ ln -s %{_sysconfdir}/npmrc %{buildroot}%{_prefix}/etc/npmrc # Install the full-icu data files install -Dpm0644 -t %{buildroot}%{icudatadir} deps/icu/source/converted/*
+ %check # Fail the build if the versions don't match LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require('assert').equal(process.versions.node, '%{nodejs_version}')" @@ -681,7 +679,10 @@ end
%changelog -* Thu May 21 2020 Stephen Gallagher sgallagh@redhat.com - 1:4.3.0-1 +* Wed Jun 03 2020 Zuzana Svetlikova zsvetlik@redhat.com - 1:14.4.0-1 +- Security update to 14.4.0 + +* Thu May 21 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.3.0-1 - Update to 14.3.0
* Wed May 06 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.2.0-1 @@ -690,10 +691,10 @@ end * Wed Apr 29 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.1.0-1 - Update to 14.1.0
-* Fri Apr 24 2020 zsvetlik@redhat.com - 1:14.0.0-2 +* Fri Apr 24 2020 Zuzana Svetlikova zsvetlik@redhat.com - 1:14.0.0-2 - Keep the fix scripts for Koji
-* Thu Apr 23 2020 zsvetlik@redhat.com - 1:14.0.0-1 +* Thu Apr 23 2020 Zuzana Svetlikova zsvetlik@redhat.com - 1:14.0.0-1 - Update to 14.0.0 - v14.x should be python3 compatible, so commented out py sed scripts
diff --git a/sources b/sources index 3e7ba92..3e05b63 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v14.3.0-stripped.tar.gz) = 8a62ec66cfef5cab579af0cf9a34e43ccace4bbeeea55a141d536713deffd850612e9385cf1a1b53d1730bf517469c306dcc0608106548a1c19ad055c089eb89 +SHA512 (node-v14.4.0-stripped.tar.gz) = 28112c451e59c678d8f3bfa58abc06f711a47bddaa4636919facb60e785bbce958a2061434f1579b7e47e4b3c8c57123655a8eb9662d6010a564280d890dfce3 SHA512 (icu4c-67_1-src.tgz) = 4779f1ce1ca7976f6fad6768853ea8c540da54d11509e3b6cfd864a04b5f2db1c3d4b546387f91ad02fb90804525bc37d2543173f0d705d6ca11dc6f2b7640a8
commit d85f19e1bcb0a25d319231a44930e758fbd7e22a Author: Stephen Gallagher sgallagh@redhat.com Date: Fri May 22 11:15:45 2020 -0400
Bump the version field correctly
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index cdb39ee..f1d7d38 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -20,7 +20,7 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 14 -%global nodejs_minor 2 +%global nodejs_minor 3 %global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h
commit 803540893efd0bb97cae3c19e5ca1ae475ac5911 Author: Stephen Gallagher sgallagh@redhat.com Date: Thu May 21 17:03:50 2020 -0400
Update to 14.3.0
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/.gitignore b/.gitignore index 2f62f82..271dd29 100644 --- a/.gitignore +++ b/.gitignore @@ -111,3 +111,4 @@ /icu4c-64_2-src.tgz /icu4c-65_1-src.tgz /icu4c-66_1-src.tgz +/icu4c-67_1-src.tgz diff --git a/nodejs.spec b/nodejs.spec index b50a7f5..cdb39ee 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -69,7 +69,7 @@ %global nghttp2_version %{nghttp2_major}.%{nghttp2_minor}.%{nghttp2_patch}
# ICU - from tools/icu/current_ver.dep -%global icu_major 66 +%global icu_major 67 %global icu_minor 1 %global icu_version %{icu_major}.%{icu_minor}
@@ -93,7 +93,7 @@ %global npm_epoch 1 %global npm_major 6 %global npm_minor 14 -%global npm_patch 4 +%global npm_patch 5 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch}
# uvwasi - from deps/uvwasi/include/uvwasi.h @@ -681,6 +681,9 @@ end
%changelog +* Thu May 21 2020 Stephen Gallagher sgallagh@redhat.com - 1:4.3.0-1 +- Update to 14.3.0 + * Wed May 06 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.2.0-1 - Update to 14.2.0
diff --git a/sources b/sources index f3cb90b..3e7ba92 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v14.2.0-stripped.tar.gz) = ca29fe274359a578ebb6b129e7627458c44c3dd680503e10395fae6e1d8c461991f068e0fa4ff20694dcda6f8657787d9dc4feea77c3c0d9b59f09639013d39e -SHA512 (icu4c-66_1-src.tgz) = 78d87bce65a7bdf7e9a19bda13e353c60846816ff34025f829d1ff15f9ac49aa6061eb192173742be0eca105684ce0e39e95656147afe848520bf60274c8d246 +SHA512 (node-v14.3.0-stripped.tar.gz) = 8a62ec66cfef5cab579af0cf9a34e43ccace4bbeeea55a141d536713deffd850612e9385cf1a1b53d1730bf517469c306dcc0608106548a1c19ad055c089eb89 +SHA512 (icu4c-67_1-src.tgz) = 4779f1ce1ca7976f6fad6768853ea8c540da54d11509e3b6cfd864a04b5f2db1c3d4b546387f91ad02fb90804525bc37d2543173f0d705d6ca11dc6f2b7640a8
commit da95035952608d54519af98725361816cce4009c Author: Stephen Gallagher sgallagh@redhat.com Date: Wed May 6 07:37:03 2020 -0400
Update to 14.2.0
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 4d06043..b50a7f5 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -20,7 +20,7 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 14 -%global nodejs_minor 1 +%global nodejs_minor 2 %global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h @@ -99,7 +99,7 @@ # uvwasi - from deps/uvwasi/include/uvwasi.h %global uvwasi_major 0 %global uvwasi_minor 0 -%global uvwasi_patch 6 +%global uvwasi_patch 8 %global uvwasi_version %{uvwasi_major}.%{uvwasi_minor}.%{uvwasi_patch}
# histogram_c - assumed from timestamps @@ -681,6 +681,9 @@ end
%changelog +* Wed May 06 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.2.0-1 +- Update to 14.2.0 + * Wed Apr 29 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.1.0-1 - Update to 14.1.0
diff --git a/sources b/sources index e3d8954..f3cb90b 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v14.1.0-stripped.tar.gz) = dacdc683cf1e194d8844ece591ff80fa2d92b2841963f090ac377e7036f0edaab7c2912ed3d0e07ddc763088313cd6e3c850da55f31708244f000f9a29da197e +SHA512 (node-v14.2.0-stripped.tar.gz) = ca29fe274359a578ebb6b129e7627458c44c3dd680503e10395fae6e1d8c461991f068e0fa4ff20694dcda6f8657787d9dc4feea77c3c0d9b59f09639013d39e SHA512 (icu4c-66_1-src.tgz) = 78d87bce65a7bdf7e9a19bda13e353c60846816ff34025f829d1ff15f9ac49aa6061eb192173742be0eca105684ce0e39e95656147afe848520bf60274c8d246
commit bb0d4da94c2960f22c82fb90c6131fd427e95ce1 Author: Stephen Gallagher sgallagh@redhat.com Date: Wed Apr 29 15:33:09 2020 -0400
Update to 12.16.3
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index fe06c61..36fe999 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -4,6 +4,7 @@ # bundle dependencies that are not available as Fedora modules %bcond_with bootstrap
+ # == Master Relase == # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec @@ -20,7 +21,7 @@ %global nodejs_epoch 1 %global nodejs_major 12 %global nodejs_minor 16 -%global nodejs_patch 2 +%global nodejs_patch 3 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 72 @@ -45,7 +46,7 @@ # c-ares - from deps/cares/include/ares_version.h # https://github.com/nodejs/node/pull/9332 %global c_ares_major 1 -%global c_ares_minor 15 +%global c_ares_minor 16 %global c_ares_patch 0 %global c_ares_version %{c_ares_major}.%{c_ares_minor}.%{c_ares_patch}
@@ -104,7 +105,7 @@ # uvwasi - from deps/uvwasi/include/uvwasi.h %global uvwasi_major 0 %global uvwasi_minor 0 -%global uvwasi_patch 5 +%global uvwasi_patch 6 %global uvwasi_version %{uvwasi_major}.%{uvwasi_minor}.%{uvwasi_patch}
# histogram_c - assumed from timestamps @@ -241,12 +242,7 @@ Provides: bundled(uvwasi) = %{uvwasi_version} Provides: bundled(histogram) = %{histogram_version}
# Make sure we keep NPM up to date when we update Node.js -%if 0%{?rhel} < 8 -# EPEL doesn't support Recommends, so make it strict -Requires: npm >= %{npm_epoch}:%{npm_version}-%{npm_release}%{?dist} -%else Recommends: npm >= %{npm_epoch}:%{npm_version}-%{npm_release}%{?dist} -%endif
%description @@ -329,9 +325,7 @@ Release: %{npm_release}%{?dist} Obsoletes: npm < 0:3.5.4-6 Provides: npm = %{npm_epoch}:%{npm_version} Requires: nodejs = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} -%if 0%{?fedora} || 0%{?rhel} >= 8 Recommends: nodejs-docs = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} -%endif
# Do not add epoch to the virtual NPM provides or it will break # the automatic dependency-generation script. @@ -695,6 +689,9 @@ end
%changelog +* Wed Apr 29 2020 Stephen Gallagher sgallagh@redhat.com - 1:12.16.3-1 +- Update to 12.16.3 + * Wed Apr 15 2020 Zuzana Svetlikova zsvetlik@redhat.com - 1:12.16.2-1 - Update to 12.16.2 - Add bundled uvwasi and histogram_c provides diff --git a/sources b/sources index 8bf1c62..95d4069 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v12.16.2-stripped.tar.gz) = cc289da4a836feb5e7c330de0fcee8b3677d925f98e1c574918f0432d6dcdcbf6183a1a3a834f568ad80e273d1744ddb3df3679dccfd1b784c075b0ea6181c00 +SHA512 (node-v12.16.3-stripped.tar.gz) = cf11b2d88c2444e342a4087abe2f4707a4234f530b3408da855586202aad4fd71b8014d7ec0b5a2a51347c954638694cb39462236c8e8c3dc2afde32fccabf09 SHA512 (icu4c-65_1-src.tgz) = 8f1ef33e1f4abc9a8ee870331c59f01b473d6da1251a19ce403f822f3e3871096f0791855d39c8f20c612fc49cda2c62c06864aa32ddab2dbd186d2b21ce9139
commit bb1d7b3d198399b07556fd065e053e613d7e8181 Author: Stephen Gallagher sgallagh@redhat.com Date: Wed Apr 29 15:08:51 2020 -0400
Update to 14.1.0
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 8df8781..4d06043 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -3,12 +3,13 @@
# bundle dependencies that are not available as Fedora modules %bcond_with bootstrap +%bcond_without python3_fixup
# == Master Relase == # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 2 +%global baserelease 1
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -19,7 +20,7 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 14 -%global nodejs_minor 0 +%global nodejs_minor 1 %global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h @@ -36,7 +37,7 @@ %global v8_major 8 %global v8_minor 1 %global v8_build 307 -%global v8_patch 30 +%global v8_patch 31 # V8 presently breaks ABI at least every x.y release while never bumping SONAME %global v8_abi %{v8_major}.%{v8_minor} %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} @@ -231,12 +232,7 @@ Provides: bundled(uvwasi) = %{uvwasi_version} Provides: bundled(histogram) = %{histogram_version}
# Make sure we keep NPM up to date when we update Node.js -%if 0%{?rhel} < 8 -# EPEL doesn't support Recommends, so make it strict -Requires: npm >= %{npm_epoch}:%{npm_version}-%{npm_release}%{?dist} -%else Recommends: npm >= %{npm_epoch}:%{npm_version}-%{npm_release}%{?dist} -%endif
%description @@ -319,9 +315,7 @@ Release: %{npm_release}%{?dist} Obsoletes: npm < 0:3.5.4-6 Provides: npm = %{npm_epoch}:%{npm_version} Requires: nodejs = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} -%if 0%{?fedora} || 0%{?rhel} >= 8 Recommends: nodejs-docs = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} -%endif
# Do not add epoch to the virtual NPM provides or it will break # the automatic dependency-generation script. @@ -355,6 +349,7 @@ rm -rf deps/brotli
# Replace any instances of unversioned python' with python3 +%if %{with python3_fixup} pathfix.py -i %{__python3} -pn $(find -type f ! -name "*.js") find . -type f -exec sed -i "s~/usr/bin/env python~/usr/bin/python3~" {} ; find . -type f -exec sed -i "s~/usr/bin/python\W~/usr/bin/python3~" {} ; @@ -362,6 +357,7 @@ sed -i "s~python~python3~" $(find . -type f | grep "gyp$") sed -i "s~usr/bin/python2~usr/bin/python3~" ./deps/v8/tools/gen-inlining-tests.py sed -i "s~usr/bin/python.*$~usr/bin/python3~" ./deps/v8/tools/mb/mb_unittest.py find . -type f -exec sed -i "s~python -c~python3 -c~" {} ; +%endif
%build
@@ -685,6 +681,9 @@ end
%changelog +* Wed Apr 29 2020 Stephen Gallagher sgallagh@redhat.com - 1:14.1.0-1 +- Update to 14.1.0 + * Fri Apr 24 2020 zsvetlik@redhat.com - 1:14.0.0-2 - Keep the fix scripts for Koji
diff --git a/sources b/sources index 63c2970..e3d8954 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v14.0.0-stripped.tar.gz) = d8df905a8bddba6635e8d68122d81658037bf5c9b08ccdc6923c1a8d617bef345f8a448fc3738666bfc46c28f59eceef09265336d29d0ce86a263a86ca951bbd +SHA512 (node-v14.1.0-stripped.tar.gz) = dacdc683cf1e194d8844ece591ff80fa2d92b2841963f090ac377e7036f0edaab7c2912ed3d0e07ddc763088313cd6e3c850da55f31708244f000f9a29da197e SHA512 (icu4c-66_1-src.tgz) = 78d87bce65a7bdf7e9a19bda13e353c60846816ff34025f829d1ff15f9ac49aa6061eb192173742be0eca105684ce0e39e95656147afe848520bf60274c8d246
commit 3bf38ee88f5b3cf8f5567bd45552ebdffa2a24fd Author: Zuzana Svetlikova zsvetlik@redhat.com Date: Fri Apr 24 14:56:30 2020 +0200
Keep the fix scripts for Koji
diff --git a/nodejs.spec b/nodejs.spec index 89194b5..8df8781 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 1 +%global baserelease 2
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -355,13 +355,13 @@ rm -rf deps/brotli
# Replace any instances of unversioned python' with python3 -# pathfix.py -i %%{__python3} -pn $(find -type f ! -name "*.js") -# find . -type f -exec sed -i "s~/usr/bin/env python~/usr/bin/python3~" {} ; -# find . -type f -exec sed -i "s~/usr/bin/python\W~/usr/bin/python3~" {} ; -# sed -i "s~python~python3~" $(find . -type f | grep "gyp$") -# sed -i "s~usr/bin/python2~usr/bin/python3~" ./deps/v8/tools/gen-inlining-tests.py -# sed -i "s~usr/bin/python.*$~usr/bin/python3~" ./deps/v8/tools/mb/mb_unittest.py -# find . -type f -exec sed -i "s~python -c~python3 -c~" {} ; +pathfix.py -i %{__python3} -pn $(find -type f ! -name "*.js") +find . -type f -exec sed -i "s~/usr/bin/env python~/usr/bin/python3~" {} ; +find . -type f -exec sed -i "s~/usr/bin/python\W~/usr/bin/python3~" {} ; +sed -i "s~python~python3~" $(find . -type f | grep "gyp$") +sed -i "s~usr/bin/python2~usr/bin/python3~" ./deps/v8/tools/gen-inlining-tests.py +sed -i "s~usr/bin/python.*$~usr/bin/python3~" ./deps/v8/tools/mb/mb_unittest.py +find . -type f -exec sed -i "s~python -c~python3 -c~" {} ;
%build
@@ -685,6 +685,9 @@ end
%changelog +* Fri Apr 24 2020 zsvetlik@redhat.com - 1:14.0.0-2 +- Keep the fix scripts for Koji + * Thu Apr 23 2020 zsvetlik@redhat.com - 1:14.0.0-1 - Update to 14.0.0 - v14.x should be python3 compatible, so commented out py sed scripts
commit f27023550f6c1458a8fdf34b089ebdeebde0e99e Author: Zuzana Svetlikova zsvetlik@redhat.com Date: Fri Apr 24 01:29:26 2020 +0200
Update to v14, don't use python sed scripts
diff --git a/nodejs.spec b/nodejs.spec index bbf4fba..89194b5 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -18,12 +18,12 @@ # feature releases that are only supported for nine months, which is shorter # than a Fedora release lifecycle. %global nodejs_epoch 1 -%global nodejs_major 13 -%global nodejs_minor 13 +%global nodejs_major 14 +%global nodejs_minor 0 %global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h -%global nodejs_soversion 79 +%global nodejs_soversion 83 %global nodejs_version %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch} %global nodejs_release %{baserelease}
@@ -33,10 +33,10 @@ # v8 - from deps/v8/include/v8-version.h # Epoch is set to ensure clean upgrades from the old v8 package %global v8_epoch 2 -%global v8_major 7 -%global v8_minor 9 -%global v8_build 317 -%global v8_patch 25 +%global v8_major 8 +%global v8_minor 1 +%global v8_build 307 +%global v8_patch 30 # V8 presently breaks ABI at least every x.y release while never bumping SONAME %global v8_abi %{v8_major}.%{v8_minor} %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} @@ -57,7 +57,7 @@
# libuv - from deps/uv/include/uv/version.h %global libuv_major 1 -%global libuv_minor 35 +%global libuv_minor 37 %global libuv_patch 0 %global libuv_version %{libuv_major}.%{libuv_minor}.%{libuv_patch}
@@ -355,13 +355,13 @@ rm -rf deps/brotli
# Replace any instances of unversioned python' with python3 -pathfix.py -i %{__python3} -pn $(find -type f ! -name "*.js") -find . -type f -exec sed -i "s~/usr/bin/env python~/usr/bin/python3~" {} ; -find . -type f -exec sed -i "s~/usr/bin/python\W~/usr/bin/python3~" {} ; -sed -i "s~python~python3~" $(find . -type f | grep "gyp$") -sed -i "s~usr/bin/python2~usr/bin/python3~" ./deps/v8/tools/gen-inlining-tests.py -sed -i "s~usr/bin/python.*$~usr/bin/python3~" ./deps/v8/tools/mb/mb_unittest.py -find . -type f -exec sed -i "s~python -c~python3 -c~" {} ; +# pathfix.py -i %%{__python3} -pn $(find -type f ! -name "*.js") +# find . -type f -exec sed -i "s~/usr/bin/env python~/usr/bin/python3~" {} ; +# find . -type f -exec sed -i "s~/usr/bin/python\W~/usr/bin/python3~" {} ; +# sed -i "s~python~python3~" $(find . -type f | grep "gyp$") +# sed -i "s~usr/bin/python2~usr/bin/python3~" ./deps/v8/tools/gen-inlining-tests.py +# sed -i "s~usr/bin/python.*$~usr/bin/python3~" ./deps/v8/tools/mb/mb_unittest.py +# find . -type f -exec sed -i "s~python -c~python3 -c~" {} ;
%build
@@ -685,6 +685,10 @@ end
%changelog +* Thu Apr 23 2020 zsvetlik@redhat.com - 1:14.0.0-1 +- Update to 14.0.0 +- v14.x should be python3 compatible, so commented out py sed scripts + * Wed Apr 15 2020 Zuzana Svetlikova zsvetlik@redhat.com - 1:13.13.0-1 - Update to 13.13.0 - Add bundled uvwasi and histogram_c provides diff --git a/sources b/sources index 508983c..63c2970 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v13.13.0-stripped.tar.gz) = 54f31fc69c614610a412021fdd6cd8327dcd10a716df4500614f6e6a30ba1cb2314a14f3c675b629bf6bad24c82ef66f59d24b74f5677ae8ea4157fb98759fc9 +SHA512 (node-v14.0.0-stripped.tar.gz) = d8df905a8bddba6635e8d68122d81658037bf5c9b08ccdc6923c1a8d617bef345f8a448fc3738666bfc46c28f59eceef09265336d29d0ce86a263a86ca951bbd SHA512 (icu4c-66_1-src.tgz) = 78d87bce65a7bdf7e9a19bda13e353c60846816ff34025f829d1ff15f9ac49aa6061eb192173742be0eca105684ce0e39e95656147afe848520bf60274c8d246
commit 3f06b08f134f8a69a18e5f4f00a736ed78879de9 Author: Zuzana Svetlikova zsvetlik@redhat.com Date: Fri Apr 17 11:56:38 2020 +0200
Update to v13.13.0, add new Provides/Requires, remove icustrip patch, update nodejs-tarball
diff --git a/.gitignore b/.gitignore index ef6e814..2f62f82 100644 --- a/.gitignore +++ b/.gitignore @@ -110,3 +110,4 @@ /node-v10.11.0-stripped.tar.gz /icu4c-64_2-src.tgz /icu4c-65_1-src.tgz +/icu4c-66_1-src.tgz diff --git a/0003-icustrip.py-fix-use-of-string-and-byte-objects.patch b/0003-icustrip.py-fix-use-of-string-and-byte-objects.patch deleted file mode 100644 index fe01f64..0000000 --- a/0003-icustrip.py-fix-use-of-string-and-byte-objects.patch +++ /dev/null @@ -1,82 +0,0 @@ -From fa4382c4b48ec34ed3259334f2e0f8d2706ffcf9 Mon Sep 17 00:00:00 2001 -From: Jonathan MERCIER jmercier@cng.fr -Date: Tue, 17 Mar 2020 21:18:37 -0400 -Subject: [PATCH 3/3] icustrip.py: fix use of string and byte objects - -Signed-off-by: Stephen Gallagher sgallagh@redhat.com ---- - tools/icu/icutrim.py | 17 ++++++++--------- - 1 file changed, 8 insertions(+), 9 deletions(-) - -diff --git a/tools/icu/icutrim.py b/tools/icu/icutrim.py -index 25bd99d9cb260da00de9647f9b060790b48af8b2..f857e73bbce298048e407ddbef87f5bc4ac5307a 100755 ---- a/tools/icu/icutrim.py -+++ b/tools/icu/icutrim.py -@@ -11,10 +11,11 @@ - # Usage: - # Use "-h" to get help options. - - from __future__ import print_function - -+import io - import json - import optparse - import os - import re - import shutil -@@ -157,13 +158,12 @@ def runcmd(tool, cmd, doContinue=False): - print("FAILED: %s" % cmd) - sys.exit(1) - return rc - - ## STEP 0 - read in json config --fi= open(options.filterfile, "rb") --config=json.load(fi) --fi.close() -+with io.open(options.filterfile, encoding='utf-8') as fi: -+ config = json.load(fi) - - if options.locales: - config["variables"] = config.get("variables", {}) - config["variables"]["locales"] = config["variables"].get("locales", {}) - config["variables"]["locales"]["only"] = options.locales.split(',') -@@ -283,14 +283,13 @@ for i in range(len(items)): - print("procesing %s" % (tree)) - trees[tree] = { "extension": ".res", "treeprefix": treeprefix, "hasIndex": True } - # read in the resource list for the tree - treelistfile = os.path.join(options.tmpdir,"%s.lst" % tree) - runcmd("iculslocs", "-i %s -N %s -T %s -l > %s" % (outfile, dataname, tree, treelistfile)) -- fi = open(treelistfile, 'rb') -- treeitems = fi.readlines() -- trees[tree]["locs"] = [treeitems[i].strip() for i in range(len(treeitems))] -- fi.close() -+ with io.open(treelistfile, 'r', encoding='utf-8') as fi: -+ treeitems = fi.readlines() -+ trees[tree]["locs"] = [line.strip() for line in treeitems] - if tree not in config.get("trees", {}): - print(" Warning: filter file %s does not mention trees.%s - will be kept as-is" % (options.filterfile, tree)) - else: - queueForRemoval(tree) - -@@ -315,16 +314,16 @@ def removeList(count=0): - print("## Damage control, trying to parse stderr from icupkg..") - fi = open(hackerrfile, 'rb') - erritems = fi.readlines() - fi.close() - #Item zone/zh_Hant_TW.res depends on missing item zone/zh_Hant.res -- pat = re.compile("""^Item ([^ ]+) depends on missing item ([^ ]+).*""") -+ pat = re.compile(bytes(r"^Item ([^ ]+) depends on missing item ([^ ]+).*", 'utf-8')) - for i in range(len(erritems)): - line = erritems[i].strip() - m = pat.match(line) - if m: -- toDelete = m.group(1) -+ toDelete = m.group(1).decode("utf-8") - if(options.verbose > 5): - print("<< %s added to delete" % toDelete) - remove.add(toDelete) - else: - print("ERROR: could not match errline: %s" % line) --- -2.25.1 - diff --git a/nodejs-tarball.sh b/nodejs-tarball.sh index dfc8587..f5b042b 100755 --- a/nodejs-tarball.sh +++ b/nodejs-tarball.sh @@ -167,7 +167,7 @@ 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 "libuv" +echo "nghttp2" echo "=========================" grep "define NGHTTP2_VERSION " node-v${version}/deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h echo @@ -179,6 +179,12 @@ echo "punycode" echo "=========================" grep "'version'" node-v${version}/lib/punycode.js echo +echo "uvwasi" +echo "=========================" +grep "define UVWASI_VERSION_MAJOR" node-v${version}/deps/uvwasi/include/uvwasi.h +grep "define UVWASI_VERSION_MINOR" node-v${version}/deps/uvwasi/include/uvwasi.h +grep "define UVWASI_VERSION_PATCH" node-v${version}/deps/uvwasi/include/uvwasi.h +echo echo "npm" echo "=========================" grep ""version":" node-v${version}/deps/npm/package.json diff --git a/nodejs.spec b/nodejs.spec index 7ba814c..bbf4fba 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 2 +%global baserelease 1
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -19,7 +19,7 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 13 -%global nodejs_minor 11 +%global nodejs_minor 13 %global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h @@ -45,7 +45,7 @@ # c-ares - from deps/cares/include/ares_version.h # https://github.com/nodejs/node/pull/9332 %global c_ares_major 1 -%global c_ares_minor 15 +%global c_ares_minor 16 %global c_ares_patch 0 %global c_ares_version %{c_ares_major}.%{c_ares_minor}.%{c_ares_patch}
@@ -57,8 +57,8 @@
# libuv - from deps/uv/include/uv/version.h %global libuv_major 1 -%global libuv_minor 34 -%global libuv_patch 2 +%global libuv_minor 35 +%global libuv_patch 0 %global libuv_version %{libuv_major}.%{libuv_minor}.%{libuv_patch}
# nghttp2 - from deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h @@ -68,7 +68,7 @@ %global nghttp2_version %{nghttp2_major}.%{nghttp2_minor}.%{nghttp2_patch}
# ICU - from tools/icu/current_ver.dep -%global icu_major 65 +%global icu_major 66 %global icu_minor 1 %global icu_version %{icu_major}.%{icu_minor}
@@ -91,10 +91,22 @@ # npm - from deps/npm/package.json %global npm_epoch 1 %global npm_major 6 -%global npm_minor 13 -%global npm_patch 7 +%global npm_minor 14 +%global npm_patch 4 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch}
+# uvwasi - from deps/uvwasi/include/uvwasi.h +%global uvwasi_major 0 +%global uvwasi_minor 0 +%global uvwasi_patch 6 +%global uvwasi_version %{uvwasi_major}.%{uvwasi_minor}.%{uvwasi_patch} + +# histogram_c - assumed from timestamps +%global histogram_major 0 +%global histogram_minor 9 +%global histogram_patch 7 +%global histogram_version %{histogram_major}.%{histogram_minor}.%{histogram_patch} + # In order to avoid needing to keep incrementing the release version for the # main package forever, we will just construct one for npm that is guaranteed # to increment safely. Changing this can only be done during an update when the @@ -133,12 +145,9 @@ Patch1: 0001-Disable-running-gyp-on-shared-deps.patch # Patch to install both node and libnode.so, using the correct libdir Patch2: 0002-Install-both-binaries-and-use-libdir.patch
-# Patch to fix python3 issues with icustrip.py -# https://github.com/nodejs/node/pull/31659 -Patch3: 0003-icustrip.py-fix-use-of-string-and-byte-objects.patch - BuildRequires: python3-devel BuildRequires: zlib-devel +BuildRequires: brotli-devel BuildRequires: gcc >= 4.9.4 BuildRequires: gcc-c++ >= 4.9.4 BuildRequires: chrpath @@ -171,14 +180,14 @@ Requires: nodejs-libs%{?_isa} = %{nodejs_epoch}:%{version}-%{release} # Pull in the full-icu data by default Recommends: nodejs-full-i18n%{?_isa} = %{nodejs_epoch}:%{version}-%{release}
-#we need ABI virtual provides where SONAMEs aren't enough/not present so deps -#break when binary compatibility is broken +# we need ABI virtual provides where SONAMEs aren't enough/not present so deps +# break when binary compatibility is broken Provides: nodejs(abi) = %{nodejs_abi} Provides: nodejs(abi%{nodejs_major}) = %{nodejs_abi} Provides: nodejs(v8-abi) = %{v8_abi} Provides: nodejs(v8-abi%{v8_major}) = %{v8_abi}
-#this corresponds to the "engine" requirement in package.json +# this corresponds to the "engine" requirement in package.json Provides: nodejs(engine) = %{nodejs_version}
# Node.js currently has a conflict with the 'node' package in Fedora @@ -216,6 +225,11 @@ Provides: bundled(v8) = %{v8_version} # an ABI-break, so we'll use the bundled copy. Provides: bundled(icu) = %{icu_version}
+# Upstream added new dependencies, but so far they are not available in Fedora +# or there's no option to built it as a shared dependency, so we bundle them +Provides: bundled(uvwasi) = %{uvwasi_version} +Provides: bundled(histogram) = %{histogram_version} + # Make sure we keep NPM up to date when we update Node.js %if 0%{?rhel} < 8 # EPEL doesn't support Recommends, so make it strict @@ -238,6 +252,7 @@ Group: Development/Languages Requires: %{name}%{?_isa} = %{epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} Requires: openssl-devel%{?_isa} Requires: zlib-devel%{?_isa} +Requires: brotli-devel%{?_isa} Requires: nodejs-packaging
%if %{with bootstrap} @@ -336,6 +351,7 @@ The API documentation for the Node.js JavaScript runtime.
# remove bundled dependencies that we aren't building rm -rf deps/zlib +rm -rf deps/brotli
# Replace any instances of unversioned python' with python3 @@ -384,6 +400,7 @@ export LDFLAGS="%{build_ldflags}" --libdir=%{_lib} \ --shared-openssl \ --shared-zlib \ + --shared-brotli \ --without-dtrace \ --with-intl=small-icu \ --debug-nghttp2 \ @@ -394,6 +411,7 @@ export LDFLAGS="%{build_ldflags}" --libdir=%{_lib} \ --shared-openssl \ --shared-zlib \ + --shared-brotli \ --shared-libuv \ --shared-nghttp2 \ --with-dtrace \ @@ -471,12 +489,12 @@ echo 'nodejs(v8-abi%{v8_major}) >= %v8_abi' EOF chmod 0755 %{buildroot}%{_rpmconfigdir}/nodejs_native.req
-#install documentation +# install documentation mkdir -p %{buildroot}%{_pkgdocdir}/html cp -pr doc/* %{buildroot}%{_pkgdocdir}/html rm -f %{buildroot}%{_pkgdocdir}/html/nodejs.1
-#node-gyp needs common.gypi too +# node-gyp needs common.gypi too mkdir -p %{buildroot}%{_datadir}/node cp -p common.gypi %{buildroot}%{_datadir}/node
@@ -521,7 +539,7 @@ chmod 0755 %{buildroot}%{_prefix}/lib/node_modules/npm/node_modules/node-gyp/bin mkdir -p %{buildroot}%{_sysconfdir} cp %{SOURCE1} %{buildroot}%{_sysconfdir}/npmrc
-# NPM upstream expectes it to be in /usr/etc/npmrc, so we'll put a symlink here +# NPM upstream expects it to be in /usr/etc/npmrc, so we'll put a symlink here # This is done in the interests of keeping /usr read-only. mkdir -p %{buildroot}%{_prefix}/etc ln -s %{_sysconfdir}/npmrc %{buildroot}%{_prefix}/etc/npmrc @@ -613,6 +631,7 @@ end %dir %{icudatadir} %{icudatadir}/icudt%{icu_major}*.dat
+ %files libs %license LICENSE %{_libdir}/libnode.so.%{nodejs_soversion} @@ -664,7 +683,14 @@ end %{_pkgdocdir}/html %{_pkgdocdir}/npm/docs
+ %changelog +* Wed Apr 15 2020 Zuzana Svetlikova zsvetlik@redhat.com - 1:13.13.0-1 +- Update to 13.13.0 +- Add bundled uvwasi and histogram_c provides +- Add shared brotli dependency +- Remove icustrip.py patch, which was merged in upstream + * Tue Mar 17 2020 Stephen Gallagher sgallagh@redhat.com - 1:13.11.0-2 - Fix python3 issue in icustrip.py
diff --git a/sources b/sources index fe91f21..508983c 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v13.11.0-stripped.tar.gz) = dca4cc309c1376d141df9ad39ad2f7d4c045806705a78bf77d738c6f60110d0ce0ae3a11408a94dd655f22c0b178aed5422d1d141c3eba9f98d946a588e826f2 -SHA512 (icu4c-65_1-src.tgz) = 8f1ef33e1f4abc9a8ee870331c59f01b473d6da1251a19ce403f822f3e3871096f0791855d39c8f20c612fc49cda2c62c06864aa32ddab2dbd186d2b21ce9139 +SHA512 (node-v13.13.0-stripped.tar.gz) = 54f31fc69c614610a412021fdd6cd8327dcd10a716df4500614f6e6a30ba1cb2314a14f3c675b629bf6bad24c82ef66f59d24b74f5677ae8ea4157fb98759fc9 +SHA512 (icu4c-66_1-src.tgz) = 78d87bce65a7bdf7e9a19bda13e353c60846816ff34025f829d1ff15f9ac49aa6061eb192173742be0eca105684ce0e39e95656147afe848520bf60274c8d246
commit a8ba41ef71ccc672adf0d81eaa7273bef82cd120 Author: Zuzana Svetlikova zsvetlik@redhat.com Date: Fri Apr 17 13:10:35 2020 +0200
Update to 12.16.2, add new Provides/Requires
diff --git a/.gitignore b/.gitignore index 4f7c337..ef6e814 100644 --- a/.gitignore +++ b/.gitignore @@ -109,3 +109,4 @@ /node-v10.10.0-stripped.tar.gz /node-v10.11.0-stripped.tar.gz /icu4c-64_2-src.tgz +/icu4c-65_1-src.tgz diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index ce6ff7a..6d662d3 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,29 +1,25 @@ -From 2213cf773b7cf503807397aac79f10d6690a6640 Mon Sep 17 00:00:00 2001 +From 0da4decd64a9cbfcf75b2697c722cd6fc82a164d Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com -Date: Thu, 27 Apr 2017 14:25:42 +0200 -Subject: [PATCH 1/2] Disable running gyp on shared deps +Date: Fri, 17 Apr 2020 12:59:44 +0200 +Subject: [PATCH] 0001
--- - Makefile | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile -index 05eaa73abbe0c6c651bdf446e3678b92700d57c3..829c4c7c9f8a2132def8767a243cb7160a85d2b2 100644 +index 88166da2a8..f0637b6c78 100644 --- a/Makefile +++ b/Makefile -@@ -141,9 +141,9 @@ test-code-cache: with-code-cache +@@ -141,7 +141,7 @@ test-code-cache: with-code-cache echo "'test-code-cache' target is a noop"
out/Makefile: config.gypi common.gypi node.gyp \ - deps/uv/uv.gyp deps/http_parser/http_parser.gyp deps/zlib/zlib.gyp \ -- tools/v8_gypfiles/toolchain.gypi tools/v8_gypfiles/features.gypi \ -- tools/v8_gypfiles/inspector.gypi tools/v8_gypfiles/v8.gyp -+ deps/http_parser/http_parser.gyp \ -+ tools/v8_gypfiles/toolchain.gypi tools/v8_gypfiles/features.gypi \ -+ tools/v8_gypfiles/inspector.gypi tools/v8_gypfiles/v8.gyp ++ deps/http_parser/http_parser.gyp \ + tools/v8_gypfiles/toolchain.gypi tools/v8_gypfiles/features.gypi \ + tools/v8_gypfiles/inspector.gypi tools/v8_gypfiles/v8.gyp $(PYTHON) tools/gyp_node.py -f make - - # node_version.h is listed because the N-API version is taken from there -- -2.24.1 +2.25.2
diff --git a/nodejs-tarball.sh b/nodejs-tarball.sh index 2aed5cd..74e36e0 100755 --- a/nodejs-tarball.sh +++ b/nodejs-tarball.sh @@ -132,6 +132,8 @@ fedpkg 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 "-------------------------" @@ -171,7 +173,7 @@ 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 "libuv" +echo "nghttp2" echo "=========================" grep "define NGHTTP2_VERSION " node-v${version}/deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h echo @@ -183,6 +185,12 @@ echo "punycode" echo "=========================" grep "'version'" node-v${version}/lib/punycode.js echo +echo "uvwasi" +echo "=========================" +grep "define UVWASI_VERSION_MAJOR" node-v${version}/deps/uvwasi/include/uvwasi.h +grep "define UVWASI_VERSION_MINOR" node-v${version}/deps/uvwasi/include/uvwasi.h +grep "define UVWASI_VERSION_PATCH" node-v${version}/deps/uvwasi/include/uvwasi.h +echo echo "npm" echo "=========================" grep ""version":" node-v${version}/deps/npm/package.json diff --git a/nodejs.spec b/nodejs.spec index 42504a0..fe06c61 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 4 +%global baserelease 1
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -20,7 +20,7 @@ %global nodejs_epoch 1 %global nodejs_major 12 %global nodejs_minor 16 -%global nodejs_patch 1 +%global nodejs_patch 2 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 72 @@ -64,7 +64,7 @@ # libuv - from deps/uv/include/uv/version.h %global libuv_major 1 %global libuv_minor 34 -%global libuv_patch 0 +%global libuv_patch 2 %global libuv_version %{libuv_major}.%{libuv_minor}.%{libuv_patch}
# nghttp2 - from deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h @@ -74,8 +74,8 @@ %global nghttp2_version %{nghttp2_major}.%{nghttp2_minor}.%{nghttp2_patch}
# ICU - from tools/icu/current_ver.dep -%global icu_major 64 -%global icu_minor 2 +%global icu_major 65 +%global icu_minor 1 %global icu_version %{icu_major}.%{icu_minor}
%global icudatadir %{nodejs_datadir}/icudata @@ -97,10 +97,22 @@ # npm - from deps/npm/package.json %global npm_epoch 1 %global npm_major 6 -%global npm_minor 13 +%global npm_minor 14 %global npm_patch 4 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch}
+# uvwasi - from deps/uvwasi/include/uvwasi.h +%global uvwasi_major 0 +%global uvwasi_minor 0 +%global uvwasi_patch 5 +%global uvwasi_version %{uvwasi_major}.%{uvwasi_minor}.%{uvwasi_patch} + +# histogram_c - assumed from timestamps +%global histogram_major 0 +%global histogram_minor 9 +%global histogram_patch 7 +%global histogram_version %{histogram_major}.%{histogram_minor}.%{histogram_patch} + # In order to avoid needing to keep incrementing the release version for the # main package forever, we will just construct one for npm that is guaranteed # to increment safely. Changing this can only be done during an update when the @@ -141,6 +153,7 @@ Patch2: 0002-Install-both-binaries-and-use-libdir.patch
BuildRequires: python3-devel BuildRequires: zlib-devel +BuildRequires: brotli-devel BuildRequires: gcc >= 4.9.4 BuildRequires: gcc-c++ >= 4.9.4 BuildRequires: chrpath @@ -177,14 +190,14 @@ Requires: nodejs-libs%{?_isa} = %{nodejs_epoch}:%{version}-%{release} # Pull in the full-icu data by default Recommends: nodejs-full-i18n%{?_isa} = %{nodejs_epoch}:%{version}-%{release}
-#we need ABI virtual provides where SONAMEs aren't enough/not present so deps -#break when binary compatibility is broken +# we need ABI virtual provides where SONAMEs aren't enough/not present so deps +# break when binary compatibility is broken Provides: nodejs(abi) = %{nodejs_abi} Provides: nodejs(abi%{nodejs_major}) = %{nodejs_abi} Provides: nodejs(v8-abi) = %{v8_abi} Provides: nodejs(v8-abi%{v8_major}) = %{v8_abi}
-#this corresponds to the "engine" requirement in package.json +# this corresponds to the "engine" requirement in package.json Provides: nodejs(engine) = %{nodejs_version}
# Node.js currently has a conflict with the 'node' package in Fedora @@ -222,6 +235,11 @@ Provides: bundled(v8) = %{v8_version} # an ABI-break, so we'll use the bundled copy. Provides: bundled(icu) = %{icu_version}
+# Upstream added new dependencies, but so far they are not available in Fedora +# or there's no option to built it as a shared dependency, so we bundle them +Provides: bundled(uvwasi) = %{uvwasi_version} +Provides: bundled(histogram) = %{histogram_version} + # Make sure we keep NPM up to date when we update Node.js %if 0%{?rhel} < 8 # EPEL doesn't support Recommends, so make it strict @@ -244,6 +262,7 @@ Group: Development/Languages Requires: %{name}%{?_isa} = %{epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} Requires: openssl-devel%{?_isa} Requires: zlib-devel%{?_isa} +Requires: brotli-devel%{?_isa} Requires: nodejs-packaging
%if %{with bootstrap} @@ -342,6 +361,7 @@ The API documentation for the Node.js JavaScript runtime.
# remove bundled dependencies that we aren't building rm -rf deps/zlib +rm -rf deps/brotli
# Replace any instances of unversioned python' with python3 @@ -390,6 +410,7 @@ export LDFLAGS="%{build_ldflags}" --libdir=%{_lib} \ --shared-openssl \ --shared-zlib \ + --shared-brotli \ --without-dtrace \ --with-intl=small-icu \ --debug-nghttp2 \ @@ -400,6 +421,7 @@ export LDFLAGS="%{build_ldflags}" --libdir=%{_lib} \ --shared-openssl \ --shared-zlib \ + --shared-brotli \ --shared-libuv \ --shared-nghttp2 \ --with-dtrace \ @@ -477,12 +499,12 @@ echo 'nodejs(v8-abi%{v8_major}) >= %v8_abi' EOF chmod 0755 %{buildroot}%{_rpmconfigdir}/nodejs_native.req
-#install documentation +# install documentation mkdir -p %{buildroot}%{_pkgdocdir}/html cp -pr doc/* %{buildroot}%{_pkgdocdir}/html rm -f %{buildroot}%{_pkgdocdir}/html/nodejs.1
-#node-gyp needs common.gypi too +# node-gyp needs common.gypi too mkdir -p %{buildroot}%{_datadir}/node cp -p common.gypi %{buildroot}%{_datadir}/node
@@ -527,7 +549,7 @@ chmod 0755 %{buildroot}%{_prefix}/lib/node_modules/npm/node_modules/node-gyp/bin mkdir -p %{buildroot}%{_sysconfdir} cp %{SOURCE1} %{buildroot}%{_sysconfdir}/npmrc
-# NPM upstream expectes it to be in /usr/etc/npmrc, so we'll put a symlink here +# NPM upstream expects it to be in /usr/etc/npmrc, so we'll put a symlink here # This is done in the interests of keeping /usr read-only. mkdir -p %{buildroot}%{_prefix}/etc ln -s %{_sysconfdir}/npmrc %{buildroot}%{_prefix}/etc/npmrc @@ -535,6 +557,7 @@ ln -s %{_sysconfdir}/npmrc %{buildroot}%{_prefix}/etc/npmrc # Install the full-icu data files install -Dpm0644 -t %{buildroot}%{icudatadir} deps/icu/source/converted/*
+ %check # Fail the build if the versions don't match LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require('assert').equal(process.versions.node, '%{nodejs_version}')" @@ -604,7 +627,7 @@ end
%{_rpmconfigdir}/fileattrs/nodejs_native.attr %{_rpmconfigdir}/nodejs_native.req -%doc AUTHORS CHANGELOG.md COLLABORATOR_GUIDE.md GOVERNANCE.md README.md +%doc AUTHORS CHANGELOG.md onboarding.md GOVERNANCE.md README.md %doc %{_mandir}/man1/node.1*
@@ -619,6 +642,7 @@ end %dir %{icudatadir} %{icudatadir}/icudt%{icu_major}*.dat
+ %files libs %license LICENSE %{_libdir}/libnode.so.%{nodejs_soversion} @@ -669,7 +693,13 @@ end %{_pkgdocdir}/html %{_pkgdocdir}/npm/docs
+ %changelog +* Wed Apr 15 2020 Zuzana Svetlikova zsvetlik@redhat.com - 1:12.16.2-1 +- Update to 12.16.2 +- Add bundled uvwasi and histogram_c provides +- Add shared brotli dependency + * Tue Mar 17 2020 Tom Stellard tstellar@redhat.com - 1:12.16.1-4 - Replace hard-coded gcc and g++ with __cc and __cxx macros
diff --git a/sources b/sources index a85e8b0..8bf1c62 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v12.16.1-stripped.tar.gz) = 489d337bd522ab48ad9cef99aa2ce3203a05fb05fda0454b805905f699d14da643b51f6b20786995f2aeeb9f468434b60d734e75cec3451e7648da623914c699 -SHA512 (icu4c-64_2-src.tgz) = 5ecb4c230ba45918747a1cf9aef86f555aa07d5b29b1d07ab674e8013f46dfb907a0e9d6945db41155f9dc3012fd94e1152ffc19f61a68b6dfcbabdcb8ae9d78 +SHA512 (node-v12.16.2-stripped.tar.gz) = cc289da4a836feb5e7c330de0fcee8b3677d925f98e1c574918f0432d6dcdcbf6183a1a3a834f568ad80e273d1744ddb3df3679dccfd1b784c075b0ea6181c00 +SHA512 (icu4c-65_1-src.tgz) = 8f1ef33e1f4abc9a8ee870331c59f01b473d6da1251a19ce403f822f3e3871096f0791855d39c8f20c612fc49cda2c62c06864aa32ddab2dbd186d2b21ce9139
commit 78f7bb0b356802538b189b8e87ef13c80629963c Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Mar 23 14:31:48 2020 -0400
Replace hard-coded gcc and g++ with __cc and __cxx macros
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index f2e0afd..7ba814c 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -355,8 +355,8 @@ find . -type f -exec sed -i "s~python -c~python3 -c~" {} ; %global optflags %(echo %{optflags} | sed 's/-g /-g1 /') %endif
-export CC='gcc' -export CXX='g++' +export CC='%{__cc}' +export CXX='%{__cxx}'
# build with debugging symbols and add defines from libuv (#892601) # Node's v8 breaks with GCC 6 because of incorrect usage of methods on
commit 4fd4157b50b984a02047db408575f97c6b3bed1e Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Mar 17 23:24:03 2020 -0400
Fix python3 issue in icustrip.py
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0003-icustrip.py-fix-use-of-string-and-byte-objects.patch b/0003-icustrip.py-fix-use-of-string-and-byte-objects.patch new file mode 100644 index 0000000..fe01f64 --- /dev/null +++ b/0003-icustrip.py-fix-use-of-string-and-byte-objects.patch @@ -0,0 +1,82 @@ +From fa4382c4b48ec34ed3259334f2e0f8d2706ffcf9 Mon Sep 17 00:00:00 2001 +From: Jonathan MERCIER jmercier@cng.fr +Date: Tue, 17 Mar 2020 21:18:37 -0400 +Subject: [PATCH 3/3] icustrip.py: fix use of string and byte objects + +Signed-off-by: Stephen Gallagher sgallagh@redhat.com +--- + tools/icu/icutrim.py | 17 ++++++++--------- + 1 file changed, 8 insertions(+), 9 deletions(-) + +diff --git a/tools/icu/icutrim.py b/tools/icu/icutrim.py +index 25bd99d9cb260da00de9647f9b060790b48af8b2..f857e73bbce298048e407ddbef87f5bc4ac5307a 100755 +--- a/tools/icu/icutrim.py ++++ b/tools/icu/icutrim.py +@@ -11,10 +11,11 @@ + # Usage: + # Use "-h" to get help options. + + from __future__ import print_function + ++import io + import json + import optparse + import os + import re + import shutil +@@ -157,13 +158,12 @@ def runcmd(tool, cmd, doContinue=False): + print("FAILED: %s" % cmd) + sys.exit(1) + return rc + + ## STEP 0 - read in json config +-fi= open(options.filterfile, "rb") +-config=json.load(fi) +-fi.close() ++with io.open(options.filterfile, encoding='utf-8') as fi: ++ config = json.load(fi) + + if options.locales: + config["variables"] = config.get("variables", {}) + config["variables"]["locales"] = config["variables"].get("locales", {}) + config["variables"]["locales"]["only"] = options.locales.split(',') +@@ -283,14 +283,13 @@ for i in range(len(items)): + print("procesing %s" % (tree)) + trees[tree] = { "extension": ".res", "treeprefix": treeprefix, "hasIndex": True } + # read in the resource list for the tree + treelistfile = os.path.join(options.tmpdir,"%s.lst" % tree) + runcmd("iculslocs", "-i %s -N %s -T %s -l > %s" % (outfile, dataname, tree, treelistfile)) +- fi = open(treelistfile, 'rb') +- treeitems = fi.readlines() +- trees[tree]["locs"] = [treeitems[i].strip() for i in range(len(treeitems))] +- fi.close() ++ with io.open(treelistfile, 'r', encoding='utf-8') as fi: ++ treeitems = fi.readlines() ++ trees[tree]["locs"] = [line.strip() for line in treeitems] + if tree not in config.get("trees", {}): + print(" Warning: filter file %s does not mention trees.%s - will be kept as-is" % (options.filterfile, tree)) + else: + queueForRemoval(tree) + +@@ -315,16 +314,16 @@ def removeList(count=0): + print("## Damage control, trying to parse stderr from icupkg..") + fi = open(hackerrfile, 'rb') + erritems = fi.readlines() + fi.close() + #Item zone/zh_Hant_TW.res depends on missing item zone/zh_Hant.res +- pat = re.compile("""^Item ([^ ]+) depends on missing item ([^ ]+).*""") ++ pat = re.compile(bytes(r"^Item ([^ ]+) depends on missing item ([^ ]+).*", 'utf-8')) + for i in range(len(erritems)): + line = erritems[i].strip() + m = pat.match(line) + if m: +- toDelete = m.group(1) ++ toDelete = m.group(1).decode("utf-8") + if(options.verbose > 5): + print("<< %s added to delete" % toDelete) + remove.add(toDelete) + else: + print("ERROR: could not match errline: %s" % line) +-- +2.25.1 + diff --git a/nodejs.spec b/nodejs.spec index 3fea0ad..f2e0afd 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 1 +%global baserelease 2
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -133,6 +133,10 @@ Patch1: 0001-Disable-running-gyp-on-shared-deps.patch # Patch to install both node and libnode.so, using the correct libdir Patch2: 0002-Install-both-binaries-and-use-libdir.patch
+# Patch to fix python3 issues with icustrip.py +# https://github.com/nodejs/node/pull/31659 +Patch3: 0003-icustrip.py-fix-use-of-string-and-byte-objects.patch + BuildRequires: python3-devel BuildRequires: zlib-devel BuildRequires: gcc >= 4.9.4 @@ -594,7 +598,7 @@ end
%{_rpmconfigdir}/fileattrs/nodejs_native.attr %{_rpmconfigdir}/nodejs_native.req -%doc AUTHORS CHANGELOG.md COLLABORATOR_GUIDE.md GOVERNANCE.md README.md +%doc AUTHORS CHANGELOG.md onboarding.md GOVERNANCE.md README.md %doc %{_mandir}/man1/node.1*
@@ -655,11 +659,15 @@ end
%files docs +%doc doc %dir %{_pkgdocdir} %{_pkgdocdir}/html %{_pkgdocdir}/npm/docs
%changelog +* Tue Mar 17 2020 Stephen Gallagher sgallagh@redhat.com - 1:13.11.0-2 +- Fix python3 issue in icustrip.py + * Mon Mar 16 2020 Stephen Gallagher sgallagh@redhat.com - 1:13.11.0-1 - Update to 13.11.0
commit 1484855d648b4ed8254139ca9b586666fd3d2e76 Author: Tom Stellard tstellar@redhat.com Date: Thu Feb 13 03:01:14 2020 +0000
Replace hard-coded gcc and g++ with __cc and __cxx macros
diff --git a/nodejs.spec b/nodejs.spec index 0fc9249..42504a0 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 3 +%global baserelease 4
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -361,8 +361,8 @@ find . -type f -exec sed -i "s~python -c~python3 -c~" {} ; %global optflags %(echo %{optflags} | sed 's/-g /-g1 /') %endif
-export CC='gcc' -export CXX='g++' +export CC='%{__cc}' +export CXX='%{__cxx}'
# build with debugging symbols and add defines from libuv (#892601) # Node's v8 breaks with GCC 6 because of incorrect usage of methods on @@ -670,6 +670,9 @@ end %{_pkgdocdir}/npm/docs
%changelog +* Tue Mar 17 2020 Tom Stellard tstellar@redhat.com - 1:12.16.1-4 +- Replace hard-coded gcc and g++ with __cc and __cxx macros + * Mon Mar 16 2020 Stephen Gallagher sgallagh@redhat.com - 1:12.16.1-3 - Set npmrc to use python3 explicitly
commit 3b337524b7e9fe845fb51f4b648eee5f003e7e2e Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Mar 16 08:13:37 2020 -0400
Update changelog
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 9c47100..0fc9249 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 2 +%global baserelease 3
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -670,6 +670,9 @@ end %{_pkgdocdir}/npm/docs
%changelog +* Mon Mar 16 2020 Stephen Gallagher sgallagh@redhat.com - 1:12.16.1-3 +- Set npmrc to use python3 explicitly + * Wed Feb 26 2020 Stephen Gallagher sgallagh@redhat.com - 1:12.16.1-2 - Build with Python 3 only
commit 76e468eeba1c877c1515dfe96b1cd1cf3b653c8a Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Mar 16 08:12:33 2020 -0400
Set npmrc to use python3 explicitly
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/npmrc b/npmrc index 10437ca..50be1d1 100644 --- a/npmrc +++ b/npmrc @@ -1 +1,2 @@ prefix=/usr/local +python=/usr/bin/python3
commit b5019305341a31658d854767c6edd2f2cfbe6963 Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Mar 16 08:12:33 2020 -0400
Set npmrc to use python3 explicitly
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/npmrc b/npmrc index 10437ca..50be1d1 100644 --- a/npmrc +++ b/npmrc @@ -1 +1,2 @@ prefix=/usr/local +python=/usr/bin/python3
commit aadc802d26c4e7e0950c267a4405a299d26df295 Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Mar 16 08:11:14 2020 -0400
Update to 13.11.0
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 690bba2..3fea0ad 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 2 +%global baserelease 1
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -19,7 +19,7 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 13 -%global nodejs_minor 9 +%global nodejs_minor 11 %global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h @@ -660,6 +660,9 @@ end %{_pkgdocdir}/npm/docs
%changelog +* Mon Mar 16 2020 Stephen Gallagher sgallagh@redhat.com - 1:13.11.0-1 +- Update to 13.11.0 + * Wed Feb 26 2020 Stephen Gallagher sgallagh@redhat.com - 1:13.9.0-2 - Build with python 3 only
diff --git a/sources b/sources index 9ac6f21..fe91f21 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v13.9.0-stripped.tar.gz) = 6d633b8e42954eba13bbf3b3deb47c7514af04a9f650d9d757f4a3ede85d591a21a4e1330d4b9389e59164bd34883c18ba62b50f4479de0daf6080f166f02138 +SHA512 (node-v13.11.0-stripped.tar.gz) = dca4cc309c1376d141df9ad39ad2f7d4c045806705a78bf77d738c6f60110d0ce0ae3a11408a94dd655f22c0b178aed5422d1d141c3eba9f98d946a588e826f2 SHA512 (icu4c-65_1-src.tgz) = 8f1ef33e1f4abc9a8ee870331c59f01b473d6da1251a19ce403f822f3e3871096f0791855d39c8f20c612fc49cda2c62c06864aa32ddab2dbd186d2b21ce9139
commit 30a795152ad27093cb931582a977ee497adf979d Author: Stephen Gallagher sgallagh@redhat.com Date: Wed Feb 26 14:16:46 2020 -0500
Update changelog and drop package.cfg
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 91254c4..690bba2 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -660,7 +660,10 @@ end %{_pkgdocdir}/npm/docs
%changelog -* Tue Feb 25 2020 Stephen Gallagher sgallagh@redhat.com - 1:13.9.0--1 +* Wed Feb 26 2020 Stephen Gallagher sgallagh@redhat.com - 1:13.9.0-2 +- Build with python 3 only + +* Tue Feb 25 2020 Stephen Gallagher sgallagh@redhat.com - 1:13.9.0-1 - Release Node.js 13.9.0
* Tue Feb 25 2020 Stephen Gallagher sgallagh@redhat.com - 1:12.16.1-1 diff --git a/package.cfg b/package.cfg deleted file mode 100644 index 7ba3a28..0000000 --- a/package.cfg +++ /dev/null @@ -1,2 +0,0 @@ -[koji] -targets = master f32 f31
commit 7e23cb6a17ac1daf73ef7d65288ea26b9450209f Author: Stephen Gallagher sgallagh@redhat.com Date: Wed Feb 26 14:15:00 2020 -0500
Build with python3 only
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 88af4b3..91254c4 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 1 +%global baserelease 2
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -133,7 +133,6 @@ Patch1: 0001-Disable-running-gyp-on-shared-deps.patch # Patch to install both node and libnode.so, using the correct libdir Patch2: 0002-Install-both-binaries-and-use-libdir.patch
-BuildRequires: python2-devel BuildRequires: python3-devel BuildRequires: zlib-devel BuildRequires: gcc >= 4.9.4 @@ -335,15 +334,14 @@ The API documentation for the Node.js JavaScript runtime. rm -rf deps/zlib
-# Replace any instances of unversioned python' with python2 -pathfix.py -i %{__python2} -pn $(find -type f ! -name "*.js") -find . -type f -exec sed -i "s~/usr/bin/env python~/usr/bin/python2~" {} ; -find . -type f -exec sed -i "s~/usr/bin/python\W~/usr/bin/python2~" {} ; -sed -i "s~python~python2~" $(find . -type f | grep "gyp$") +# Replace any instances of unversioned python' with python3 +pathfix.py -i %{__python3} -pn $(find -type f ! -name "*.js") +find . -type f -exec sed -i "s~/usr/bin/env python~/usr/bin/python3~" {} ; +find . -type f -exec sed -i "s~/usr/bin/python\W~/usr/bin/python3~" {} ; +sed -i "s~python~python3~" $(find . -type f | grep "gyp$") sed -i "s~usr/bin/python2~usr/bin/python3~" ./deps/v8/tools/gen-inlining-tests.py -sed -i "s~usr/bin/python.*$~usr/bin/python2~" ./deps/v8/tools/mb/mb_unittest.py -find . -type f -exec sed -i "s~python -c~python2 -c~" {} ; -sed -i "s~which('python')~which('python2')~" configure +sed -i "s~usr/bin/python.*$~usr/bin/python3~" ./deps/v8/tools/mb/mb_unittest.py +find . -type f -exec sed -i "s~python -c~python3 -c~" {} ;
%build
@@ -377,7 +375,7 @@ export CXXFLAGS="$(echo ${CXXFLAGS} | tr '\n\' ' ')" export LDFLAGS="%{build_ldflags}"
%if %{with bootstrap} -./configure --prefix=%{_prefix} \ +%{__python3} configure.py --prefix=%{_prefix} \ --shared \ --libdir=%{_lib} \ --shared-openssl \ @@ -387,7 +385,7 @@ export LDFLAGS="%{build_ldflags}" --debug-nghttp2 \ --openssl-use-def-ca-store %else -./configure --prefix=%{_prefix} \ +%{__python3} configure.py --prefix=%{_prefix} \ --shared \ --libdir=%{_lib} \ --shared-openssl \
commit 2a719fcdd4d6b33eeed7738566b0ff0510a3d8d7 Author: Stephen Gallagher sgallagh@redhat.com Date: Wed Feb 26 14:15:10 2020 -0500
Bump changelog
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 95b4b0d..9c47100 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -670,6 +670,9 @@ end %{_pkgdocdir}/npm/docs
%changelog +* Wed Feb 26 2020 Stephen Gallagher sgallagh@redhat.com - 1:12.16.1-2 +- Build with Python 3 only + * Tue Feb 25 2020 Stephen Gallagher sgallagh@redhat.com - 1:12.16.1-1 - Update to 12.16.1 - Fixes six regressions introduced in 12.16.0
commit cc5ee3bfc38c2328c94a49c0719bfca5183c5377 Author: Stephen Gallagher sgallagh@redhat.com Date: Wed Feb 26 14:15:00 2020 -0500
Build with python3 only
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 8cd0db6..95b4b0d 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 1 +%global baserelease 2
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -139,7 +139,6 @@ Patch1: 0001-Disable-running-gyp-on-shared-deps.patch # Patch to install both node and libnode.so, using the correct libdir Patch2: 0002-Install-both-binaries-and-use-libdir.patch
-BuildRequires: python2-devel BuildRequires: python3-devel BuildRequires: zlib-devel BuildRequires: gcc >= 4.9.4 @@ -345,15 +344,14 @@ The API documentation for the Node.js JavaScript runtime. rm -rf deps/zlib
-# Replace any instances of unversioned python' with python2 -pathfix.py -i %{__python2} -pn $(find -type f ! -name "*.js") -find . -type f -exec sed -i "s~/usr/bin/env python~/usr/bin/python2~" {} ; -find . -type f -exec sed -i "s~/usr/bin/python\W~/usr/bin/python2~" {} ; -sed -i "s~python~python2~" $(find . -type f | grep "gyp$") +# Replace any instances of unversioned python' with python3 +pathfix.py -i %{__python3} -pn $(find -type f ! -name "*.js") +find . -type f -exec sed -i "s~/usr/bin/env python~/usr/bin/python3~" {} ; +find . -type f -exec sed -i "s~/usr/bin/python\W~/usr/bin/python3~" {} ; +sed -i "s~python~python3~" $(find . -type f | grep "gyp$") sed -i "s~usr/bin/python2~usr/bin/python3~" ./deps/v8/tools/gen-inlining-tests.py -sed -i "s~usr/bin/python.*$~usr/bin/python2~" ./deps/v8/tools/mb/mb_unittest.py -find . -type f -exec sed -i "s~python -c~python2 -c~" {} ; -sed -i "s~which('python')~which('python2')~" configure +sed -i "s~usr/bin/python.*$~usr/bin/python3~" ./deps/v8/tools/mb/mb_unittest.py +find . -type f -exec sed -i "s~python -c~python3 -c~" {} ;
%build
@@ -387,7 +385,7 @@ export CXXFLAGS="$(echo ${CXXFLAGS} | tr '\n\' ' ')" export LDFLAGS="%{build_ldflags}"
%if %{with bootstrap} -./configure --prefix=%{_prefix} \ +%{__python3} configure.py --prefix=%{_prefix} \ --shared \ --libdir=%{_lib} \ --shared-openssl \ @@ -397,7 +395,7 @@ export LDFLAGS="%{build_ldflags}" --debug-nghttp2 \ --openssl-use-def-ca-store %else -./configure --prefix=%{_prefix} \ +%{__python3} configure.py --prefix=%{_prefix} \ --shared \ --libdir=%{_lib} \ --shared-openssl \
commit 6dcddc369946554858df21ae0e1bbbb549f390f4 Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Feb 25 11:22:47 2020 -0500
Release Node.js 13.9.0
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/.gitignore b/.gitignore index 4f7c337..ef6e814 100644 --- a/.gitignore +++ b/.gitignore @@ -109,3 +109,4 @@ /node-v10.10.0-stripped.tar.gz /node-v10.11.0-stripped.tar.gz /icu4c-64_2-src.tgz +/icu4c-65_1-src.tgz diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index ce6ff7a..a20fb72 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,29 +1,25 @@ -From 2213cf773b7cf503807397aac79f10d6690a6640 Mon Sep 17 00:00:00 2001 +From 65f5eb67f4691ab535cc00240a00bd33efe29969 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Thu, 27 Apr 2017 14:25:42 +0200 Subject: [PATCH 1/2] Disable running gyp on shared deps
--- - Makefile | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile -index 05eaa73abbe0c6c651bdf446e3678b92700d57c3..829c4c7c9f8a2132def8767a243cb7160a85d2b2 100644 +index 34cdec7f7767b5152678adaeea10a8cf711fb9a8..3b548907033108831e99e054bc84d3ce91daa25c 100644 --- a/Makefile +++ b/Makefile -@@ -141,9 +141,9 @@ test-code-cache: with-code-cache +@@ -141,7 +141,7 @@ test-code-cache: with-code-cache echo "'test-code-cache' target is a noop"
out/Makefile: config.gypi common.gypi node.gyp \ -- deps/uv/uv.gyp deps/http_parser/http_parser.gyp deps/zlib/zlib.gyp \ -- tools/v8_gypfiles/toolchain.gypi tools/v8_gypfiles/features.gypi \ -- tools/v8_gypfiles/inspector.gypi tools/v8_gypfiles/v8.gyp -+ deps/http_parser/http_parser.gyp \ -+ tools/v8_gypfiles/toolchain.gypi tools/v8_gypfiles/features.gypi \ -+ tools/v8_gypfiles/inspector.gypi tools/v8_gypfiles/v8.gyp +- deps/uv/uv.gyp deps/llhttp/llhttp.gyp deps/zlib/zlib.gyp \ ++ deps/llhttp/llhttp.gyp \ + tools/v8_gypfiles/toolchain.gypi tools/v8_gypfiles/features.gypi \ + tools/v8_gypfiles/inspector.gypi tools/v8_gypfiles/v8.gyp $(PYTHON) tools/gyp_node.py -f make - - # node_version.h is listed because the N-API version is taken from there -- 2.24.1
diff --git a/0002-Install-both-binaries-and-use-libdir.patch b/0002-Install-both-binaries-and-use-libdir.patch index c0613bf..b3441a7 100644 --- a/0002-Install-both-binaries-and-use-libdir.patch +++ b/0002-Install-both-binaries-and-use-libdir.patch @@ -1,4 +1,4 @@ -From 11512edeb046b64be4daca76f061a3a918251ee0 Mon Sep 17 00:00:00 2001 +From 0b315d55b13d098ce8f3e96d501aeb33152a9e00 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 Subject: [PATCH 2/2] Install both binaries and use libdir. @@ -13,10 +13,10 @@ Signed-off-by: Elliott Sales de Andrade quantum.analyst@gmail.com 2 files changed, 20 insertions(+), 16 deletions(-)
diff --git a/configure.py b/configure.py -index 6537a62d3954d83927c698db3fb80c9fc05faba7..b9a894bec9e5fd954004bcb423822ca984066dc5 100755 +index beb08df0884f7693b6c07d7fb5e85ae7bdcd1d7d..9e364586d4f79322fe53f41915ed7aad0e23a30d 100755 --- a/configure.py +++ b/configure.py -@@ -571,6 +571,12 @@ parser.add_option('--shared', +@@ -582,6 +582,12 @@ parser.add_option('--shared', help='compile shared library for embedding node in another project. ' + '(This mode is not officially supported for regular applications)')
@@ -29,7 +29,7 @@ index 6537a62d3954d83927c698db3fb80c9fc05faba7..b9a894bec9e5fd954004bcb423822ca9 parser.add_option('--without-v8-platform', action='store_true', dest='without_v8_platform', -@@ -1105,6 +1111,7 @@ def configure_node(o): +@@ -1124,6 +1130,7 @@ def configure_node(o): o['variables']['node_no_browser_globals'] = b(options.no_browser_globals)
o['variables']['node_shared'] = b(options.shared) diff --git a/nodejs-tarball.sh b/nodejs-tarball.sh index 2aed5cd..dfc8587 100755 --- a/nodejs-tarball.sh +++ b/nodejs-tarball.sh @@ -132,6 +132,8 @@ fedpkg 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 "-------------------------" @@ -153,12 +155,6 @@ grep "define ARES_VERSION_MAJOR" node-v${version}/deps/cares/include/ares_versio 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 "llhttp" echo "=========================" grep "define LLHTTP_VERSION_MAJOR" node-v${version}/deps/llhttp/include/llhttp.h diff --git a/nodejs.spec b/nodejs.spec index 8cd0db6..88af4b3 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -18,12 +18,12 @@ # feature releases that are only supported for nine months, which is shorter # than a Fedora release lifecycle. %global nodejs_epoch 1 -%global nodejs_major 12 -%global nodejs_minor 16 -%global nodejs_patch 1 +%global nodejs_major 13 +%global nodejs_minor 9 +%global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h -%global nodejs_soversion 72 +%global nodejs_soversion 79 %global nodejs_version %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch} %global nodejs_release %{baserelease}
@@ -34,9 +34,9 @@ # Epoch is set to ensure clean upgrades from the old v8 package %global v8_epoch 2 %global v8_major 7 -%global v8_minor 8 -%global v8_build 279 -%global v8_patch 23 +%global v8_minor 9 +%global v8_build 317 +%global v8_patch 25 # V8 presently breaks ABI at least every x.y release while never bumping SONAME %global v8_abi %{v8_major}.%{v8_minor} %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} @@ -49,12 +49,6 @@ %global c_ares_patch 0 %global c_ares_version %{c_ares_major}.%{c_ares_minor}.%{c_ares_patch}
-# http-parser - from deps/http_parser/http_parser.h -%global http_parser_major 2 -%global http_parser_minor 9 -%global http_parser_patch 3 -%global http_parser_version %{http_parser_major}.%{http_parser_minor}.%{http_parser_patch} - # llhttp - from deps/llhttp/include/llhttp.h %global llhttp_major 2 %global llhttp_minor 0 @@ -64,7 +58,7 @@ # libuv - from deps/uv/include/uv/version.h %global libuv_major 1 %global libuv_minor 34 -%global libuv_patch 0 +%global libuv_patch 2 %global libuv_version %{libuv_major}.%{libuv_minor}.%{libuv_patch}
# nghttp2 - from deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h @@ -74,8 +68,8 @@ %global nghttp2_version %{nghttp2_major}.%{nghttp2_minor}.%{nghttp2_patch}
# ICU - from tools/icu/current_ver.dep -%global icu_major 64 -%global icu_minor 2 +%global icu_major 65 +%global icu_minor 1 %global icu_version %{icu_major}.%{icu_minor}
%global icudatadir %{nodejs_datadir}/icudata @@ -98,7 +92,7 @@ %global npm_epoch 1 %global npm_major 6 %global npm_minor 13 -%global npm_patch 4 +%global npm_patch 7 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch}
# In order to avoid needing to keep incrementing the release version for the @@ -148,7 +142,6 @@ BuildRequires: chrpath BuildRequires: libatomic
%if %{with bootstrap} -Provides: bundled(http-parser) = %{http_parser_version} Provides: bundled(libuv) = %{libuv_version} Provides: bundled(nghttp2) = %{nghttp2_version} %else @@ -158,15 +151,12 @@ BuildRequires: libuv-devel >= 1:%{libuv_version} Requires: libuv >= 1:%{libuv_version} BuildRequires: libnghttp2-devel >= %{nghttp2_version} Requires: libnghttp2 >= %{nghttp2_version} +%endif
-# Temporarily bundle http-parser and llhttp because the latter -# isn't packaged yet and they are controlled by the same -# configure flag. -Provides: bundled(http-parser) = %{http_parser_version} +# Temporarily bundle llhttp because the upstream doesn't +# provide releases for it. Provides: bundled(llhttp) = %{llhttp_version}
-%endif - BuildRequires: openssl-devel >= %{openssl_minimum} Requires: openssl >= %{openssl_minimum}
@@ -672,6 +662,9 @@ end %{_pkgdocdir}/npm/docs
%changelog +* Tue Feb 25 2020 Stephen Gallagher sgallagh@redhat.com - 1:13.9.0--1 +- Release Node.js 13.9.0 + * Tue Feb 25 2020 Stephen Gallagher sgallagh@redhat.com - 1:12.16.1-1 - Update to 12.16.1 - Fixes six regressions introduced in 12.16.0 diff --git a/sources b/sources index a85e8b0..9ac6f21 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v12.16.1-stripped.tar.gz) = 489d337bd522ab48ad9cef99aa2ce3203a05fb05fda0454b805905f699d14da643b51f6b20786995f2aeeb9f468434b60d734e75cec3451e7648da623914c699 -SHA512 (icu4c-64_2-src.tgz) = 5ecb4c230ba45918747a1cf9aef86f555aa07d5b29b1d07ab674e8013f46dfb907a0e9d6945db41155f9dc3012fd94e1152ffc19f61a68b6dfcbabdcb8ae9d78 +SHA512 (node-v13.9.0-stripped.tar.gz) = 6d633b8e42954eba13bbf3b3deb47c7514af04a9f650d9d757f4a3ede85d591a21a4e1330d4b9389e59164bd34883c18ba62b50f4479de0daf6080f166f02138 +SHA512 (icu4c-65_1-src.tgz) = 8f1ef33e1f4abc9a8ee870331c59f01b473d6da1251a19ce403f822f3e3871096f0791855d39c8f20c612fc49cda2c62c06864aa32ddab2dbd186d2b21ce9139
commit 21fad4d53b909f1c01a07c5796418ac1cf4ad6c2 Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Feb 25 10:04:05 2020 -0500
Update to 12.16.1
Fixes six regressions introduced in 12.16.0
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index ab85999..8cd0db6 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -20,7 +20,7 @@ %global nodejs_epoch 1 %global nodejs_major 12 %global nodejs_minor 16 -%global nodejs_patch 0 +%global nodejs_patch 1 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 72 @@ -672,6 +672,10 @@ end %{_pkgdocdir}/npm/docs
%changelog +* Tue Feb 25 2020 Stephen Gallagher sgallagh@redhat.com - 1:12.16.1-1 +- Update to 12.16.1 +- Fixes six regressions introduced in 12.16.0 + * Fri Feb 14 2020 Stephen Gallagher sgallagh@redhat.com - 1:12.16.0-1 - Update to 12.16.0 - Drop upstreamed patch diff --git a/sources b/sources index b8cf1f0..a85e8b0 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v12.16.0-stripped.tar.gz) = 38080f00b1081185f353ea031ef9ab0572e83e4cf603586f7f0d451e471cb70761f30faaf43bf73b1c15a2c3465d5d1b77ca49c2d04f2377290d6a5dc1f3678f +SHA512 (node-v12.16.1-stripped.tar.gz) = 489d337bd522ab48ad9cef99aa2ce3203a05fb05fda0454b805905f699d14da643b51f6b20786995f2aeeb9f468434b60d734e75cec3451e7648da623914c699 SHA512 (icu4c-64_2-src.tgz) = 5ecb4c230ba45918747a1cf9aef86f555aa07d5b29b1d07ab674e8013f46dfb907a0e9d6945db41155f9dc3012fd94e1152ffc19f61a68b6dfcbabdcb8ae9d78
commit 8541a778358397635207c827e23e96f67c43d9e9 Author: Stephen Gallagher sgallagh@redhat.com Date: Fri Feb 14 09:37:37 2020 -0500
Fix wrong version
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 254b031..ab85999 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -19,7 +19,7 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 12 -%global nodejs_minor 15 +%global nodejs_minor 16 %global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h
commit 0c25ed4a836f568ab5bf759d074285aaef08e9a1 Author: Stephen Gallagher sgallagh@redhat.com Date: Fri Feb 14 09:35:51 2020 -0500
Update to 12.16.0 Drop upstreamed patch
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index 59fe1ae..ce6ff7a 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,14 +1,14 @@ -From 5f69e0ff5cd84daec8d6ed49868d0c2a01337107 Mon Sep 17 00:00:00 2001 +From 2213cf773b7cf503807397aac79f10d6690a6640 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Thu, 27 Apr 2017 14:25:42 +0200 -Subject: [PATCH 1/3] Disable running gyp on shared deps +Subject: [PATCH 1/2] Disable running gyp on shared deps
--- Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile -index 56f53582d1f494a05571e3228c4585647e1a30a7..2fb80e742637fdbd039714bda9a9022be7ea259b 100644 +index 05eaa73abbe0c6c651bdf446e3678b92700d57c3..829c4c7c9f8a2132def8767a243cb7160a85d2b2 100644 --- a/Makefile +++ b/Makefile @@ -141,9 +141,9 @@ test-code-cache: with-code-cache diff --git a/0002-Install-both-binaries-and-use-libdir.patch b/0002-Install-both-binaries-and-use-libdir.patch index 78682c9..c0613bf 100644 --- a/0002-Install-both-binaries-and-use-libdir.patch +++ b/0002-Install-both-binaries-and-use-libdir.patch @@ -1,7 +1,7 @@ -From 4c96b8cdb6690dc0ce329aaddf1a41e58afbd5b4 Mon Sep 17 00:00:00 2001 +From 11512edeb046b64be4daca76f061a3a918251ee0 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 -Subject: [PATCH 2/3] Install both binaries and use libdir. +Subject: [PATCH 2/2] Install both binaries and use libdir.
This allows us to build with a shared library for other users while still providing the normal executable. @@ -13,10 +13,10 @@ Signed-off-by: Elliott Sales de Andrade quantum.analyst@gmail.com 2 files changed, 20 insertions(+), 16 deletions(-)
diff --git a/configure.py b/configure.py -index 20cce214dbb113aeef8f1044d7af88d842a11fd7..e2d78a2a51ef81621618cb20fa76f4a1421bf9e0 100755 +index 6537a62d3954d83927c698db3fb80c9fc05faba7..b9a894bec9e5fd954004bcb423822ca984066dc5 100755 --- a/configure.py +++ b/configure.py -@@ -559,6 +559,12 @@ parser.add_option('--shared', +@@ -571,6 +571,12 @@ parser.add_option('--shared', help='compile shared library for embedding node in another project. ' + '(This mode is not officially supported for regular applications)')
@@ -29,14 +29,14 @@ index 20cce214dbb113aeef8f1044d7af88d842a11fd7..e2d78a2a51ef81621618cb20fa76f4a1 parser.add_option('--without-v8-platform', action='store_true', dest='without_v8_platform', -@@ -1103,6 +1109,7 @@ def configure_node(o): - if o['variables']['want_separate_host_toolset'] == 0: - o['variables']['node_code_cache'] = 'yes' # For testing +@@ -1105,6 +1111,7 @@ def configure_node(o): + o['variables']['node_no_browser_globals'] = b(options.no_browser_globals) + o['variables']['node_shared'] = b(options.shared) + o['variables']['libdir'] = options.libdir node_module_version = getmoduleversion.get_version()
- if sys.platform == 'darwin': + if options.dest_os == 'android': diff --git a/tools/install.py b/tools/install.py index 655802980a6ea94d1d4ca1dc63c8c8e905fbb83a..fe4723bf15012c8aacacb0393dc8294c049b0503 100755 --- a/tools/install.py diff --git a/0003-build-auto-load-ICU-data-from-with-icu-default-data-.patch b/0003-build-auto-load-ICU-data-from-with-icu-default-data-.patch deleted file mode 100644 index b3f055a..0000000 --- a/0003-build-auto-load-ICU-data-from-with-icu-default-data-.patch +++ /dev/null @@ -1,128 +0,0 @@ -From c811931a72908b90608fbdc6669da482ac5e7fd9 Mon Sep 17 00:00:00 2001 -From: Stephen Gallagher sgallagh@redhat.com -Date: Fri, 6 Dec 2019 16:40:25 -0500 -Subject: [PATCH 3/3] 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 - -PR-URL: https://github.com/nodejs/node/pull/30825 -Reviewed-By: Steven R Loomis srloomis@us.ibm.com -Reviewed-By: Ben Noordhuis info@bnoordhuis.nl -Reviewed-By: Richard Lau riclau@uk.ibm.com -Reviewed-By: Rich Trott rtrott@gmail.com ---- - configure.py | 9 +++++++++ - node.gypi | 7 +++++++ - src/node.cc | 20 ++++++++++++++++++++ - 3 files changed, 36 insertions(+) - -diff --git a/configure.py b/configure.py -index e2d78a2a51ef81621618cb20fa76f4a1421bf9e0..cbf0d3ad567ea7beea86f56844d950e50c98c35c 100755 ---- a/configure.py -+++ b/configure.py -@@ -444,6 +444,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', -@@ -1380,6 +1388,7 @@ def configure_intl(o): - locs.add('root') # must have root - o['variables']['icu_locales'] = ','.join(str(loc) for loc in 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 05d80e846cffd31a0a61943e5ab391ad79cddab0..144544214316a3a5ce256e8772d57d14817c5185 100644 ---- a/node.gypi -+++ b/node.gypi -@@ -103,6 +103,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_no_browser_globals=="true"', { -diff --git a/src/node.cc b/src/node.cc -index 9d182d2aeb48c8b600bace036df868fb695dfa7c..bfad9a633ceab2493b8fa79badfe8c6c9110e001 100644 ---- a/src/node.cc -+++ b/src/node.cc -@@ -79,6 +79,7 @@ - - #if defined(NODE_HAVE_I18N_SUPPORT) - #include <unicode/uvernum.h> -+#include <unicode/utypes.h> - #endif - - -@@ -823,6 +824,25 @@ int InitializeNodeWithArgs(std::vectorstd::string* argv, - if (per_process::cli_options->icu_data_dir.empty()) - credentials::SafeGetenv("NODE_ICU_DATA", - &per_process::cli_options->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::cli_options->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::cli_options->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::cli_options->icu_data_dir)) { --- -2.24.1 - diff --git a/nodejs.spec b/nodejs.spec index 04ff821..254b031 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -34,9 +34,9 @@ # Epoch is set to ensure clean upgrades from the old v8 package %global v8_epoch 2 %global v8_major 7 -%global v8_minor 7 -%global v8_build 299 -%global v8_patch 13 +%global v8_minor 8 +%global v8_build 279 +%global v8_patch 23 # V8 presently breaks ABI at least every x.y release while never bumping SONAME %global v8_abi %{v8_major}.%{v8_minor} %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} @@ -63,8 +63,8 @@
# libuv - from deps/uv/include/uv/version.h %global libuv_major 1 -%global libuv_minor 33 -%global libuv_patch 1 +%global libuv_minor 34 +%global libuv_patch 0 %global libuv_version %{libuv_major}.%{libuv_minor}.%{libuv_patch}
# nghttp2 - from deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h @@ -139,10 +139,6 @@ Patch1: 0001-Disable-running-gyp-on-shared-deps.patch # Patch to install both node and libnode.so, using the correct libdir Patch2: 0002-Install-both-binaries-and-use-libdir.patch
-# Upstream patch to enable auto-detection of full ICU data -# https://github.com/nodejs/node/pull/30825 -Patch3: 0003-build-auto-load-ICU-data-from-with-icu-default-data-.patch - BuildRequires: python2-devel BuildRequires: python3-devel BuildRequires: zlib-devel @@ -676,6 +672,10 @@ end %{_pkgdocdir}/npm/docs
%changelog +* Fri Feb 14 2020 Stephen Gallagher sgallagh@redhat.com - 1:12.16.0-1 +- Update to 12.16.0 +- Drop upstreamed patch + * Thu Feb 06 2020 Stephen Gallagher sgallagh@redhat.com - 1:12.15.0-1 - Update to 12.15.0
diff --git a/package.cfg b/package.cfg index 2255bcd..7ba3a28 100644 --- a/package.cfg +++ b/package.cfg @@ -1,2 +1,2 @@ [koji] -targets = master f31 +targets = master f32 f31 diff --git a/sources b/sources index 1cc3629..b8cf1f0 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v12.15.0-stripped.tar.gz) = 89616891c666224b42fff53c4893e5fd4e9a4a5635f61954cb7ad9a0731ba0637b7f4a778508091324321250b33d5d70f77022436afdbafbf79cc58942e89f51 +SHA512 (node-v12.16.0-stripped.tar.gz) = 38080f00b1081185f353ea031ef9ab0572e83e4cf603586f7f0d451e471cb70761f30faaf43bf73b1c15a2c3465d5d1b77ca49c2d04f2377290d6a5dc1f3678f SHA512 (icu4c-64_2-src.tgz) = 5ecb4c230ba45918747a1cf9aef86f555aa07d5b29b1d07ab674e8013f46dfb907a0e9d6945db41155f9dc3012fd94e1152ffc19f61a68b6dfcbabdcb8ae9d78
commit 0ef27aeec3eb7a6eb2933c6ffee7b508cbb9af55 Merge: 8687149 dc276a2 Author: Stephen Gallagher sgallagh@redhat.com Date: Thu Feb 6 10:54:07 2020 -0500
Merge branch '12'
diff --cc nodejs.spec index b809377,95d44fc..04ff821 --- a/nodejs.spec +++ b/nodejs.spec @@@ -676,9 -676,9 +676,12 @@@ en %{_pkgdocdir}/npm/docs
%changelog + * Thu Feb 06 2020 Stephen Gallagher sgallagh@redhat.com - 1:12.15.0-1 + - Update to 12.15.0 + +* Wed Jan 29 2020 Fedora Release Engineering releng@fedoraproject.org - 1:12.14.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Mon Jan 13 2020 Stephen Gallagher sgallagh@redhat.com - 1:12.14.1-3 - Fix issue with header symlinks in v8-devel
commit dc276a246e8567bc835f888eab340b274968259a Author: Stephen Gallagher sgallagh@redhat.com Date: Thu Feb 6 10:51:27 2020 -0500
Update to 12.15.0
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index 668ff55..59fe1ae 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,4 +1,4 @@ -From a560ff12ff44d9732ce325ca4bcde6e536fe3ed0 Mon Sep 17 00:00:00 2001 +From 5f69e0ff5cd84daec8d6ed49868d0c2a01337107 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Thu, 27 Apr 2017 14:25:42 +0200 Subject: [PATCH 1/3] Disable running gyp on shared deps @@ -8,7 +8,7 @@ Subject: [PATCH 1/3] Disable running gyp on shared deps 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile -index 0947300f24028d00bcfb79b38d96bded136228e3..5d4f88a705053fbdd6b56ec85e9997670c6a69c5 100644 +index 56f53582d1f494a05571e3228c4585647e1a30a7..2fb80e742637fdbd039714bda9a9022be7ea259b 100644 --- a/Makefile +++ b/Makefile @@ -141,9 +141,9 @@ test-code-cache: with-code-cache @@ -25,5 +25,5 @@ index 0947300f24028d00bcfb79b38d96bded136228e3..5d4f88a705053fbdd6b56ec85e999767
# node_version.h is listed because the N-API version is taken from there -- -2.23.0 +2.24.1
diff --git a/0002-Install-both-binaries-and-use-libdir.patch b/0002-Install-both-binaries-and-use-libdir.patch index cabec6e..78682c9 100644 --- a/0002-Install-both-binaries-and-use-libdir.patch +++ b/0002-Install-both-binaries-and-use-libdir.patch @@ -1,4 +1,4 @@ -From cf581096dd350cf7267e5a12ff26159120274c5c Mon Sep 17 00:00:00 2001 +From 4c96b8cdb6690dc0ce329aaddf1a41e58afbd5b4 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 Subject: [PATCH 2/3] Install both binaries and use libdir. @@ -82,5 +82,5 @@ index 655802980a6ea94d1d4ca1dc63c8c8e905fbb83a..fe4723bf15012c8aacacb0393dc8294c if 'true' == variables.get('node_use_dtrace'): action(['out/Release/node.d'], 'lib/dtrace/node.d') -- -2.23.0 +2.24.1
diff --git a/0003-build-auto-load-ICU-data-from-with-icu-default-data-.patch b/0003-build-auto-load-ICU-data-from-with-icu-default-data-.patch index ad955e3..b3f055a 100644 --- a/0003-build-auto-load-ICU-data-from-with-icu-default-data-.patch +++ b/0003-build-auto-load-ICU-data-from-with-icu-default-data-.patch @@ -1,4 +1,4 @@ -From 30e8730b88afc2c3ac46503a8cc668b367c70e3e Mon Sep 17 00:00:00 2001 +From c811931a72908b90608fbdc6669da482ac5e7fd9 Mon Sep 17 00:00:00 2001 From: Stephen Gallagher sgallagh@redhat.com Date: Fri, 6 Dec 2019 16:40:25 -0500 Subject: [PATCH 3/3] build: auto-load ICU data from @@ -86,7 +86,7 @@ index 05d80e846cffd31a0a61943e5ab391ad79cddab0..144544214316a3a5ce256e8772d57d14 }], [ 'node_no_browser_globals=="true"', { diff --git a/src/node.cc b/src/node.cc -index ae53d0c31c3568d04387da89ab6e9d049e41c919..cbd1c632008f89f2c4aedccb00db19f686693c75 100644 +index 9d182d2aeb48c8b600bace036df868fb695dfa7c..bfad9a633ceab2493b8fa79badfe8c6c9110e001 100644 --- a/src/node.cc +++ b/src/node.cc @@ -79,6 +79,7 @@ @@ -97,7 +97,7 @@ index ae53d0c31c3568d04387da89ab6e9d049e41c919..cbd1c632008f89f2c4aedccb00db19f6 #endif
-@@ -848,6 +849,25 @@ int InitializeNodeWithArgs(std::vectorstd::string* argv, +@@ -823,6 +824,25 @@ int InitializeNodeWithArgs(std::vectorstd::string* argv, if (per_process::cli_options->icu_data_dir.empty()) credentials::SafeGetenv("NODE_ICU_DATA", &per_process::cli_options->icu_data_dir); @@ -124,5 +124,5 @@ index ae53d0c31c3568d04387da89ab6e9d049e41c919..cbd1c632008f89f2c4aedccb00db19f6 // If icu_data_dir is empty here, it will load the 'minimal' data. if (!i18n::InitializeICUDirectory(per_process::cli_options->icu_data_dir)) { -- -2.23.0 +2.24.1
diff --git a/nodejs.spec b/nodejs.spec index a8c97a3..95d44fc 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 3 +%global baserelease 1
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -19,8 +19,8 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 12 -%global nodejs_minor 14 -%global nodejs_patch 1 +%global nodejs_minor 15 +%global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 72 @@ -51,13 +51,13 @@
# http-parser - from deps/http_parser/http_parser.h %global http_parser_major 2 -%global http_parser_minor 8 -%global http_parser_patch 0 +%global http_parser_minor 9 +%global http_parser_patch 3 %global http_parser_version %{http_parser_major}.%{http_parser_minor}.%{http_parser_patch}
# llhttp - from deps/llhttp/include/llhttp.h -%global llhttp_major 1 -%global llhttp_minor 1 +%global llhttp_major 2 +%global llhttp_minor 0 %global llhttp_patch 4 %global llhttp_version %{llhttp_major}.%{llhttp_minor}.%{llhttp_patch}
@@ -69,8 +69,8 @@
# nghttp2 - from deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h %global nghttp2_major 1 -%global nghttp2_minor 39 -%global nghttp2_patch 2 +%global nghttp2_minor 40 +%global nghttp2_patch 0 %global nghttp2_version %{nghttp2_major}.%{nghttp2_minor}.%{nghttp2_patch}
# ICU - from tools/icu/current_ver.dep @@ -676,6 +676,9 @@ end %{_pkgdocdir}/npm/docs
%changelog +* Thu Feb 06 2020 Stephen Gallagher sgallagh@redhat.com - 1:12.15.0-1 +- Update to 12.15.0 + * Mon Jan 13 2020 Stephen Gallagher sgallagh@redhat.com - 1:12.14.1-3 - Fix issue with header symlinks in v8-devel
diff --git a/sources b/sources index 80ac055..1cc3629 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v12.14.1-stripped.tar.gz) = c42e5e29c22a836e6cc4b3fedab102d3bec732339f3e924c5e7578ac52a1ade1b5e6382f93bccacdfeb5d74d456a2e3cec735c664c980a5351263a3a14f6cf9d +SHA512 (node-v12.15.0-stripped.tar.gz) = 89616891c666224b42fff53c4893e5fd4e9a4a5635f61954cb7ad9a0731ba0637b7f4a778508091324321250b33d5d70f77022436afdbafbf79cc58942e89f51 SHA512 (icu4c-64_2-src.tgz) = 5ecb4c230ba45918747a1cf9aef86f555aa07d5b29b1d07ab674e8013f46dfb907a0e9d6945db41155f9dc3012fd94e1152ffc19f61a68b6dfcbabdcb8ae9d78
commit 8687149cded42d7368eb009c77ee2dda3caf4cdf Author: Fedora Release Engineering releng@fedoraproject.org Date: Wed Jan 29 15:05:50 2020 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering releng@fedoraproject.org
diff --git a/nodejs.spec b/nodejs.spec index a8c97a3..b809377 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 3 +%global baserelease 4
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -676,6 +676,9 @@ end %{_pkgdocdir}/npm/docs
%changelog +* Wed Jan 29 2020 Fedora Release Engineering releng@fedoraproject.org - 1:12.14.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Mon Jan 13 2020 Stephen Gallagher sgallagh@redhat.com - 1:12.14.1-3 - Fix issue with header symlinks in v8-devel
commit 0d8fd851cb1c4c992880c8bcbea873e9bc7ad852 Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Jan 13 08:07:35 2020 -0500
Fix issue with header symlinks in v8-devel
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 99dc359..a8c97a3 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 2 +%global baserelease 3
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -463,7 +463,7 @@ ln -s libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/libnode.so # Install v8 compatibility symlinks for header in %{buildroot}%{_includedir}/node/libplatform %{buildroot}%{_includedir}/node/v8*.h; do header=$(basename ${header}) - ln -s ${header} %{buildroot}%{_includedir}/${header} + ln -s %{_includedir}/node/${header} %{buildroot}%{_includedir}/${header} done for soname in libv8 libv8_libbase libv8_libplatform; do ln -s libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/${soname}.so @@ -676,6 +676,9 @@ end %{_pkgdocdir}/npm/docs
%changelog +* Mon Jan 13 2020 Stephen Gallagher sgallagh@redhat.com - 1:12.14.1-3 +- Fix issue with header symlinks in v8-devel + * Tue Jan 07 2020 Stephen Gallagher sgallagh@redhat.com - 1:12.14.1-2 - Drop unneeded dependency on http-parser-devel
commit 390abc303d016e8f429bfd0599d4c827730df003 Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Jan 7 22:26:51 2020 -0500
Drop unneeded dependency on http-parser-devel
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 3bf51a8..99dc359 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 1 +%global baserelease 2
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -158,8 +158,6 @@ Provides: bundled(nghttp2) = %{nghttp2_version} %else BuildRequires: nodejs-packaging BuildRequires: systemtap-sdt-devel -BuildRequires: http-parser-devel >= 2.9.0 -Requires: http-parser >= 2.9.0 BuildRequires: libuv-devel >= 1:%{libuv_version} Requires: libuv >= 1:%{libuv_version} BuildRequires: libnghttp2-devel >= %{nghttp2_version} @@ -256,7 +254,6 @@ Requires: nodejs-packaging %if %{with bootstrap} # deps are bundled %else -Requires: http-parser-devel%{?_isa} Requires: libuv-devel%{?_isa} %endif
@@ -679,6 +676,9 @@ end %{_pkgdocdir}/npm/docs
%changelog +* Tue Jan 07 2020 Stephen Gallagher sgallagh@redhat.com - 1:12.14.1-2 +- Drop unneeded dependency on http-parser-devel + * Tue Jan 07 2020 Stephen Gallagher sgallagh@redhat.com - 1:12.14.1-1 - Update to 12.14.1 - https://github.com/nodejs/node/blob/v12.14.1/doc/changelogs/CHANGELOG_V12.md
commit 39cd045bf59bf48d9544ee697a5b587ad5a84692 Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Jan 7 20:01:41 2020 -0500
Update to 12.14.1
https://github.com/nodejs/node/blob/v12.14.1/doc/changelogs/CHANGELOG_V12.md
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 2357dbd..3bf51a8 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 2 +%global baserelease 1
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -20,7 +20,7 @@ %global nodejs_epoch 1 %global nodejs_major 12 %global nodejs_minor 14 -%global nodejs_patch 0 +%global nodejs_patch 1 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 72 @@ -679,6 +679,10 @@ end %{_pkgdocdir}/npm/docs
%changelog +* Tue Jan 07 2020 Stephen Gallagher sgallagh@redhat.com - 1:12.14.1-1 +- Update to 12.14.1 +- https://github.com/nodejs/node/blob/v12.14.1/doc/changelogs/CHANGELOG_V12.md + * Mon Jan 06 2020 Stephen Gallagher sgallagh@redhat.com - 1:12.14.0-2 - Update to 12.14.0 - https://github.com/nodejs/node/blob/v12.14.0/doc/changelogs/CHANGELOG_V12.md diff --git a/sources b/sources index d5e5b8f..80ac055 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v12.14.0-stripped.tar.gz) = 8d5d7a96a466cdf86cebc4ca7608067e16804f32235bf862247073d543613393483fcd85d04c5511fd26958d21834372d031aab0570d9d72581fb0c36f17f849 +SHA512 (node-v12.14.1-stripped.tar.gz) = c42e5e29c22a836e6cc4b3fedab102d3bec732339f3e924c5e7578ac52a1ade1b5e6382f93bccacdfeb5d74d456a2e3cec735c664c980a5351263a3a14f6cf9d SHA512 (icu4c-64_2-src.tgz) = 5ecb4c230ba45918747a1cf9aef86f555aa07d5b29b1d07ab674e8013f46dfb907a0e9d6945db41155f9dc3012fd94e1152ffc19f61a68b6dfcbabdcb8ae9d78
commit f0e2a1ed4615917f2e28f65166a6ec748d8bd1ec Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Jan 6 14:34:02 2020 -0500
Update to 12.14.0
- https://github.com/nodejs/node/blob/v12.14.0/doc/changelogs/CHANGELOG_V12.md - Add new subpackage nodejs-full-i18n to enable optional non-English locale support - New NPM manpage packaging
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index c81b123..668ff55 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,4 +1,4 @@ -From 80542232e5b9c3ede63b7a70c1077497e130da81 Mon Sep 17 00:00:00 2001 +From a560ff12ff44d9732ce325ca4bcde6e536fe3ed0 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Thu, 27 Apr 2017 14:25:42 +0200 Subject: [PATCH 1/3] Disable running gyp on shared deps @@ -8,7 +8,7 @@ Subject: [PATCH 1/3] Disable running gyp on shared deps 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile -index 0a5177d1c3e7d6769535d79e063f987157a30f4d..1f3dd0abe4031defb5b7cc817b12886bdea002c7 100644 +index 0947300f24028d00bcfb79b38d96bded136228e3..5d4f88a705053fbdd6b56ec85e9997670c6a69c5 100644 --- a/Makefile +++ b/Makefile @@ -141,9 +141,9 @@ test-code-cache: with-code-cache diff --git a/0003-Install-both-binaries-and-use-libdir.patch b/0002-Install-both-binaries-and-use-libdir.patch similarity index 90% rename from 0003-Install-both-binaries-and-use-libdir.patch rename to 0002-Install-both-binaries-and-use-libdir.patch index ea3d4b9..cabec6e 100644 --- a/0003-Install-both-binaries-and-use-libdir.patch +++ b/0002-Install-both-binaries-and-use-libdir.patch @@ -1,7 +1,7 @@ -From 5bfeffdf4b5de1c60a2ff0d1ddf65db2bb9a1533 Mon Sep 17 00:00:00 2001 +From cf581096dd350cf7267e5a12ff26159120274c5c Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 -Subject: [PATCH 3/3] Install both binaries and use libdir. +Subject: [PATCH 2/3] Install both binaries and use libdir.
This allows us to build with a shared library for other users while still providing the normal executable. @@ -13,10 +13,10 @@ Signed-off-by: Elliott Sales de Andrade quantum.analyst@gmail.com 2 files changed, 20 insertions(+), 16 deletions(-)
diff --git a/configure.py b/configure.py -index 473bbfeb294b34e0cb4ead9db607adfc3781be29..a1f98be9a68c360f3bd17c8f5e0a1478adce9a55 100755 +index 20cce214dbb113aeef8f1044d7af88d842a11fd7..e2d78a2a51ef81621618cb20fa76f4a1421bf9e0 100755 --- a/configure.py +++ b/configure.py -@@ -556,6 +556,12 @@ parser.add_option('--shared', +@@ -559,6 +559,12 @@ parser.add_option('--shared', help='compile shared library for embedding node in another project. ' + '(This mode is not officially supported for regular applications)')
@@ -29,7 +29,7 @@ index 473bbfeb294b34e0cb4ead9db607adfc3781be29..a1f98be9a68c360f3bd17c8f5e0a1478 parser.add_option('--without-v8-platform', action='store_true', dest='without_v8_platform', -@@ -1098,6 +1104,7 @@ def configure_node(o): +@@ -1103,6 +1109,7 @@ def configure_node(o): if o['variables']['want_separate_host_toolset'] == 0: o['variables']['node_code_cache'] = 'yes' # For testing o['variables']['node_shared'] = b(options.shared) diff --git a/0003-build-auto-load-ICU-data-from-with-icu-default-data-.patch b/0003-build-auto-load-ICU-data-from-with-icu-default-data-.patch new file mode 100644 index 0000000..ad955e3 --- /dev/null +++ b/0003-build-auto-load-ICU-data-from-with-icu-default-data-.patch @@ -0,0 +1,128 @@ +From 30e8730b88afc2c3ac46503a8cc668b367c70e3e Mon Sep 17 00:00:00 2001 +From: Stephen Gallagher sgallagh@redhat.com +Date: Fri, 6 Dec 2019 16:40:25 -0500 +Subject: [PATCH 3/3] 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 + +PR-URL: https://github.com/nodejs/node/pull/30825 +Reviewed-By: Steven R Loomis srloomis@us.ibm.com +Reviewed-By: Ben Noordhuis info@bnoordhuis.nl +Reviewed-By: Richard Lau riclau@uk.ibm.com +Reviewed-By: Rich Trott rtrott@gmail.com +--- + configure.py | 9 +++++++++ + node.gypi | 7 +++++++ + src/node.cc | 20 ++++++++++++++++++++ + 3 files changed, 36 insertions(+) + +diff --git a/configure.py b/configure.py +index e2d78a2a51ef81621618cb20fa76f4a1421bf9e0..cbf0d3ad567ea7beea86f56844d950e50c98c35c 100755 +--- a/configure.py ++++ b/configure.py +@@ -444,6 +444,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', +@@ -1380,6 +1388,7 @@ def configure_intl(o): + locs.add('root') # must have root + o['variables']['icu_locales'] = ','.join(str(loc) for loc in 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 05d80e846cffd31a0a61943e5ab391ad79cddab0..144544214316a3a5ce256e8772d57d14817c5185 100644 +--- a/node.gypi ++++ b/node.gypi +@@ -103,6 +103,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_no_browser_globals=="true"', { +diff --git a/src/node.cc b/src/node.cc +index ae53d0c31c3568d04387da89ab6e9d049e41c919..cbd1c632008f89f2c4aedccb00db19f686693c75 100644 +--- a/src/node.cc ++++ b/src/node.cc +@@ -79,6 +79,7 @@ + + #if defined(NODE_HAVE_I18N_SUPPORT) + #include <unicode/uvernum.h> ++#include <unicode/utypes.h> + #endif + + +@@ -848,6 +849,25 @@ int InitializeNodeWithArgs(std::vectorstd::string* argv, + if (per_process::cli_options->icu_data_dir.empty()) + credentials::SafeGetenv("NODE_ICU_DATA", + &per_process::cli_options->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::cli_options->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::cli_options->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::cli_options->icu_data_dir)) { +-- +2.23.0 + diff --git a/nodejs.spec b/nodejs.spec index 50c9f72..2357dbd 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 1 +%global baserelease 2
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -19,14 +19,16 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 12 -%global nodejs_minor 13 -%global nodejs_patch 1 +%global nodejs_minor 14 +%global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 72 %global nodejs_version %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch} %global nodejs_release %{baserelease}
+%global nodejs_datadir %{_datarootdir}/nodejs + # == Bundled Dependency Versions == # v8 - from deps/v8/include/v8-version.h # Epoch is set to ensure clean upgrades from the old v8 package @@ -76,15 +78,9 @@ %global icu_minor 2 %global icu_version %{icu_major}.%{icu_minor}
-%global sys_icu_version %(/usr/bin/icu-config --version) - -%if "%{sys_icu_version}" >= "%{icu_version}" -%global bundled_icu 0 -%global icu_flag system-icu -%else -%global bundled_icu 1 -%global icu_flag full-icu -%endif +%global icudatadir %{nodejs_datadir}/icudata +%{!?little_endian: %global little_endian %(%{__python3} -c "import sys;print (0 if sys.byteorder=='big' else 1)")} +# " this line just fixes syntax highlighting for vim that is confused by the above and continues literal
# OpenSSL minimum version @@ -101,8 +97,8 @@ # npm - from deps/npm/package.json %global npm_epoch 1 %global npm_major 6 -%global npm_minor 12 -%global npm_patch 1 +%global npm_minor 13 +%global npm_patch 4 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch}
# In order to avoid needing to keep incrementing the release version for the @@ -141,7 +137,11 @@ Source7: nodejs_native.attr Patch1: 0001-Disable-running-gyp-on-shared-deps.patch
# Patch to install both node and libnode.so, using the correct libdir -Patch3: 0003-Install-both-binaries-and-use-libdir.patch +Patch2: 0002-Install-both-binaries-and-use-libdir.patch + +# Upstream patch to enable auto-detection of full ICU data +# https://github.com/nodejs/node/pull/30825 +Patch3: 0003-build-auto-load-ICU-data-from-with-icu-default-data-.patch
BuildRequires: python2-devel BuildRequires: python3-devel @@ -173,8 +173,6 @@ Provides: bundled(llhttp) = %{llhttp_version}
%endif
-BuildRequires: libicu-devel - BuildRequires: openssl-devel >= %{openssl_minimum} Requires: openssl >= %{openssl_minimum}
@@ -183,6 +181,8 @@ Requires: ca-certificates
Requires: nodejs-libs%{?_isa} = %{nodejs_epoch}:%{version}-%{release}
+# Pull in the full-icu data by default +Recommends: nodejs-full-i18n%{?_isa} = %{nodejs_epoch}:%{version}-%{release}
#we need ABI virtual provides where SONAMEs aren't enough/not present so deps #break when binary compatibility is broken @@ -285,6 +285,17 @@ Obsoletes: v8 < 1:6.7.17-10 %description libs Libraries to support Node.js and provide stable v8 interfaces.
+ +%package full-i18n +Summary: Non-English locale data for Node.js +Requires: %{name}%{?_isa} = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} + + +%description full-i18n +Optional data files to provide full-icu support for Node.js. Remove this +package to save space if non-English locales are not needed. + + %package -n v8-devel Summary: v8 - development headers Epoch: %{v8_epoch} @@ -340,12 +351,6 @@ The API documentation for the Node.js JavaScript runtime. # remove bundled dependencies that we aren't building rm -rf deps/zlib
-%if bundled_icu -pushd deps/ -rm -rf icu-small -tar xfz %SOURCE3 -popd -%endif
# Replace any instances of unversioned python' with python2 pathfix.py -i %{__python2} -pn $(find -type f ! -name "*.js") @@ -407,7 +412,8 @@ export LDFLAGS="%{build_ldflags}" --shared-libuv \ --shared-nghttp2 \ --with-dtrace \ - --with-intl=%{icu_flag} \ + --with-intl=small-icu \ + --with-icu-default-data-dir=%{icudatadir} \ --debug-nghttp2 \ --openssl-use-def-ca-store %endif @@ -415,6 +421,36 @@ export LDFLAGS="%{build_ldflags}" make BUILDTYPE=Release %{?_smp_mflags}
+# Extract the ICU data and convert it to the appropriate endianness +pushd deps/ +tar xfz %SOURCE3 + +pushd icu/source + +mkdir -p converted +%if 0%{?little_endian} +# The little endian data file is included in the ICU sources +install -Dpm0644 data/in/icudt%{icu_major}l.dat converted/ + +%else +# For the time being, we need to build ICU and use the included `icupkg` tool +# to convert the little endian data file into a big-endian one. +# At some point in the future, ICU releases will start including both data +# files and we should switch to those. +mkdir -p data/out/tmp + +%configure +%make_build + +icu_root=$(pwd) +LD_LIBRARY_PATH=./lib ./bin/icupkg -tb data/in/icudt%{icu_major}l.dat \ + converted/icudt%{icu_major}b.dat +%endif + +popd # icu/source +popd # deps + + %install rm -rf %{buildroot}
@@ -425,16 +461,16 @@ chmod 0755 %{buildroot}/%{_bindir}/node chrpath --delete %{buildroot}%{_bindir}/node
# Install library symlink -ln -s %{_libdir}/libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/libnode.so +ln -s libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/libnode.so
# Install v8 compatibility symlinks for header in %{buildroot}%{_includedir}/node/libplatform %{buildroot}%{_includedir}/node/v8*.h; do header=$(basename ${header}) - ln -s %{_includedir}/node/${header} %{buildroot}%{_includedir}/${header} + ln -s ${header} %{buildroot}%{_includedir}/${header} done for soname in libv8 libv8_libbase libv8_libplatform; do - ln -s %{_libdir}/libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/${soname}.so - ln -s %{_libdir}/libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/${soname}.so.%{v8_major} + ln -s libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/${soname}.so + ln -s libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/${soname}.so.%{v8_major} done
# own the sitelib directory @@ -470,13 +506,11 @@ cp -pr deps/npm/man/* %{buildroot}%{_mandir}/ rm -rf %{buildroot}%{_prefix}/lib/node_modules/npm/man ln -sf %{_mandir} %{buildroot}%{_prefix}/lib/node_modules/npm/man
-# Install Markdown and HTML documentation to %{_pkgdocdir} -cp -pr deps/npm/html deps/npm/doc %{buildroot}%{_pkgdocdir}/npm/ -rm -rf %{buildroot}%{_prefix}/lib/node_modules/npm/html \ - %{buildroot}%{_prefix}/lib/node_modules/npm/doc +# Install Gatsby HTML documentation to %{_pkgdocdir} +cp -pr deps/npm/docs %{buildroot}%{_pkgdocdir}/npm/ +rm -rf %{buildroot}%{_prefix}/lib/node_modules/npm/docs
-ln -sf %{_pkgdocdir} %{buildroot}%{_prefix}/lib/node_modules/npm/html -ln -sf %{_pkgdocdir}/npm/html %{buildroot}%{_prefix}/lib/node_modules/npm/doc +ln -sf %{_pkgdocdir}/npm %{buildroot}%{_prefix}/lib/node_modules/npm/docs
# Node tries to install some python files into a documentation directory @@ -507,6 +541,9 @@ cp %{SOURCE1} %{buildroot}%{_sysconfdir}/npmrc mkdir -p %{buildroot}%{_prefix}/etc ln -s %{_sysconfdir}/npmrc %{buildroot}%{_prefix}/etc/npmrc
+# Install the full-icu data files +install -Dpm0644 -t %{buildroot}%{icudatadir} deps/icu/source/converted/* + %check # Fail the build if the versions don't match LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require('assert').equal(process.versions.node, '%{nodejs_version}')" @@ -520,43 +557,11 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require( NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{_prefix}/lib/node_modules/npm/node_modules LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require("assert").equal(require("npm").version, '%{npm_version}')"
# Make sure i18n support is working -NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{_prefix}/lib/node_modules/npm/node_modules LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node %{SOURCE2} +NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{_prefix}/lib/node_modules/npm/node_modules LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node --icu-data-dir=%{buildroot}%{icudatadir} %{SOURCE2}
%pretrans -n npm -p <lua> --- Replace the npm docs directory with a symlink --- Drop this scriptlet when F31 is EOL -path = "%{_prefix}/lib/node_modules/npm/doc" -st = posix.stat(path) -if st and st.type == "directory" then - status = os.rename(path, path .. ".rpmmoved") - if not status then - suffix = 0 - while not status do - suffix = suffix + 1 - status = os.rename(path .. ".rpmmoved", path .. ".rpmmoved." .. suffix) - end - os.rename(path, path .. ".rpmmoved") - end -end - --- Replace the npm HTML docs directory with a symlink --- Drop this scriptlet when F31 is EOL -path = "%{_prefix}/lib/node_modules/npm/html" -st = posix.stat(path) -if st and st.type == "directory" then - status = os.rename(path, path .. ".rpmmoved") - if not status then - suffix = 0 - while not status do - suffix = suffix + 1 - status = os.rename(path .. ".rpmmoved", path .. ".rpmmoved." .. suffix) - end - os.rename(path, path .. ".rpmmoved") - end -end - --- Replace the npm HTML man directory with a symlink +-- Replace the npm man directory with a symlink -- Drop this scriptlet when F31 is EOL path = "%{_prefix}/lib/node_modules/npm/man" st = posix.stat(path) @@ -590,6 +595,7 @@ if st and st.type == "directory" then end end
+ %files %{_bindir}/node %dir %{_prefix}/lib/node_modules @@ -607,7 +613,6 @@ end
%{_rpmconfigdir}/fileattrs/nodejs_native.attr %{_rpmconfigdir}/nodejs_native.req -%license LICENSE %doc AUTHORS CHANGELOG.md COLLABORATOR_GUIDE.md GOVERNANCE.md README.md %doc %{_mandir}/man1/node.1*
@@ -619,11 +624,17 @@ end %{_pkgdocdir}/gdbinit
+%files full-i18n +%dir %{icudatadir} +%{icudatadir}/icudt%{icu_major}*.dat + %files libs +%license LICENSE %{_libdir}/libnode.so.%{nodejs_soversion} %{_libdir}/libv8.so.%{v8_major} %{_libdir}/libv8_libbase.so.%{v8_major} %{_libdir}/libv8_libplatform.so.%{v8_major} +%dir %{nodejs_datadir}/
%files -n v8-devel @@ -642,21 +653,39 @@ end %config(noreplace) %{_sysconfdir}/npmrc %{_prefix}/etc/npmrc %ghost %{_sysconfdir}/npmignore -%doc %{_mandir}/man*/npm* -%doc %{_mandir}/man*/npx* -%doc %{_mandir}/man5/package.json.5* -%doc %{_mandir}/man5/package-lock.json.5* -%doc %{_mandir}/man7/removing-npm.7* +%doc %{_mandir}/man1/npm*.1* +%doc %{_mandir}/man1/npx.1* +%doc %{_mandir}/man5/folders.5* +%doc %{_mandir}/man5/install.5* +%doc %{_mandir}/man5/npmrc.5* +%doc %{_mandir}/man5/package-json.5* +%doc %{_mandir}/man5/package-lock-json.5* +%doc %{_mandir}/man5/package-locks.5* +%doc %{_mandir}/man5/shrinkwrap-json.5* +%doc %{_mandir}/man7/config.7* +%doc %{_mandir}/man7/developers.7* +%doc %{_mandir}/man7/disputes.7* +%doc %{_mandir}/man7/orgs.7* +%doc %{_mandir}/man7/registry.7* +%doc %{_mandir}/man7/removal.7* +%doc %{_mandir}/man7/scope.7* +%doc %{_mandir}/man7/scripts.7* %doc %{_mandir}/man7/semver.7*
%files docs %dir %{_pkgdocdir} %{_pkgdocdir}/html -%{_pkgdocdir}/npm/html -%{_pkgdocdir}/npm/doc +%{_pkgdocdir}/npm/docs
%changelog +* Mon Jan 06 2020 Stephen Gallagher sgallagh@redhat.com - 1:12.14.0-2 +- Update to 12.14.0 +- https://github.com/nodejs/node/blob/v12.14.0/doc/changelogs/CHANGELOG_V12.md +- Add new subpackage nodejs-full-i18n to enable optional non-English locale + support +- Update documentation packaging for NPM + * Mon Dec 02 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.13.1-1 - Update to 12.13.1 - https://github.com/nodejs/node/blob/v12.13.1/doc/changelogs/CHANGELOG_V12.md diff --git a/sources b/sources index 08c40fb..d5e5b8f 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v12.13.1-stripped.tar.gz) = 882c5eea44dc72d8c56be3bdde39f312d9df050b7bf1f8dc5d60127b95404dd6131eae936ef5c7b1cc41b6de184afabf946272a0ac8fee03578098a40600deb6 +SHA512 (node-v12.14.0-stripped.tar.gz) = 8d5d7a96a466cdf86cebc4ca7608067e16804f32235bf862247073d543613393483fcd85d04c5511fd26958d21834372d031aab0570d9d72581fb0c36f17f849 SHA512 (icu4c-64_2-src.tgz) = 5ecb4c230ba45918747a1cf9aef86f555aa07d5b29b1d07ab674e8013f46dfb907a0e9d6945db41155f9dc3012fd94e1152ffc19f61a68b6dfcbabdcb8ae9d78
commit 34c48b632d16551577bb294065937a81ee35de5e Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Dec 3 11:57:28 2019 -0500
Drop old, no-longer-needed symlink scriptlet
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 812d9b8..50c9f72 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -524,20 +524,6 @@ NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{_prefix}/lib/nod
%pretrans -n npm -p <lua> --- Remove all of the symlinks from the bundled npm node_modules directory --- Drop this scriptlet when F29 is EOL -base_path = "%{_prefix}/lib/node_modules/npm/node_modules/" -d_st = posix.stat(base_path) -if d_st then - for f in posix.files(base_path) do - path = base_path..f - st = posix.stat(path) - if st and st.type == "link" then - os.remove(path) - end - end -end - -- Replace the npm docs directory with a symlink -- Drop this scriptlet when F31 is EOL path = "%{_prefix}/lib/node_modules/npm/doc"
commit ac499c11f6e05657988a91742fb199a2bde295d2 Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Dec 2 11:45:27 2019 -0500
Update to 12.13.1
https://github.com/nodejs/node/blob/v12.13.1/doc/changelogs/CHANGELOG_V12.md
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 1659e90..812d9b8 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 7 +%global baserelease 1
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -20,7 +20,7 @@ %global nodejs_epoch 1 %global nodejs_major 12 %global nodejs_minor 13 -%global nodejs_patch 0 +%global nodejs_patch 1 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 72 @@ -61,8 +61,8 @@
# libuv - from deps/uv/include/uv/version.h %global libuv_major 1 -%global libuv_minor 32 -%global libuv_patch 0 +%global libuv_minor 33 +%global libuv_patch 1 %global libuv_version %{libuv_major}.%{libuv_minor}.%{libuv_patch}
# nghttp2 - from deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h @@ -102,7 +102,7 @@ %global npm_epoch 1 %global npm_major 6 %global npm_minor 12 -%global npm_patch 0 +%global npm_patch 1 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch}
# In order to avoid needing to keep incrementing the release version for the @@ -671,6 +671,10 @@ end %{_pkgdocdir}/npm/doc
%changelog +* Mon Dec 02 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.13.1-1 +- Update to 12.13.1 +- https://github.com/nodejs/node/blob/v12.13.1/doc/changelogs/CHANGELOG_V12.md + * Tue Oct 29 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.13.0-6 - Add proper i18n support
diff --git a/sources b/sources index 00bb18b..08c40fb 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ +SHA512 (node-v12.13.1-stripped.tar.gz) = 882c5eea44dc72d8c56be3bdde39f312d9df050b7bf1f8dc5d60127b95404dd6131eae936ef5c7b1cc41b6de184afabf946272a0ac8fee03578098a40600deb6 SHA512 (icu4c-64_2-src.tgz) = 5ecb4c230ba45918747a1cf9aef86f555aa07d5b29b1d07ab674e8013f46dfb907a0e9d6945db41155f9dc3012fd94e1152ffc19f61a68b6dfcbabdcb8ae9d78 -SHA512 (node-v12.13.0-stripped.tar.gz) = be475255aaddcd6f5b26fbbc8a4ec7c29538fd9fe7115f93710606a7d876d3e44568f623ce1ca9e90b2db22499d61d6b61e680524217f67f4976493afbc2427f
commit 3d331932897c31c3eafae6079c919a8bbc21df7c Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Dec 2 11:41:30 2019 -0500
Include ICU in nodejs-tarball.sh
Also print the libnode SOversion.
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs-tarball.sh b/nodejs-tarball.sh index 2cd913c..2aed5cd 100755 --- a/nodejs-tarball.sh +++ b/nodejs-tarball.sh @@ -101,6 +101,7 @@ assign_positional_args 1 "${_positionals[@]}" # [ <-- needed because of Argbash
+set -e
echo $_arg_version
@@ -111,12 +112,23 @@ else fi
rm -f node-v${version}.tar.gz node-v${version}-stripped.tar.gz -wget http://nodejs.org/dist/v$%7Bversion%7D/node-v$%7Bversion%7D.tar.gz +wget http://nodejs.org/dist/v$%7Bversion%7D/node-v$%7Bversion%7D.tar.gz \ + http://nodejs.org/dist/v$%7Bversion%7D/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}
-fedpkg new-sources node-v${version}-stripped.tar.gz +# 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 + +fedpkg new-sources node-v${version}-stripped.tar.gz icu4c*-src.tgz
rm -f node-v${version}.tar.gz
@@ -124,6 +136,10 @@ rm -f node-v${version}.tar.gz 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 @@ -172,4 +188,6 @@ 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
commit 5ec966f5e9eba5877d12202b8030848a6fcda8f4 Author: Stephen Gallagher sgallagh@redhat.com Date: Wed Nov 6 14:52:45 2019 -0500
Fix incorrect comparison
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index ef5a0f3..1659e90 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 6 +%global baserelease 7
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -78,7 +78,7 @@
%global sys_icu_version %(/usr/bin/icu-config --version)
-%if sys_icu_version >= icu_version +%if "%{sys_icu_version}" >= "%{icu_version}" %global bundled_icu 0 %global icu_flag system-icu %else
commit 24df70972b3b0e0b5491a3fe7b99e0f3a8de6bea Author: Stephen Gallagher sgallagh@redhat.com Date: Wed Nov 6 12:58:16 2019 -0500
Add proper i18n support
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/.gitignore b/.gitignore index b5672bc..4f7c337 100644 --- a/.gitignore +++ b/.gitignore @@ -108,3 +108,4 @@ /node-v10.9.0-stripped.tar.gz /node-v10.10.0-stripped.tar.gz /node-v10.11.0-stripped.tar.gz +/icu4c-64_2-src.tgz diff --git a/btest402.js b/btest402.js new file mode 100644 index 0000000..277319c --- /dev/null +++ b/btest402.js @@ -0,0 +1,151 @@ +// Copyright (C) 2014 IBM Corporation and Others. All Rights Reserved. +// This file is part of the Node.JS ICU enablement work +// https://github.com/joyent/node/pull/7719 +// and is under the same license. +// +// This is a very, very, very basic test of es402 +// +// URL: https://github.com/srl295/btest402 +// Author: Steven R. Loomis srl@icu-project.org +// +// for a complete test, see http://test262.ecmascript.org +// +// Usage: node btest402.js + +try { + console.log("You have console.log."); +} catch(e) { + // this works on d8 + console = { log: print }; + console.log("Now you have console.log."); +} + +function runbtest() { + var summary = {}; + + try { + var i = Intl; + summary.haveIntl = true; + console.log("+ Congrats, you have the Intl object."); + } catch(e) { + console.log("You don't have the Intl object: " + e); + } + + if(summary.haveIntl) { + var locs = [ "en", "mt", "ja","tlh"]; + var d = new Date(196400000); + for ( var n=0; n<locs.length; n++ ) { + var loc = locs[n]; + var lsummary = summary[loc] = {}; + + console.log(loc+":"); + var sl=null; + try { + sl = Intl.DateTimeFormat.supportedLocalesOf([loc]); + if( sl.length > 0 ) { + lsummary.haveSlo = true; + } + } catch (e) { + console.log("SLO err: " + e); + } + var dstr = "ERR"; + try { + lsummary.dstr = d.toLocaleString(loc,{month: "long",day:"numeric",weekday:"long",year:"numeric"}); + console.log(" date: (supported:"+sl+") " + lsummary.dstr); + } catch (e) { + console.log(" Date Format err: " + e); + } + try { + new Intl.v8BreakIterator(); + console.log(" Intl.v8BreakIterator:" + + Intl.v8BreakIterator.supportedLocalesOf(loc) + " Supported, first()==" + + new Intl.v8BreakIterator(loc).first() ); + lsummary.brkOk = true; + } catch ( e) { + console.log(" Intl.v8BreakIterator error (NOT part of EcmaScript402): " + e); + } + console.log(); + } + } + + // print summary + console.log(); + console.log("--------- Analysis ---------"); + stxt = ""; + if( summary.haveIntl ) { + console.log("* You have the 'Intl' object. Congratulations! You have the possibility of being EcmaScript 402 compliant."); + stxt += "Have Intl, "; + + if ( !summary.en.haveSlo ) { + stxt += "Date:no EN, "; + console.log("* English isn't a supported language by the date formatter. Perhaps the data isn't installed properly?"); + } + if ( !summary.tlh.haveSlo ) { + stxt += "Date:no 'tlh', "; + console.log("* Klingon isn't a supported language by the date formatter. It is without honor!"); + } + // now, what is it actually saying + if( summary.en.dstr.indexOf("1970") == -1) { + stxt += "Date:bad 'en', "; + console.log("* the English date format text looks bad to me. Doesn't even have the year."); + } else { + if( summary.en.dstr.indexOf("Jan") == -1) { + stxt += "Date:bad 'en', "; + console.log("* The English date format text looks bad to me. Doesn't have the right month."); + } + } + + if( summary.mt.dstr == summary.en.dstr ) { + stxt += "Date:'mt'=='en', "; + console.log("* The English and Maltese look the same to me. Probably a 'small' build."); + } else if( summary.mt.dstr.indexOf("1970") == -1) { + stxt += "Date:bad 'mt', "; + console.log("* the Maltese date format text looks bad to me. Doesn't even have the year. (This data is missing from the Chromium ICU build)"); + } else { + if( summary.mt.dstr.indexOf("Jann") == -1) { + stxt += "Date:bad 'mt', "; + console.log("* The Maltese date format text looks bad to me. Doesn't have the right month. (This data is missing from the Chromium ICU build)"); + } + } + + if ( !summary.ja.haveSlo ) { + stxt += "Date:no 'ja', "; + console.log("* Japanese isn't a supported language by the date formatter. Could be a 'small' build."); + } else { + if( summary.ja.dstr.indexOf("1970") == -1) { + stxt += "Date:bad 'ja', "; + console.log("* the Japanese date format text looks bad to me. Doesn't even have the year."); + } else { + if( summary.ja.dstr.indexOf("日") == -1) { + stxt += "Date:bad 'ja', "; + console.log("* The Japanese date format text looks bad to me."); + } + } + } + if ( summary.en.brkOk ) { + stxt += "FYI: v8Brk:have 'en', "; + console.log("* You have Intl.v8BreakIterator support. (Note: not part of ES402.)"); + } + } else { + console.log("* You don't have the 'Intl' object. You aren't EcmaScript 402 compliant."); + stxt += " NO Intl. "; + } + + // 1-liner. + console.log(); + console.log("----------------"); + console.log( "SUMMARY:" + stxt ); +} + +var dorun = true; + +try { + if(btest402_noautorun) { + dorun = false; + } +} catch(e) {} + +if(dorun) { + console.log("Running btest.."); + runbtest(); +} diff --git a/nodejs.spec b/nodejs.spec index f9ee475..ef5a0f3 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 5 +%global baserelease 6
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -76,15 +76,15 @@ %global icu_minor 2 %global icu_version %{icu_major}.%{icu_minor}
-%global bundled_icu 1 +%global sys_icu_version %(/usr/bin/icu-config --version)
-%if 0%{?bundled_icu} -%global icu_flag small-icu -%else +%if sys_icu_version >= icu_version +%global bundled_icu 0 %global icu_flag system-icu +%else +%global bundled_icu 1 +%global icu_flag full-icu %endif -%{!?little_endian: %global little_endian %(%{__python3} -c "import sys;print (0 if sys.byteorder=='big' else 1)")} -# " this line just fixes syntax highlighting for vim that is confused by the above and continues literal
# OpenSSL minimum version @@ -128,6 +128,8 @@ ExclusiveArch: %{nodejs_arches} # the tarball, using the script in Source100 Source0: node-v%{nodejs_version}-stripped.tar.gz Source1: npmrc +Source2: btest402.js +Source3: https://github.com/unicode-org/icu/releases/download/release-%%7Bicu_major%7... Source100: %{name}-tarball.sh
# The native module Requires generator remains in the nodejs SRPM, so it knows @@ -171,10 +173,7 @@ Provides: bundled(llhttp) = %{llhttp_version}
%endif
- -%if 0%{?fedora} >= 29 -BuildRequires: libicu-devel >= 62.1 -%endif +BuildRequires: libicu-devel
BuildRequires: openssl-devel >= %{openssl_minimum} Requires: openssl >= %{openssl_minimum} @@ -341,6 +340,13 @@ The API documentation for the Node.js JavaScript runtime. # remove bundled dependencies that we aren't building rm -rf deps/zlib
+%if bundled_icu +pushd deps/ +rm -rf icu-small +tar xfz %SOURCE3 +popd +%endif + # Replace any instances of unversioned python' with python2 pathfix.py -i %{__python2} -pn $(find -type f ! -name "*.js") find . -type f -exec sed -i "s~/usr/bin/env python~/usr/bin/python2~" {} ; @@ -359,6 +365,9 @@ sed -i "s~which('python')~which('python2')~" configure %global optflags %(echo %{optflags} | sed 's/-g /-g1 /') %endif
+export CC='gcc' +export CXX='g++' + # build with debugging symbols and add defines from libuv (#892601) # Node's v8 breaks with GCC 6 because of incorrect usage of methods on # NULL objects. We need to pass -fno-delete-null-pointer-checks @@ -428,17 +437,6 @@ for soname in libv8 libv8_libbase libv8_libplatform; do ln -s %{_libdir}/libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/${soname}.so.%{v8_major} done
-# When using small-icu, carry the icudt64{l,b}.dat -%if 0%{?bundled_icu} -%if 0%{?little_endian} -cp -a out/Release/obj/gen/icutmp/icudt64l.dat \ - %{buildroot}%{_libdir}/icudt64l.dat -%else -cp -a out/Release/obj/gen/icutmp/icudt64b.dat \ - %{buildroot}%{_libdir}/icudt64b.dat -%endif -%endif - # own the sitelib directory mkdir -p %{buildroot}%{_prefix}/lib/node_modules
@@ -521,6 +519,9 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require( # Ensure we have npm and that the version matches NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{_prefix}/lib/node_modules/npm/node_modules LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require("assert").equal(require("npm").version, '%{npm_version}')"
+# Make sure i18n support is working +NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{_prefix}/lib/node_modules/npm/node_modules LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node %{SOURCE2} +
%pretrans -n npm -p <lua> -- Remove all of the symlinks from the bundled npm node_modules directory @@ -638,14 +639,6 @@ end %{_libdir}/libv8_libbase.so.%{v8_major} %{_libdir}/libv8_libplatform.so.%{v8_major}
-%if 0%{?bundled_icu} -%if 0%{?little_endian} -%{_libdir}/icudt64l.dat -%else -%{_libdir}/icudt64b.dat -%endif -%endif -
%files -n v8-devel %{_includedir}/libplatform @@ -678,6 +671,9 @@ end %{_pkgdocdir}/npm/doc
%changelog +* Tue Oct 29 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.13.0-6 +- Add proper i18n support + * Tue Oct 29 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.13.0-5 - Fix issue with NPM docs being replaced with a symlink
diff --git a/sources b/sources index def0e00..00bb18b 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ +SHA512 (icu4c-64_2-src.tgz) = 5ecb4c230ba45918747a1cf9aef86f555aa07d5b29b1d07ab674e8013f46dfb907a0e9d6945db41155f9dc3012fd94e1152ffc19f61a68b6dfcbabdcb8ae9d78 SHA512 (node-v12.13.0-stripped.tar.gz) = be475255aaddcd6f5b26fbbc8a4ec7c29538fd9fe7115f93710606a7d876d3e44568f623ce1ca9e90b2db22499d61d6b61e680524217f67f4976493afbc2427f
commit 83b7eb4ea021a1e47adb16b2f8dcc9adbd10c832 Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Oct 29 10:24:09 2019 -0400
Fix issue with NPM docs being replaced with a symlink
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 49115e3..f9ee475 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 3 +%global baserelease 5
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -553,6 +553,38 @@ if st and st.type == "directory" then end end
+-- Replace the npm HTML docs directory with a symlink +-- Drop this scriptlet when F31 is EOL +path = "%{_prefix}/lib/node_modules/npm/html" +st = posix.stat(path) +if st and st.type == "directory" then + status = os.rename(path, path .. ".rpmmoved") + if not status then + suffix = 0 + while not status do + suffix = suffix + 1 + status = os.rename(path .. ".rpmmoved", path .. ".rpmmoved." .. suffix) + end + os.rename(path, path .. ".rpmmoved") + end +end + +-- Replace the npm HTML man directory with a symlink +-- Drop this scriptlet when F31 is EOL +path = "%{_prefix}/lib/node_modules/npm/man" +st = posix.stat(path) +if st and st.type == "directory" then + status = os.rename(path, path .. ".rpmmoved") + if not status then + suffix = 0 + while not status do + suffix = suffix + 1 + status = os.rename(path .. ".rpmmoved", path .. ".rpmmoved." .. suffix) + end + os.rename(path, path .. ".rpmmoved") + end +end +
%pretrans -n v8-devel -p <lua> -- Replace the v8 libplatform include directory with a symlink @@ -646,7 +678,7 @@ end %{_pkgdocdir}/npm/doc
%changelog -* Tue Oct 29 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.13.0-3 +* Tue Oct 29 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.13.0-5 - Fix issue with NPM docs being replaced with a symlink
* Mon Oct 28 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.13.0-2
commit d6b10f9a6beca8d998f34036adebfa3a0cb32888 Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Oct 29 08:03:54 2019 -0400
Fix issue with NPM docs being replaced with a symlink
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 94a71db..49115e3 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 2 +%global baserelease 3
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -231,7 +231,7 @@ Provides: bundled(v8) = %{v8_version} Provides: bundled(icu) = %{icu_version}
# Make sure we keep NPM up to date when we update Node.js -%if 0%{?rhel} +%if 0%{?rhel} < 8 # EPEL doesn't support Recommends, so make it strict Requires: npm >= %{npm_epoch}:%{npm_version}-%{npm_release}%{?dist} %else @@ -308,6 +308,9 @@ Release: %{npm_release}%{?dist} Obsoletes: npm < 0:3.5.4-6 Provides: npm = %{npm_epoch}:%{npm_version} Requires: nodejs = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} +%if 0%{?fedora} || 0%{?rhel} >= 8 +Recommends: nodejs-docs = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} +%endif
# Do not add epoch to the virtual NPM provides or it will break # the automatic dependency-generation script. @@ -534,6 +537,23 @@ if d_st then end end
+-- Replace the npm docs directory with a symlink +-- Drop this scriptlet when F31 is EOL +path = "%{_prefix}/lib/node_modules/npm/doc" +st = posix.stat(path) +if st and st.type == "directory" then + status = os.rename(path, path .. ".rpmmoved") + if not status then + suffix = 0 + while not status do + suffix = suffix + 1 + status = os.rename(path .. ".rpmmoved", path .. ".rpmmoved." .. suffix) + end + os.rename(path, path .. ".rpmmoved") + end +end + + %pretrans -n v8-devel -p <lua> -- Replace the v8 libplatform include directory with a symlink -- Drop this scriptlet when F30 is EOL @@ -626,6 +646,9 @@ end %{_pkgdocdir}/npm/doc
%changelog +* Tue Oct 29 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.13.0-3 +- Fix issue with NPM docs being replaced with a symlink + * Mon Oct 28 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.13.0-2 - Simplify npmrc default configuration
commit 2526ca953f7d2de94348a77127a85b39a4a8407d Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Oct 28 21:17:18 2019 -0400
Simplify npmrc default configuration
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0002-Use-etc-npmrc-for-the-default-configuration.patch b/0002-Use-etc-npmrc-for-the-default-configuration.patch deleted file mode 100644 index 6d79f42..0000000 --- a/0002-Use-etc-npmrc-for-the-default-configuration.patch +++ /dev/null @@ -1,26 +0,0 @@ -From d5f88f988423c6304549eb2724b05c9344b0b88b Mon Sep 17 00:00:00 2001 -From: Stephen Gallagher sgallagh@redhat.com -Date: Mon, 28 Oct 2019 13:24:57 -0400 -Subject: [PATCH 2/3] Use /etc/npmrc for the default configuration - -Signed-off-by: Stephen Gallagher sgallagh@redhat.com ---- - deps/npm/lib/config/defaults.js | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/deps/npm/lib/config/defaults.js b/deps/npm/lib/config/defaults.js -index 57d373df1e10c349142e14fa9e4bbc95b7df79e3..0ffe6aed8562070cd1d021010b13bef30bac8763 100644 ---- a/deps/npm/lib/config/defaults.js -+++ b/deps/npm/lib/config/defaults.js -@@ -153,7 +153,7 @@ Object.defineProperty(exports, 'defaults', {get: function () { - 'commit-hooks': true, - - global: false, -- globalconfig: path.resolve(globalPrefix, 'etc', 'npmrc'), -+ globalconfig: '/etc/npmrc', - 'global-style': false, - group: process.platform === 'win32' ? 0 - : process.env.SUDO_GID || (process.getgid && process.getgid()), --- -2.23.0 - diff --git a/nodejs.spec b/nodejs.spec index e799bd8..94a71db 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 1 +%global baserelease 2
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -138,10 +138,6 @@ Source7: nodejs_native.attr # Disable running gyp on bundled deps we don't use Patch1: 0001-Disable-running-gyp-on-shared-deps.patch
-# Use /etc/npmrc for the default configuration -# We'll use this to set the prefix to /usr/local for `npm -g install` -Patch2: 0002-Use-etc-npmrc-for-the-default-configuration.patch - # Patch to install both node and libnode.so, using the correct libdir Patch3: 0003-Install-both-binaries-and-use-libdir.patch
@@ -503,8 +499,12 @@ chmod 0755 %{buildroot}%{_prefix}/lib/node_modules/npm/node_modules/node-gyp/bin
# Drop the NPM default configuration in place mkdir -p %{buildroot}%{_sysconfdir} -cp %{SOURCE1} %{buildroot}%{_sysconfdir}/ +cp %{SOURCE1} %{buildroot}%{_sysconfdir}/npmrc
+# NPM upstream expectes it to be in /usr/etc/npmrc, so we'll put a symlink here +# This is done in the interests of keeping /usr read-only. +mkdir -p %{buildroot}%{_prefix}/etc +ln -s %{_sysconfdir}/npmrc %{buildroot}%{_prefix}/etc/npmrc
%check # Fail the build if the versions don't match @@ -609,6 +609,7 @@ end %{_bindir}/npx %{_prefix}/lib/node_modules/npm %config(noreplace) %{_sysconfdir}/npmrc +%{_prefix}/etc/npmrc %ghost %{_sysconfdir}/npmignore %doc %{_mandir}/man*/npm* %doc %{_mandir}/man*/npx* @@ -625,6 +626,9 @@ end %{_pkgdocdir}/npm/doc
%changelog +* Mon Oct 28 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.13.0-2 +- Simplify npmrc default configuration + * Mon Oct 28 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.13.0-1 - Update to 12.13.0 (LTS) - https://github.com/nodejs/node/blob/v12.13.0/doc/changelogs/CHANGELOG_V12.md
commit 7d86b7301d328cfa747339d7ba40f089e5ac4f4b Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Oct 28 15:03:31 2019 -0400
Fix typo in npmrc patch
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0002-Use-etc-npmrc-for-the-default-configuration.patch b/0002-Use-etc-npmrc-for-the-default-configuration.patch index 21142c1..6d79f42 100644 --- a/0002-Use-etc-npmrc-for-the-default-configuration.patch +++ b/0002-Use-etc-npmrc-for-the-default-configuration.patch @@ -1,4 +1,4 @@ -From 194e21ab7bb3faf34211a0f9474755064cb8d579 Mon Sep 17 00:00:00 2001 +From d5f88f988423c6304549eb2724b05c9344b0b88b Mon Sep 17 00:00:00 2001 From: Stephen Gallagher sgallagh@redhat.com Date: Mon, 28 Oct 2019 13:24:57 -0400 Subject: [PATCH 2/3] Use /etc/npmrc for the default configuration @@ -9,7 +9,7 @@ Signed-off-by: Stephen Gallagher sgallagh@redhat.com 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/deps/npm/lib/config/defaults.js b/deps/npm/lib/config/defaults.js -index 57d373df1e10c349142e14fa9e4bbc95b7df79e3..c0e2926ac5af12582fa3b4a4a48804fe5a9cea68 100644 +index 57d373df1e10c349142e14fa9e4bbc95b7df79e3..0ffe6aed8562070cd1d021010b13bef30bac8763 100644 --- a/deps/npm/lib/config/defaults.js +++ b/deps/npm/lib/config/defaults.js @@ -153,7 +153,7 @@ Object.defineProperty(exports, 'defaults', {get: function () { @@ -17,7 +17,7 @@ index 57d373df1e10c349142e14fa9e4bbc95b7df79e3..c0e2926ac5af12582fa3b4a4a48804fe
global: false, - globalconfig: path.resolve(globalPrefix, 'etc', 'npmrc'), -+ globalconfig: '/etc/npmrc' ++ globalconfig: '/etc/npmrc', 'global-style': false, group: process.platform === 'win32' ? 0 : process.env.SUDO_GID || (process.getgid && process.getgid()), diff --git a/0003-Install-both-binaries-and-use-libdir.patch b/0003-Install-both-binaries-and-use-libdir.patch index 4df28b4..ea3d4b9 100644 --- a/0003-Install-both-binaries-and-use-libdir.patch +++ b/0003-Install-both-binaries-and-use-libdir.patch @@ -1,4 +1,4 @@ -From 68a68c00f78bade05487d34412f3a4b773c4363e Mon Sep 17 00:00:00 2001 +From 5bfeffdf4b5de1c60a2ff0d1ddf65db2bb9a1533 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 Subject: [PATCH 3/3] Install both binaries and use libdir.
commit 641a3e19b293c86dac3f0a0c7e2b240a18d76ccc Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Oct 28 14:18:19 2019 -0400
Add missing mkdir
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index b401b4b..e799bd8 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -502,6 +502,7 @@ chmod 0755 %{buildroot}%{_prefix}/lib/node_modules/npm/node_modules/node-gyp/bin
# Drop the NPM default configuration in place +mkdir -p %{buildroot}%{_sysconfdir} cp %{SOURCE1} %{buildroot}%{_sysconfdir}/
commit ed04b00a690efab3faf6544b006832de35466741 Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Oct 28 13:34:25 2019 -0400
Update to 12.13.0 (LTS)
- https://github.com/nodejs/node/blob/v12.13.0/doc/changelogs/CHANGELOG_V12.md - NPM no longer clobbers RPM-installed Node.js modules - Drop no-longer needed patch to suppress `npm update -g npm` message
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index ec53bfa..c81b123 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,4 +1,4 @@ -From eb4c49be960358e395ade13372f3790e6e41461b Mon Sep 17 00:00:00 2001 +From 80542232e5b9c3ede63b7a70c1077497e130da81 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Thu, 27 Apr 2017 14:25:42 +0200 Subject: [PATCH 1/3] Disable running gyp on shared deps @@ -8,12 +8,10 @@ Subject: [PATCH 1/3] Disable running gyp on shared deps 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile -index 33d43798f52617797d787b4999317e258811c157..a59615648f49a72411ac086ad1bc0c2623b4a41f 100644 +index 0a5177d1c3e7d6769535d79e063f987157a30f4d..1f3dd0abe4031defb5b7cc817b12886bdea002c7 100644 --- a/Makefile +++ b/Makefile -@@ -139,13 +139,13 @@ with-code-cache: - .PHONY: test-code-cache - test-code-cache: with-code-cache +@@ -141,9 +141,9 @@ test-code-cache: with-code-cache echo "'test-code-cache' target is a noop"
out/Makefile: config.gypi common.gypi node.gyp \ @@ -25,9 +23,7 @@ index 33d43798f52617797d787b4999317e258811c157..a59615648f49a72411ac086ad1bc0c26 + tools/v8_gypfiles/inspector.gypi tools/v8_gypfiles/v8.gyp $(PYTHON) tools/gyp_node.py -f make
- config.gypi: configure configure.py - @if [ -x config.status ]; then \ - ./config.status; \ + # node_version.h is listed because the N-API version is taken from there -- -2.21.0 +2.23.0
diff --git a/0002-Suppress-NPM-message-to-run-global-update.patch b/0002-Suppress-NPM-message-to-run-global-update.patch deleted file mode 100644 index f87e99c..0000000 --- a/0002-Suppress-NPM-message-to-run-global-update.patch +++ /dev/null @@ -1,87 +0,0 @@ -From 0461fabf259b36a156c55dc402b1d66d09eb90ca Mon Sep 17 00:00:00 2001 -From: Stephen Gallagher sgallagh@redhat.com -Date: Tue, 1 May 2018 08:05:30 -0400 -Subject: [PATCH 2/3] Suppress NPM message to run global update - -Signed-off-by: Stephen Gallagher sgallagh@redhat.com ---- - 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 93eddc7a3c892b0f5d35c477c042a8e5087d7b01..ceb12b5d9a33ab7b98df05d7ef082c42f03eedb9 100755 ---- a/deps/npm/bin/npm-cli.js -+++ b/deps/npm/bin/npm-cli.js -@@ -67,69 +67,15 @@ - if (conf.usage && npm.command !== 'help') { - npm.argv.unshift(npm.command) - 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$%7Blatest%7D%60 -- 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 ( - !err && - npm.config.get('ham-it-up') && --- -2.21.0 - diff --git a/0002-Use-etc-npmrc-for-the-default-configuration.patch b/0002-Use-etc-npmrc-for-the-default-configuration.patch new file mode 100644 index 0000000..21142c1 --- /dev/null +++ b/0002-Use-etc-npmrc-for-the-default-configuration.patch @@ -0,0 +1,26 @@ +From 194e21ab7bb3faf34211a0f9474755064cb8d579 Mon Sep 17 00:00:00 2001 +From: Stephen Gallagher sgallagh@redhat.com +Date: Mon, 28 Oct 2019 13:24:57 -0400 +Subject: [PATCH 2/3] Use /etc/npmrc for the default configuration + +Signed-off-by: Stephen Gallagher sgallagh@redhat.com +--- + deps/npm/lib/config/defaults.js | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/deps/npm/lib/config/defaults.js b/deps/npm/lib/config/defaults.js +index 57d373df1e10c349142e14fa9e4bbc95b7df79e3..c0e2926ac5af12582fa3b4a4a48804fe5a9cea68 100644 +--- a/deps/npm/lib/config/defaults.js ++++ b/deps/npm/lib/config/defaults.js +@@ -153,7 +153,7 @@ Object.defineProperty(exports, 'defaults', {get: function () { + 'commit-hooks': true, + + global: false, +- globalconfig: path.resolve(globalPrefix, 'etc', 'npmrc'), ++ globalconfig: '/etc/npmrc' + 'global-style': false, + group: process.platform === 'win32' ? 0 + : process.env.SUDO_GID || (process.getgid && process.getgid()), +-- +2.23.0 + diff --git a/0003-Install-both-binaries-and-use-libdir.patch b/0003-Install-both-binaries-and-use-libdir.patch index 985dd82..4df28b4 100644 --- a/0003-Install-both-binaries-and-use-libdir.patch +++ b/0003-Install-both-binaries-and-use-libdir.patch @@ -1,4 +1,4 @@ -From f35fcd689dce64e7d6b5f3496e5e5358a24ae4e0 Mon Sep 17 00:00:00 2001 +From 68a68c00f78bade05487d34412f3a4b773c4363e Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 Subject: [PATCH 3/3] Install both binaries and use libdir. @@ -13,12 +13,10 @@ Signed-off-by: Elliott Sales de Andrade quantum.analyst@gmail.com 2 files changed, 20 insertions(+), 16 deletions(-)
diff --git a/configure.py b/configure.py -index ce01a14566e65ad9d568e0cb8594b35bacd698c6..180f0b4861463e3d4fab979fce4b4c8dfc6ceee2 100755 +index 473bbfeb294b34e0cb4ead9db607adfc3781be29..a1f98be9a68c360f3bd17c8f5e0a1478adce9a55 100755 --- a/configure.py +++ b/configure.py -@@ -554,10 +554,16 @@ parser.add_option('--shared', - action='store_true', - dest='shared', +@@ -556,6 +556,12 @@ parser.add_option('--shared', help='compile shared library for embedding node in another project. ' + '(This mode is not officially supported for regular applications)')
@@ -31,11 +29,7 @@ index ce01a14566e65ad9d568e0cb8594b35bacd698c6..180f0b4861463e3d4fab979fce4b4c8d parser.add_option('--without-v8-platform', action='store_true', dest='without_v8_platform', - default=False, - help='do not initialize v8 platform during node.js startup. ' + -@@ -1096,10 +1102,11 @@ def configure_node(o): - o['variables']['node_no_browser_globals'] = b(options.no_browser_globals) - # TODO(refack): fix this when implementing embedded code-cache when cross-compiling. +@@ -1098,6 +1104,7 @@ def configure_node(o): if o['variables']['want_separate_host_toolset'] == 0: o['variables']['node_code_cache'] = 'yes' # For testing o['variables']['node_shared'] = b(options.shared) @@ -43,15 +37,11 @@ index ce01a14566e65ad9d568e0cb8594b35bacd698c6..180f0b4861463e3d4fab979fce4b4c8d node_module_version = getmoduleversion.get_version()
if sys.platform == 'darwin': - shlib_suffix = '%s.dylib' - elif sys.platform.startswith('aix'): diff --git a/tools/install.py b/tools/install.py index 655802980a6ea94d1d4ca1dc63c8c8e905fbb83a..fe4723bf15012c8aacacb0393dc8294c049b0503 100755 --- a/tools/install.py +++ b/tools/install.py -@@ -119,30 +119,27 @@ def subdir_files(path, dest, action): - for subdir, files_in_path in ret.items(): - action(files_in_path, subdir + '/') +@@ -121,26 +121,23 @@ def subdir_files(path, dest, action):
def files(action): is_windows = sys.platform == 'win32' @@ -91,8 +81,6 @@ index 655802980a6ea94d1d4ca1dc63c8c8e905fbb83a..fe4723bf15012c8aacacb0393dc8294c
if 'true' == variables.get('node_use_dtrace'): action(['out/Release/node.d'], 'lib/dtrace/node.d') - - # behave similarly for systemtap -- -2.21.0 +2.23.0
diff --git a/nodejs.spec b/nodejs.spec index 0071c11..b401b4b 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -19,7 +19,7 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 12 -%global nodejs_minor 10 +%global nodejs_minor 13 %global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h @@ -32,9 +32,9 @@ # Epoch is set to ensure clean upgrades from the old v8 package %global v8_epoch 2 %global v8_major 7 -%global v8_minor 6 -%global v8_build 303 -%global v8_patch 29 +%global v8_minor 7 +%global v8_build 299 +%global v8_patch 13 # V8 presently breaks ABI at least every x.y release while never bumping SONAME %global v8_abi %{v8_major}.%{v8_minor} %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} @@ -61,7 +61,7 @@
# libuv - from deps/uv/include/uv/version.h %global libuv_major 1 -%global libuv_minor 31 +%global libuv_minor 32 %global libuv_patch 0 %global libuv_version %{libuv_major}.%{libuv_minor}.%{libuv_patch}
@@ -101,8 +101,8 @@ # npm - from deps/npm/package.json %global npm_epoch 1 %global npm_major 6 -%global npm_minor 10 -%global npm_patch 3 +%global npm_minor 12 +%global npm_patch 0 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch}
# In order to avoid needing to keep incrementing the release version for the @@ -127,6 +127,7 @@ ExclusiveArch: %{nodejs_arches} # because openssl contains prohibited code, we remove openssl completely from # the tarball, using the script in Source100 Source0: node-v%{nodejs_version}-stripped.tar.gz +Source1: npmrc Source100: %{name}-tarball.sh
# The native module Requires generator remains in the nodejs SRPM, so it knows @@ -137,9 +138,9 @@ Source7: nodejs_native.attr # Disable running gyp on bundled deps we don't use Patch1: 0001-Disable-running-gyp-on-shared-deps.patch
-# Suppress the message from npm to run `npm -g update npm` -# This does bad things on an RPM-managed npm. -Patch2: 0002-Suppress-NPM-message-to-run-global-update.patch +# Use /etc/npmrc for the default configuration +# We'll use this to set the prefix to /usr/local for `npm -g install` +Patch2: 0002-Use-etc-npmrc-for-the-default-configuration.patch
# Patch to install both node and libnode.so, using the correct libdir Patch3: 0003-Install-both-binaries-and-use-libdir.patch @@ -500,6 +501,10 @@ chmod 0755 %{buildroot}%{_prefix}/lib/node_modules/npm/node_modules/npm-lifecycl chmod 0755 %{buildroot}%{_prefix}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js
+# Drop the NPM default configuration in place +cp %{SOURCE1} %{buildroot}%{_sysconfdir}/ + + %check # Fail the build if the versions don't match LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require('assert').equal(process.versions.node, '%{nodejs_version}')" @@ -602,7 +607,7 @@ end %{_bindir}/npm %{_bindir}/npx %{_prefix}/lib/node_modules/npm -%ghost %{_sysconfdir}/npmrc +%config(noreplace) %{_sysconfdir}/npmrc %ghost %{_sysconfdir}/npmignore %doc %{_mandir}/man*/npm* %doc %{_mandir}/man*/npx* @@ -619,6 +624,12 @@ end %{_pkgdocdir}/npm/doc
%changelog +* Mon Oct 28 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.13.0-1 +- Update to 12.13.0 (LTS) +- https://github.com/nodejs/node/blob/v12.13.0/doc/changelogs/CHANGELOG_V12.md +- NPM no longer clobbers RPM-installed Node.js modules +- Drop no-longer needed patch to suppress `npm update -g npm` message + * Wed Sep 04 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.10.0-1 - Update to 12.10.0 - https://github.com/nodejs/node/blob/v12.10.0/doc/changelogs/CHANGELOG_V12.md... diff --git a/npmrc b/npmrc new file mode 100644 index 0000000..10437ca --- /dev/null +++ b/npmrc @@ -0,0 +1 @@ +prefix=/usr/local diff --git a/sources b/sources index e1413c0..def0e00 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (node-v12.10.0-stripped.tar.gz) = 4e99ffe8565f0bac1a2ce7c3797d5e734d42d11998c7c36033a6e4ddda7a432d1a4c7d02c1a606ebc28c1b7324caecf38c701fb2c8dafcc56af97eaf5f996318 +SHA512 (node-v12.13.0-stripped.tar.gz) = be475255aaddcd6f5b26fbbc8a4ec7c29538fd9fe7115f93710606a7d876d3e44568f623ce1ca9e90b2db22499d61d6b61e680524217f67f4976493afbc2427f
commit 79a508703333c68676f3f76ddddb5bc31ca056b3 Author: Stephen Gallagher sgallagh@redhat.com Date: Wed Sep 4 16:21:05 2019 -0400
Update to 12.10.0
https://github.com/nodejs/node/blob/v12.10.0/doc/changelogs/CHANGELOG_V12.md...
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index f140769..ec53bfa 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,4 +1,4 @@ -From 6139142ca617c9de7c802c75133ed536204f80e2 Mon Sep 17 00:00:00 2001 +From eb4c49be960358e395ade13372f3790e6e41461b Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Thu, 27 Apr 2017 14:25:42 +0200 Subject: [PATCH 1/3] Disable running gyp on shared deps @@ -8,7 +8,7 @@ Subject: [PATCH 1/3] Disable running gyp on shared deps 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile -index 58f4cc7a5795b80bb8b02efe28235a6b674d3204..960fb201c72432214fba1f1625fd6258ad9dc45a 100644 +index 33d43798f52617797d787b4999317e258811c157..a59615648f49a72411ac086ad1bc0c2623b4a41f 100644 --- a/Makefile +++ b/Makefile @@ -139,13 +139,13 @@ with-code-cache: diff --git a/0002-Suppress-NPM-message-to-run-global-update.patch b/0002-Suppress-NPM-message-to-run-global-update.patch index 5b7b769..f87e99c 100644 --- a/0002-Suppress-NPM-message-to-run-global-update.patch +++ b/0002-Suppress-NPM-message-to-run-global-update.patch @@ -1,4 +1,4 @@ -From a136a2d73ed3502600eb49ee4f93775f5dfe02ce Mon Sep 17 00:00:00 2001 +From 0461fabf259b36a156c55dc402b1d66d09eb90ca Mon Sep 17 00:00:00 2001 From: Stephen Gallagher sgallagh@redhat.com Date: Tue, 1 May 2018 08:05:30 -0400 Subject: [PATCH 2/3] Suppress NPM message to run global update @@ -9,10 +9,10 @@ Signed-off-by: Stephen Gallagher sgallagh@redhat.com 1 file changed, 54 deletions(-)
diff --git a/deps/npm/bin/npm-cli.js b/deps/npm/bin/npm-cli.js -index 705aa472e7e5502311f24767adfb0aebab396772..e8aebe644f610bb09c3748338fd70e6c8c422cea 100755 +index 93eddc7a3c892b0f5d35c477c042a8e5087d7b01..ceb12b5d9a33ab7b98df05d7ef082c42f03eedb9 100755 --- a/deps/npm/bin/npm-cli.js +++ b/deps/npm/bin/npm-cli.js -@@ -66,69 +66,15 @@ +@@ -67,69 +67,15 @@ if (conf.usage && npm.command !== 'help') { npm.argv.unshift(npm.command) npm.command = 'help' diff --git a/0003-Install-both-binaries-and-use-libdir.patch b/0003-Install-both-binaries-and-use-libdir.patch index ffcc3ad..985dd82 100644 --- a/0003-Install-both-binaries-and-use-libdir.patch +++ b/0003-Install-both-binaries-and-use-libdir.patch @@ -1,4 +1,4 @@ -From 4a32f1d071d7275d5b946047b5cc59116c46bab1 Mon Sep 17 00:00:00 2001 +From f35fcd689dce64e7d6b5f3496e5e5358a24ae4e0 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 Subject: [PATCH 3/3] Install both binaries and use libdir. @@ -13,7 +13,7 @@ Signed-off-by: Elliott Sales de Andrade quantum.analyst@gmail.com 2 files changed, 20 insertions(+), 16 deletions(-)
diff --git a/configure.py b/configure.py -index beab9ceccce9adc8ec564350a732382d186ffdf1..8d08988ed6245f43928ad65af02b7bd29f1d47a7 100755 +index ce01a14566e65ad9d568e0cb8594b35bacd698c6..180f0b4861463e3d4fab979fce4b4c8dfc6ceee2 100755 --- a/configure.py +++ b/configure.py @@ -554,10 +554,16 @@ parser.add_option('--shared', @@ -33,7 +33,7 @@ index beab9ceccce9adc8ec564350a732382d186ffdf1..8d08988ed6245f43928ad65af02b7bd2 dest='without_v8_platform', default=False, help='do not initialize v8 platform during node.js startup. ' + -@@ -1093,10 +1099,11 @@ def configure_node(o): +@@ -1096,10 +1102,11 @@ def configure_node(o): o['variables']['node_no_browser_globals'] = b(options.no_browser_globals) # TODO(refack): fix this when implementing embedded code-cache when cross-compiling. if o['variables']['want_separate_host_toolset'] == 0: diff --git a/nodejs.spec b/nodejs.spec index e35c2d8..0071c11 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -19,7 +19,7 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 12 -%global nodejs_minor 9 +%global nodejs_minor 10 %global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h @@ -102,7 +102,7 @@ %global npm_epoch 1 %global npm_major 6 %global npm_minor 10 -%global npm_patch 2 +%global npm_patch 3 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch}
# In order to avoid needing to keep incrementing the release version for the @@ -619,7 +619,11 @@ end %{_pkgdocdir}/npm/doc
%changelog -* Wed Aug 21 2019 Stephen Gallagher sgallagh@redhat.com - - +* Wed Sep 04 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.10.0-1 +- Update to 12.10.0 +- https://github.com/nodejs/node/blob/v12.10.0/doc/changelogs/CHANGELOG_V12.md... + +* Wed Aug 21 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.9.0-1 - Update to 12.9.0 - https://github.com/nodejs/node/blob/v12.9.0/doc/changelogs/CHANGELOG_V12.md#...
diff --git a/sources b/sources index a09450c..e1413c0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (node-v12.9.0-stripped.tar.gz) = c82d9e7e76de928d9c7e2b05de6640efc91bf700a9594e744554a02a92d831d238489e7bf34f0beffd1573ed74298d8cd63dd75bf609f2c7d916da3bff50dd74 +SHA512 (node-v12.10.0-stripped.tar.gz) = 4e99ffe8565f0bac1a2ce7c3797d5e734d42d11998c7c36033a6e4ddda7a432d1a4c7d02c1a606ebc28c1b7324caecf38c701fb2c8dafcc56af97eaf5f996318
commit 23cd998628e3e89c5a91cdbb6c71a8e7f031c0d9 Author: Stephen Gallagher sgallagh@redhat.com Date: Wed Aug 21 10:50:37 2019 -0400
Update to 12.9.0
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index d4c1f1e..f140769 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,4 +1,4 @@ -From d8cdfcd680cbd728904c19b2eea7730c61b16c73 Mon Sep 17 00:00:00 2001 +From 6139142ca617c9de7c802c75133ed536204f80e2 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Thu, 27 Apr 2017 14:25:42 +0200 Subject: [PATCH 1/3] Disable running gyp on shared deps @@ -8,7 +8,7 @@ Subject: [PATCH 1/3] Disable running gyp on shared deps 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile -index 1e4915a6d2ebedc8af009d8505b5b8d11a53f5f7..cae1c3c1da9a440d84a6f86fa6353e81db535c71 100644 +index 58f4cc7a5795b80bb8b02efe28235a6b674d3204..960fb201c72432214fba1f1625fd6258ad9dc45a 100644 --- a/Makefile +++ b/Makefile @@ -139,13 +139,13 @@ with-code-cache: diff --git a/0002-Suppress-NPM-message-to-run-global-update.patch b/0002-Suppress-NPM-message-to-run-global-update.patch index 3c88d35..5b7b769 100644 --- a/0002-Suppress-NPM-message-to-run-global-update.patch +++ b/0002-Suppress-NPM-message-to-run-global-update.patch @@ -1,4 +1,4 @@ -From ef6374e4ed159b719f465ecdb2e273019f134fb0 Mon Sep 17 00:00:00 2001 +From a136a2d73ed3502600eb49ee4f93775f5dfe02ce Mon Sep 17 00:00:00 2001 From: Stephen Gallagher sgallagh@redhat.com Date: Tue, 1 May 2018 08:05:30 -0400 Subject: [PATCH 2/3] Suppress NPM message to run global update diff --git a/0003-Install-both-binaries-and-use-libdir.patch b/0003-Install-both-binaries-and-use-libdir.patch index 4112e65..ffcc3ad 100644 --- a/0003-Install-both-binaries-and-use-libdir.patch +++ b/0003-Install-both-binaries-and-use-libdir.patch @@ -1,4 +1,4 @@ -From bc1d8e49a42cb88d86b2accba6ee1776baba4ca5 Mon Sep 17 00:00:00 2001 +From 4a32f1d071d7275d5b946047b5cc59116c46bab1 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 Subject: [PATCH 3/3] Install both binaries and use libdir. @@ -13,10 +13,10 @@ Signed-off-by: Elliott Sales de Andrade quantum.analyst@gmail.com 2 files changed, 20 insertions(+), 16 deletions(-)
diff --git a/configure.py b/configure.py -index cc805d3fd165fd2abe4c8581ffdb8829341ad2ba..64f50439bc09827f99786c3b0d574ba454954ca9 100755 +index beab9ceccce9adc8ec564350a732382d186ffdf1..8d08988ed6245f43928ad65af02b7bd29f1d47a7 100755 --- a/configure.py +++ b/configure.py -@@ -550,10 +550,16 @@ parser.add_option('--shared', +@@ -554,10 +554,16 @@ parser.add_option('--shared', action='store_true', dest='shared', help='compile shared library for embedding node in another project. ' + @@ -33,7 +33,7 @@ index cc805d3fd165fd2abe4c8581ffdb8829341ad2ba..64f50439bc09827f99786c3b0d574ba4 dest='without_v8_platform', default=False, help='do not initialize v8 platform during node.js startup. ' + -@@ -1094,10 +1100,11 @@ def configure_node(o): +@@ -1093,10 +1099,11 @@ def configure_node(o): o['variables']['node_no_browser_globals'] = b(options.no_browser_globals) # TODO(refack): fix this when implementing embedded code-cache when cross-compiling. if o['variables']['want_separate_host_toolset'] == 0: diff --git a/nodejs.spec b/nodejs.spec index 029c423..e35c2d8 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -19,8 +19,8 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 12 -%global nodejs_minor 8 -%global nodejs_patch 1 +%global nodejs_minor 9 +%global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 72 @@ -32,9 +32,9 @@ # Epoch is set to ensure clean upgrades from the old v8 package %global v8_epoch 2 %global v8_major 7 -%global v8_minor 5 -%global v8_build 288 -%global v8_patch 22 +%global v8_minor 6 +%global v8_build 303 +%global v8_patch 29 # V8 presently breaks ABI at least every x.y release while never bumping SONAME %global v8_abi %{v8_major}.%{v8_minor} %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} @@ -61,8 +61,8 @@
# libuv - from deps/uv/include/uv/version.h %global libuv_major 1 -%global libuv_minor 30 -%global libuv_patch 1 +%global libuv_minor 31 +%global libuv_patch 0 %global libuv_version %{libuv_major}.%{libuv_minor}.%{libuv_patch}
# nghttp2 - from deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h @@ -619,6 +619,10 @@ end %{_pkgdocdir}/npm/doc
%changelog +* Wed Aug 21 2019 Stephen Gallagher sgallagh@redhat.com - - +- Update to 12.9.0 +- https://github.com/nodejs/node/blob/v12.9.0/doc/changelogs/CHANGELOG_V12.md#... + * Thu Aug 15 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.8.2-1 - Update to 12.8.1 - Resolves: CVE-2019-9511 "Data Dribble" diff --git a/sources b/sources index 4359bda..a09450c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (node-v12.8.1-stripped.tar.gz) = b7c007e7a0c92303893a389d345f1040d43a0c8eb1ed46f250476ddfae368dbf5a708a81a6bf9f30411684aeabb436371451ebab9decaf2b8e192ea8a342784f +SHA512 (node-v12.9.0-stripped.tar.gz) = c82d9e7e76de928d9c7e2b05de6640efc91bf700a9594e744554a02a92d831d238489e7bf34f0beffd1573ed74298d8cd63dd75bf609f2c7d916da3bff50dd74
commit a7660f795dcd0bdba908dfbacebed22e7c1ee194 Author: Stephen Gallagher sgallagh@redhat.com Date: Fri Aug 16 11:13:09 2019 -0400
Add helper tool to scrape the bundled library versions
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs-tarball.sh b/nodejs-tarball.sh index ae56e19..2cd913c 100755 --- a/nodejs-tarball.sh +++ b/nodejs-tarball.sh @@ -120,4 +120,56 @@ fedpkg new-sources node-v${version}-stripped.tar.gz
rm -f node-v${version}.tar.gz
+# Determine the bundled versions of the various packages +echo "Bundled software versions" +echo "-------------------------" +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 "llhttp" +echo "=========================" +grep "define LLHTTP_VERSION_MAJOR" node-v${version}/deps/llhttp/include/llhttp.h +grep "define LLHTTP_VERSION_MINOR" node-v${version}/deps/llhttp/include/llhttp.h +grep "define LLHTTP_VERSION_PATCH" node-v${version}/deps/llhttp/include/llhttp.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 "libuv" +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" # ] <-- needed because of Argbash
commit a148d56ddcce24dc0446602121140169864bdff3 Author: Stephen Gallagher sgallagh@redhat.com Date: Fri Aug 16 07:14:28 2019 -0400
Add version positional argument to nodejs-tarball.sh
Uses argbash to generate argument handling.
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs-tarball.sh b/nodejs-tarball.sh index e19d80e..ae56e19 100755 --- a/nodejs-tarball.sh +++ b/nodejs-tarball.sh @@ -1,6 +1,115 @@ #!/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 + + + +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
-version=$(rpm -q --specfile --qf='%{version}\n' nodejs.spec | head -n1) rm -f node-v${version}.tar.gz node-v${version}-stripped.tar.gz wget http://nodejs.org/dist/v$%7Bversion%7D/node-v$%7Bversion%7D.tar.gz tar -zxf node-v${version}.tar.gz @@ -10,3 +119,5 @@ tar -zcf node-v${version}-stripped.tar.gz node-v${version} fedpkg new-sources node-v${version}-stripped.tar.gz
rm -f node-v${version}.tar.gz + +# ] <-- needed because of Argbash
commit 95a3bb336154fe26070b3eaf1decc2a34aa305ba Author: Stephen Gallagher sgallagh@redhat.com Date: Thu Aug 15 11:18:11 2019 -0400
Update to 12.8.1
Resolves: CVE-2019-9511 "Data Dribble" Resolves: CVE-2019-9512 "Ping Flood" Resolves: CVE-2019-9513 "Resource Loop" Resolves: CVE-2019-9514 "Reset Flood" Resolves: CVE-2019-9515 "Settings Flood" Resolves: CVE-2019-9516 "0-Length Headers Leak" Resolves: CVE-2019-9517 "Internal Data Buffering" Resolves: CVE-2019-9518 "Empty Frames Flood" https://github.com/nodejs/node/blob/v12.8.1/doc/changelogs/CHANGELOG_V12.md#...
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index 699d46e..d4c1f1e 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,29 +1,33 @@ -From 03ff54a26a47fce13a83094dcfba7840852bf30c Mon Sep 17 00:00:00 2001 +From d8cdfcd680cbd728904c19b2eea7730c61b16c73 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Thu, 27 Apr 2017 14:25:42 +0200 -Subject: [PATCH 1/4] Disable running gyp on shared deps +Subject: [PATCH 1/3] Disable running gyp on shared deps
--- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + Makefile | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile -index d7427e578f882034895fc44529d3711c621c06b9..a12edd09252202e98aecaca76cb8457ac98d2ad7 100644 +index 1e4915a6d2ebedc8af009d8505b5b8d11a53f5f7..cae1c3c1da9a440d84a6f86fa6353e81db535c71 100644 --- a/Makefile +++ b/Makefile -@@ -139,11 +139,11 @@ with-code-cache: +@@ -139,13 +139,13 @@ with-code-cache: .PHONY: test-code-cache test-code-cache: with-code-cache echo "'test-code-cache' target is a noop"
out/Makefile: config.gypi common.gypi node.gyp \ -- deps/uv/uv.gyp deps/http_parser/http_parser.gyp deps/zlib/zlib.gyp \ +- deps/uv/uv.gyp deps/http_parser/http_parser.gyp deps/zlib/zlib.gyp \ +- tools/v8_gypfiles/toolchain.gypi tools/v8_gypfiles/features.gypi \ +- tools/v8_gypfiles/inspector.gypi tools/v8_gypfiles/v8.gyp + deps/http_parser/http_parser.gyp \ - tools/v8_gypfiles/toolchain.gypi tools/v8_gypfiles/features.gypi \ - tools/v8_gypfiles/inspector.gypi tools/v8_gypfiles/v8.gyp ++ tools/v8_gypfiles/toolchain.gypi tools/v8_gypfiles/features.gypi \ ++ tools/v8_gypfiles/inspector.gypi tools/v8_gypfiles/v8.gyp $(PYTHON) tools/gyp_node.py -f make
config.gypi: configure configure.py + @if [ -x config.status ]; then \ + ./config.status; \ -- 2.21.0
diff --git a/0002-Suppress-NPM-message-to-run-global-update.patch b/0002-Suppress-NPM-message-to-run-global-update.patch index 7cb8e8e..3c88d35 100644 --- a/0002-Suppress-NPM-message-to-run-global-update.patch +++ b/0002-Suppress-NPM-message-to-run-global-update.patch @@ -1,7 +1,7 @@ -From 18ea2d546f5a384d51aad0e7bd39f5b1daaf6471 Mon Sep 17 00:00:00 2001 +From ef6374e4ed159b719f465ecdb2e273019f134fb0 Mon Sep 17 00:00:00 2001 From: Stephen Gallagher sgallagh@redhat.com Date: Tue, 1 May 2018 08:05:30 -0400 -Subject: [PATCH 2/4] Suppress NPM message to run global update +Subject: [PATCH 2/3] Suppress NPM message to run global update
Signed-off-by: Stephen Gallagher sgallagh@redhat.com --- diff --git a/0003-Install-both-binaries-and-use-libdir.patch b/0003-Install-both-binaries-and-use-libdir.patch index 85aa7e3..4112e65 100644 --- a/0003-Install-both-binaries-and-use-libdir.patch +++ b/0003-Install-both-binaries-and-use-libdir.patch @@ -1,7 +1,7 @@ -From 5cb76403cf796f548ff4a7ed62d6545acb5febe3 Mon Sep 17 00:00:00 2001 +From bc1d8e49a42cb88d86b2accba6ee1776baba4ca5 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 -Subject: [PATCH 3/4] Install both binaries and use libdir. +Subject: [PATCH 3/3] Install both binaries and use libdir.
This allows us to build with a shared library for other users while still providing the normal executable. @@ -13,7 +13,7 @@ Signed-off-by: Elliott Sales de Andrade quantum.analyst@gmail.com 2 files changed, 20 insertions(+), 16 deletions(-)
diff --git a/configure.py b/configure.py -index a791efebbca128a2138f61713eb2f5d23b8ced98..32eeee090b5248f5236e75f3201177ec446eb41d 100755 +index cc805d3fd165fd2abe4c8581ffdb8829341ad2ba..64f50439bc09827f99786c3b0d574ba454954ca9 100755 --- a/configure.py +++ b/configure.py @@ -550,10 +550,16 @@ parser.add_option('--shared', @@ -33,7 +33,7 @@ index a791efebbca128a2138f61713eb2f5d23b8ced98..32eeee090b5248f5236e75f3201177ec dest='without_v8_platform', default=False, help='do not initialize v8 platform during node.js startup. ' + -@@ -1096,10 +1102,11 @@ def configure_node(o): +@@ -1094,10 +1100,11 @@ def configure_node(o): o['variables']['node_no_browser_globals'] = b(options.no_browser_globals) # TODO(refack): fix this when implementing embedded code-cache when cross-compiling. if o['variables']['want_separate_host_toolset'] == 0: diff --git a/0004-build-include-stubs-in-shared-library.patch b/0004-build-include-stubs-in-shared-library.patch deleted file mode 100644 index 571834c..0000000 --- a/0004-build-include-stubs-in-shared-library.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 6d3a39df826c88e4ab12b937bef06c5905c08ab7 Mon Sep 17 00:00:00 2001 -From: Jeroen Ooms jeroenooms@gmail.com -Date: Mon, 29 Jul 2019 20:15:14 +0200 -Subject: [PATCH 4/4] build: include stubs in shared library - -This is needed for external applications that link to shared libnode. -Fixes #27431 ---- - node.gyp | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/node.gyp b/node.gyp -index 55b7da02ccaf1835b5fd986aaa320d72f8b7fbf2..4eae262a61e77bb8a9556e42a241b83eda3f0eba 100644 ---- a/node.gyp -+++ b/node.gyp -@@ -684,10 +684,16 @@ - # - "C4244: conversion from 'type1' to 'type2', possible loss of data" - # Ususaly safe. Disable for `dep`, enable for `src` - 'msvs_disabled_warnings!': [4244], - - 'conditions': [ -+ [ 'node_shared=="true"', { -+ 'sources': [ -+ 'src/node_snapshot_stub.cc', -+ 'src/node_code_cache_stub.cc', -+ ] -+ }], - [ 'node_shared=="true" and node_module_version!="" and OS!="win"', { - 'product_extension': '<(shlib_suffix)', - 'xcode_settings': { - 'LD_DYLIB_INSTALL_NAME': - '@rpath/lib<(node_core_target_name).<(shlib_suffix)' --- -2.21.0 - diff --git a/nodejs.spec b/nodejs.spec index e3f5bb9..029c423 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 3 +%global baserelease 1
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -19,8 +19,8 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 12 -%global nodejs_minor 7 -%global nodejs_patch 0 +%global nodejs_minor 8 +%global nodejs_patch 1 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 72 @@ -68,7 +68,7 @@ # nghttp2 - from deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h %global nghttp2_major 1 %global nghttp2_minor 39 -%global nghttp2_patch 1 +%global nghttp2_patch 2 %global nghttp2_version %{nghttp2_major}.%{nghttp2_minor}.%{nghttp2_patch}
# ICU - from tools/icu/current_ver.dep @@ -102,7 +102,7 @@ %global npm_epoch 1 %global npm_major 6 %global npm_minor 10 -%global npm_patch 0 +%global npm_patch 2 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch}
# In order to avoid needing to keep incrementing the release version for the @@ -144,9 +144,6 @@ Patch2: 0002-Suppress-NPM-message-to-run-global-update.patch # Patch to install both node and libnode.so, using the correct libdir Patch3: 0003-Install-both-binaries-and-use-libdir.patch
-# Upstream patch to include stubs in libnode. Drop in 12.8.0 -Patch4: 0004-build-include-stubs-in-shared-library.patch - BuildRequires: python2-devel BuildRequires: python3-devel BuildRequires: zlib-devel @@ -622,6 +619,18 @@ end %{_pkgdocdir}/npm/doc
%changelog +* Thu Aug 15 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.8.2-1 +- Update to 12.8.1 +- Resolves: CVE-2019-9511 "Data Dribble" +- Resolves: CVE-2019-9512 "Ping Flood" +- Resolves: CVE-2019-9513 "Resource Loop" +- Resolves: CVE-2019-9514 "Reset Flood" +- Resolves: CVE-2019-9515 "Settings Flood" +- Resolves: CVE-2019-9516 "0-Length Headers Leak" +- Resolves: CVE-2019-9517 "Internal Data Buffering" +- Resolves: CVE-2019-9518 "Empty Frames Flood" +- https://github.com/nodejs/node/blob/v12.8.1/doc/changelogs/CHANGELOG_V12.md#... + * Mon Aug 05 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.7.0-3 - Fix epoch dependencies - Carry data files for ICU diff --git a/package.cfg b/package.cfg index 77d2a9c..2255bcd 100644 --- a/package.cfg +++ b/package.cfg @@ -1,2 +1,2 @@ [koji] -targets = master f30 f29 +targets = master f31 diff --git a/sources b/sources index ad425a8..4359bda 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (node-v12.7.0-stripped.tar.gz) = 267c9a8883b5264d2679dc9306b00533e8cc072e7b59d8b6c9440a6daab0e89fde78f625796f8349210a9b0aafd69ba1f596de32615ae674b8d04f8e185ca311 +SHA512 (node-v12.8.1-stripped.tar.gz) = b7c007e7a0c92303893a389d345f1040d43a0c8eb1ed46f250476ddfae368dbf5a708a81a6bf9f30411684aeabb436371451ebab9decaf2b8e192ea8a342784f
commit a2b8a18f3d5f3d6f1228098730e24b5ab84ac3ec Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Aug 5 09:16:02 2019 -0400
Fix epoch dependencies
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 9d44041..e3f5bb9 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 2 +%global baserelease 3
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -188,7 +188,7 @@ Requires: openssl >= %{openssl_minimum} # we need the system certificate store Requires: ca-certificates
-Requires: nodejs-libs%{?_isa} = %{epoch}:%{version}-%{release} +Requires: nodejs-libs%{?_isa} = %{nodejs_epoch}:%{version}-%{release}
#we need ABI virtual provides where SONAMEs aren't enough/not present so deps @@ -239,9 +239,9 @@ Provides: bundled(icu) = %{icu_version} # Make sure we keep NPM up to date when we update Node.js %if 0%{?rhel} # EPEL doesn't support Recommends, so make it strict -Requires: npm >= %{npm_epoch}:%{npm_version}-%{npm_release} +Requires: npm >= %{npm_epoch}:%{npm_version}-%{npm_release}%{?dist} %else -Recommends: npm >= %{npm_epoch}:%{npm_version}-%{npm_release} +Recommends: npm >= %{npm_epoch}:%{npm_version}-%{npm_release}%{?dist} %endif
@@ -297,7 +297,7 @@ Summary: v8 - development headers Epoch: %{v8_epoch} Version: %{v8_version} Release: %{v8_release}%{?dist} -Requires: %{name}-devel%{?_isa} = %{epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} +Requires: %{name}-devel%{?_isa} = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist}
%description -n v8-devel Development headers for the v8 runtime. @@ -313,7 +313,7 @@ Release: %{npm_release}%{?dist} # now. Obsoletes: npm < 0:3.5.4-6 Provides: npm = %{npm_epoch}:%{npm_version} -Requires: nodejs = %{epoch}:%{version}-%{release} +Requires: nodejs = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist}
# Do not add epoch to the virtual NPM provides or it will break # the automatic dependency-generation script. @@ -331,8 +331,8 @@ BuildArch: noarch # We don't require that the main package be installed to # use the docs, but if it is installed, make sure the # version always matches -Conflicts: %{name} > %{epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} -Conflicts: %{name} < %{epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} +Conflicts: %{name} > %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} +Conflicts: %{name} < %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist}
%description docs The API documentation for the Node.js JavaScript runtime. @@ -622,6 +622,10 @@ end %{_pkgdocdir}/npm/doc
%changelog +* Mon Aug 05 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.7.0-3 +- Fix epoch dependencies +- Carry data files for ICU + * Fri Aug 02 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.7.0-2 - Change v8-devel release field to avoid duplicated package names
commit 3e9a5a1b8382afd1518ad017f1f06b033c9bf1ed Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Aug 5 09:15:45 2019 -0400
Carry bundled ICU data
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 5e9c9eb..9d44041 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -75,7 +75,17 @@ %global icu_major 64 %global icu_minor 2 %global icu_version %{icu_major}.%{icu_minor} + +%global bundled_icu 1 + +%if 0%{?bundled_icu} %global icu_flag small-icu +%else +%global icu_flag system-icu +%endif +%{!?little_endian: %global little_endian %(%{__python3} -c "import sys;print (0 if sys.byteorder=='big' else 1)")} +# " this line just fixes syntax highlighting for vim that is confused by the above and continues literal +
# OpenSSL minimum version %global openssl_minimum 1:1.1.1 @@ -421,6 +431,17 @@ for soname in libv8 libv8_libbase libv8_libplatform; do ln -s %{_libdir}/libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/${soname}.so.%{v8_major} done
+# When using small-icu, carry the icudt64{l,b}.dat +%if 0%{?bundled_icu} +%if 0%{?little_endian} +cp -a out/Release/obj/gen/icutmp/icudt64l.dat \ + %{buildroot}%{_libdir}/icudt64l.dat +%else +cp -a out/Release/obj/gen/icutmp/icudt64b.dat \ + %{buildroot}%{_libdir}/icudt64b.dat +%endif +%endif + # own the sitelib directory mkdir -p %{buildroot}%{_prefix}/lib/node_modules
@@ -562,6 +583,14 @@ end %{_libdir}/libv8_libbase.so.%{v8_major} %{_libdir}/libv8_libplatform.so.%{v8_major}
+%if 0%{?bundled_icu} +%if 0%{?little_endian} +%{_libdir}/icudt64l.dat +%else +%{_libdir}/icudt64b.dat +%endif +%endif +
%files -n v8-devel %{_includedir}/libplatform
commit 7cfea04abbdb88eff4133101f06fa54ac220c309 Author: Stephen Gallagher sgallagh@redhat.com Date: Fri Aug 2 08:35:06 2019 -0400
Fix v8-devel release field
The current approach would result in reusing the same ENVR for v8-devel any time the nodejs release field was reused and the v8 version provided did not change. This is the same approach we use for NPM to avoid this problem.
We need to bump the v8-devel epoch because v8-devel-7.5.288.22-2.fc31 > v8-devel-7.5.288.22-1.12.7.0.1.fc31
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index a96b93d..5e9c9eb 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 1 +%global baserelease 2
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -30,7 +30,7 @@ # == Bundled Dependency Versions == # v8 - from deps/v8/include/v8-version.h # Epoch is set to ensure clean upgrades from the old v8 package -%global v8_epoch 1 +%global v8_epoch 2 %global v8_major 7 %global v8_minor 5 %global v8_build 288 @@ -38,6 +38,7 @@ # V8 presently breaks ABI at least every x.y release while never bumping SONAME %global v8_abi %{v8_major}.%{v8_minor} %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} +%global v8_release %{nodejs_epoch}.%{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release}
# c-ares - from deps/cares/include/ares_version.h # https://github.com/nodejs/node/pull/9332 @@ -285,6 +286,7 @@ Libraries to support Node.js and provide stable v8 interfaces. Summary: v8 - development headers Epoch: %{v8_epoch} Version: %{v8_version} +Release: %{v8_release}%{?dist} Requires: %{name}-devel%{?_isa} = %{epoch}:%{nodejs_version}-%{nodejs_release}%{?dist}
%description -n v8-devel @@ -591,6 +593,9 @@ end %{_pkgdocdir}/npm/doc
%changelog +* Fri Aug 02 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.7.0-2 +- Change v8-devel release field to avoid duplicated package names + * Thu Aug 01 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.7.0-1 - Update to 12.7.0 - https://nodejs.org/en/blog/release/v12.7.0/
commit 3952fecde8f1332222348a7f574e846bdbd1eec4 Author: Stephen Gallagher sgallagh@redhat.com Date: Thu Aug 1 15:50:33 2019 -0400
Update to 12.7.0 https://nodejs.org/en/blog/release/v12.7.0/
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index 97f212c..699d46e 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,14 +1,14 @@ -From 238fd4c35942ecd020349325772cbb72f80748da Mon Sep 17 00:00:00 2001 +From 03ff54a26a47fce13a83094dcfba7840852bf30c Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Thu, 27 Apr 2017 14:25:42 +0200 -Subject: [PATCH 1/3] Disable running gyp on shared deps +Subject: [PATCH 1/4] Disable running gyp on shared deps
--- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile -index e14edb2a034173956f69280844a1cbd6dcd63150..6bd2c02928f21b6afcfb5b97e9734165d9aa3907 100644 +index d7427e578f882034895fc44529d3711c621c06b9..a12edd09252202e98aecaca76cb8457ac98d2ad7 100644 --- a/Makefile +++ b/Makefile @@ -139,11 +139,11 @@ with-code-cache: diff --git a/0002-Suppress-NPM-message-to-run-global-update.patch b/0002-Suppress-NPM-message-to-run-global-update.patch index 0667bde..7cb8e8e 100644 --- a/0002-Suppress-NPM-message-to-run-global-update.patch +++ b/0002-Suppress-NPM-message-to-run-global-update.patch @@ -1,7 +1,7 @@ -From c591d631e1a26010e0dfb72f278f8dc2ed85d218 Mon Sep 17 00:00:00 2001 +From 18ea2d546f5a384d51aad0e7bd39f5b1daaf6471 Mon Sep 17 00:00:00 2001 From: Stephen Gallagher sgallagh@redhat.com Date: Tue, 1 May 2018 08:05:30 -0400 -Subject: [PATCH 2/3] Suppress NPM message to run global update +Subject: [PATCH 2/4] Suppress NPM message to run global update
Signed-off-by: Stephen Gallagher sgallagh@redhat.com --- diff --git a/0003-Install-both-binaries-and-use-libdir.patch b/0003-Install-both-binaries-and-use-libdir.patch index 8aac370..85aa7e3 100644 --- a/0003-Install-both-binaries-and-use-libdir.patch +++ b/0003-Install-both-binaries-and-use-libdir.patch @@ -1,7 +1,7 @@ -From 783d6dbce0c3777568bbf8ea2218bb1e58b66e02 Mon Sep 17 00:00:00 2001 +From 5cb76403cf796f548ff4a7ed62d6545acb5febe3 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 -Subject: [PATCH 3/3] Install both binaries and use libdir. +Subject: [PATCH 3/4] Install both binaries and use libdir.
This allows us to build with a shared library for other users while still providing the normal executable. @@ -13,10 +13,10 @@ Signed-off-by: Elliott Sales de Andrade quantum.analyst@gmail.com 2 files changed, 20 insertions(+), 16 deletions(-)
diff --git a/configure.py b/configure.py -index b1a04742f00f2a9f23e3f583f8246ff6ec50c797..a0308c848b2a25f8b5f926aaf6eeccd4ffc7b8a7 100755 +index a791efebbca128a2138f61713eb2f5d23b8ced98..32eeee090b5248f5236e75f3201177ec446eb41d 100755 --- a/configure.py +++ b/configure.py -@@ -534,10 +534,16 @@ parser.add_option('--shared', +@@ -550,10 +550,16 @@ parser.add_option('--shared', action='store_true', dest='shared', help='compile shared library for embedding node in another project. ' + @@ -33,11 +33,11 @@ index b1a04742f00f2a9f23e3f583f8246ff6ec50c797..a0308c848b2a25f8b5f926aaf6eeccd4 dest='without_v8_platform', default=False, help='do not initialize v8 platform during node.js startup. ' + -@@ -1072,10 +1078,11 @@ def configure_node(o): +@@ -1096,10 +1102,11 @@ def configure_node(o): o['variables']['node_no_browser_globals'] = b(options.no_browser_globals) # TODO(refack): fix this when implementing embedded code-cache when cross-compiling. if o['variables']['want_separate_host_toolset'] == 0: - o['variables']['node_code_cache_path'] = 'yes' + o['variables']['node_code_cache'] = 'yes' # For testing o['variables']['node_shared'] = b(options.shared) + o['variables']['libdir'] = options.libdir node_module_version = getmoduleversion.get_version() diff --git a/0004-build-include-stubs-in-shared-library.patch b/0004-build-include-stubs-in-shared-library.patch new file mode 100644 index 0000000..571834c --- /dev/null +++ b/0004-build-include-stubs-in-shared-library.patch @@ -0,0 +1,35 @@ +From 6d3a39df826c88e4ab12b937bef06c5905c08ab7 Mon Sep 17 00:00:00 2001 +From: Jeroen Ooms jeroenooms@gmail.com +Date: Mon, 29 Jul 2019 20:15:14 +0200 +Subject: [PATCH 4/4] build: include stubs in shared library + +This is needed for external applications that link to shared libnode. +Fixes #27431 +--- + node.gyp | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/node.gyp b/node.gyp +index 55b7da02ccaf1835b5fd986aaa320d72f8b7fbf2..4eae262a61e77bb8a9556e42a241b83eda3f0eba 100644 +--- a/node.gyp ++++ b/node.gyp +@@ -684,10 +684,16 @@ + # - "C4244: conversion from 'type1' to 'type2', possible loss of data" + # Ususaly safe. Disable for `dep`, enable for `src` + 'msvs_disabled_warnings!': [4244], + + 'conditions': [ ++ [ 'node_shared=="true"', { ++ 'sources': [ ++ 'src/node_snapshot_stub.cc', ++ 'src/node_code_cache_stub.cc', ++ ] ++ }], + [ 'node_shared=="true" and node_module_version!="" and OS!="win"', { + 'product_extension': '<(shlib_suffix)', + 'xcode_settings': { + 'LD_DYLIB_INSTALL_NAME': + '@rpath/lib<(node_core_target_name).<(shlib_suffix)' +-- +2.21.0 + diff --git a/nodejs.spec b/nodejs.spec index dbbdd24..a96b93d 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -8,7 +8,7 @@ # This is used by both the nodejs package and the npm subpackage thar # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 2 +%global baserelease 1
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -19,7 +19,7 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 12 -%global nodejs_minor 6 +%global nodejs_minor 7 %global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h @@ -66,8 +66,8 @@
# nghttp2 - from deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h %global nghttp2_major 1 -%global nghttp2_minor 38 -%global nghttp2_patch 0 +%global nghttp2_minor 39 +%global nghttp2_patch 1 %global nghttp2_version %{nghttp2_major}.%{nghttp2_minor}.%{nghttp2_patch}
# ICU - from tools/icu/current_ver.dep @@ -90,7 +90,7 @@ # npm - from deps/npm/package.json %global npm_epoch 1 %global npm_major 6 -%global npm_minor 9 +%global npm_minor 10 %global npm_patch 0 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch}
@@ -133,6 +133,9 @@ Patch2: 0002-Suppress-NPM-message-to-run-global-update.patch # Patch to install both node and libnode.so, using the correct libdir Patch3: 0003-Install-both-binaries-and-use-libdir.patch
+# Upstream patch to include stubs in libnode. Drop in 12.8.0 +Patch4: 0004-build-include-stubs-in-shared-library.patch + BuildRequires: python2-devel BuildRequires: python3-devel BuildRequires: zlib-devel @@ -588,6 +591,10 @@ end %{_pkgdocdir}/npm/doc
%changelog +* Thu Aug 01 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.7.0-1 +- Update to 12.7.0 +- https://nodejs.org/en/blog/release/v12.7.0/ + * Tue Jul 30 2019 Tom Hughes tom@compton.nu - 1:12.6.0-2 - Bump release to fix dependencies
diff --git a/sources b/sources index af25db2..ad425a8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (node-v12.6.0-stripped.tar.gz) = b4f9c31d132e6d53a22733c4ab03468f55aeeff959f9fccb908000b093386dcdd46100e483c9999f38b4630cbda68d113fef8d2cfa023c292f0956fd0e3795db +SHA512 (node-v12.7.0-stripped.tar.gz) = 267c9a8883b5264d2679dc9306b00533e8cc072e7b59d8b6c9440a6daab0e89fde78f625796f8349210a9b0aafd69ba1f596de32615ae674b8d04f8e185ca311
commit 41276ef42a998675701a7979ad829c3338251415 Author: Tom Hughes tom@compton.nu Date: Wed Jul 31 10:54:19 2019 +0100
Disable bootstrap mode
diff --git a/nodejs.spec b/nodejs.spec index 84f6a16..dbbdd24 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -1,5 +1,5 @@ # uncomment to enable bootstrap mode -%global _with_bootstrap 1 +# %%global _with_bootstrap 1
# bundle dependencies that are not available as Fedora modules %bcond_with bootstrap
commit c16cb38c5a746c42b081108f523d00a4f2b8d95f Author: Tom Hughes tom@compton.nu Date: Wed Jul 31 08:39:25 2019 +0100
Enable bootstrap mode
diff --git a/nodejs.spec b/nodejs.spec index dbbdd24..84f6a16 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -1,5 +1,5 @@ # uncomment to enable bootstrap mode -# %%global _with_bootstrap 1 +%global _with_bootstrap 1
# bundle dependencies that are not available as Fedora modules %bcond_with bootstrap
commit 517073eb590938e95cba95ad934339ae8ce8cd92 Author: Tom Hughes tom@compton.nu Date: Wed Jul 31 08:38:46 2019 +0100
Remove redundant commented out code and document enabling bootstrap
diff --git a/nodejs.spec b/nodejs.spec index d5a4ceb..dbbdd24 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -1,6 +1,7 @@ +# uncomment to enable bootstrap mode +# %%global _with_bootstrap 1 + # bundle dependencies that are not available as Fedora modules -# %%{!?_with_bootstrap: %%global bootstrap 1} -# use bcond for building modules %bcond_with bootstrap
# == Master Relase == @@ -140,7 +141,6 @@ BuildRequires: gcc-c++ >= 4.9.4 BuildRequires: chrpath BuildRequires: libatomic
-#%if ! 0%%{?bootstrap} %if %{with bootstrap} Provides: bundled(http-parser) = %{http_parser_version} Provides: bundled(libuv) = %{libuv_version} @@ -246,7 +246,6 @@ Requires: openssl-devel%{?_isa} Requires: zlib-devel%{?_isa} Requires: nodejs-packaging
-#%if ! 0%%{?bootstrap} %if %{with bootstrap} # deps are bundled %else @@ -368,7 +367,6 @@ export CXXFLAGS="$(echo ${CXXFLAGS} | tr '\n\' ' ')"
export LDFLAGS="%{build_ldflags}"
-#%if ! 0%%{?bootstrap} %if %{with bootstrap} ./configure --prefix=%{_prefix} \ --shared \ @@ -532,7 +530,6 @@ end %dir %{_datadir}/systemtap/tapset %{_datadir}/systemtap/tapset/node.stp
-#%if ! 0%%{?bootstrap} %if %{with bootstrap} # no dtrace %else
commit 7de27387d943e1411d79842b94784a7c7ac53324 Author: Tom Hughes tom@compton.nu Date: Wed Jul 31 08:32:42 2019 +0100
Define %baserelease to help rpmdev-bumpspec
diff --git a/nodejs.spec b/nodejs.spec index e102b6d..d5a4ceb 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -3,6 +3,12 @@ # use bcond for building modules %bcond_with bootstrap
+# == Master Relase == +# This is used by both the nodejs package and the npm subpackage thar +# has a separate version - the name is special so that rpmdev-bumpspec +# will bump this rather than adding .1 to the end. +%global baserelease 2 + %{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
# == Node.js Version == @@ -18,7 +24,7 @@ # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 72 %global nodejs_version %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch} -%global nodejs_release 2 +%global nodejs_release %{baserelease}
# == Bundled Dependency Versions == # v8 - from deps/v8/include/v8-version.h
commit 1cd522fb38c333d400346047fdace3f29c1fdd98 Author: Miro Hrončok miro@hroncok.cz Date: Wed Jul 31 01:57:32 2019 +0200
Make the inter-package dependencies work after next mass rebuild
This makes sure the dependencies are specified in a way that won't break next time:
- when possible, use %{version}-%{release} directly to avoid inconsistency - for npm, make the dependency >= without %{?dist} - that makes sure it works even with minorbumps - npm already requires nodejs == E:V-R, so this won't break
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1734582
diff --git a/nodejs.spec b/nodejs.spec index 7f8a58d..e102b6d 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -168,7 +168,7 @@ Requires: openssl >= %{openssl_minimum} # we need the system certificate store Requires: ca-certificates
-Requires: nodejs-libs%{?_isa} = %{epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} +Requires: nodejs-libs%{?_isa} = %{epoch}:%{version}-%{release}
#we need ABI virtual provides where SONAMEs aren't enough/not present so deps @@ -219,9 +219,9 @@ Provides: bundled(icu) = %{icu_version} # Make sure we keep NPM up to date when we update Node.js %if 0%{?rhel} # EPEL doesn't support Recommends, so make it strict -Requires: npm = %{npm_epoch}:%{npm_version}-%{npm_release}%{?dist} +Requires: npm >= %{npm_epoch}:%{npm_version}-%{npm_release} %else -Recommends: npm = %{npm_epoch}:%{npm_version}-%{npm_release}%{?dist} +Recommends: npm >= %{npm_epoch}:%{npm_version}-%{npm_release} %endif
@@ -293,7 +293,7 @@ Release: %{npm_release}%{?dist} # now. Obsoletes: npm < 0:3.5.4-6 Provides: npm = %{npm_epoch}:%{npm_version} -Requires: nodejs = %{epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} +Requires: nodejs = %{epoch}:%{version}-%{release}
# Do not add epoch to the virtual NPM provides or it will break # the automatic dependency-generation script.
commit ba96d369472bfe962ff6f4886a807ff7bfe65f6a Author: Tom Hughes tom@compton.nu Date: Wed Jul 31 00:58:15 2019 +0100
Bump release to fix dependencies
diff --git a/nodejs.spec b/nodejs.spec index 9bc3b39..7f8a58d 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -18,7 +18,7 @@ # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 72 %global nodejs_version %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch} -%global nodejs_release 1 +%global nodejs_release 2
# == Bundled Dependency Versions == # v8 - from deps/v8/include/v8-version.h @@ -97,7 +97,7 @@ Name: nodejs Epoch: %{nodejs_epoch} Version: %{nodejs_version} -Release: %{nodejs_release}%{?dist}.1 +Release: %{nodejs_release}%{?dist} Summary: JavaScript runtime License: MIT and ASL 2.0 and ISC and BSD Group: Development/Languages @@ -286,7 +286,7 @@ Development headers for the v8 runtime. Summary: Node.js Package Manager Epoch: %{npm_epoch} Version: %{npm_version} -Release: %{npm_release}%{?dist}.1 +Release: %{npm_release}%{?dist}
# We used to ship npm separately, but it is so tightly integrated with Node.js # (and expected to be present on all Node.js systems) that we ship it bundled @@ -585,6 +585,9 @@ end %{_pkgdocdir}/npm/doc
%changelog +* Tue Jul 30 2019 Tom Hughes tom@compton.nu - 1:12.6.0-2 +- Bump release to fix dependencies + * Thu Jul 25 2019 Fedora Release Engineering releng@fedoraproject.org - 1:12.6.0-1.1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
commit 49f73cc2e870b8184a34da24d779c56033c36664 Author: Fedora Release Engineering releng@fedoraproject.org Date: Thu Jul 25 18:46:00 2019 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering releng@fedoraproject.org
diff --git a/nodejs.spec b/nodejs.spec index 9ad222a..9bc3b39 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -97,7 +97,7 @@ Name: nodejs Epoch: %{nodejs_epoch} Version: %{nodejs_version} -Release: %{nodejs_release}%{?dist} +Release: %{nodejs_release}%{?dist}.1 Summary: JavaScript runtime License: MIT and ASL 2.0 and ISC and BSD Group: Development/Languages @@ -286,7 +286,7 @@ Development headers for the v8 runtime. Summary: Node.js Package Manager Epoch: %{npm_epoch} Version: %{npm_version} -Release: %{npm_release}%{?dist} +Release: %{npm_release}%{?dist}.1
# We used to ship npm separately, but it is so tightly integrated with Node.js # (and expected to be present on all Node.js systems) that we ship it bundled @@ -585,6 +585,9 @@ end %{_pkgdocdir}/npm/doc
%changelog +* Thu Jul 25 2019 Fedora Release Engineering releng@fedoraproject.org - 1:12.6.0-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Thu Jun 27 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.6.0-1 - Update to 12.6.0 - https://nodejs.org/en/blog/release/v12.6.0/
commit 0fa0c255b833c9f6a3e63ff4858f6ba2336fbc30 Merge: 0b558f6 0217ef1 Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Jul 23 13:36:24 2019 -0400
Merge branch '12'
commit 0217ef1931929f05d069c7281b713c60408f87c4 Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Jul 16 13:17:57 2019 -0400
Update to 12.6.0
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 5f2b0aa..9ad222a 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -12,7 +12,7 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 12 -%global nodejs_minor 5 +%global nodejs_minor 6 %global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h @@ -53,7 +53,7 @@
# libuv - from deps/uv/include/uv/version.h %global libuv_major 1 -%global libuv_minor 29 +%global libuv_minor 30 %global libuv_patch 1 %global libuv_version %{libuv_major}.%{libuv_minor}.%{libuv_patch}
@@ -259,7 +259,8 @@ Summary: Node.js and v8 libraries Provides: libv8.so.%{v8_major}()(64bit) Provides: libv8_libbase.so.%{v8_major}()(64bit) Provides: libv8_libplatform.so.%{v8_major}()(64bit) -%else # 32-bits +%else +# 32-bits Provides: libv8.so.%{v8_major} Provides: libv8_libbase.so.%{v8_major} Provides: libv8_libplatform.so.%{v8_major} @@ -335,15 +336,21 @@ sed -i "s~which('python')~which('python2')~" configure
%build
+%ifarch s390 s390x %{arm} %ix86 +# Decrease debuginfo verbosity to reduce memory consumption during final +# library linking +%global optflags %(echo %{optflags} | sed 's/-g /-g1 /') +%endif + # build with debugging symbols and add defines from libuv (#892601) # Node's v8 breaks with GCC 6 because of incorrect usage of methods on # NULL objects. We need to pass -fno-delete-null-pointer-checks -export CFLAGS='%{optflags} -g \ +export CFLAGS='%{optflags} \ -D_LARGEFILE_SOURCE \ -D_FILE_OFFSET_BITS=64 \ -DZLIB_CONST \ -fno-delete-null-pointer-checks' -export CXXFLAGS='%{optflags} -g \ +export CXXFLAGS='%{optflags} \ -D_LARGEFILE_SOURCE \ -D_FILE_OFFSET_BITS=64 \ -DZLIB_CONST \ @@ -578,8 +585,9 @@ end %{_pkgdocdir}/npm/doc
%changelog -* Thu Jun 27 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.5.0-1 -- Update to 12.5.0 +* Thu Jun 27 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.6.0-1 +- Update to 12.6.0 +- https://nodejs.org/en/blog/release/v12.6.0/ - https://nodejs.org/en/blog/release/v12.5.0/
* Tue Jun 04 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.4.0-1 diff --git a/sources b/sources index 4a2048a..af25db2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (node-v12.5.0-stripped.tar.gz) = 9eec27388eddc766f9b08ef47a3350bdb1d33c17034e3a005c3f2f91e829526d2d5d8ab3bfa3076cb385ea3629de8ffea2e880963dae82c679020ca5b14916a3 +SHA512 (node-v12.6.0-stripped.tar.gz) = b4f9c31d132e6d53a22733c4ab03468f55aeeff959f9fccb908000b093386dcdd46100e483c9999f38b4630cbda68d113fef8d2cfa023c292f0956fd0e3795db
commit 0b558f6e3e9d698560a72cc13c4c9dc435409067 Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Jul 16 13:17:57 2019 -0400
Update to 12.6.0
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 5f2b0aa..e183488 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -12,7 +12,7 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 12 -%global nodejs_minor 5 +%global nodejs_minor 6 %global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h @@ -53,7 +53,7 @@
# libuv - from deps/uv/include/uv/version.h %global libuv_major 1 -%global libuv_minor 29 +%global libuv_minor 30 %global libuv_patch 1 %global libuv_version %{libuv_major}.%{libuv_minor}.%{libuv_patch}
@@ -578,8 +578,9 @@ end %{_pkgdocdir}/npm/doc
%changelog -* Thu Jun 27 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.5.0-1 -- Update to 12.5.0 +* Thu Jun 27 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.6.0-1 +- Update to 12.6.0 +- https://nodejs.org/en/blog/release/v12.6.0/ - https://nodejs.org/en/blog/release/v12.5.0/
* Tue Jun 04 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.4.0-1 diff --git a/sources b/sources index 4a2048a..af25db2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (node-v12.5.0-stripped.tar.gz) = 9eec27388eddc766f9b08ef47a3350bdb1d33c17034e3a005c3f2f91e829526d2d5d8ab3bfa3076cb385ea3629de8ffea2e880963dae82c679020ca5b14916a3 +SHA512 (node-v12.6.0-stripped.tar.gz) = b4f9c31d132e6d53a22733c4ab03468f55aeeff959f9fccb908000b093386dcdd46100e483c9999f38b4630cbda68d113fef8d2cfa023c292f0956fd0e3795db
commit ad26e7b46ecdb12e7d50b29a916e99a51eda6a57 Merge: 420fac3 e892c5e Author: Stephen Gallagher sgallagh@redhat.com Date: Thu Jun 27 12:37:35 2019 -0400
Merge branch '12'
commit e892c5e9c537789adfbcb1ce87fb32093127d920 Author: Stephen Gallagher sgallagh@redhat.com Date: Thu Jun 27 12:34:52 2019 -0400
Update to 12.5.0
https://nodejs.org/en/blog/release/v12.5.0/
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index 5de6457..97f212c 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,4 +1,4 @@ -From 684bbd3b112afbb575f971ea23a03d3d228922f7 Mon Sep 17 00:00:00 2001 +From 238fd4c35942ecd020349325772cbb72f80748da Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Thu, 27 Apr 2017 14:25:42 +0200 Subject: [PATCH 1/3] Disable running gyp on shared deps @@ -8,7 +8,7 @@ Subject: [PATCH 1/3] Disable running gyp on shared deps 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile -index 5834df883b0c232d2c9187f20e61f35dff4f6cef..ba3cacad0382dc17c4a911ea0c0bb39ced96c650 100644 +index e14edb2a034173956f69280844a1cbd6dcd63150..6bd2c02928f21b6afcfb5b97e9734165d9aa3907 100644 --- a/Makefile +++ b/Makefile @@ -139,11 +139,11 @@ with-code-cache: diff --git a/0002-Suppress-NPM-message-to-run-global-update.patch b/0002-Suppress-NPM-message-to-run-global-update.patch index 6266f5d..0667bde 100644 --- a/0002-Suppress-NPM-message-to-run-global-update.patch +++ b/0002-Suppress-NPM-message-to-run-global-update.patch @@ -1,4 +1,4 @@ -From 162762fc882d56e48283bd6393242ec613bf74c9 Mon Sep 17 00:00:00 2001 +From c591d631e1a26010e0dfb72f278f8dc2ed85d218 Mon Sep 17 00:00:00 2001 From: Stephen Gallagher sgallagh@redhat.com Date: Tue, 1 May 2018 08:05:30 -0400 Subject: [PATCH 2/3] Suppress NPM message to run global update diff --git a/0003-Install-both-binaries-and-use-libdir.patch b/0003-Install-both-binaries-and-use-libdir.patch index 3b7d286..8aac370 100644 --- a/0003-Install-both-binaries-and-use-libdir.patch +++ b/0003-Install-both-binaries-and-use-libdir.patch @@ -1,4 +1,4 @@ -From a3e5296fcb14cf3e00f31864f305fb40720e8718 Mon Sep 17 00:00:00 2001 +From 783d6dbce0c3777568bbf8ea2218bb1e58b66e02 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 Subject: [PATCH 3/3] Install both binaries and use libdir. @@ -13,7 +13,7 @@ Signed-off-by: Elliott Sales de Andrade quantum.analyst@gmail.com 2 files changed, 20 insertions(+), 16 deletions(-)
diff --git a/configure.py b/configure.py -index 15ea5687cf1cd8e4ebe449ea2fc39eea95fb29b6..a738e300d6098bef4975930422b3fa55b3f5421d 100755 +index b1a04742f00f2a9f23e3f583f8246ff6ec50c797..a0308c848b2a25f8b5f926aaf6eeccd4ffc7b8a7 100755 --- a/configure.py +++ b/configure.py @@ -534,10 +534,16 @@ parser.add_option('--shared', @@ -33,7 +33,7 @@ index 15ea5687cf1cd8e4ebe449ea2fc39eea95fb29b6..a738e300d6098bef4975930422b3fa55 dest='without_v8_platform', default=False, help='do not initialize v8 platform during node.js startup. ' + -@@ -1065,10 +1071,11 @@ def configure_node(o): +@@ -1072,10 +1078,11 @@ def configure_node(o): o['variables']['node_no_browser_globals'] = b(options.no_browser_globals) # TODO(refack): fix this when implementing embedded code-cache when cross-compiling. if o['variables']['want_separate_host_toolset'] == 0: diff --git a/nodejs.spec b/nodejs.spec index dc3727f..5f2b0aa 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -12,7 +12,7 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 12 -%global nodejs_minor 4 +%global nodejs_minor 5 %global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h @@ -25,9 +25,9 @@ # Epoch is set to ensure clean upgrades from the old v8 package %global v8_epoch 1 %global v8_major 7 -%global v8_minor 4 +%global v8_minor 5 %global v8_build 288 -%global v8_patch 27 +%global v8_patch 22 # V8 presently breaks ABI at least every x.y release while never bumping SONAME %global v8_abi %{v8_major}.%{v8_minor} %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} @@ -48,7 +48,7 @@ # llhttp - from deps/llhttp/include/llhttp.h %global llhttp_major 1 %global llhttp_minor 1 -%global llhttp_patch 3 +%global llhttp_patch 4 %global llhttp_version %{llhttp_major}.%{llhttp_minor}.%{llhttp_patch}
# libuv - from deps/uv/include/uv/version.h @@ -578,6 +578,10 @@ end %{_pkgdocdir}/npm/doc
%changelog +* Thu Jun 27 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.5.0-1 +- Update to 12.5.0 +- https://nodejs.org/en/blog/release/v12.5.0/ + * Tue Jun 04 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.4.0-1 - Update to 12.4.0 - https://nodejs.org/en/blog/release/v12.4.0/ diff --git a/sources b/sources index 2c1ee89..4a2048a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (node-v12.4.0-stripped.tar.gz) = 71619c7d83d9ad7350d0fb6b7389646baa15a7b83b86fed34443f4228ef8e3d8e3d7186364e8da4eaacc743a6d4a2df68556bd8ccd0c12f79114948e0f8f7c76 +SHA512 (node-v12.5.0-stripped.tar.gz) = 9eec27388eddc766f9b08ef47a3350bdb1d33c17034e3a005c3f2f91e829526d2d5d8ab3bfa3076cb385ea3629de8ffea2e880963dae82c679020ca5b14916a3
commit a9185c10486639bdbb0c197ca1c89e012db4194a Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Jun 18 08:39:32 2019 -0400
Update to 6.17.1 security release
https://nodejs.org/en/blog/release/v6.17.1/ https://nodejs.org/en/blog/release/v6.17.0/ Drop debug build
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/.gitignore b/.gitignore index 34665da..1fc6100 100644 --- a/.gitignore +++ b/.gitignore @@ -81,3 +81,4 @@ /node-v6.14.2-stripped.tar.gz /node-v6.14.3-stripped.tar.gz /node-v6.16.0-stripped.tar.gz +/node-v6.17.1-stripped.tar.gz diff --git a/nodejs.spec b/nodejs.spec index 2a894a5..8f2bc62 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -1,16 +1,8 @@ -%global with_debug 1 - # bundle some dependencies missing in Modularity %bcond_with bootstrap
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
-# ARM builds currently break on the Debug builds, so we'll just -# build the standard runtime until that gets sorted out. -%ifarch %{arm} aarch64 %{power64} -%global with_debug 0 -%endif - # == Node.js Version == # Note: Fedora should only ship LTS versions of Node.js (currently expected # to be major versions with even numbers). The odd-numbered versions are new @@ -18,8 +10,8 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 6 -%global nodejs_minor 16 -%global nodejs_patch 0 +%global nodejs_minor 17 +%global nodejs_patch 1 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} %global nodejs_version %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch} %global nodejs_release 1 @@ -286,12 +278,7 @@ export LDFLAGS="%{__global_ldflags}" --openssl-use-def-ca-store %endif
-%if %{?with_debug} == 1 -# Setting BUILDTYPE=Debug builds both release and debug binaries -make BUILDTYPE=Debug %{?_smp_mflags} -%else make BUILDTYPE=Release %{?_smp_mflags} -%endif
%install @@ -307,11 +294,6 @@ rm -rf %{buildroot} # Set the binary permissions properly chmod 0755 %{buildroot}/%{_bindir}/node
-%if %{?with_debug} == 1 -# Install the debug binary and set its permissions -install -Dpm0755 out/Debug/node %{buildroot}/%{_bindir}/node_g -%endif - # own the sitelib directory mkdir -p %{buildroot}%{_prefix}/lib/node_modules
@@ -413,9 +395,6 @@ NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules %{buildroot}/%{_bindir}/node -
%files devel -%if %{?with_debug} == 1 -%{_bindir}/node_g -%endif %{_includedir}/node %{_datadir}/node/common.gypi %{_pkgdocdir}/gdbinit @@ -439,6 +418,12 @@ NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules %{buildroot}/%{_bindir}/node - %{_pkgdocdir}/npm/doc
%changelog +* Tue Jun 18 2019 Stephen Gallagher sgallagh@redhat.com - 1:6.17.1-1 +- Update to 6.17.1 security release +- https://nodejs.org/en/blog/release/v6.17.1/ +- https://nodejs.org/en/blog/release/v6.17.0/ +- Drop debug build + * Thu Jan 10 2019 Stephen Gallagher sgallagh@redhat.com - 1:6.16.0-2 - Bundle http-parser since it uses backported features not available in RHEL
diff --git a/sources b/sources index 5d4e0a5..9608953 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (node-v6.16.0-stripped.tar.gz) = f39f01be5149d08823b94f3609804e360c12f6bfacc80000cb59846492ae14dfb9b648c6bccaf5caadbeba27fb529a9a55d5c54a7ab290d87817a8e571c18a47 +SHA512 (node-v6.17.1-stripped.tar.gz) = 0c89917d14872bfdb94cd2ee428f67093fdef16cbaff5bd96d00960c040c23ce95550d3b634172035b28e214caeac7d2808e0b0b152885deb33b5ec55a6a2f7e
commit 420fac3b3e5087f1762ec4d8510d497ba34a12e2 Merge: 5f5e0d6 c720837 Author: Stephen Gallagher sgallagh@redhat.com Date: Fri Jun 14 08:03:55 2019 -0400
Merge branch '12'
commit c720837b1e69ea0e4bc5db24e8f9c271550df66b Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Jun 4 14:55:08 2019 -0400
Update to 12.4.0
https://nodejs.org/en/blog/release/v12.4.0/
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index ab9e3c3..5de6457 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,4 +1,4 @@ -From f03434acfdb20c85a8e075d71e8b51417dca316a Mon Sep 17 00:00:00 2001 +From 684bbd3b112afbb575f971ea23a03d3d228922f7 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Thu, 27 Apr 2017 14:25:42 +0200 Subject: [PATCH 1/3] Disable running gyp on shared deps diff --git a/0002-Suppress-NPM-message-to-run-global-update.patch b/0002-Suppress-NPM-message-to-run-global-update.patch index 9759700..6266f5d 100644 --- a/0002-Suppress-NPM-message-to-run-global-update.patch +++ b/0002-Suppress-NPM-message-to-run-global-update.patch @@ -1,4 +1,4 @@ -From a7e02e98e41a9f6d20aea653368080ae2a2970c7 Mon Sep 17 00:00:00 2001 +From 162762fc882d56e48283bd6393242ec613bf74c9 Mon Sep 17 00:00:00 2001 From: Stephen Gallagher sgallagh@redhat.com Date: Tue, 1 May 2018 08:05:30 -0400 Subject: [PATCH 2/3] Suppress NPM message to run global update diff --git a/0003-Install-both-binaries-and-use-libdir.patch b/0003-Install-both-binaries-and-use-libdir.patch index 6b87dcd..3b7d286 100644 --- a/0003-Install-both-binaries-and-use-libdir.patch +++ b/0003-Install-both-binaries-and-use-libdir.patch @@ -1,4 +1,4 @@ -From e690915a96b568f6550563491a346aacd8b717a5 Mon Sep 17 00:00:00 2001 +From a3e5296fcb14cf3e00f31864f305fb40720e8718 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 Subject: [PATCH 3/3] Install both binaries and use libdir. diff --git a/nodejs.spec b/nodejs.spec index dbee522..dc3727f 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -12,8 +12,8 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 12 -%global nodejs_minor 3 -%global nodejs_patch 1 +%global nodejs_minor 4 +%global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 72 @@ -578,6 +578,10 @@ end %{_pkgdocdir}/npm/doc
%changelog +* Tue Jun 04 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.4.0-1 +- Update to 12.4.0 +- https://nodejs.org/en/blog/release/v12.4.0/ + * Fri May 24 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.3.1-1 - Update to 12.3.1 - https://nodejs.org/en/blog/release/v12.3.1/ diff --git a/sources b/sources index c254739..2c1ee89 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (node-v12.3.1-stripped.tar.gz) = 405b498b81aa9e8e2d9e6da7b8784a30691abed070b2a1bc333b312dac70488e30d87a1b914a4a63cc50b7d7786794fa4327aa236a6d4f2808ee639f2bf5555a +SHA512 (node-v12.4.0-stripped.tar.gz) = 71619c7d83d9ad7350d0fb6b7389646baa15a7b83b86fed34443f4228ef8e3d8e3d7186364e8da4eaacc743a6d4a2df68556bd8ccd0c12f79114948e0f8f7c76
commit 5f5e0d663d04003b11b288055fb6595381515cdd Merge: 3e9c033 8839865 Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Jun 3 10:47:32 2019 -0400
Merge branch '10'
commit 883986537abb091528b6f663407e6ef582bd3d3c Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Jun 3 10:46:41 2019 -0400
Add %{?dist} to v8_devel release
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index d8bf64a..d37aa52 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -17,7 +17,7 @@ %global nodejs_abi %{nodejs_major}.%{nodejs_minor} %global nodejs_soversion 64 %global nodejs_version %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch} -%global nodejs_release 2 +%global nodejs_release 3
# == Bundled Dependency Versions == # v8 - from deps/v8/include/v8-version.h @@ -261,7 +261,7 @@ Libraries to support Node.js and provide stable v8 interfaces. Summary: v8 - development headers Epoch: %{v8_epoch} Version: %{v8_version} -Release: %{v8_release} +Release: %{v8_release}%{?dist} Requires: %{name}-devel%{?_isa} = %{epoch}:%{nodejs_version}-%{nodejs_release}%{?dist}
%description -n v8-devel @@ -565,7 +565,7 @@ end %{_pkgdocdir}/npm/doc
%changelog -* Mon Jun 03 2019 Stephen Gallagher sgallagh@redhat.com - 1:10.16.0-2 +* Mon Jun 03 2019 Stephen Gallagher sgallagh@redhat.com - 1:10.16.0-3 - Change v8-devel release stream to avoid duplicate NEVRAs
* Fri May 31 2019 Stephen Gallagher sgallagh@redhat.com - 1:10.16.0-1
commit 3e9c033c7be60fdfdfc7d22daf1a748ed55bb743 Merge: f3a2d35 2a2165f Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Jun 3 08:33:49 2019 -0400
Merge branch '10'
commit 2a2165f9779495e519d96794a343ec94b516fbe5 Author: Stephen Gallagher sgallagh@redhat.com Date: Mon Jun 3 08:33:06 2019 -0400
Change v8-devel release stream to avoid duplicate NEVRAs
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index ca236a7..d8bf64a 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -17,7 +17,7 @@ %global nodejs_abi %{nodejs_major}.%{nodejs_minor} %global nodejs_soversion 64 %global nodejs_version %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch} -%global nodejs_release 1 +%global nodejs_release 2
# == Bundled Dependency Versions == # v8 - from deps/v8/include/v8-version.h @@ -30,6 +30,7 @@ # V8 presently breaks ABI at least every x.y release while never bumping SONAME %global v8_abi %{v8_major}.%{v8_minor} %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} +%global v8_release %{nodejs_epoch}.%{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release}
# c-ares - from deps/cares/include/ares_version.h # https://github.com/nodejs/node/pull/9332 @@ -260,6 +261,7 @@ Libraries to support Node.js and provide stable v8 interfaces. Summary: v8 - development headers Epoch: %{v8_epoch} Version: %{v8_version} +Release: %{v8_release} Requires: %{name}-devel%{?_isa} = %{epoch}:%{nodejs_version}-%{nodejs_release}%{?dist}
%description -n v8-devel @@ -563,6 +565,9 @@ end %{_pkgdocdir}/npm/doc
%changelog +* Mon Jun 03 2019 Stephen Gallagher sgallagh@redhat.com - 1:10.16.0-2 +- Change v8-devel release stream to avoid duplicate NEVRAs + * Fri May 31 2019 Stephen Gallagher sgallagh@redhat.com - 1:10.16.0-1 - Update to 10.16.0 - https://nodejs.org/en/blog/release/v10.16.0/
commit f3a2d35eae49d315252bc31ac60db9ef49cb2304 Merge: 4033b07 3e0c220 Author: Stephen Gallagher sgallagh@redhat.com Date: Fri May 31 08:50:42 2019 -0400
Merge branch '10'
commit 3e0c220d1a7900c68522c7a9ce36a511e99d1ddb Author: Stephen Gallagher sgallagh@redhat.com Date: Fri May 31 08:50:27 2019 -0400
Update to 10.16.0 https://nodejs.org/en/blog/release/v10.16.0/
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index ba4c437..0a0cdf7 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,4 +1,4 @@ -From 223cfda05cf681b8dfe6f24fbb7d5360d1bfdeee Mon Sep 17 00:00:00 2001 +From 99ed2ea42371e85b8df10c99bb70ccedbd0c3884 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Thu, 27 Apr 2017 14:25:42 +0200 Subject: [PATCH 1/3] Disable running gyp on shared deps @@ -8,7 +8,7 @@ Subject: [PATCH 1/3] Disable running gyp on shared deps 1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/Makefile b/Makefile -index 4e7263924cf19ac3a3a3670d28d835b21820fd6c..78ffc37bf1a39ad8f8a430a507a2fbffb9029a20 100644 +index 92d98f0351c4cec030a0725c8f7adbb37a830787..5b1a4816c354b76d1d7240d4cebefa85b28dc532 100644 --- a/Makefile +++ b/Makefile @@ -121,14 +121,13 @@ with-code-cache: diff --git a/0002-Suppress-NPM-message-to-run-global-update.patch b/0002-Suppress-NPM-message-to-run-global-update.patch index fed3000..10d2f31 100644 --- a/0002-Suppress-NPM-message-to-run-global-update.patch +++ b/0002-Suppress-NPM-message-to-run-global-update.patch @@ -1,4 +1,4 @@ -From 945b762887c65c2c70024de259e27db8a0a31859 Mon Sep 17 00:00:00 2001 +From 8cc2464baf61529ddbd7749c8238a89eda6930e3 Mon Sep 17 00:00:00 2001 From: Stephen Gallagher sgallagh@redhat.com Date: Tue, 1 May 2018 08:05:30 -0400 Subject: [PATCH 2/3] Suppress NPM message to run global update @@ -9,10 +9,10 @@ Signed-off-by: Stephen Gallagher sgallagh@redhat.com 1 file changed, 54 deletions(-)
diff --git a/deps/npm/bin/npm-cli.js b/deps/npm/bin/npm-cli.js -index 6f76b23828531e7af98a7e3cd7d5abfaac09b40c..98edb6f45fe073e03794a2ae6e7aa7f5500723ee 100755 +index 705aa472e7e5502311f24767adfb0aebab396772..e8aebe644f610bb09c3748338fd70e6c8c422cea 100755 --- a/deps/npm/bin/npm-cli.js +++ b/deps/npm/bin/npm-cli.js -@@ -67,69 +67,15 @@ +@@ -66,69 +66,15 @@ if (conf.usage && npm.command !== 'help') { npm.argv.unshift(npm.command) npm.command = 'help' diff --git a/0003-Install-both-binaries-and-use-libdir.patch b/0003-Install-both-binaries-and-use-libdir.patch index 7b92718..b1acb05 100644 --- a/0003-Install-both-binaries-and-use-libdir.patch +++ b/0003-Install-both-binaries-and-use-libdir.patch @@ -1,4 +1,4 @@ -From ec52fb7c987b3fe68560ae878b4b0f522f01f8a5 Mon Sep 17 00:00:00 2001 +From c340b54b10858215eaa10fd2775e2c0f3c113dd6 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 Subject: [PATCH 3/3] Install both binaries and use libdir. @@ -13,7 +13,7 @@ Signed-off-by: Elliott Sales de Andrade quantum.analyst@gmail.com 2 files changed, 20 insertions(+), 16 deletions(-)
diff --git a/configure.py b/configure.py -index 0ad986ab82e29fdc436794b7f24e49afe1239dca..a58420fc618fe9ad79dcdc27bb6758f34ffaa481 100755 +index cfd4207d32b8b99fda9ec2b2c0f92695f89ef8a3..eb26f7dfe761aa2585252ced28693b9d441b7452 100755 --- a/configure.py +++ b/configure.py @@ -550,10 +550,16 @@ parser.add_option('--shared', diff --git a/nodejs.spec b/nodejs.spec index 0801aae..ca236a7 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -12,12 +12,12 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 10 -%global nodejs_minor 15 -%global nodejs_patch 3 +%global nodejs_minor 16 +%global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} %global nodejs_soversion 64 %global nodejs_version %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch} -%global nodejs_release 2 +%global nodejs_release 1
# == Bundled Dependency Versions == # v8 - from deps/v8/include/v8-version.h @@ -46,8 +46,8 @@
# libuv - from deps/uv/include/uv/version.h %global libuv_major 1 -%global libuv_minor 23 -%global libuv_patch 2 +%global libuv_minor 28 +%global libuv_patch 0 %global libuv_version %{libuv_major}.%{libuv_minor}.%{libuv_patch}
# nghttp2 - from deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h @@ -57,15 +57,12 @@ %global nghttp2_version %{nghttp2_major}.%{nghttp2_minor}.%{nghttp2_patch}
# ICU - from tools/icu/current_ver.dep -%global icu_major 62 -%global icu_minor 1 +%global icu_major 64 +%global icu_minor 2 %global icu_version %{icu_major}.%{icu_minor}
-%if 0%{?fedora} >= 29 -%global icu_flag system-icu -%else +# No Fedora release has 64.2 yet %global icu_flag small-icu -%endif
# punycode - from lib/punycode.js @@ -79,8 +76,8 @@ # npm - from deps/npm/package.json %global npm_epoch 1 %global npm_major 6 -%global npm_minor 4 -%global npm_patch 1 +%global npm_minor 9 +%global npm_patch 0 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch}
# In order to avoid needing to keep incrementing the release version for the @@ -566,6 +563,10 @@ end %{_pkgdocdir}/npm/doc
%changelog +* Fri May 31 2019 Stephen Gallagher sgallagh@redhat.com - 1:10.16.0-1 +- Update to 10.16.0 +- https://nodejs.org/en/blog/release/v10.16.0/ + * Wed Apr 24 2019 Stephen Gallagher sgallagh@redhat.com - 1:10.15.3-2 - Fix upgrade bug for v8-devel (BZ #1702609)
diff --git a/sources b/sources index fd84937..5cbbf73 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (node-v10.15.3-stripped.tar.gz) = 1f7f38e59cfe370855022f9333a89ecfd99152ec901d1cd600c3915fff310b021f7f75dfde8949350edb6af0ab9f191e665b5829d820c29229b7a8dcd0d966df +SHA512 (node-v10.16.0-stripped.tar.gz) = 8b753ba18f6e6c8a6a6faa808079ab60c1f06f2da1b73dabf45e066a8ecf21a58f7d91b77e3b7810550f6c043ad5d7cd8cb5f27de05b9fb4e81c4160305276cc
commit 11b4e1cf843b1de47a26951c38a8e526c50e14b3 Author: Stephen Gallagher sgallagh@redhat.com Date: Sat May 25 09:07:39 2019 -0400
Update to 12.3.1
https://nodejs.org/en/blog/release/v12.3.1/ https://nodejs.org/en/blog/release/v12.3.0/
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index 163f11a..ab9e3c3 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,4 +1,4 @@ -From 716c544b0272c89458ed168f3459f873be2f3035 Mon Sep 17 00:00:00 2001 +From f03434acfdb20c85a8e075d71e8b51417dca316a Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Thu, 27 Apr 2017 14:25:42 +0200 Subject: [PATCH 1/3] Disable running gyp on shared deps @@ -8,10 +8,10 @@ Subject: [PATCH 1/3] Disable running gyp on shared deps 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile -index d41bf1601fb5990ae70e0e13fb105677ef8f9b86..4d9b363c7c0eeb83f34cedf2266e939d4ad140e7 100644 +index 5834df883b0c232d2c9187f20e61f35dff4f6cef..ba3cacad0382dc17c4a911ea0c0bb39ced96c650 100644 --- a/Makefile +++ b/Makefile -@@ -114,11 +114,11 @@ with-code-cache: +@@ -139,11 +139,11 @@ with-code-cache: .PHONY: test-code-cache test-code-cache: with-code-cache echo "'test-code-cache' target is a noop" diff --git a/0002-Suppress-NPM-message-to-run-global-update.patch b/0002-Suppress-NPM-message-to-run-global-update.patch index 7081cde..9759700 100644 --- a/0002-Suppress-NPM-message-to-run-global-update.patch +++ b/0002-Suppress-NPM-message-to-run-global-update.patch @@ -1,4 +1,4 @@ -From f60c5f106a993adee0f66e44f70a1fee562108e0 Mon Sep 17 00:00:00 2001 +From a7e02e98e41a9f6d20aea653368080ae2a2970c7 Mon Sep 17 00:00:00 2001 From: Stephen Gallagher sgallagh@redhat.com Date: Tue, 1 May 2018 08:05:30 -0400 Subject: [PATCH 2/3] Suppress NPM message to run global update diff --git a/0003-Install-both-binaries-and-use-libdir.patch b/0003-Install-both-binaries-and-use-libdir.patch index 28b329b..6b87dcd 100644 --- a/0003-Install-both-binaries-and-use-libdir.patch +++ b/0003-Install-both-binaries-and-use-libdir.patch @@ -1,4 +1,4 @@ -From 6be87e48c3b907dfb4c75b7f415b5107189799f0 Mon Sep 17 00:00:00 2001 +From e690915a96b568f6550563491a346aacd8b717a5 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 Subject: [PATCH 3/3] Install both binaries and use libdir. @@ -13,7 +13,7 @@ Signed-off-by: Elliott Sales de Andrade quantum.analyst@gmail.com 2 files changed, 20 insertions(+), 16 deletions(-)
diff --git a/configure.py b/configure.py -index 1dd6da6d2b997a3fea602c7ad4ab6ce4197bfc18..b0ae741588fa91cb4a0f6bd483ae0c6469cbc114 100755 +index 15ea5687cf1cd8e4ebe449ea2fc39eea95fb29b6..a738e300d6098bef4975930422b3fa55b3f5421d 100755 --- a/configure.py +++ b/configure.py @@ -534,10 +534,16 @@ parser.add_option('--shared', diff --git a/nodejs.spec b/nodejs.spec index 25f2109..dbee522 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -12,8 +12,8 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 12 -%global nodejs_minor 2 -%global nodejs_patch 0 +%global nodejs_minor 3 +%global nodejs_patch 1 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 72 @@ -27,7 +27,7 @@ %global v8_major 7 %global v8_minor 4 %global v8_build 288 -%global v8_patch 21 +%global v8_patch 27 # V8 presently breaks ABI at least every x.y release while never bumping SONAME %global v8_abi %{v8_major}.%{v8_minor} %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} @@ -53,8 +53,8 @@
# libuv - from deps/uv/include/uv/version.h %global libuv_major 1 -%global libuv_minor 28 -%global libuv_patch 0 +%global libuv_minor 29 +%global libuv_patch 1 %global libuv_version %{libuv_major}.%{libuv_minor}.%{libuv_patch}
# nghttp2 - from deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h @@ -578,6 +578,11 @@ end %{_pkgdocdir}/npm/doc
%changelog +* Fri May 24 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.3.1-1 +- Update to 12.3.1 +- https://nodejs.org/en/blog/release/v12.3.1/ +- https://nodejs.org/en/blog/release/v12.3.0/ + * Wed May 15 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.2.0-1 - Update to 12.2.0 - https://nodejs.org/en/blog/release/v12.2.0/ diff --git a/sources b/sources index 7e5b0fb..c254739 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (node-v12.2.0-stripped.tar.gz) = 668b7777e7c369c5eafb741bf9414ede1f30417cec69d82ec3539af0aff42315ece98e84a183044750802d5cf9283498d5783459fb316741a6aedf6f2a1b4f31 +SHA512 (node-v12.3.1-stripped.tar.gz) = 405b498b81aa9e8e2d9e6da7b8784a30691abed070b2a1bc333b312dac70488e30d87a1b914a4a63cc50b7d7786794fa4327aa236a6d4f2808ee639f2bf5555a
commit 61ea09b3c220b5218d7d0dd25df6890be8332544 Author: Stephen Gallagher sgallagh@redhat.com Date: Wed May 15 20:01:54 2019 -0400
Update to 12.2.0
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 48fe77c..25f2109 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -12,7 +12,7 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 12 -%global nodejs_minor 1 +%global nodejs_minor 2 %global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h @@ -48,7 +48,7 @@ # llhttp - from deps/llhttp/include/llhttp.h %global llhttp_major 1 %global llhttp_minor 1 -%global llhttp_patch 1 +%global llhttp_patch 3 %global llhttp_version %{llhttp_major}.%{llhttp_minor}.%{llhttp_patch}
# libuv - from deps/uv/include/uv/version.h @@ -578,6 +578,10 @@ end %{_pkgdocdir}/npm/doc
%changelog +* Wed May 15 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.2.0-1 +- Update to 12.2.0 +- https://nodejs.org/en/blog/release/v12.2.0/ + * Tue Apr 30 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.1.0-1 - Update to 12.1.0 - https://nodejs.org/en/blog/release/v12.1.0/ diff --git a/sources b/sources index 1e6ee1d..7e5b0fb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (node-v12.1.0-stripped.tar.gz) = 367111600786d57291725e0452f532d7c8c6bfe72259b654fc2518323cb7c49576fe8678de69b559b93cf7a03ae2a2fe4f116a43bba740b2d2e1df5e49582cae +SHA512 (node-v12.2.0-stripped.tar.gz) = 668b7777e7c369c5eafb741bf9414ede1f30417cec69d82ec3539af0aff42315ece98e84a183044750802d5cf9283498d5783459fb316741a6aedf6f2a1b4f31
commit a724e428054448646aeaf04ef101cd770e73398d Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Apr 30 08:51:56 2019 -0400
Update to 12.1.0
https://nodejs.org/en/blog/release/v12.1.0/
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index 927de9f..163f11a 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,4 +1,4 @@ -From be67711060761dcb520dc538582bc497c978a211 Mon Sep 17 00:00:00 2001 +From 716c544b0272c89458ed168f3459f873be2f3035 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Thu, 27 Apr 2017 14:25:42 +0200 Subject: [PATCH 1/3] Disable running gyp on shared deps @@ -8,7 +8,7 @@ Subject: [PATCH 1/3] Disable running gyp on shared deps 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile -index d04aac3515a1812d120555297f2b340baaea58f8..a91651e22a9d6b7891255071b38217dc358781af 100644 +index d41bf1601fb5990ae70e0e13fb105677ef8f9b86..4d9b363c7c0eeb83f34cedf2266e939d4ad140e7 100644 --- a/Makefile +++ b/Makefile @@ -114,11 +114,11 @@ with-code-cache: diff --git a/0002-Suppress-NPM-message-to-run-global-update.patch b/0002-Suppress-NPM-message-to-run-global-update.patch index ccf8774..7081cde 100644 --- a/0002-Suppress-NPM-message-to-run-global-update.patch +++ b/0002-Suppress-NPM-message-to-run-global-update.patch @@ -1,4 +1,4 @@ -From a3aeb06b2ed164e220d1ef1ff42256c3e7d0ad25 Mon Sep 17 00:00:00 2001 +From f60c5f106a993adee0f66e44f70a1fee562108e0 Mon Sep 17 00:00:00 2001 From: Stephen Gallagher sgallagh@redhat.com Date: Tue, 1 May 2018 08:05:30 -0400 Subject: [PATCH 2/3] Suppress NPM message to run global update diff --git a/0003-Install-both-binaries-and-use-libdir.patch b/0003-Install-both-binaries-and-use-libdir.patch index cfd7de0..28b329b 100644 --- a/0003-Install-both-binaries-and-use-libdir.patch +++ b/0003-Install-both-binaries-and-use-libdir.patch @@ -1,4 +1,4 @@ -From 7e18c5370e11d7cecc1801756870c036cf26dd12 Mon Sep 17 00:00:00 2001 +From 6be87e48c3b907dfb4c75b7f415b5107189799f0 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 Subject: [PATCH 3/3] Install both binaries and use libdir. @@ -13,10 +13,10 @@ Signed-off-by: Elliott Sales de Andrade quantum.analyst@gmail.com 2 files changed, 20 insertions(+), 16 deletions(-)
diff --git a/configure.py b/configure.py -index 1a0819e74113bc22a2e92eb08502b1fc33874343..caeb29d2868e0b88c98c3a5261dedd6305c5bc50 100755 +index 1dd6da6d2b997a3fea602c7ad4ab6ce4197bfc18..b0ae741588fa91cb4a0f6bd483ae0c6469cbc114 100755 --- a/configure.py +++ b/configure.py -@@ -529,10 +529,16 @@ parser.add_option('--shared', +@@ -534,10 +534,16 @@ parser.add_option('--shared', action='store_true', dest='shared', help='compile shared library for embedding node in another project. ' + @@ -33,7 +33,7 @@ index 1a0819e74113bc22a2e92eb08502b1fc33874343..caeb29d2868e0b88c98c3a5261dedd63 dest='without_v8_platform', default=False, help='do not initialize v8 platform during node.js startup. ' + -@@ -1053,10 +1059,11 @@ def configure_node(o): +@@ -1065,10 +1071,11 @@ def configure_node(o): o['variables']['node_no_browser_globals'] = b(options.no_browser_globals) # TODO(refack): fix this when implementing embedded code-cache when cross-compiling. if o['variables']['want_separate_host_toolset'] == 0: diff --git a/node-v10.12.0/package.cfg b/node-v10.12.0/package.cfg deleted file mode 100644 index 832eaab..0000000 --- a/node-v10.12.0/package.cfg +++ /dev/null @@ -1,2 +0,0 @@ -[koji] -targets = master f29 diff --git a/nodejs-tarball.sh b/nodejs-tarball.sh index 237ae13..e19d80e 100755 --- a/nodejs-tarball.sh +++ b/nodejs-tarball.sh @@ -1,10 +1,12 @@ #!/bin/sh
version=$(rpm -q --specfile --qf='%{version}\n' nodejs.spec | head -n1) -rm -f node-v${version}.tar.gz +rm -f node-v${version}.tar.gz node-v${version}-stripped.tar.gz wget http://nodejs.org/dist/v$%7Bversion%7D/node-v$%7Bversion%7D.tar.gz 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}
fedpkg new-sources node-v${version}-stripped.tar.gz + +rm -f node-v${version}.tar.gz diff --git a/nodejs.spec b/nodejs.spec index 3adf5d3..48fe77c 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -12,13 +12,13 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 12 -%global nodejs_minor 0 +%global nodejs_minor 1 %global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 72 %global nodejs_version %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch} -%global nodejs_release 3 +%global nodejs_release 1
# == Bundled Dependency Versions == # v8 - from deps/v8/include/v8-version.h @@ -64,19 +64,14 @@ %global nghttp2_version %{nghttp2_major}.%{nghttp2_minor}.%{nghttp2_patch}
# ICU - from tools/icu/current_ver.dep -%global icu_major 63 -%global icu_minor 1 +%global icu_major 64 +%global icu_minor 2 %global icu_version %{icu_major}.%{icu_minor} +%global icu_flag small-icu
# OpenSSL minimum version %global openssl_minimum 1:1.1.1
-%if 0%{?fedora} >= 30 -%global icu_flag system-icu -%else -%global icu_flag small-icu -%endif - # punycode - from lib/punycode.js # Note: this was merged into the mainline since 0.6.x # Note: this will be unmerged in an upcoming major release @@ -583,6 +578,10 @@ end %{_pkgdocdir}/npm/doc
%changelog +* Tue Apr 30 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.1.0-1 +- Update to 12.1.0 +- https://nodejs.org/en/blog/release/v12.1.0/ + * Wed Apr 24 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.0.0-3 - Fix upgrade bug for v8-devel (BZ #1702609)
diff --git a/sources b/sources index 8ee313f..1e6ee1d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (node-v12.0.0-stripped.tar.gz) = 68bec09de987059f361a9a7fb25a66eab35bd848a8dd2e000000ac6cc0c6fa2e7ec901ed0cd12e609b3303ecb6b598a10054afc66764d3d43153c323e773cb86 +SHA512 (node-v12.1.0-stripped.tar.gz) = 367111600786d57291725e0452f532d7c8c6bfe72259b654fc2518323cb7c49576fe8678de69b559b93cf7a03ae2a2fe4f116a43bba740b2d2e1df5e49582cae
commit bfa1e93cd6c7a6fa5f2542d5b5c7dd5c122bedd0 Author: Stephen Gallagher sgallagh@redhat.com Date: Wed Apr 24 09:00:10 2019 -0400
Fix upgrade bug for v8-devel (BZ #1702609)
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 5135cdd..3adf5d3 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -18,7 +18,7 @@ # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 72 %global nodejs_version %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch} -%global nodejs_release 2 +%global nodejs_release 3
# == Bundled Dependency Versions == # v8 - from deps/v8/include/v8-version.h @@ -583,6 +583,9 @@ end %{_pkgdocdir}/npm/doc
%changelog +* Wed Apr 24 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.0.0-3 +- Fix upgrade bug for v8-devel (BZ #1702609) + * Tue Apr 23 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.0.0-2 - Node.js 12.x requires OpenSSL 1.1.1+
commit 4033b07c57819ed694181d4681009b3425c18ae6 Merge: 51d8606 ab8672a Author: Stephen Gallagher sgallagh@redhat.com Date: Wed Apr 24 09:18:31 2019 -0400
Merge branch '10'
commit ab8672abf9cde5a8152346c285e8365f5039f473 Author: Stephen Gallagher sgallagh@redhat.com Date: Wed Apr 24 09:02:28 2019 -0400
Fix upgrade bug for v8-devel (BZ #1702609)
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index de668bb..0801aae 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -17,7 +17,7 @@ %global nodejs_abi %{nodejs_major}.%{nodejs_minor} %global nodejs_soversion 64 %global nodejs_version %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch} -%global nodejs_release 1 +%global nodejs_release 2
# == Bundled Dependency Versions == # v8 - from deps/v8/include/v8-version.h @@ -566,6 +566,9 @@ end %{_pkgdocdir}/npm/doc
%changelog +* Wed Apr 24 2019 Stephen Gallagher sgallagh@redhat.com - 1:10.15.3-2 +- Fix upgrade bug for v8-devel (BZ #1702609) + * Tue Apr 09 2019 Stephen Gallagher sgallagh@redhat.com - 1:10.15.3-1 - Update to 10.15.3 - https://nodejs.org/en/blog/release/v10.15.3/
commit fb2650929269e968be8155d5114e36930d25ff17 Author: Stephen Gallagher sgallagh@redhat.com Date: Wed Apr 24 08:59:37 2019 -0400
Properly replace v8-devel includes with symlinks
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 39c9304..de668bb 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -469,7 +469,7 @@ NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{_prefix}/lib/nod
%pretrans -n npm -p <lua> -- Remove all of the symlinks from the bundled npm node_modules directory --- This scriptlet can be removed in Fedora 31 +-- Drop this scriptlet when F29 is EOL base_path = "%{_prefix}/lib/node_modules/npm/node_modules/" d_st = posix.stat(base_path) if d_st then @@ -482,6 +482,23 @@ if d_st then end end
+%pretrans -n v8-devel -p <lua> +-- Replace the v8 libplatform include directory with a symlink +-- Drop this scriptlet when F30 is EOL +path = "%{_includedir}/libplatform" +st = posix.stat(path) +if st and st.type == "directory" then + status = os.rename(path, path .. ".rpmmoved") + if not status then + suffix = 0 + while not status do + suffix = suffix + 1 + status = os.rename(path .. ".rpmmoved", path .. ".rpmmoved." .. suffix) + end + os.rename(path, path .. ".rpmmoved") + end +end + %files %{_bindir}/node %dir %{_prefix}/lib/node_modules @@ -525,6 +542,7 @@ end %{_libdir}/libv8.so %{_libdir}/libv8_libbase.so %{_libdir}/libv8_libplatform.so +%ghost %{_includedir}/libplatform.rpmmoved
%files -n npm
commit 8d55b79675884b69289e9e8a1b77ebe541201e3e Author: Stephen Gallagher sgallagh@redhat.com Date: Wed Apr 24 08:59:37 2019 -0400
Properly replace v8-devel includes with symlinks
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 5eb096e..5135cdd 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -486,7 +486,7 @@ NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{_prefix}/lib/nod
%pretrans -n npm -p <lua> -- Remove all of the symlinks from the bundled npm node_modules directory --- This scriptlet can be removed in Fedora 31 +-- Drop this scriptlet when F29 is EOL base_path = "%{_prefix}/lib/node_modules/npm/node_modules/" d_st = posix.stat(base_path) if d_st then @@ -499,6 +499,23 @@ if d_st then end end
+%pretrans -n v8-devel -p <lua> +-- Replace the v8 libplatform include directory with a symlink +-- Drop this scriptlet when F30 is EOL +path = "%{_includedir}/libplatform" +st = posix.stat(path) +if st and st.type == "directory" then + status = os.rename(path, path .. ".rpmmoved") + if not status then + suffix = 0 + while not status do + suffix = suffix + 1 + status = os.rename(path .. ".rpmmoved", path .. ".rpmmoved." .. suffix) + end + os.rename(path, path .. ".rpmmoved") + end +end + %files %{_bindir}/node %dir %{_prefix}/lib/node_modules @@ -542,6 +559,7 @@ end %{_libdir}/libv8.so %{_libdir}/libv8_libbase.so %{_libdir}/libv8_libplatform.so +%ghost %{_includedir}/libplatform.rpmmoved
%files -n npm
commit 76581ac1db6b75d06f54f0edde04701305b9e94c Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Apr 23 21:29:02 2019 -0400
Add Buildrequires: libatomic
s390x requires it to link properly and it's not harmful to have it available on all arches. Not making it conditional in case it would cause issues on a future archicture.
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 8c0a52d..5eb096e 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -137,6 +137,7 @@ BuildRequires: zlib-devel BuildRequires: gcc >= 4.9.4 BuildRequires: gcc-c++ >= 4.9.4 BuildRequires: chrpath +BuildRequires: libatomic
#%if ! 0%%{?bootstrap} %if %{with bootstrap}
commit ff8041427b9b76c7625c69bad9ac048de28541cc Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Apr 23 17:30:36 2019 -0400
Node.js 12.x requires OpenSSL 1.1.1+
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 69cb8ee..8c0a52d 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -18,7 +18,7 @@ # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 72 %global nodejs_version %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch} -%global nodejs_release 1 +%global nodejs_release 2
# == Bundled Dependency Versions == # v8 - from deps/v8/include/v8-version.h @@ -68,6 +68,9 @@ %global icu_minor 1 %global icu_version %{icu_major}.%{icu_minor}
+# OpenSSL minimum version +%global openssl_minimum 1:1.1.1 + %if 0%{?fedora} >= 30 %global icu_flag system-icu %else @@ -163,7 +166,8 @@ Provides: bundled(llhttp) = %{llhttp_version} BuildRequires: libicu-devel >= 62.1 %endif
-BuildRequires: openssl-devel +BuildRequires: openssl-devel >= %{openssl_minimum} +Requires: openssl >= %{openssl_minimum}
# we need the system certificate store Requires: ca-certificates @@ -560,6 +564,9 @@ end %{_pkgdocdir}/npm/doc
%changelog +* Tue Apr 23 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.0.0-2 +- Node.js 12.x requires OpenSSL 1.1.1+ + * Tue Apr 23 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.0.0-1 - Release 12.0.0 - https://nodejs.org/en/blog/release/v12.0.0/
commit 1d1dc74d36847207ce69b46ad40ab9a1ffd33f3a Author: Stephen Gallagher sgallagh@redhat.com Date: Tue Apr 23 14:07:13 2019 -0400
Release 12.0.0
- https://nodejs.org/en/blog/release/v12.0.0/
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index f6cb699..927de9f 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,34 +1,29 @@ -From e4d1665c49d00d19be0650f92b98308f3ed251d1 Mon Sep 17 00:00:00 2001 +From be67711060761dcb520dc538582bc497c978a211 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Thu, 27 Apr 2017 14:25:42 +0200 Subject: [PATCH 1/3] Disable running gyp on shared deps
--- - Makefile | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile -index 3d8ef4dc5764bba4d6ed5bad3cc03a2045c3be86..bb75e85c345662ab5285f6f00be725f33c06cbf5 100644 +index d04aac3515a1812d120555297f2b340baaea58f8..a91651e22a9d6b7891255071b38217dc358781af 100644 --- a/Makefile +++ b/Makefile -@@ -122,14 +122,13 @@ with-code-cache: - +@@ -114,11 +114,11 @@ with-code-cache: .PHONY: test-code-cache test-code-cache: with-code-cache - $(PYTHON) tools/test.py $(PARALLEL_ARGS) --mode=$(BUILDTYPE_LOWER) code-cache + echo "'test-code-cache' target is a noop"
--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 + out/Makefile: config.gypi common.gypi node.gyp \ +- deps/uv/uv.gyp deps/http_parser/http_parser.gyp deps/zlib/zlib.gyp \ ++ deps/http_parser/http_parser.gyp \ + tools/v8_gypfiles/toolchain.gypi tools/v8_gypfiles/features.gypi \ + tools/v8_gypfiles/inspector.gypi tools/v8_gypfiles/v8.gyp $(PYTHON) tools/gyp_node.py -f make
config.gypi: configure configure.py - @if [ -x config.status ]; then \ - ./config.status; \ -- 2.21.0
diff --git a/0002-Suppress-NPM-message-to-run-global-update.patch b/0002-Suppress-NPM-message-to-run-global-update.patch index 08f4571..ccf8774 100644 --- a/0002-Suppress-NPM-message-to-run-global-update.patch +++ b/0002-Suppress-NPM-message-to-run-global-update.patch @@ -1,4 +1,4 @@ -From aa203e18cd0a5398e5b7e1900ba71a0816c1fd3d Mon Sep 17 00:00:00 2001 +From a3aeb06b2ed164e220d1ef1ff42256c3e7d0ad25 Mon Sep 17 00:00:00 2001 From: Stephen Gallagher sgallagh@redhat.com Date: Tue, 1 May 2018 08:05:30 -0400 Subject: [PATCH 2/3] Suppress NPM message to run global update @@ -9,10 +9,10 @@ Signed-off-by: Stephen Gallagher sgallagh@redhat.com 1 file changed, 54 deletions(-)
diff --git a/deps/npm/bin/npm-cli.js b/deps/npm/bin/npm-cli.js -index 6f76b23828531e7af98a7e3cd7d5abfaac09b40c..98edb6f45fe073e03794a2ae6e7aa7f5500723ee 100755 +index 705aa472e7e5502311f24767adfb0aebab396772..e8aebe644f610bb09c3748338fd70e6c8c422cea 100755 --- a/deps/npm/bin/npm-cli.js +++ b/deps/npm/bin/npm-cli.js -@@ -67,69 +67,15 @@ +@@ -66,69 +66,15 @@ if (conf.usage && npm.command !== 'help') { npm.argv.unshift(npm.command) npm.command = 'help' diff --git a/0003-Install-both-binaries-and-use-libdir.patch b/0003-Install-both-binaries-and-use-libdir.patch index 2b77ef0..cfd7de0 100644 --- a/0003-Install-both-binaries-and-use-libdir.patch +++ b/0003-Install-both-binaries-and-use-libdir.patch @@ -1,4 +1,4 @@ -From bf276a108cf7710220c3ed2a8bd0685478703c9b Mon Sep 17 00:00:00 2001 +From 7e18c5370e11d7cecc1801756870c036cf26dd12 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 19 Mar 2019 23:22:40 -0400 Subject: [PATCH 3/3] Install both binaries and use libdir. @@ -13,10 +13,10 @@ Signed-off-by: Elliott Sales de Andrade quantum.analyst@gmail.com 2 files changed, 20 insertions(+), 16 deletions(-)
diff --git a/configure.py b/configure.py -index 9f780ab9bca150df7a635af00c2976c1fb8156a7..f1f2b129466334436747c3e7f95b7bb6dc245253 100755 +index 1a0819e74113bc22a2e92eb08502b1fc33874343..caeb29d2868e0b88c98c3a5261dedd6305c5bc50 100755 --- a/configure.py +++ b/configure.py -@@ -560,10 +560,16 @@ parser.add_option('--shared', +@@ -529,10 +529,16 @@ parser.add_option('--shared', action='store_true', dest='shared', help='compile shared library for embedding node in another project. ' + @@ -33,11 +33,11 @@ index 9f780ab9bca150df7a635af00c2976c1fb8156a7..f1f2b129466334436747c3e7f95b7bb6 dest='without_v8_platform', default=False, help='do not initialize v8 platform during node.js startup. ' + -@@ -1106,10 +1112,11 @@ def configure_node(o): - +@@ -1053,10 +1059,11 @@ def configure_node(o): o['variables']['node_no_browser_globals'] = b(options.no_browser_globals) - if options.code_cache_path: - o['variables']['node_code_cache_path'] = options.code_cache_path + # TODO(refack): fix this when implementing embedded code-cache when cross-compiling. + if o['variables']['want_separate_host_toolset'] == 0: + o['variables']['node_code_cache_path'] = 'yes' o['variables']['node_shared'] = b(options.shared) + o['variables']['libdir'] = options.libdir node_module_version = getmoduleversion.get_version() @@ -46,12 +46,12 @@ index 9f780ab9bca150df7a635af00c2976c1fb8156a7..f1f2b129466334436747c3e7f95b7bb6 shlib_suffix = '%s.dylib' elif sys.platform.startswith('aix'): diff --git a/tools/install.py b/tools/install.py -index 3befec213b1ce68b234f0a2602a8acd302fd8422..e7a6c67c3a72ee7745ba45049552a4e8feee5a61 100755 +index 655802980a6ea94d1d4ca1dc63c8c8e905fbb83a..fe4723bf15012c8aacacb0393dc8294c049b0503 100755 --- a/tools/install.py +++ b/tools/install.py -@@ -120,30 +120,27 @@ def subdir_files(path, dest, action): - for subdir, files in ret.items(): - action(files, subdir + '/') +@@ -119,30 +119,27 @@ def subdir_files(path, dest, action): + for subdir, files_in_path in ret.items(): + action(files_in_path, subdir + '/')
def files(action): is_windows = sys.platform == 'win32' diff --git a/nodejs.spec b/nodejs.spec index ff77541..69cb8ee 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -11,12 +11,12 @@ # feature releases that are only supported for nine months, which is shorter # than a Fedora release lifecycle. %global nodejs_epoch 1 -%global nodejs_major 11 -%global nodejs_minor 14 +%global nodejs_major 12 +%global nodejs_minor 0 %global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h -%global nodejs_soversion 67 +%global nodejs_soversion 72 %global nodejs_version %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch} %global nodejs_release 1
@@ -25,9 +25,9 @@ # Epoch is set to ensure clean upgrades from the old v8 package %global v8_epoch 1 %global v8_major 7 -%global v8_minor 0 -%global v8_build 276 -%global v8_patch 38 +%global v8_minor 4 +%global v8_build 288 +%global v8_patch 21 # V8 presently breaks ABI at least every x.y release while never bumping SONAME %global v8_abi %{v8_major}.%{v8_minor} %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} @@ -48,18 +48,18 @@ # llhttp - from deps/llhttp/include/llhttp.h %global llhttp_major 1 %global llhttp_minor 1 -%global llhttp_patch 0 +%global llhttp_patch 1 %global llhttp_version %{llhttp_major}.%{llhttp_minor}.%{llhttp_patch}
# libuv - from deps/uv/include/uv/version.h %global libuv_major 1 -%global libuv_minor 27 +%global libuv_minor 28 %global libuv_patch 0 %global libuv_version %{libuv_major}.%{libuv_minor}.%{libuv_patch}
# nghttp2 - from deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h %global nghttp2_major 1 -%global nghttp2_minor 34 +%global nghttp2_minor 38 %global nghttp2_patch 0 %global nghttp2_version %{nghttp2_major}.%{nghttp2_minor}.%{nghttp2_patch}
@@ -85,7 +85,7 @@ # npm - from deps/npm/package.json %global npm_epoch 1 %global npm_major 6 -%global npm_minor 7 +%global npm_minor 9 %global npm_patch 0 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch}
@@ -324,7 +324,7 @@ The API documentation for the Node.js JavaScript runtime. rm -rf deps/zlib
# Replace any instances of unversioned python' with python2 -pathfix.py -i %{__python2} -pn $(find -type f) +pathfix.py -i %{__python2} -pn $(find -type f ! -name "*.js") find . -type f -exec sed -i "s~/usr/bin/env python~/usr/bin/python2~" {} ; find . -type f -exec sed -i "s~/usr/bin/python\W~/usr/bin/python2~" {} ; sed -i "s~python~python2~" $(find . -type f | grep "gyp$") @@ -560,6 +560,10 @@ end %{_pkgdocdir}/npm/doc
%changelog +* Tue Apr 23 2019 Stephen Gallagher sgallagh@redhat.com - 1:12.0.0-1 +- Release 12.0.0 +- https://nodejs.org/en/blog/release/v12.0.0/ + * Thu Apr 11 2019 Stephen Gallagher sgallagh@redhat.com - 1:11.13.0-1 - Update to 11.13.0 - https://nodejs.org/en/blog/release/v11.13.0/ diff --git a/sources b/sources index 0162cfe..8ee313f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (node-v11.14.0-stripped.tar.gz) = a54c5b885fdbff8de7233f2d88667a0638676fb3461cc99e50e5a022170233f10c6a55cd86e4321fd143f48654dcceca924807aed574558e47e4c821780755f2 +SHA512 (node-v12.0.0-stripped.tar.gz) = 68bec09de987059f361a9a7fb25a66eab35bd848a8dd2e000000ac6cc0c6fa2e7ec901ed0cd12e609b3303ecb6b598a10054afc66764d3d43153c323e773cb86
commit 302af5c550fc929543b94452cac067c8741c4252 Author: Stephen Gallagher sgallagh@redhat.com Date: Thu Apr 11 20:02:40 2019 -0400
Fix libnode soversion
Signed-off-by: Stephen Gallagher sgallagh@redhat.com
diff --git a/nodejs.spec b/nodejs.spec index 6301c0c..ff77541 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -15,7 +15,8 @@ %global nodejs_minor 14 %global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} -%global nodejs_soversion 64 +# nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h +%global nodejs_soversion 67 %global nodejs_version %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch} %global nodejs_release 1
commit 8c0820b716faf05dc691e21d0ecfd6926ad9e613 Merge: ce85601 1fa28cd Author: Stephen Gallagher sgallagh@redhat.com Date: Thu Apr 11 15:24:13 2019 -0400
Merge branch '10' into 11
diff --cc 0001-Disable-running-gyp-on-shared-deps.patch index 79cbc7e,ba4c437..f6cb699 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@@ -1,17 -1,17 +1,17 @@@ - From def28d29f907050d8bcd94ed2e341d128ffa3fa6 Mon Sep 17 00:00:00 2001 -From 223cfda05cf681b8dfe6f24fbb7d5360d1bfdeee Mon Sep 17 00:00:00 2001 ++From e4d1665c49d00d19be0650f92b98308f3ed251d1 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova zsvetlik@redhat.com Date: Thu, 27 Apr 2017 14:25:42 +0200 - Subject: [PATCH 1/2] Disable running gyp on shared deps + Subject: [PATCH 1/3] Disable running gyp on shared deps
--- Makefile | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/Makefile b/Makefile - index 5fc2bb0c58f5532044a14e9f9595b2316f562726..f1c1545caa220d7442d6d92c49412ec7554de123 100644 -index 4e7263924cf19ac3a3a3670d28d835b21820fd6c..78ffc37bf1a39ad8f8a430a507a2fbffb9029a20 100644 ++index 3d8ef4dc5764bba4d6ed5bad3cc03a2045c3be86..bb75e85c345662ab5285f6f00be725f33c06cbf5 100644 --- a/Makefile +++ b/Makefile --@@ -121,14 +121,13 @@ with-code-cache: ++@@ -122,14 +122,13 @@ with-code-cache:
.PHONY: test-code-cache test-code-cache: with-code-cache diff --cc 0002-Suppress-NPM-message-to-run-global-update.patch index fd54ee2,fed3000..08f4571 --- a/0002-Suppress-NPM-message-to-run-global-update.patch +++ b/0002-Suppress-NPM-message-to-run-global-update.patch @@@ -1,7 -1,7 +1,7 @@@ - From ab6c18fd9aba942bee3f2f8030273c846b6025a6 Mon Sep 17 00:00:00 2001 -From 945b762887c65c2c70024de259e27db8a0a31859 Mon Sep 17 00:00:00 2001 ++From aa203e18cd0a5398e5b7e1900ba71a0816c1fd3d Mon Sep 17 00:00:00 2001 From: Stephen Gallagher sgallagh@redhat.com Date: Tue, 1 May 2018 08:05:30 -0400 - Subject: [PATCH 2/2] Suppress NPM message to run global update + Subject: [PATCH 2/3] Suppress NPM message to run global update
Signed-off-by: Stephen Gallagher sgallagh@redhat.com --- diff --cc 0003-Install-both-binaries-and-use-libdir.patch index 0000000,7b92718..2b77ef0 mode 000000,100644..100644 --- a/0003-Install-both-binaries-and-use-libdir.patch +++ b/0003-Install-both-binaries-and-use-libdir.patch @@@ -1,0 -1,98 +1,98 @@@ -From ec52fb7c987b3fe68560ae878b4b0f522f01f8a5 Mon Sep 17 00:00:00 2001 ++From bf276a108cf7710220c3ed2a8bd0685478703c9b Mon Sep 17 00:00:00 2001 + From: Elliott Sales de Andrade quantum.analyst@gmail.com + Date: Tue, 19 Mar 2019 23:22:40 -0400 + Subject: [PATCH 3/3] Install both binaries and use libdir. + + This allows us to build with a shared library for other users while + still providing the normal executable. + + Signed-off-by: Elliott Sales de Andrade quantum.analyst@gmail.com + --- + configure.py | 7 +++++++ + tools/install.py | 29 +++++++++++++---------------- + 2 files changed, 20 insertions(+), 16 deletions(-) + + diff --git a/configure.py b/configure.py -index 0ad986ab82e29fdc436794b7f24e49afe1239dca..a58420fc618fe9ad79dcdc27bb6758f34ffaa481 100755 ++index 9f780ab9bca150df7a635af00c2976c1fb8156a7..f1f2b129466334436747c3e7f95b7bb6dc245253 100755 + --- a/configure.py + +++ b/configure.py -@@ -550,10 +550,16 @@ parser.add_option('--shared', ++@@ -560,10 +560,16 @@ parser.add_option('--shared', + action='store_true', + dest='shared', + help='compile shared library for embedding node in another project. ' + + '(This mode is not officially supported for regular applications)') + + +parser.add_option('--libdir', + + action='store', + + dest='libdir', + + default='lib', + + help='a directory to install the shared library into') + + + parser.add_option('--without-v8-platform', + action='store_true', + dest='without_v8_platform', + default=False, + help='do not initialize v8 platform during node.js startup. ' + -@@ -1093,10 +1099,11 @@ def configure_node(o): ++@@ -1106,10 +1112,11 @@ def configure_node(o): + + o['variables']['node_no_browser_globals'] = b(options.no_browser_globals) + if options.code_cache_path: + o['variables']['node_code_cache_path'] = options.code_cache_path + o['variables']['node_shared'] = b(options.shared) + + o['variables']['libdir'] = options.libdir + node_module_version = getmoduleversion.get_version() + + if sys.platform == 'darwin': + shlib_suffix = '%s.dylib' + elif sys.platform.startswith('aix'): + diff --git a/tools/install.py b/tools/install.py -index 028c32ecbbdf9625238dfcc2baef66df9408b539..bf443c4d15a3b3ebf1e10a5dd802e9c5999691e5 100755 ++index 3befec213b1ce68b234f0a2602a8acd302fd8422..e7a6c67c3a72ee7745ba45049552a4e8feee5a61 100755 + --- a/tools/install.py + +++ b/tools/install.py -@@ -115,30 +115,27 @@ def subdir_files(path, dest, action): ++@@ -120,30 +120,27 @@ def subdir_files(path, dest, action): + for subdir, files in ret.items(): + action(files, subdir + '/') + + def files(action): + is_windows = sys.platform == 'win32' + - output_file = 'node' + output_prefix = 'out/Release/' + + output_libprefix = output_prefix + + - if 'false' == variables.get('node_shared'): + - if is_windows: + - output_file += '.exe' + + if is_windows: + + output_bin = 'node.exe' + + output_lib = 'node.dll' + else: + - if is_windows: + - output_file += '.dll' + - else: + - output_file = 'lib' + output_file + '.' + variables.get('shlib_suffix') + - # GYP will output to lib.target except on OS X, this is hardcoded + - # in its source - see the _InstallableTargetInstallPath function. + - if sys.platform != 'darwin': + - output_prefix += 'lib.target/' + + output_bin = 'node' + + output_lib = 'libnode.' + variables.get('shlib_suffix') + + # GYP will output to lib.target except on OS X, this is hardcoded + + # in its source - see the _InstallableTargetInstallPath function. + + if sys.platform != 'darwin': + + output_libprefix += 'lib.target/' + + - if 'false' == variables.get('node_shared'): + - action([output_prefix + output_file], 'bin/' + output_file) + - else: + - action([output_prefix + output_file], 'lib/' + output_file) + + action([output_prefix + output_bin], 'bin/' + output_bin) + + if 'true' == variables.get('node_shared'): + + action([output_libprefix + output_lib], variables.get('libdir') + '/' + output_lib) + + if 'true' == variables.get('node_use_dtrace'): + action(['out/Release/node.d'], 'lib/dtrace/node.d') + + # behave similarly for systemtap + -- + 2.21.0 + diff --cc 0003-PATCH-PPC-use-pc-relative-address-to-init-constpool-.patch index 0436f75,0436f75..0000000 deleted file mode 100644,100644 --- a/0003-PATCH-PPC-use-pc-relative-address-to-init-constpool-.patch +++ /dev/null @@@ -1,128 -1,128 +1,0 @@@ --From cefa0fd937cb48a8431e62268b2c9500b104d4e5 Mon Sep 17 00:00:00 2001 --From: Junliang Yan jyan@ca.ibm.com --Date: Wed, 9 May 2018 18:39:49 -0400 --Subject: [PATCH 3/4] [PATCH] PPC: use pc-relative address to init constpool -- reg -- --R=joransiu@ca.ibm.com -- --Change-Id: I67364f29d494b09786a14b13743f73bef4b64582 --Reviewed-on: https://chromium-review.googlesource.com/950242 --Commit-Queue: Junliang Yan jyan@ca.ibm.com --Reviewed-by: Joran Siu joransiu@ca.ibm.com --Cr-Commit-Position: refs/heads/master@{#51750} -- --Signed-off-by: Stephen Gallagher sgallagh@redhat.com ----- -- deps/v8/src/ppc/macro-assembler-ppc.cc | 14 ++++++++++---- -- deps/v8/src/ppc/macro-assembler-ppc.h | 9 +++++---- -- 2 files changed, 15 insertions(+), 8 deletions(-) -- --diff --git a/deps/v8/src/ppc/macro-assembler-ppc.cc b/deps/v8/src/ppc/macro-assembler-ppc.cc --index 68efa84c72c7f6d781d508183b53ea83024944d1..3192e9cefb1c1b116c5e12b5c52e7971b92a111a 100644 ----- a/deps/v8/src/ppc/macro-assembler-ppc.cc --+++ b/deps/v8/src/ppc/macro-assembler-ppc.cc --@@ -166,11 +166,11 @@ void TurboAssembler::Call(Register target) {