import UBI nodejs22-22.16.0-1.el10_0

This commit is contained in:
eabdullin 2025-06-04 11:21:26 +00:00
parent d3b6211d26
commit 1e402b2a99
6 changed files with 3927 additions and 14 deletions

6
.gitignore vendored
View File

@ -1,3 +1,3 @@
icu4c-76_1-data-bin-b.zip
icu4c-76_1-data-bin-l.zip
node-v22.15.0-stripped.tar.gz
icu4c-77_1-data-bin-b.zip
icu4c-77_1-data-bin-l.zip
node-v22.16.0-stripped.tar.gz

View File

@ -108,7 +108,7 @@ 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
rm -f node-v${version}.tar.gz node-v${version}-stripped.tar.gz
@ -123,8 +123,8 @@ tar -zcf node-v${version}-stripped.tar.gz node-v${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')
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 -w '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 -w '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*-src.tgz

View File

@ -62,7 +62,7 @@
# than a Fedora release lifecycle.
%global nodejs_epoch 1
%global nodejs_major 22
%global nodejs_minor 15
%global nodejs_minor 16
%global nodejs_patch 0
# nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h
%global nodejs_soversion 127
@ -108,7 +108,7 @@
%global ngtcp2_version 1.11.0
# ICU - from tools/icu/current_ver.dep
%global icu_major 76
%global icu_major 77
%global icu_minor 1
%global icu_version %{icu_major}.%{icu_minor}
@ -117,7 +117,7 @@
# " this line just fixes syntax highlighting for vim that is confused by the above and continues literal
# simdutf from deps/simdutf/simdutf.h
%global simdutf_version 6.0.3
%global simdutf_version 6.4.2
# OpenSSL minimum version
%global openssl11_minimum 1:1.1.1
@ -177,6 +177,8 @@ Source202: nodejs.pc.in
Source203: v8.pc.in
Source204: nodejs22_abi.req
Source205: nodejs22_abi.attr
Source300: test-runner.sh
Source301: test-should-pass.txt
Patch: 0001-Remove-unused-OpenSSL-config.patch
@ -817,6 +819,13 @@ install -Dpm0644 %{SOURCE204} %{buildroot}%{_rpmconfigdir}/fileattrs/nodejs%{nod
%check
#run unit test that should pass from list
LD_LIBRARY_PATH=%{buildroot}%{_libdir} \
bash %{SOURCE300} \
%{buildroot}/%{_bindir}/node-%{nodejs_pkg_major} \
%{_builddir}/node-v%{nodejs_version}/test/ \
%{SOURCE301}
# Fail the build if the versions don't match
LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node-%{nodejs_pkg_major} -e "require('assert').equal(process.versions.node, '%{nodejs_version}')"
LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node-%{nodejs_pkg_major} -e "require('assert').equal(process.versions.v8.replace(/-node\.\d+$/, ''), '%{v8_version}')"
@ -953,10 +962,19 @@ end
%changelog
## START: Generated by rpmautospec
* Tue Apr 29 2025 tjuhasz <tjuhasz@redhat.com> - 1:22.15.0-1
* Tue May 27 2025 Andrei Radchenko <aradchen@redhat.com> - 1:22.16.0-1
- Update to version 22.16.0
* Tue May 20 2025 tjuhasz <tjuhasz@redhat.com> - 1:22.15.0-3
- Make grep Source stricter in nodejs-tarball
* Tue May 20 2025 tjuhasz <tjuhasz@redhat.com> - 1:22.15.0-2
- Add unit-test during build for nodejs22
* Thu Apr 24 2025 tjuhasz <tjuhasz@redhat.com> - 1:22.15.0-1
- Update to version 22.15.0
* Tue Apr 15 2025 tjuhasz <tjuhasz@redhat.com> - 1:22.13.1-6
* Tue Apr 22 2025 tjuhasz <tjuhasz@redhat.com> - 1:22.13.1-6
- Update c-ares with fix for CVE-2025-31498
* Thu Mar 06 2025 Jan Staněk <jstanek@redhat.com> - 1:22.13.1-5

View File

@ -1,3 +1,3 @@
SHA512 (icu4c-76_1-data-bin-b.zip) = 098326fbb0f4a1b70a314985cbe6918f3fec94feb17236dcf8efbc516e139294ec96ae49210e11ee40f4de1ac6977e939cbfd6087009be057b8a60d3ad01daad
SHA512 (icu4c-76_1-data-bin-l.zip) = 1359ff28bad54f73fe29cc5c4fffb4c11c64399ddcc39bea2ee60b5d3672e7f79546a2255d604474cbd861791c11e62eb50bcecc0cf2cf9a7ece59180e8520fc
SHA512 (node-v22.15.0-stripped.tar.gz) = 1f891e937bb14bdd5ffb217e835ec226c0251373fcd63e354cab9f25c305cf0f18e4e95d3738e6b0ba34ed7fd5105b3b2a5381c0e79335b4d8882075b595bdd4
SHA512 (icu4c-77_1-data-bin-b.zip) = 93b4c8228a059546e7c3e337f1f837db255c0046c15f50a31a7bd20daf361174edab05b01faaac1dd4f515ca3c1f1d7fb0f61e4177eb5631833ad1450e252c4e
SHA512 (icu4c-77_1-data-bin-l.zip) = 3de15bb5925956b8e51dc6724c2114a1009ec471a2241b09ae09127f1760f44d02cc29cfbeed6cbaac6ee880553ac8395c61c6043c00ddba3277233e19e6490e
SHA512 (node-v22.16.0-stripped.tar.gz) = 63f9ccf38a9c3384ba07d5792cde18517b0c3fbfb612f13cce6b98381a8c951008550a5950bec7078b88e7f7f69e714a82f586cf2433659295db64d8013df784

59
test-runner.sh Executable file
View File

@ -0,0 +1,59 @@
#!/bin/bash
NODE_BIN="$1"
PARENT_TEST_FOLDER="$2"
TEST_LIST_FILE="$3"
# At most 10 min per test
TIMEOUT_DURATION=600
# Exit code
FINAL_RESULT=0
ARCH=$(uname -m)
echo "Started test run:"
# Run the list of test
while IFS= read -r test_line; do
# ignore commented lines
if [[ "$test_line" =~ ^# ]]; then
continue
fi
# If test has specified ARCH which it should be skipped
# Extract it
TEST_PATH=$(echo "$test_line" | awk '{print $1}')
IGNORE_ARCHES=$(echo "$test_line" |\
awk '{for (i=2; i<=NF; i++) printf "%s ", $i; print ""}')
# Skip test for specified ARCH
for ARCH_IGNORE in $IGNORE_ARCHES; do
if [[ "$ARCH_IGNORE" == "$ARCH" ]]; then
continue 2
fi
done
# Construct test path
TEST_SCRIPT="$PARENT_TEST_FOLDER/$TEST_PATH"
if [ ! -f "$TEST_SCRIPT" ]; then
continue
fi
TEST_OUTPUT=$(timeout "$TIMEOUT_DURATION" "$NODE_BIN" "$TEST_SCRIPT" 2>&1)
TEST_RESULT=$?
# Handle test result
if [ $TEST_RESULT -ne 0 ]; then
FINAL_RESULT=1
if [ $TEST_RESULT -eq 124 ]; then
echo "Test timed out: $TEST_SCRIPT"
else
echo "Test failed: $TEST_SCRIPT"
fi
echo "Test failure message:"
echo "$TEST_OUTPUT"
fi
done < "$TEST_LIST_FILE"
if [ $FINAL_RESULT -eq 0 ]; then
echo "All tests succesfully passed."
fi
exit $FINAL_RESULT

3836
test-should-pass.txt Normal file

File diff suppressed because it is too large Load Diff