From 2b680c36bd80c315b3d795227519d03dfb1c2e28 Mon Sep 17 00:00:00 2001 From: Adam Majer Date: Mon, 7 Nov 2022 10:03:11 +0000 Subject: [PATCH 1/3] - Update to NodeJS 18.12.1 LTS: * inspector: DNS rebinding in --inspect via invalid octal IP (bsc#1205119, CVE-2022-43548) OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs18?expand=0&rev=28 --- SHASUMS256.txt | 64 ++++++++++++++++++++--------------------- SHASUMS256.txt.sig | Bin 566 -> 566 bytes node-v18.12.0.tar.xz | 3 -- node-v18.12.1.tar.xz | 3 ++ nodejs18.changes | 7 +++++ nodejs18.spec | 67 +++++++++++++++---------------------------- 6 files changed, 65 insertions(+), 79 deletions(-) delete mode 100644 node-v18.12.0.tar.xz create mode 100644 node-v18.12.1.tar.xz diff --git a/SHASUMS256.txt b/SHASUMS256.txt index bd056fa..615b73e 100644 --- a/SHASUMS256.txt +++ b/SHASUMS256.txt @@ -1,34 +1,34 @@ -10b1f6ffd3a10fc33e497ea66019a5f66b748c1f8767fcb22cd3c365b5c30b64 node-v18.12.0-aix-ppc64.tar.gz -7aa5ef109086be0adf433b851504f0522a71a02c6d675e729375cd591a854f3c node-v18.12.0-darwin-arm64.tar.gz -e37d6b4fbb4ca4ef3af0a095ff9089d7a5c3c80d4bc36d916987406f06573464 node-v18.12.0-darwin-arm64.tar.xz -cb3ca15bec3e5732a82bf321af30da8105f61df3934c0e79e6d3e54f84ca7913 node-v18.12.0-darwin-x64.tar.gz -e0e830f859ee20f53c830f1ad86477defee79f87915976cbee14caf6204bbf16 node-v18.12.0-darwin-x64.tar.xz -9c5910727de8edcb2f6cd9f41ee9efe6a6b20e5ebcf30ad4fa86682d0dab5dcf node-v18.12.0-headers.tar.gz -4b6cc138ebe09d0c6d5189a5352a582811ca67b21318240b928f522690a4e632 node-v18.12.0-headers.tar.xz -9bb70b30b9d34f2b859cfef73ec3134537408dbf7806d45f104bc1e1d3c832e9 node-v18.12.0-linux-arm64.tar.gz -a4b0579dd9a046e1bc99eb5bd739c3a9819170e0138a7fe0c8afc24fcad13ba8 node-v18.12.0-linux-arm64.tar.xz -994140b168f39a7d2ccf5c1a1a46a74264d3a1e82a2d76f1a737a5b8a5db4431 node-v18.12.0-linux-armv7l.tar.gz -4f2922620760b5cc1ebe8db4ed543100ab02ea39485d8bd84f8f11c46d9a28e5 node-v18.12.0-linux-armv7l.tar.xz -bc709119b634de60464f898ad215c4c273e5502f6f42df483e180f830f7f5a66 node-v18.12.0-linux-ppc64le.tar.gz -7906a3e5dfc21ed2be755e7867f72b6e839951d514005b01fe8ccfbac179bcb7 node-v18.12.0-linux-ppc64le.tar.xz -2eab63f02943722fd2e342938f0b6d6dea132ed5a0a9ba283dc36e3d3ff73ac8 node-v18.12.0-linux-s390x.tar.gz -47200196b1acf3931f521b87c57343c3a523825eb0922b7aca8456477df50afc node-v18.12.0-linux-s390x.tar.xz -0699c8e02581a9c312d7157331561d36ef23963766eb47daa702edb6fd6735bd node-v18.12.0-linux-x64.tar.gz -9429e26d9a35cb079897f0a22622fe89ff597976259a8fcb38b7d08b154789dc node-v18.12.0-linux-x64.tar.xz -83a0e2246c4f1b33e37b995b479137d14fc3cfc184cc3f798e41a8a4cca1da85 node-v18.12.0.pkg -1fbb44d083ec11d0c208535dac4fb33f9dff7360bbf4b127dd2b9808f3e41106 node-v18.12.0.tar.gz -73a7f01e2999eb197763ced666a6cd544ad580eaefb73e0a849603b3e804f42e node-v18.12.0.tar.xz -cfa003b9ed643d41167a82802fdc1335a280b4844330423bf15f07dc3148d2bb node-v18.12.0-win-x64.7z -56a3a49e0e4701f169bb742ea98f5006800229e2e3bf7e10493642f392416ac8 node-v18.12.0-win-x64.zip -3c822e7179c544f7cf1b12ddd0de48e5d65d4c54f0c41d27949cddde4a603469 node-v18.12.0-win-x86.7z -4affa3f3861dd791d62159fa323b91d7f555f5c94780b1452584e2df2bbfa4fe node-v18.12.0-win-x86.zip -5c9443cc6213f88a9c702b995f04b86cda78f01f47f251ce46b7567e1197a59c node-v18.12.0-x64.msi -8a6e8ec6e6a51d1d98052943dd324d0ac53a0f07185d9d7c7ea7c43b3b764a6b node-v18.12.0-x86.msi -f5d52e89e7fbe0a758892182f44fb097f6f7c8fe994eb412c8f6e87274e1ea5e win-x64/node.exe +adc237098880c85b3aacaf2dfbea86c3db065fa7e4cbf207b617a661f4627555 node-v18.12.1-aix-ppc64.tar.gz +9857042e18a0530a19f22f29a38de4fed5608e32543216f9afb6edea8d0dfdd3 node-v18.12.1-darwin-arm64.tar.gz +17f2e25d207d36d6b0964845062160d9ed16207c08d09af33b9a2fd046c5896f node-v18.12.1-darwin-arm64.tar.xz +90ac0e8148f3fb52bcfc01d9f7d7963ce565dd0add0cd8d3e0698fbd7ecf1e5a node-v18.12.1-darwin-x64.tar.gz +6c88d462550a024661e74e9377371d7e023321a652eafb3d14d58a866e6ac002 node-v18.12.1-darwin-x64.tar.xz +9d55ee072ba6d5a141db092cef1a0f715f7d3fc938285a6d927a1d0a0c7442f7 node-v18.12.1-headers.tar.gz +c16e93695b00520a085b999808883d40c0ec12759a9ee63448133060c3aab2eb node-v18.12.1-headers.tar.xz +521587df6d2b9d9c524105c8f3f9d775dcfc5e7fbf7633e4455cc2e9af7d0ced node-v18.12.1-linux-arm64.tar.gz +3904869935b7ecc51130b4b86486d2356539a174d11c9181180cab649f32cd2a node-v18.12.1-linux-arm64.tar.xz +0c726bb061d10befb5e383e3e787446dc86ba99ae849fb24f27f88fee27433d5 node-v18.12.1-linux-armv7l.tar.gz +d0131a764c0f44821fdacb3c3ab8b35b52af060a98ac7a150ec49d4c540be3d7 node-v18.12.1-linux-armv7l.tar.xz +b6eb0af1311f6cb0349c7b7babc17bb32865a2eed6c7f304eddc111bf9576481 node-v18.12.1-linux-ppc64le.tar.gz +9646cd3dbaf80828a7b420a9b80fd3be3ecf5d182e1c080c85397b9986a9c818 node-v18.12.1-linux-ppc64le.tar.xz +28270961975e3c166e049d6ceff8cd7068802f54ddd7c9c12b6941ee129ead44 node-v18.12.1-linux-s390x.tar.gz +c4672a02aaf5311d32a1bd3ec8a8607f03b2f692142b5fb305cc3562f9cb316f node-v18.12.1-linux-s390x.tar.xz +a8fcacb8033504e6d704bdee821f7005ee3774db25c799bcf2a13b5bda7de172 node-v18.12.1-linux-x64.tar.gz +4481a34bf32ddb9a9ff9540338539401320e8c3628af39929b4211ea3552a19e node-v18.12.1-linux-x64.tar.xz +16acaf8d12c9f828fdd71cd499b324014e961c9d36d0d0f7a092863ce3100065 node-v18.12.1.pkg +ba8174dda00d5b90943f37c6a180a1d37c861d91e04a4cb38dc1c0c74981c186 node-v18.12.1.tar.gz +4fa406451bc52659a290e52cfdb2162a760bd549da4b8bbebe6a29f296d938df node-v18.12.1.tar.xz +b8f73f9b7fa78aebf172893713b14908aa46585dbb88e333bf9c26102533a7f6 node-v18.12.1-win-x64.7z +5478a5a2dce2803ae22327a9f8ae8494c1dec4a4beca5bbf897027380aecf4c7 node-v18.12.1-win-x64.zip +a02b64d9a3f457e00a6138d6b51812b53dcc458632b228cba862081263d01d48 node-v18.12.1-win-x86.7z +099b42d27b7d05fe6feb04fa525364e960aa348f8ad2d95fef64e1608ee843be node-v18.12.1-win-x86.zip +68e5d77f23c71168b6066444c36c9489c4165db6619c6cf5ac96b48684831fdd node-v18.12.1-x64.msi +860682f15893741ad18c7c257d79a51b875c1136d5d9e3cc55e8c7f273780fbc node-v18.12.1-x86.msi +215180104150568025cc41ba9b234b8f6c6ad4c7f75f2e55a97de85cfb545060 win-x64/node.exe 1bd376a23d181d85096d1a9c46e6be7fcd20d30f9b8f77a2a847d3dbff8e25c7 win-x64/node.lib -9e1687e3662ddc35231ca25a9aac9cf16c88b6d4f07698b01c4ed1ced185c71c win-x64/node_pdb.7z -bc13c387a6aad16f73ee15fb2effb28de745cc43c36fd4dd0cbc6bffc19637f9 win-x64/node_pdb.zip -c5ea7601d9c284ba3c3e0bfe79a8d34c71e95ab77fa65e7ffeddab3bbe1a503e win-x86/node.exe +2b76e27f6cb0d30467b71a0ac22b55b36f657f6b38e6c38e49e98de6a1e60de9 win-x64/node_pdb.7z +fda35a2fd04d550831c5069d3b2f4024ec7d950e45dff9caa59e7b5f8b16e50c win-x64/node_pdb.zip +4fedbbe7d609875d75c6361974828ff7d2bd65195b4e17472c8c407d991cd209 win-x86/node.exe b1c6dc670911d85ef1704fa56f4cc4c7e1071f4869778398e6d88b3b0b565978 win-x86/node.lib -eb4e367282a758d8dbcc4ff9ce9999817fe7a841bbb74fe48877c8ba137cd7f7 win-x86/node_pdb.7z -8b426361c373c2ac8471ee1f4321074a68c81d8b5776b92bac7c55560f0d7e6f win-x86/node_pdb.zip +99f54dfb72497d84ad3326ee811c667187983707c0f12c96d96d0dd948b78152 win-x86/node_pdb.7z +3fc2c909af7f8039459b86f42332310eb591b44970439445917ecd5fe295130e win-x86/node_pdb.zip diff --git a/SHASUMS256.txt.sig b/SHASUMS256.txt.sig index b3b71bf50cef0d8e97066b3a7e48e45ea66cbb8f..3527c44a3e92c6780c46324fc17a3bd2fe1763b7 100644 GIT binary patch literal 566 zcmV-60?GY}0y6{v0SEvc79j*-{AeBflAw9_&+N0%K)zCjbfw5SKqG zRg~;TiB5+Q0IIvc^+*tF^HFoIH|exx+^eWy+s&eCv6kx3fCIjQ{zH9t$>2&=hG?sD zUn1a4^^(b-dK$EHwFlAQ`&A#`KW;c(xA0;zjt9JXn{#>I)XarSWR3 zTOEA6^K79LIjtarMGg;SQz)=MF*BS%xh#i=C*p89#os--7@9<4l65y_4~^}PWcg_B zrn_=n^QI0$aYuh4;f6m5PjN0U)EZ8Pe}6aaElM1Hd!8k)7n)y2tkoYzFgzH5?I6~X zY$R9A=Ey&*dX>ARDyFgzT8GHogFPa%fQD&yVs0A+<@o&XO;j~n8Xd9WPUqhLlBvV! zTHFZB4Z@Nw(Ckam(c>`0@TN4FwF51Q(90mH8Oi{Lhuh(|HclxEU;uy?w&O9m=QbQB7O8{v~wm9EAvc!k#B4Vd32JzN+f z`Z#x&ViFX%(NO~5-XVOix6&nlrW+!8`*8-}82cmm;#hk literal 566 zcmV-60?GY}0y6{v0SEvc79j)>k5aUawR^D4Lz^j=uoM}+lK2V*0%KTKTL20P5SOqN z8NHJD3W&210Fc~->7f%w2vS8kDnj-h+!95lR6Z4tZiGOObO~{sYnJfQ*`d_t^H6hF zVfcxa-`S{VUI90pN~8TRhe6=$@n%O{*@>#>!NdO5yze`NL(IZ=Kv_q80RW=koE<2D z%X&2gu+;@wH7vn4>(%zOGgjnn)n3j8i7KDig6q5@ebHv2LnMJM_lsuQh0)Y+X;0(v zVZ}aV^~|=ETLuShtqVT7E1%Ez8-813cH};iU|EKf4I>r+=CVe;CDx|Ve@Go2ndc|- z$i~UNTBw5O{4e+=l+&F-H?vJNLSvjZJS^<*USAsUZFL#u{yg*nJdK>vf7 zw?H=!A9pP;YAeA=B}lxpqmULP;;Qcs#os|s8Enm}Il2l@(X`KH0`V{O4Uau}KT!dI zfChzLE~75GZ|$k&3v2l`1x3E!v=<0289t8osY1-&?#5Zu#w$9%{%iY&HK7$dB%m^` z_1SbkZl!*=8-A+KU#p)f4P?E16$_YuR6GH-n2k-N@T4`$AzGTEhMcmde4j!0uF0C_ zKy*i6X{73v1O3>!J;>1gftvi$$U^AGGt{$a9Gh!$+o70&s0a19uDy1}l$qOnu(745 E%+>-JWdHyG diff --git a/node-v18.12.0.tar.xz b/node-v18.12.0.tar.xz deleted file mode 100644 index 6a1241e..0000000 --- a/node-v18.12.0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:73a7f01e2999eb197763ced666a6cd544ad580eaefb73e0a849603b3e804f42e -size 38443968 diff --git a/node-v18.12.1.tar.xz b/node-v18.12.1.tar.xz new file mode 100644 index 0000000..55d424f --- /dev/null +++ b/node-v18.12.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4fa406451bc52659a290e52cfdb2162a760bd549da4b8bbebe6a29f296d938df +size 38454588 diff --git a/nodejs18.changes b/nodejs18.changes index ce97a3a..68d488e 100644 --- a/nodejs18.changes +++ b/nodejs18.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon Nov 7 09:05:07 UTC 2022 - Adam Majer + +- Update to NodeJS 18.12.1 LTS: + * inspector: DNS rebinding in --inspect via invalid octal IP + (bsc#1205119, CVE-2022-43548) + ------------------------------------------------------------------- Fri Oct 28 10:31:50 UTC 2022 - Adam Majer diff --git a/nodejs18.spec b/nodejs18.spec index 7dda274..ad4af34 100644 --- a/nodejs18.spec +++ b/nodejs18.spec @@ -15,23 +15,13 @@ # Please submit bugfixes or comments via https://bugs.opensuse.org/ # -########################################################### -# -# WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! -# -# This spec file is generated from a template hosted at -# https://github.com/AdamMajer/nodejs-packaging -# -########################################################### -# Fedora doesn't have rpm-config-SUSE which provides -# ext_man in /usr/lib/rpm/macros.d/macros.obs %if 0%{?fedora_version} %define ext_man .gz %endif Name: nodejs18 -Version: 18.12.0 +Version: 18.12.1 Release: 0 # Double DWZ memory limits @@ -129,12 +119,12 @@ Source1: https://nodejs.org/dist/v%{version}/SHASUMS256.txt Source2: https://nodejs.org/dist/v%{version}/SHASUMS256.txt.sig Source3: nodejs.keyring -# Python 3.4 compatible node-gyp -### https://github.com/nodejs/node-gyp.git -### git archive v7.1.2 gyp/ | xz > node-gyp_7.1.2.tar.xz -Source5: node-gyp_7.1.2.tar.xz -# Only required to run unit tests in NodeJS 10+ -Source10: update_npm_tarball.sh +# Python 3.4 compatible node-gyp +### https://github.com/nodejs/node-gyp.git +### git archive v7.1.2 gyp/ | xz > node-gyp_7.1.2.tar.xz +Source5: node-gyp_7.1.2.tar.xz +# Only required to run unit tests in NodeJS 10+ +Source10: update_npm_tarball.sh Source11: node_modules.tar.xz Source20: bash_output_helper.bash @@ -145,8 +135,6 @@ Patch5: sle12_python3_compat.patch Patch7: manual_configure.patch Patch13: openssl_binary_detection.patch - - ## Patches specific to SUSE and openSUSE Patch100: linker_lto_jobs.patch # PATCH-FIX-OPENSUSE -- set correct path for dtrace if it is built @@ -173,8 +161,8 @@ Patch200: versioned.patch Patch304: new_python3.patch Patch305: qemu_timeouts_arches.patch -BuildRequires: pkg-config BuildRequires: fdupes +BuildRequires: pkg-config BuildRequires: procps BuildRequires: xz BuildRequires: zlib-devel @@ -194,10 +182,10 @@ BuildRequires: config(netcfg) %if 0%{?suse_version} == 1110 # GCC 5 is only available in the SUSE:SLE-11:SP4:Update repository (SDK). %if %node_version_number >= 8 -BuildRequires: gcc5-c++ +BuildRequires: gcc5-c++ %define forced_gcc_version 5 %else -BuildRequires: gcc48-c++ +BuildRequires: gcc48-c++ %define forced_gcc_version 4.8 %endif %endif @@ -207,15 +195,15 @@ BuildRequires: gcc48-c++ # for SLE-12:Update targets %if 0%{?suse_version} == 1315 %if %node_version_number >= 17 -BuildRequires: gcc12-c++ +BuildRequires: gcc12-c++ %define forced_gcc_version 12 %else %if %node_version_number >= 14 -BuildRequires: gcc9-c++ +BuildRequires: gcc9-c++ %define forced_gcc_version 9 %else %if %node_version_number >= 8 -BuildRequires: gcc7-c++ +BuildRequires: gcc7-c++ %define forced_gcc_version 7 %endif %endif @@ -224,7 +212,7 @@ BuildRequires: gcc7-c++ %if 0%{?suse_version} == 1500 %if %node_version_number >= 17 -BuildRequires: gcc12-c++ +BuildRequires: gcc12-c++ %define forced_gcc_version 12 %endif %endif @@ -235,7 +223,6 @@ BuildRequires: gcc12-c++ BuildRequires: gcc-c++ %endif - # Python dependencies %if %node_version_number >= 16 @@ -260,8 +247,8 @@ BuildRequires: python %endif %if 0%{?suse_version} >= 1500 && %{node_version_number} >= 10 -BuildRequires: user(nobody) BuildRequires: group(nobody) +BuildRequires: user(nobody) %endif %if ! 0%{with intree_openssl} @@ -293,7 +280,7 @@ BuildRequires: openssl >= %{openssl_req_ver} %else %if %node_version_number <= 12 && 0%{?suse_version} == 1315 && 0%{?sle_version} < 120400 -Provides: bundled(openssl) = 3.0.5 +Provides: bundled(openssl) = 3.0.7 %else BuildRequires: bundled_openssl_should_not_be_required %endif @@ -324,7 +311,7 @@ BuildRequires: valgrind %if %{with libalternatives} Requires: alts %else -Requires(postun): %{_sbindir}/update-alternatives +Requires(postun):%{_sbindir}/update-alternatives %endif # either for update-alternatives, or their removal Requires(post): %{_sbindir}/update-alternatives @@ -363,8 +350,8 @@ ExclusiveArch: not_buildable %endif %endif -Provides: bundled(uvwasi) = 0.0.13 Provides: bundled(libuv) = 1.43.0 +Provides: bundled(uvwasi) = 0.0.13 Provides: bundled(v8) = 10.2.154.15 %if %{with intree_brotli} Provides: bundled(brotli) = 1.0.9 @@ -372,7 +359,6 @@ Provides: bundled(brotli) = 1.0.9 BuildRequires: pkgconfig(libbrotlidec) %endif - Provides: bundled(llhttp) = 6.0.10 Provides: bundled(ngtcp2) = 0.8.1 @@ -393,8 +379,8 @@ provided by npm. Summary: Development headers for NodeJS 18.x Group: Development/Languages/NodeJS Provides: nodejs-devel = %{version} -Requires: npm18 = %{version} Requires: %{name} = %{version} +Requires: npm18 = %{version} %description devel This package provides development headers for Node.js needed for creation @@ -411,12 +397,12 @@ Requires: nodejs-common Requires: nodejs18 = %{version} Provides: nodejs-npm = %{version} Obsoletes: nodejs-npm < 4.0.0 -Provides: npm(npm) = 8.19.2 Provides: npm = %{version} +Provides: npm(npm) = 8.19.2 %if 0%{?suse_version} >= 1500 %if %{node_version_number} >= 10 -Requires: user(nobody) Requires: group(nobody) +Requires: user(nobody) %endif %endif Provides: bundled(node-abbrev) = 1.1.1 @@ -582,8 +568,8 @@ Provides: bundled(node-spdx-exceptions) = 2.3.0 Provides: bundled(node-spdx-expression-parse) = 3.0.1 Provides: bundled(node-spdx-license-ids) = 3.0.11 Provides: bundled(node-ssri) = 9.0.1 -Provides: bundled(node-string_decoder) = 1.3.0 Provides: bundled(node-string-width) = 4.2.3 +Provides: bundled(node-string_decoder) = 1.3.0 Provides: bundled(node-strip-ansi) = 6.0.1 Provides: bundled(node-supports-color) = 7.2.0 Provides: bundled(node-tar) = 6.1.11 @@ -683,14 +669,6 @@ find -name \*~ -print0 -delete # abnormalities from patching find \( -name \*.js.orig -or -name \*.md.orig -or -name \*.1.orig \) -delete -# downgrade node-gyp to last version that supports python 3.4 for SLE12 -%if 0%{?suse_version} && 0%{?suse_version} < 1500 -rm -r deps/npm/node_modules/node-gyp -mkdir deps/npm/node_modules/node-gyp -tar -C deps/npm/node_modules/node-gyp Jxf %{SOURCE5} -%endif - - %build # normalize shebang %if %{node_version_number} >= 12 @@ -1038,6 +1016,7 @@ update-alternatives --remove npm-default %{_bindir}/npm%{node_version_number} update-alternatives --remove npx-default %{_bindir}/npx%{node_version_number} %else + %pre # remove files that are no longer owned but provided by update-alternatives if ! [ -L %{_mandir}/man1/node.1%{ext_man} ]; then From a5d6117a4304aaa2aef9936af6dd0656ffe97376 Mon Sep 17 00:00:00 2001 From: Adam Majer Date: Mon, 7 Nov 2022 10:38:20 +0000 Subject: [PATCH 2/3] OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs18?expand=0&rev=29 --- nodejs18.spec | 55 +++++++++++++++++++++++++++++++-------------------- 1 file changed, 34 insertions(+), 21 deletions(-) diff --git a/nodejs18.spec b/nodejs18.spec index ad4af34..252b83f 100644 --- a/nodejs18.spec +++ b/nodejs18.spec @@ -15,7 +15,17 @@ # Please submit bugfixes or comments via https://bugs.opensuse.org/ # +########################################################### +# +# WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! +# +# This spec file is generated from a template hosted at +# https://github.com/AdamMajer/nodejs-packaging +# +########################################################### +# Fedora doesn't have rpm-config-SUSE which provides +# ext_man in /usr/lib/rpm/macros.d/macros.obs %if 0%{?fedora_version} %define ext_man .gz %endif @@ -119,12 +129,12 @@ Source1: https://nodejs.org/dist/v%{version}/SHASUMS256.txt Source2: https://nodejs.org/dist/v%{version}/SHASUMS256.txt.sig Source3: nodejs.keyring -# Python 3.4 compatible node-gyp -### https://github.com/nodejs/node-gyp.git -### git archive v7.1.2 gyp/ | xz > node-gyp_7.1.2.tar.xz -Source5: node-gyp_7.1.2.tar.xz -# Only required to run unit tests in NodeJS 10+ -Source10: update_npm_tarball.sh +# Python 3.4 compatible node-gyp +### https://github.com/nodejs/node-gyp.git +### git archive v7.1.2 gyp/ | xz > node-gyp_7.1.2.tar.xz +Source5: node-gyp_7.1.2.tar.xz +# Only required to run unit tests in NodeJS 10+ +Source10: update_npm_tarball.sh Source11: node_modules.tar.xz Source20: bash_output_helper.bash @@ -135,6 +145,8 @@ Patch5: sle12_python3_compat.patch Patch7: manual_configure.patch Patch13: openssl_binary_detection.patch + + ## Patches specific to SUSE and openSUSE Patch100: linker_lto_jobs.patch # PATCH-FIX-OPENSUSE -- set correct path for dtrace if it is built @@ -161,8 +173,8 @@ Patch200: versioned.patch Patch304: new_python3.patch Patch305: qemu_timeouts_arches.patch -BuildRequires: fdupes BuildRequires: pkg-config +BuildRequires: fdupes BuildRequires: procps BuildRequires: xz BuildRequires: zlib-devel @@ -182,10 +194,10 @@ BuildRequires: config(netcfg) %if 0%{?suse_version} == 1110 # GCC 5 is only available in the SUSE:SLE-11:SP4:Update repository (SDK). %if %node_version_number >= 8 -BuildRequires: gcc5-c++ +BuildRequires: gcc5-c++ %define forced_gcc_version 5 %else -BuildRequires: gcc48-c++ +BuildRequires: gcc48-c++ %define forced_gcc_version 4.8 %endif %endif @@ -195,15 +207,15 @@ BuildRequires: gcc48-c++ # for SLE-12:Update targets %if 0%{?suse_version} == 1315 %if %node_version_number >= 17 -BuildRequires: gcc12-c++ +BuildRequires: gcc12-c++ %define forced_gcc_version 12 %else %if %node_version_number >= 14 -BuildRequires: gcc9-c++ +BuildRequires: gcc9-c++ %define forced_gcc_version 9 %else %if %node_version_number >= 8 -BuildRequires: gcc7-c++ +BuildRequires: gcc7-c++ %define forced_gcc_version 7 %endif %endif @@ -212,7 +224,7 @@ BuildRequires: gcc7-c++ %if 0%{?suse_version} == 1500 %if %node_version_number >= 17 -BuildRequires: gcc12-c++ +BuildRequires: gcc12-c++ %define forced_gcc_version 12 %endif %endif @@ -223,6 +235,7 @@ BuildRequires: gcc12-c++ BuildRequires: gcc-c++ %endif + # Python dependencies %if %node_version_number >= 16 @@ -247,8 +260,8 @@ BuildRequires: python %endif %if 0%{?suse_version} >= 1500 && %{node_version_number} >= 10 -BuildRequires: group(nobody) BuildRequires: user(nobody) +BuildRequires: group(nobody) %endif %if ! 0%{with intree_openssl} @@ -311,7 +324,7 @@ BuildRequires: valgrind %if %{with libalternatives} Requires: alts %else -Requires(postun):%{_sbindir}/update-alternatives +Requires(postun): %{_sbindir}/update-alternatives %endif # either for update-alternatives, or their removal Requires(post): %{_sbindir}/update-alternatives @@ -350,8 +363,8 @@ ExclusiveArch: not_buildable %endif %endif -Provides: bundled(libuv) = 1.43.0 Provides: bundled(uvwasi) = 0.0.13 +Provides: bundled(libuv) = 1.43.0 Provides: bundled(v8) = 10.2.154.15 %if %{with intree_brotli} Provides: bundled(brotli) = 1.0.9 @@ -359,6 +372,7 @@ Provides: bundled(brotli) = 1.0.9 BuildRequires: pkgconfig(libbrotlidec) %endif + Provides: bundled(llhttp) = 6.0.10 Provides: bundled(ngtcp2) = 0.8.1 @@ -379,8 +393,8 @@ provided by npm. Summary: Development headers for NodeJS 18.x Group: Development/Languages/NodeJS Provides: nodejs-devel = %{version} -Requires: %{name} = %{version} Requires: npm18 = %{version} +Requires: %{name} = %{version} %description devel This package provides development headers for Node.js needed for creation @@ -397,12 +411,12 @@ Requires: nodejs-common Requires: nodejs18 = %{version} Provides: nodejs-npm = %{version} Obsoletes: nodejs-npm < 4.0.0 -Provides: npm = %{version} Provides: npm(npm) = 8.19.2 +Provides: npm = %{version} %if 0%{?suse_version} >= 1500 %if %{node_version_number} >= 10 -Requires: group(nobody) Requires: user(nobody) +Requires: group(nobody) %endif %endif Provides: bundled(node-abbrev) = 1.1.1 @@ -568,8 +582,8 @@ Provides: bundled(node-spdx-exceptions) = 2.3.0 Provides: bundled(node-spdx-expression-parse) = 3.0.1 Provides: bundled(node-spdx-license-ids) = 3.0.11 Provides: bundled(node-ssri) = 9.0.1 -Provides: bundled(node-string-width) = 4.2.3 Provides: bundled(node-string_decoder) = 1.3.0 +Provides: bundled(node-string-width) = 4.2.3 Provides: bundled(node-strip-ansi) = 6.0.1 Provides: bundled(node-supports-color) = 7.2.0 Provides: bundled(node-tar) = 6.1.11 @@ -1016,7 +1030,6 @@ update-alternatives --remove npm-default %{_bindir}/npm%{node_version_number} update-alternatives --remove npx-default %{_bindir}/npx%{node_version_number} %else - %pre # remove files that are no longer owned but provided by update-alternatives if ! [ -L %{_mandir}/man1/node.1%{ext_man} ]; then From 4ae80be344029b2c803e8b57bde46f39f6be82c6 Mon Sep 17 00:00:00 2001 From: Adam Majer Date: Mon, 7 Nov 2022 14:17:05 +0000 Subject: [PATCH 3/3] - Fix migration to openssl-3 (bsc#1205042) OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs18?expand=0&rev=30 --- nodejs18.changes | 5 +++++ nodejs18.spec | 10 +++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/nodejs18.changes b/nodejs18.changes index 68d488e..540bd8c 100644 --- a/nodejs18.changes +++ b/nodejs18.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Nov 7 14:00:54 UTC 2022 - Adam Majer + +- Fix migration to openssl-3 (bsc#1205042) + ------------------------------------------------------------------- Mon Nov 7 09:05:07 UTC 2022 - Adam Majer diff --git a/nodejs18.spec b/nodejs18.spec index 252b83f..aa3be42 100644 --- a/nodejs18.spec +++ b/nodejs18.spec @@ -269,7 +269,7 @@ BuildRequires: group(nobody) BuildRequires: pkgconfig(openssl) >= %{openssl_req_ver} # require patched openssl library on SLES for nodejs16 -%if 0%{?suse_version} +%if 0%{?suse_version} && "%{pkg_version openssl-1_1}" != "~~~" %if %node_version_number >= 16 && 0%{suse_version} <= 1500 && %{pkg_vcmp openssl-1_1 < '1.1.1e' } && 0%{with openssl_RSA_get0_pss_params} BuildRequires: openssl-has-RSA_get0_pss_params Requires: openssl-has-RSA_get0_pss_params @@ -683,6 +683,14 @@ find -name \*~ -print0 -delete # abnormalities from patching find \( -name \*.js.orig -or -name \*.md.orig -or -name \*.1.orig \) -delete +# downgrade node-gyp to last version that supports python 3.4 for SLE12 +%if 0%{?suse_version} && 0%{?suse_version} < 1500 && 0%{node_version_number} > 16 +rm -r deps/npm/node_modules/node-gyp +mkdir deps/npm/node_modules/node-gyp +tar -C deps/npm/node_modules/node-gyp Jxf %{SOURCE5} +%endif + + %build # normalize shebang %if %{node_version_number} >= 12