Hello community, here is the log from the commit of package nodejs4 for openSUSE:Factory checked in at 2017-07-19 11:20:49 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/nodejs4 (Old) and /work/SRC/openSUSE:Factory/.nodejs4.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nodejs4" Wed Jul 19 11:20:49 2017 rev:14 rq:509751 version:4.8.4 Changes: -------- --- /work/SRC/openSUSE:Factory/nodejs4/nodejs4.changes 2017-06-21 13:57:40.471283315 +0200 +++ /work/SRC/openSUSE:Factory/.nodejs4.new/nodejs4.changes 2017-07-19 12:21:47.317758859 +0200 @@ -1,0 +2,37 @@ +Wed Jul 12 08:17:53 UTC 2017 - [email protected] + +- New LTS upstream version 4.8.4 + * v8: disable V8 snapshots. The hashseed embedded in the snapshot + is currently the same for all runs of the binary. This opens + node up to collision attacks which could result in a Denial + of Service. We have temporarily disabled snapshots until a more + robust solution is found (bnc#1048299). + * http: fixes http.get with numeric authorization options that + created/used uninitialized buffers as the authentication string + * The c-ares function ares_parse_naptr_reply(), which is used for + parsing NAPTR responses, could be triggered to read memory + outside of the given input buffer if the passed in DNS response + packet was crafted in a particular way. + (CVE-2017-1000381, bnc#1044946) + +------------------------------------------------------------------- +Fri Jul 7 14:05:05 UTC 2017 - [email protected] + +- Depend on nodejs-common that is then used to pick correctly + versioned node or npm binary. This is required since 3rd party + modules use `/usr/bin/env node` which breaks if multiple versions + of NodeJS are installed at the same time and non-default version + is used (for example, to compile a native module) + +------------------------------------------------------------------- +Thu Jul 6 12:08:26 UTC 2017 - [email protected] + +- npm_search_paths.patch: Since concurrent installations are now + possible, node manual pages are moved once again back under npm + searcheable locations only. +- versioned.patch: All files are now under versioned directoies + and names. node and npm symlinks are now managed by + update-alternatives +- node-gyp-addon-gypi.patch: Reference versioned directories only + +------------------------------------------------------------------- Old: ---- node-v4.8.3.tar.xz New: ---- node-v4.8.4.tar.xz versioned.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ nodejs4.spec ++++++ --- /var/tmp/diff_new_pack.LkIIBD/_old 2017-07-19 12:21:48.941529726 +0200 +++ /var/tmp/diff_new_pack.LkIIBD/_new 2017-07-19 12:21:48.945529162 +0200 @@ -26,7 +26,7 @@ ########################################################### Name: nodejs4 -Version: 4.8.3 +Version: 4.8.4 Release: 0 %if 0%{?sles_version} == 11 @@ -105,6 +105,9 @@ # instead of /usr Patch104: npm_search_paths.patch +# Use versioned binaries and paths +Patch200: versioned.patch + %if %{with binutils_gold} BuildRequires: binutils-gold %endif @@ -135,6 +138,8 @@ BuildRequires: pkgconfig(icu-i18n) >= 52 %endif +Requires(post): update-alternatives +Requires(postun): update-alternatives Recommends: npm(npm) = 2.15.11 #we need ABI virtual provides where SONAMEs aren't enough/not present so deps @@ -145,9 +150,12 @@ #this corresponds to the "engine" requirement in package.json Provides: nodejs(engine) = %{version} -# Only one nodejs installed at a time +# Multiple versions of NodeJS can be installed at a time, but +# to properly allow correct version execution from 3rd party +# npm software, `env node` requires further help than only +# update-alternatives can provide. Provides: nodejs = %{version} -Conflicts: otherproviders(nodejs) +Requires: nodejs-common # For SLE11, to be able to use the certificate store we need to have properly # symlinked certificates. The compatability symlinks are provided by the @@ -171,7 +179,6 @@ Group: Development/Languages/NodeJS Provides: nodejs-devel = %{version} Requires: %{name} = %{version} -Conflicts: otherproviders(nodejs-devel) %description devel This package provides development headers for Node.js. @@ -181,10 +188,9 @@ Group: Development/Languages/NodeJS Requires: %{name}-devel = %{version} Provides: nodejs-npm = %{version} -Obsoletes: nodejs-npm < 5.3.1 +Obsoletes: nodejs-npm < 4.0.0 Provides: npm = %{version} Provides: npm(npm) = 2.15.11 -Conflicts: otherproviders(npm) %description -n npm4 A package manager for Node.js that allows developers to install and @@ -220,6 +226,8 @@ %patch103 -p1 %endif %patch104 -p1 +%patch200 -p1 + # Make sure nothing gets included from bundled deps: # We only delete the source and header files, because # the remaining build scripts are still used. @@ -274,99 +282,123 @@ rm -f %{buildroot}%{_datadir}/doc/node/lldb_commands.py # npm man page -rm -rf %{buildroot}%{_libdir}/node_modules/npm/man -mkdir -p %{buildroot}%{_mandir}/{man1,man5,man7} -install -m 644 deps/npm/man/man1/* %{buildroot}%{_mandir}/man1 -install -m 644 deps/npm/man/man5/* %{buildroot}%{_mandir}/man5 -install -m 644 deps/npm/man/man7/* %{buildroot}%{_mandir}/man7 +install -D -m 644 deps/npm/man/man1/npm.1 %{buildroot}%{_mandir}/man1/npm4.1 #node-gyp needs common.gypi too install -D -m 644 common.gypi \ - %{buildroot}%{_datadir}/node/common.gypi + %{buildroot}%{_libdir}/node_modules/npm4/node_modules/node-gyp/common.gypi +# %%{buildroot}%%{_datadir}/node/common.gypi # install addon-rpm.gypi install -D -m 644 addon-rpm.gypi \ - %{buildroot}%{_libdir}/node_modules/npm/node_modules/node-gyp/addon-rpm.gypi - -# Own nodejs_sitelib -#mkdir -p %{buildroot}%{_libdir}/node_modules/npm + %{buildroot}%{_libdir}/node_modules/npm4/node_modules/node-gyp/addon-rpm.gypi # clean # hidden files and directories -find %{buildroot}%{_libdir}/node_modules/npm -name ".*" -print0 | xargs -r0 -0 rm -rf -- +find %{buildroot}%{_libdir}/node_modules/npm4 -name ".*" -print0 | xargs -r0 -0 rm -rf -- # windows stuff -find %{buildroot}%{_libdir}/node_modules/npm -name "*.bat" -delete -find %{buildroot}%{_libdir}/node_modules/npm -name "*.cmd" -delete +find %{buildroot}%{_libdir}/node_modules/npm4 -name "*.bat" -delete +find %{buildroot}%{_libdir}/node_modules/npm4 -name "*.cmd" -delete # build stuff -find %{buildroot}%{_libdir}/node_modules/npm -name "Makefile" -delete -rm -rf %{buildroot}%{_libdir}/node_modules/npm/{test,scripts} -find %{buildroot}%{_libdir}/node_modules/npm/node_modules -name "*.sh" -delete -rm -rf %{buildroot}%{_libdir}/node_modules/npm/node_modules/node-gyp/src +find %{buildroot}%{_libdir}/node_modules/npm4 -name "Makefile" -delete +rm -rf %{buildroot}%{_libdir}/node_modules/npm4/{test,scripts} +find %{buildroot}%{_libdir}/node_modules/npm4/node_modules -name "*.sh" -delete +rm -rf %{buildroot}%{_libdir}/node_modules/npm4/node_modules/node-gyp/src # remove examples/tests/benchmark stuff -find %{buildroot}%{_libdir}/node_modules/npm/node_modules -name "example*" -print0 | xargs -0 rm -rf -- -find %{buildroot}%{_libdir}/node_modules/npm/node_modules -name "test*" -print0 | xargs -0 rm -rf -- -find %{buildroot}%{_libdir}/node_modules/npm/node_modules -name "*_test.*" -delete -find %{buildroot}%{_libdir}/node_modules/npm/node_modules -type d -name "benchmark" -print0 | xargs -0 rm -rf -- +find %{buildroot}%{_libdir}/node_modules/npm4/node_modules -name "example*" -print0 | xargs -0 rm -rf -- +find %{buildroot}%{_libdir}/node_modules/npm4/NODE_MODULES -name "test*" -print0 | xargs -0 rm -rf -- +find %{buildroot}%{_libdir}/node_modules/npm4/node_modules -name "*_test.*" -delete +find %{buildroot}%{_libdir}/node_modules/npm4/node_modules -type d -name "benchmark" -print0 | xargs -0 rm -rf -- # README.md LICENSE file permission -find %{buildroot}%{_libdir}/node_modules/npm -name "README.md" -exec chmod -x {} + -find %{buildroot}%{_libdir}/node_modules/npm -name "LICENSE" -exec chmod -x {} + +find %{buildroot}%{_libdir}/node_modules/npm4 -name "README.md" -exec chmod -x {} + +find %{buildroot}%{_libdir}/node_modules/npm4 -name "LICENSE" -exec chmod -x {} + # browser.js is useless for npm cli -find %{buildroot}%{_libdir}/node_modules/npm -name "browser.js" -delete +find %{buildroot}%{_libdir}/node_modules/npm4 -name "browser.js" -delete # fix permissions -chmod 0644 %{buildroot}%{_libdir}/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/sntp/lib/index.js \ - %{buildroot}%{_libdir}/node_modules/npm/node_modules/request/node_modules/qs/lib/parse.js \ - %{buildroot}%{_libdir}/node_modules/npm/node_modules/request/node_modules/hawk/lib/index.js \ - %{buildroot}%{_libdir}/node_modules/npm/node_modules/config-chain/index.js \ - %{buildroot}%{_libdir}/node_modules/npm/node_modules/request/node_modules/qs/lib/stringify.js \ - %{buildroot}%{_libdir}/node_modules/npm/node_modules/request/node_modules/hawk/lib/client.js \ - %{buildroot}%{_libdir}/node_modules/npm/node_modules/request/node_modules/hawk/lib/crypto.js \ - %{buildroot}%{_libdir}/node_modules/npm/node_modules/request/node_modules/hawk/lib/utils.js \ - %{buildroot}%{_libdir}/node_modules/npm/node_modules/request/index.js \ - %{buildroot}%{_libdir}/node_modules/npm/node_modules/request/node_modules/qs/lib/index.js \ - %{buildroot}%{_libdir}/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/boom/lib/index.js \ - %{buildroot}%{_libdir}/node_modules/npm/node_modules/request/node_modules/hawk/lib/server.js \ - %{buildroot}%{_libdir}/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/lib/index.js \ - %{buildroot}%{_libdir}/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/sntp/index.js \ - %{buildroot}%{_libdir}/node_modules/npm/node_modules/request/node_modules/qs/lib/utils.js \ - %{buildroot}%{_libdir}/node_modules/npm/node_modules/uid-number/get-uid-gid.js \ - %{buildroot}%{_libdir}/node_modules/npm/bin/read-package-json.js +chmod 0644 %{buildroot}%{_libdir}/node_modules/npm4/node_modules/request/node_modules/hawk/node_modules/sntp/lib/index.js \ + %{buildroot}%{_libdir}/node_modules/npm4/node_modules/request/node_modules/qs/lib/parse.js \ + %{buildroot}%{_libdir}/node_modules/npm4/node_modules/request/node_modules/hawk/lib/index.js \ + %{buildroot}%{_libdir}/node_modules/npm4/node_modules/config-chain/index.js \ + %{buildroot}%{_libdir}/node_modules/npm4/node_modules/request/node_modules/qs/lib/stringify.js \ + %{buildroot}%{_libdir}/node_modules/npm4/node_modules/request/node_modules/hawk/lib/client.js \ + %{buildroot}%{_libdir}/node_modules/npm4/node_modules/request/node_modules/hawk/lib/crypto.js \ + %{buildroot}%{_libdir}/node_modules/npm4/node_modules/request/node_modules/hawk/lib/utils.js \ + %{buildroot}%{_libdir}/node_modules/npm4/node_modules/request/index.js \ + %{buildroot}%{_libdir}/node_modules/npm4/node_modules/request/node_modules/qs/lib/index.js \ + %{buildroot}%{_libdir}/node_modules/npm4/node_modules/request/node_modules/hawk/node_modules/boom/lib/index.js \ + %{buildroot}%{_libdir}/node_modules/npm4/node_modules/request/node_modules/hawk/lib/server.js \ + %{buildroot}%{_libdir}/node_modules/npm4/node_modules/request/node_modules/hawk/node_modules/cryptiles/lib/index.js \ + %{buildroot}%{_libdir}/node_modules/npm4/node_modules/request/node_modules/hawk/node_modules/sntp/index.js \ + %{buildroot}%{_libdir}/node_modules/npm4/node_modules/request/node_modules/qs/lib/utils.js \ + %{buildroot}%{_libdir}/node_modules/npm4/node_modules/uid-number/get-uid-gid.js \ + %{buildroot}%{_libdir}/node_modules/npm4/bin/read-package-json.js # file duplicates -%fdupes %{buildroot}%{_libdir}/node_modules/npm -%fdupes %{buildroot}%{_includedir}/node -%fdupes %{buildroot}%{_mandir}/man5 +%fdupes %{buildroot}%{_libdir}/node_modules/npm4 +%fdupes %{buildroot}%{_includedir}/node4 + +# Update alternatives +mkdir -p %{buildroot}%{_sysconfdir}/alternatives +ln -s -f node-default %{buildroot}%{_sysconfdir}/alternatives/node-default +ln -s -f node.1%{ext_man} %{buildroot}%{_sysconfdir}/alternatives/node.1%{ext_man} +ln -s -f npm-default %{buildroot}%{_sysconfdir}/alternatives/npm-default +ln -s -f npm.1%{ext_man} %{buildroot}%{_sysconfdir}/alternatives/npm.1%{ext_man} +ln -s %{_sysconfdir}/alternatives/node-default %{buildroot}%{_bindir}/node-default +ln -s %{_sysconfdir}/alternatives/node.1%{ext_man} %{buildroot}%{_mandir}/man1/node.1%{ext_man} +ln -s %{_sysconfdir}/alternatives/npm-default %{buildroot}%{_bindir}/npm-default +ln -s %{_sysconfdir}/alternatives/npm.1%{ext_man} %{buildroot}%{_mandir}/man1/npm.1%{ext_man} # Check that Node.js isn't completely broken. %check -%{buildroot}%{_bindir}/node -e 'require("assert").strictEqual(process.versions.node, "%{version}");' +%{buildroot}%{_bindir}/node4 -e 'require("assert").strictEqual(process.versions.node, "%{version}");' %files %defattr(-, root, root) %doc AUTHORS LICENSE *.md %doc deps/v8/tools/gdbinit %dir %{_libdir}/node_modules -%{_bindir}/node -%{_libdir}/node_modules -%{_mandir}/man1/node.1%{ext_man} -%exclude %{_libdir}/node_modules/npm +%{_bindir}/node4 +%{_mandir}/man1/node4.1%{ext_man} +%ghost %{_bindir}/node-default +%ghost %{_mandir}/man1/node.1%{ext_man} +%ghost %{_sysconfdir}/alternatives/node-default +%ghost %{_sysconfdir}/alternatives/node.1%{ext_man} +%exclude %{_libdir}/node_modules/npm4 %files -n npm4 %defattr(-, root, root) -%{_bindir}/npm -%{_libdir}/node_modules/npm -%{_mandir}/man*/*npm*%{ext_man} -%{_mandir}/man5/package*.json.5%{ext_man} -%{_mandir}/man7/semver.7%{ext_man} +%{_bindir}/npm4 +%{_libdir}/node_modules/npm4 +%{_mandir}/man1/npm4.1%{ext_man} +%ghost %{_bindir}/npm-default +%ghost %{_mandir}/man1/npm.1%{ext_man} +%ghost %{_sysconfdir}/alternatives/npm-default +%ghost %{_sysconfdir}/alternatives/npm.1%{ext_man} %files devel %defattr(-, root, root) -%{_includedir}/node -%{_datadir}/node +%{_includedir}/node4 %dir %{_datadir}/systemtap %dir %{_datadir}/systemtap/tapset -%{_datadir}/systemtap/tapset/node.stp +%{_datadir}/systemtap/tapset/node4.stp %files docs %defattr(-,root,root) %doc doc/api +%post +update-alternatives \ + --install %{_bindir}/node-default node-default %{_bindir}/node4 4 \ + --slave %{_mandir}/man1/node.1%{ext_man} node.1%{ext_man} %{_mandir}/man1/node4.1%{ext_man} + +%postun +update-alternatives --remove node-default %{_bindir}/node4 + +%post -n npm4 +update-alternatives \ + --install %{_bindir}/npm-default npm-default %{_bindir}/npm4 4 \ + --slave %{_mandir}/man1/npm.1%{ext_man} npm.1%{ext_man} %{_mandir}/man1/npm4.1%{ext_man} + +%postun -n npm4 +update-alternatives --remove npm-default %{_bindir}/npm4 + %changelog ++++++ SHASUMS256.txt ++++++ --- /var/tmp/diff_new_pack.LkIIBD/_old 2017-07-19 12:21:48.997521825 +0200 +++ /var/tmp/diff_new_pack.LkIIBD/_new 2017-07-19 12:21:49.001521261 +0200 @@ -1,39 +1,39 @@ -5aa0fe69a61b56a806b7176ef53974e61ae4643b3684a1b098bc2f31a21f87c4 node-v4.8.3-darwin-x64.tar.gz -b53f2b6dbbb7da5a0938c3d8dbe34be4ad794ffd61692cfbc07fc095bf6170cb node-v4.8.3-darwin-x64.tar.xz -586beed84d30a46e90995331538a86bb39ee22c6e71e9181cd448edd5df9e23b node-v4.8.3-headers.tar.gz -63d6a24ce83f884648a2c40c58ba3c29a725aba0145631d46670993f194b54c2 node-v4.8.3-headers.tar.xz -6bcc2285ea06fd6096027367a6bea6b9c44f1f7ce7cf0700172663217ef1423f node-v4.8.3-linux-arm64.tar.gz -fb3154197f9a83c64f09643ea73fb8b18002cc1270b8dd6a572ed1e5f1633edd node-v4.8.3-linux-arm64.tar.xz -af669f5fc7cb5269978144a8b6469923657119b3ee712d6bf70167e36b6812c2 node-v4.8.3-linux-armv6l.tar.gz -dd1b6a31ae77a639b6758c00bc5fc76316233672487330041f8e3366f271821f node-v4.8.3-linux-armv6l.tar.xz -36813c749289f547c9068a6cd2837ceb95a3d36da8e31de597d07cd899dcb952 node-v4.8.3-linux-armv7l.tar.gz -3e2f4c8e7c0a6fe2578f42b7cf5e67d6be6a24bc564dbecde3e0ecb49fb11a2e node-v4.8.3-linux-armv7l.tar.xz -40489a73e1bb4d6eaf45280c032afa154adf2f898edd6b8ccbd16df83a78eb6a node-v4.8.3-linux-ppc64le.tar.gz -f93307bc817c728dc44344b21ce3ae24afe13f20a59e9e2ef9cb4773646b3652 node-v4.8.3-linux-ppc64le.tar.xz -36b07f2496fa286c6879f04b550f23a528dd645d5fdaddd6a5370f468c5a0c86 node-v4.8.3-linux-ppc64.tar.gz -b47e6d47b2801145dc0b1b752393eab904ad1bcdf12409e5aff02fd6678d3176 node-v4.8.3-linux-ppc64.tar.xz -52382b93865a5edd834db10e8f60822680d26dc2b8cadccafc351b0082a9052a node-v4.8.3-linux-x64.tar.gz -ca26fee56642f01f6b678d498cbe9b4bd611d8ea07ea5ef63d91f9768c8c6243 node-v4.8.3-linux-x64.tar.xz -0138e4199863a482611d0df517a318b17f1ca9df21bd8c1136030947fd8155b5 node-v4.8.3-linux-x86.tar.gz -f4db97d419791ccc03b3430f94027db25fe0893d55a9faa8565f4426db226438 node-v4.8.3-linux-x86.tar.xz -369aeccb89552c79d804eebb88d61d520986a200ef935d3c39519975ad7f4ea7 node-v4.8.3.pkg -1a19b5c2184547a38515cfe44e29f237d557bc1332b6b7712f33b965f6c24e9e node-v4.8.3-sunos-x64.tar.gz -4428d6e81d4d05050776c46ed7d25dc30e3888efbfab0bd84410a02c187de19e node-v4.8.3-sunos-x64.tar.xz -70c1a0bd6deeb32941fc197cf47bed41296bfc4037e43ab06a49af6bdbaf0286 node-v4.8.3-sunos-x86.tar.gz -46b21e86a520e36c5d456580eaa823c5812076883945d6ff1db0c506a19285c8 node-v4.8.3-sunos-x86.tar.xz -f8a5b7fe246f8358121e057f26411d3be9657a328b146d74abf483a956702868 node-v4.8.3.tar.gz -d84e7544c2e31a2d0825b4f8b093d169bf8bdb1881ee8cf75ff937918e59e9cb node-v4.8.3.tar.xz -cccf63332b8e2b45c1366735a2f9a42073a34cc91b1bfbe5e2c2c2dcde3b71f1 node-v4.8.3-win-x64.7z -a8bb12240576ecc1a8640db47e4bd38cc21ac7262d8456dc988b873e07a38dd5 node-v4.8.3-win-x64.zip -f3b9ba365f82f0aa146a830f08d275481aa308fe2d7f6dfce4f1e7240dcf6fa2 node-v4.8.3-win-x86.7z -a17a924e6bb91f07b6d08a8383084a5e74e42621dc3675ab111fb7c0da060f26 node-v4.8.3-win-x86.zip -4113f98b9133687335f633be86aa91892992b884476a66e290d2650f85df8fd4 node-v4.8.3-x64.msi -493ae603e8a423a1b98ff048ac7051c6aabab6340011b3dceaeffdd13d4d350f node-v4.8.3-x86.msi -a793a6ea651399a78ee6a4316dd81323d3644f4626171c73390d06b1133a29c3 win-x64/node.exe -cafd50bc53154efff221aba08b3e0beaf2dcd92d578dded52a2e7791cd03b027 win-x64/node.lib -e6c56a0a753adba34d8bf0ed38d22efda9a5dcae35d9fbb6693f318482bc76d1 win-x64/node_pdb.7z -27b8ebf64c91257dc843cd0d418c58c1adec3bbeab60d67ead39361738a94016 win-x64/node_pdb.zip -774f32e53db439ad8c1270e4de5ab79bc4482b10c418dd14bf24216f51586312 win-x86/node.exe -2f580bc0996e4f1d9b90fa066de7b071b0557b6df9435a59c36260ea2de931d8 win-x86/node.lib -ac6675bbb43d3f49ce109d0a7dee768217741a5b0f0722872dbabcccb5ba2be5 win-x86/node_pdb.7z -b76b77e9db0a6a8d6823525c016d3f4415da799d4e73d3eaf889552350f24e2f win-x86/node_pdb.zip +06213900c7d6ed598355cd11348b204bbb4d8069eaa7425c067ee596f38e7c4d node-v4.8.4-darwin-x64.tar.gz +0b944e08b51233005fa954056f1762a3fad92280e48e384b46dd5bd5695e6afd node-v4.8.4-darwin-x64.tar.xz +fe5cbb91c64df926c49d923348b4861a4e9284c8ecc87e504fbd8ddfbada8384 node-v4.8.4-headers.tar.gz +34e879759e0b577dd3900df2092ab3c15df040fbce1fbecc6cca2bef7301ffdf node-v4.8.4-headers.tar.xz +1eb8f8cadc8024fcb01f333ca8cac1db39735491a35122bf5ab1a40ee6bedced node-v4.8.4-linux-arm64.tar.gz +ae2f5a61b6218fced05de8ca8d163d985238aa5e535af1ba2075bd53aa31244f node-v4.8.4-linux-arm64.tar.xz +aaf8c7c4160ef4932004989cddc3723d8a5170ad86a2bd27e10b3e452702e086 node-v4.8.4-linux-armv6l.tar.gz +3daa79540c2133859d8d474004e6a7821cca4aa34931657f790707664c5f6346 node-v4.8.4-linux-armv6l.tar.xz +8d85b03be742b9494032f34833d766e3037934372cd0e118fd79fde00a3d8d91 node-v4.8.4-linux-armv7l.tar.gz +294ef24d3ec7224702b882d81ff9fa7e8c4988af7824c8378cafd2b72294fb14 node-v4.8.4-linux-armv7l.tar.xz +2a0627ad0683677febe99a523bb759f40c1934b7da2a1d9623dddda4ecd50063 node-v4.8.4-linux-ppc64le.tar.gz +a107957c34b21998abc914006b9566c262243ae38502595611da5cbdebea9283 node-v4.8.4-linux-ppc64le.tar.xz +9f252a4e892cdf99a081f3dfdb37ebdfc2c180df39f8850a35dc46fc59d3c2f6 node-v4.8.4-linux-ppc64.tar.gz +bb8d7167de39198fa631ab8a5b96cefa377048c5886895e1ddb2686991a39abe node-v4.8.4-linux-ppc64.tar.xz +d1297b6ddec12498f19589c0f44768a9f250ad36ea17f1f715b44aeb89cd32b2 node-v4.8.4-linux-x64.tar.gz +a98fc4cf9fcfe1c94dc34c8f58383dc4c2a40f0078735bd8dbf4fa20e075af17 node-v4.8.4-linux-x64.tar.xz +53f377f91aad1719539ba7fb591587b3ff8db25dd22d5f23647753cf60184044 node-v4.8.4-linux-x86.tar.gz +49ceb4e295837b182a61afd03b9aee353734aba646e98686d928bba2cfe502ce node-v4.8.4-linux-x86.tar.xz +b228e03c67aafb2b01456ef58dc6b238db6d31627205c7a69a6e8e072c961c9a node-v4.8.4.pkg +edff2a0eb071df6d15706202d82da7f4f6fa113e77881d6b70b0b6c350816cd8 node-v4.8.4-sunos-x64.tar.gz +11a061ddcb6f877ffb977a269e731e59071d6b3314d254d0a5898e69438f193b node-v4.8.4-sunos-x64.tar.xz +44803d9efb3f5b3b77f90d19e233c8a4e98b752de13ff10ceff9fe8a8094d011 node-v4.8.4-sunos-x86.tar.gz +d9a618c458e9ca91a2787fcd6598da5d77aff9292360078356d11ab11b515c88 node-v4.8.4-sunos-x86.tar.xz +b5480f69e9e929d2814de900fb5e673743a9d93f4fecbd79066baf18219f8584 node-v4.8.4.tar.gz +35fe633a48cbe93c79327161d9dc964ac9810f4ceb2ed8628487e6e14a15905b node-v4.8.4.tar.xz +bad999c784955ed808a2ce67ed2c0dc4b71e2abde873fbe912128f74ae5310b0 node-v4.8.4-win-x64.7z +8ebb31340af2d490a272cf0d3fdf07a60914fd79f40ac54b25babba7fcd9af25 node-v4.8.4-win-x64.zip +95c026c449f653a4de6768ae3c319383411c9c4898bef25691ae0b6038774d31 node-v4.8.4-win-x86.7z +02a38a9a3c723e8df033a9d15d1ffe492b7da42cea8f56d81148c3ac930afe81 node-v4.8.4-win-x86.zip +f5a15cbf5944f566e0ff917686f9290a688dedc24ce4bd237846f6353c20b640 node-v4.8.4-x64.msi +72190dcb1cebdbb05899acc3dea5d2dcad94dc811db289d015bb0e065c92e4ae node-v4.8.4-x86.msi +30e1308011f5e738d01ef406d3fe2648a66a7c042eb9aba3ca21b934a55fb61c win-x64/node.exe +51e7ebeed49def988e3398bf8a70bbba67ed38346439924dbdf9c01827016789 win-x64/node.lib +0a919967ed1cb6d1f7763ddbb2594f8f93adbcab2296192310faaf52d35fd6d1 win-x64/node_pdb.7z +ab593c61f1a39c93774c551116fa96f6b904c3dde9a4caf95cd199aec33f8aca win-x64/node_pdb.zip +540897f8d48d913b45eadb5201fc71475cd1652b414a7f035460aad2613c7594 win-x86/node.exe +35eb7a9960a773e8cac4c02336c500357a88c1937fda93466c1bd57eb8a63310 win-x86/node.lib +09dc53e16ab7d9b46419b5be872035349f428034beaa83008c3fd6798bdbc9e7 win-x86/node_pdb.7z +3070955c6e16c9f9ec5c6ce3a4bb1edc1efd2e1513ba6442d796f16207f5ee5e win-x86/node_pdb.zip ++++++ SHASUMS256.txt.sig ++++++ Binary files /var/tmp/diff_new_pack.LkIIBD/_old and /var/tmp/diff_new_pack.LkIIBD/_new differ ++++++ node-gyp-addon-gypi.patch ++++++ --- /var/tmp/diff_new_pack.LkIIBD/_old 2017-07-19 12:21:49.029517310 +0200 +++ /var/tmp/diff_new_pack.LkIIBD/_new 2017-07-19 12:21:49.029517310 +0200 @@ -8,7 +8,7 @@ + 'type': 'loadable_module', + 'product_prefix': '', + 'include_dirs': [ -+ '/usr/include/node/', ++ '/usr/include/node4/', + '/usr/include/' + ], + @@ -60,7 +60,7 @@ + } else { + // if no --target was specified then use RPM-installed headers + log.verbose('get node dir', 'no --target version specified, falling back to RPM installed headers') -+ nodeDir = '/usr/share/node' ++ nodeDir = '/usr/include/node4' + createBuildDir() + } } ++++++ node-v4.8.3.tar.xz -> node-v4.8.4.tar.xz ++++++ /work/SRC/openSUSE:Factory/nodejs4/node-v4.8.3.tar.xz /work/SRC/openSUSE:Factory/.nodejs4.new/node-v4.8.4.tar.xz differ: char 26, line 1 ++++++ npm_search_paths.patch ++++++ --- /var/tmp/diff_new_pack.LkIIBD/_old 2017-07-19 12:21:49.077510537 +0200 +++ /var/tmp/diff_new_pack.LkIIBD/_new 2017-07-19 12:21:49.077510537 +0200 @@ -24,30 +24,6 @@ } function afterUserContinuation() { -Index: node-v4.4.7/deps/npm/lib/help.js -=================================================================== ---- node-v4.4.7.orig/deps/npm/lib/help.js -+++ node-v4.4.7/deps/npm/lib/help.js -@@ -56,7 +56,7 @@ function help (args, cb) { - })) - - // npm help <section>: Try to find the path -- var manroot = path.resolve(__dirname, "..", "man") -+ var manroot = "/usr/share/man" - - // legacy - if (section === "global") section = "folders" -@@ -106,8 +106,8 @@ function viewMan (man, cb) { - var section = path.basename(man, "." + num) - - // at this point, we know that the specified man page exists -- var manpath = path.join(__dirname, "..", "man") -- , env = {} -+ var manpath = "/usr/share/man" -+ var env = {} - Object.keys(process.env).forEach(function (i) { - env[i] = process.env[i] - }) Index: node-v4.4.7/deps/npm/lib/help-search.js =================================================================== --- node-v4.4.7.orig/deps/npm/lib/help-search.js ++++++ versioned.patch ++++++ Author: Adam Majer <[email protected]> Date: Tue Jul 4 15:54:34 CEST 2017 Summary: Generate versioned binaries Generate versioned binaries and install paths so we can allow concurrent installations and management via update_alternatives. This is also important for generation of binary modules for multiple versions of NodeJS Index: node-v4.8.3/node.gyp =================================================================== --- node-v4.8.3.orig/node.gyp +++ node-v4.8.3/node.gyp @@ -19,7 +19,7 @@ 'node_v8_options%': '', 'node_enable_v8_vtunejit%': 'false', 'node_target_type%': 'executable', - 'node_core_target_name%': 'node', + 'node_core_target_name%': 'node4', 'node_module_version%': '', 'library_files': [ 'src/node.js', @@ -690,10 +690,10 @@ { 'action_name': 'node_dtrace_provider_o', 'inputs': [ - '<(OBJ_DIR)/node/src/node_dtrace.o', + '<(OBJ_DIR)/node4/src/node_dtrace.o', ], 'outputs': [ - '<(OBJ_DIR)/node/src/node_dtrace_provider.o' + '<(OBJ_DIR)/node4/src/node_dtrace_provider.o' ], 'action': [ 'dtrace', '-G', '-xnolibs', '-s', 'src/node_provider.d', '<@(_inputs)', '-o', '<@(_outputs)' ] @@ -743,7 +743,7 @@ '<(SHARED_INTERMEDIATE_DIR)/v8constants.h' ], 'outputs': [ - '<(OBJ_DIR)/node/src/node_dtrace_ustack.o' + '<(OBJ_DIR)/node4/src/node_dtrace_ustack.o' ], 'conditions': [ [ 'target_arch=="ia32"', { Index: node-v4.8.3/Makefile =================================================================== --- node-v4.8.3.orig/Makefile +++ node-v4.8.3/Makefile @@ -33,10 +33,10 @@ BUILDTYPE_LOWER := $(shell echo $(BUILDT EXEEXT := $(shell $(PYTHON) -c \ "import sys; print('.exe' if sys.platform == 'win32' else '')") -NODE_EXE = node$(EXEEXT) +NODE_EXE = node4$(EXEEXT) NODE ?= ./$(NODE_EXE) NODE_G_EXE = node_g$(EXEEXT) -NPM ?= ./deps/npm/bin/npm-cli.js +NPM ?= ./deps/npm4/bin/npm-cli.js # Flags for packaging. BUILD_DOWNLOAD_FLAGS ?= --download=all Index: node-v4.8.3/tools/install.py =================================================================== --- node-v4.8.3.orig/tools/install.py +++ node-v4.8.3/tools/install.py @@ -82,7 +82,7 @@ def update_shebang(path, shebang): open(path, 'w').write(s) def npm_files(action): - target_path = sysconfig.get_config_var("LIB") + '/node_modules/npm/' + target_path = sysconfig.get_config_var("LIB") + '/node_modules/npm4/' # don't install npm if the target path is a symlink, it probably means # that a dev version of npm is installed there @@ -96,11 +96,11 @@ def npm_files(action): action(paths, target_path + dirname[9:] + '/') # create/remove symlink - link_path = abspath(install_path, 'bin/npm') + link_path = abspath(install_path, 'bin/npm4') if action == uninstall: - action([link_path], 'bin/npm') + action([link_path], 'bin/npm4') elif action == install: - try_symlink("../" + sysconfig.get_config_var("LIB") + '/node_modules/npm/bin/npm-cli.js',link_path) + try_symlink("../" + sysconfig.get_config_var("LIB") + '/node_modules/npm4/bin/npm-cli.js',link_path) else: assert(0) # unhandled action type @@ -114,7 +114,7 @@ def subdir_files(path, dest, action): def files(action): is_windows = sys.platform == 'win32' - output_file = 'node' + output_file = 'node4' output_prefix = 'out/Release/' if 'false' == variables.get('node_shared'): @@ -136,14 +136,14 @@ def files(action): action(['out/Release/node.d'], sysconfig.get_config_var("LIB") + '/dtrace/node.d') # behave similarly for systemtap - action(['src/node.stp'], 'share/systemtap/tapset/') + action(['src/node.stp'], 'share/systemtap/tapset/node4.stp') action(['deps/v8/tools/gdbinit'], 'share/doc/node/') if 'freebsd' in sys.platform or 'openbsd' in sys.platform: action(['doc/node.1'], 'man/man1/') else: - action(['doc/node.1'], 'share/man/man1/') + action(['doc/node.1'], 'share/man/man1/node4.1') if 'true' == variables.get('node_install_npm'): npm_files(action) @@ -157,28 +157,28 @@ def headers(action): 'src/node_buffer.h', 'src/node_object_wrap.h', 'src/node_version.h', - ], 'include/node/') + ], 'include/node4/') # Add the expfile that is created on AIX if sys.platform.startswith('aix'): action(['out/Release/node.exp'], 'include/node/') - subdir_files('deps/cares/include', 'include/node/', action) - subdir_files('deps/v8/include', 'include/node/', action) + subdir_files('deps/cares/include', 'include/node4/', action) + subdir_files('deps/v8/include', 'include/node4/', action) if 'false' == variables.get('node_shared_libuv'): - subdir_files('deps/uv/include', 'include/node/', action) + subdir_files('deps/uv/include', 'include/node4/', action) if 'false' == variables.get('node_shared_openssl'): - subdir_files('deps/openssl/openssl/include/openssl', 'include/node/openssl/', action) - subdir_files('deps/openssl/config/archs', 'include/node/openssl/archs', action) - action(['deps/openssl/config/opensslconf.h'], 'include/node/openssl/') + subdir_files('deps/openssl/openssl/include/openssl', 'include/node4/openssl/', action) + subdir_files('deps/openssl/config/archs', 'include/node4/openssl/archs', action) + action(['deps/openssl/config/opensslconf.h'], 'include/node4/openssl/') if 'false' == variables.get('node_shared_zlib'): action([ 'deps/zlib/zconf.h', 'deps/zlib/zlib.h', - ], 'include/node/') + ], 'include/node4/') def run(args): global node_prefix, install_path, target_defaults, variables Index: node-v4.8.3/doc/node.1 =================================================================== --- node-v4.8.3.orig/doc/node.1 +++ node-v4.8.3/doc/node.1 @@ -26,12 +26,12 @@ .SH NAME -node \- Server-side JavaScript runtime +node4 \- Server-side JavaScript runtime .SH SYNOPSIS -.B node +.B node4 .RI [ options ] .RI [ v8\ options ] .RI [ script.js \ | @@ -39,14 +39,14 @@ node \- Server-side JavaScript runtime .RI \&" script \&"] .RI [ arguments ] .br -.B node debug +.B node4 debug .RI [ script.js " | " .B \-e .RI \&" script \&"\ | .IR <host>:<port> ] .I ... .br -.B node +.B node4 .RB [ \-\-v8-options ] Execute without arguments to start the REPL. Index: node-v4.8.3/src/node.stp =================================================================== --- node-v4.8.3.orig/src/node.stp +++ node-v4.8.3/src/node.stp @@ -1,4 +1,4 @@ -probe node_net_server_connection = process("node").mark("net__server__connection") +probe node_net_server_connection = process("node4").mark("net__server__connection") { remote = user_string($arg2); port = $arg3; @@ -11,7 +11,7 @@ probe node_net_server_connection = proce fd); } -probe node_net_stream_end = process("node").mark("net__stream__end") +probe node_net_stream_end = process("node4").mark("net__stream__end") { remote = user_string($arg2); port = $arg3; @@ -24,7 +24,7 @@ probe node_net_stream_end = process("nod fd); } -probe node_http_server_request = process("node").mark("http__server__request") +probe node_http_server_request = process("node4").mark("http__server__request") { remote = user_string($arg3); port = $arg4; @@ -41,7 +41,7 @@ probe node_http_server_request = process fd); } -probe node_http_server_response = process("node").mark("http__server__response") +probe node_http_server_response = process("node4").mark("http__server__response") { remote = user_string($arg2); port = $arg3; @@ -54,7 +54,7 @@ probe node_http_server_response = proces fd); } -probe node_http_client_request = process("node").mark("http__client__request") +probe node_http_client_request = process("node4").mark("http__client__request") { remote = user_string($arg3); port = $arg4; @@ -71,7 +71,7 @@ probe node_http_client_request = process fd); } -probe node_http_client_response = process("node").mark("http__client__response") +probe node_http_client_response = process("node4").mark("http__client__response") { remote = user_string($arg2); port = $arg3; @@ -84,7 +84,7 @@ probe node_http_client_response = proces fd); } -probe node_gc_start = process("node").mark("gc__start") +probe node_gc_start = process("node4").mark("gc__start") { scavenge = 1 << 0; compact = 1 << 1; @@ -104,7 +104,7 @@ probe node_gc_start = process("node").ma flags); } -probe node_gc_stop = process("node").mark("gc__stop") +probe node_gc_stop = process("node4").mark("gc__stop") { scavenge = 1 << 0; compact = 1 << 1; Index: node-v4.8.3/deps/npm/man/man1/npm.1 =================================================================== --- node-v4.8.3.orig/deps/npm/man/man1/npm.1 +++ node-v4.8.3/deps/npm/man/man1/npm.1 @@ -1,11 +1,11 @@ .TH "NPM" "1" "October 2016" "" "" .SH "NAME" -\fBnpm\fR \- javascript package manager +\fBnpm4\fR \- javascript package manager .SH SYNOPSIS .P .RS 2 .nf -npm <command> [args] +npm4 <command> [args] .fi .RE .SH VERSION @@ -21,16 +21,16 @@ It is extremely configurable to support Most commonly, it is used to publish, discover, install, and develop node programs\. .P -Run \fBnpm help\fP to get a list of available commands\. +Run \fBnpm4 help\fP to get a list of available commands\. .SH INTRODUCTION .P You probably got npm because you want to install stuff\. .P -Use \fBnpm install blerg\fP to install the latest version of "blerg"\. Check out -npm help \fBnpm\-install\fP for more info\. It can do a lot of stuff\. +Use \fBnpm4 install blerg\fP to install the latest version of "blerg"\. Check out +npm4 help \fBnpm\-install\fP for more info\. It can do a lot of stuff\. .P -Use the \fBnpm search\fP command to show everything that's available\. -Use \fBnpm ls\fP to show everything you've installed\. +Use the \fBnpm4 search\fP command to show everything that's available\. +Use \fBnpm4 ls\fP to show everything you've installed\. .SH DEPENDENCIES .P If a package references to another package with a git URL, npm depends @@ -48,7 +48,7 @@ the node\-gyp repository \fIhttps://gith the node\-gyp Wiki \fIhttps://github\.com/TooTallNate/node\-gyp/wiki\fR\|\. .SH DIRECTORIES .P -See npm help 5 \fBnpm\-folders\fP to learn about where npm puts stuff\. +See npm4 help 5 \fBnpm\-folders\fP to learn about where npm puts stuff\. .P In particular, npm has two modes of operation: .RS 0 @@ -75,24 +75,24 @@ following help topics: .RS 0 .IP \(bu 2 json: -Make a package\.json file\. See npm help 5 \fBpackage\.json\fP\|\. +Make a package\.json file\. See npm4 help 5 \fBpackage\.json\fP\|\. .IP \(bu 2 link: For linking your current working code into Node's path, so that you don't have to reinstall every time you make a change\. Use -\fBnpm link\fP to do this\. +\fBnpm4 link\fP to do this\. .IP \(bu 2 install: It's a good idea to install things if you don't need the symbolic link\. Especially, installing other peoples code from the registry is done via -\fBnpm install\fP +\fBnpm4 install\fP .IP \(bu 2 adduser: Create an account or log in\. Credentials are stored in the user config file\. .IP \(bu 2 publish: -Use the \fBnpm publish\fP command to upload your code to the registry\. +Use the \fBnpm4 publish\fP command to upload your code to the registry\. .RE .SH CONFIGURATION @@ -133,14 +133,14 @@ lib/utils/config\-defs\.js\. These must .RE .P -See npm help 7 \fBnpm\-config\fP for much much more information\. +See npm4 help 7 \fBnpm\-config\fP for much much more information\. .SH CONTRIBUTIONS .P Patches welcome! .RS 0 .IP \(bu 2 code: -Read through npm help 7 \fBnpm\-coding\-style\fP if you plan to submit code\. +Read through npm4 help 7 \fBnpm\-coding\-style\fP if you plan to submit code\. You don't have to agree with it, but you do have to follow it\. .IP \(bu 2 docs: @@ -150,7 +150,7 @@ file in the "doc" folder\. (Don't worry .RE .P Contributors are listed in npm's \fBpackage\.json\fP file\. You can view them -easily by doing \fBnpm view npm contributors\fP\|\. +easily by doing \fBnpm4 view npm contributors\fP\|\. .P If you would like to contribute, but don't know what to work on, read the contributing guidelines and check the issues list\. @@ -185,23 +185,23 @@ i@izs\.me .SH SEE ALSO .RS 0 .IP \(bu 2 -npm help help +npm4 help help .IP \(bu 2 -npm help 7 faq +npm4 help 7 faq .IP \(bu 2 README .IP \(bu 2 -npm help 5 package\.json +npm4 help 5 package\.json .IP \(bu 2 -npm help install +npm4 help install .IP \(bu 2 -npm help config +npm4 help config .IP \(bu 2 -npm help 7 config +npm4 help 7 config .IP \(bu 2 -npm help 5 npmrc +npm4 help 5 npmrc .IP \(bu 2 -npm help 7 index +npm4 help 7 index .IP \(bu 2 npm apihelp npm Index: node-v4.8.3/deps/npm/bin/npm-cli.js =================================================================== --- node-v4.8.3.orig/deps/npm/bin/npm-cli.js +++ node-v4.8.3/deps/npm/bin/npm-cli.js @@ -1,4 +1,4 @@ -#!/usr/bin/env node +#!/usr/bin/env node4 ;(function () { // wrapper in case we're in module_context mode // windows: running "npm blah" in this folder will invoke WSH, not node. Index: node-v4.8.3/src/node_main.cc =================================================================== --- node-v4.8.3.orig/src/node_main.cc +++ node-v4.8.3/src/node_main.cc @@ -44,6 +44,7 @@ int wmain(int argc, wchar_t *wargv[]) { int main(int argc, char *argv[]) { // Disable stdio buffering, it interacts poorly with printf() // calls elsewhere in the program (e.g., any logging from V8.) + setenv("NODE_VERSION", "4", 0); setvbuf(stdout, nullptr, _IONBF, 0); setvbuf(stderr, nullptr, _IONBF, 0); return node::Start(argc, argv);
