Hello community, here is the log from the commit of package nodejs for openSUSE:Factory checked in at 2016-07-15 12:54:25 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/nodejs (Old) and /work/SRC/openSUSE:Factory/.nodejs.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nodejs" Changes: -------- --- /work/SRC/openSUSE:Factory/nodejs/nodejs.changes 2016-06-14 23:09:03.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.nodejs.new/nodejs.changes 2016-07-15 12:54:42.000000000 +0200 @@ -1,0 +2,67 @@ +Wed Jul 13 12:04:07 UTC 2016 - [email protected] + +- Use OpenSSL supplied with Leap 42.2 and SLE12 SP2 instead of + bundled version. + +------------------------------------------------------------------- +Thu Jul 7 10:44:27 UTC 2016 - [email protected] + +- new upstream version 6.3.0 + * buffer: Added buffer.swap64() to compliment swap16() & swap32() + * is now build as a shared library! + * crypto: Root certificates have been updated. + * debugger: The server address is now configurable via + --debug=<address>:<port> + * npm: Upgraded npm to v3.10.3 + * readline: Added the `prompt` option to the readline constructor. + * repl / vm: `sigint`/`ctrl+c` will now break out of infinite loops + without stopping the Node.js instance. + * added support for v8_inspector (node --inspect) +- since we can, build NodeJS shared library. +- refreshed patches: + * support-arm64-build.patch + * nodejs-libpath.patch + * npm_search_paths.patch +- 7569.diff: + * Add upstream PR: #7569 to fix build failure with shared OpenSSL and + v8_inspector enabled + +------------------------------------------------------------------- +Tue Jul 5 20:20:27 UTC 2016 - [email protected] + +- Fix Group tag. + +------------------------------------------------------------------- +Mon Jul 4 12:23:27 UTC 2016 - [email protected] + +- new upstream version 6.2.2 + * http: + + req.read(0) could cause incoming connections to stall and + time out under certain conditions. (Fedor Indutny) + + When freeing the socket to be reused in keep-alive Agent + wait for both prefinish and end events. Otherwise the next + request may be written before the previous one has finished + sending the body, leading to a parser errors. (Fedor Indutny) + * npm: upgrade npm to 3.9.5 (Kat Marchán) +- use build_cond to to manage configure parameters, instead of + having duplicate suse_version ifs +- fix permission issues with some installed files +- move fdups to end of install section to make sure we don't end up + with dangling symlinks +- rpm cannot handle more than one level of parenthesis, hence + Conflict: otherproviders(npm), not otherproviders(npm(npm)) as the + second version has no desired effect +- we should no longer need to explicitly set ARCH values - configure + should deal with this properly +- verify upstream tarball integrity cryptographically +- patch changes: + * nodejs-libpath.patch split into two, nodejs-libpath.patch that + applies on default and nodejs-libpath64.patch that applies on top + for 64-bit arches + * support-arm64-build.patch refreshed + * npm_search_paths.patch: + + search for manpages in paths were we installed them + + install modules into /usr/local prefix + + search for config files under /etc/nodejs + +------------------------------------------------------------------- Old: ---- node-v6.2.1.tar.xz New: ---- 7569.diff SHASUMS256.txt.asc node-v6.3.0.tar.xz nodejs-libpath64.patch nodejs.keyring npm_search_paths.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ nodejs.spec ++++++ --- /var/tmp/diff_new_pack.FBnROn/_old 2016-07-15 12:54:46.000000000 +0200 +++ /var/tmp/diff_new_pack.FBnROn/_new 2016-07-15 12:54:46.000000000 +0200 @@ -16,24 +16,57 @@ # -%define npm_version 3.9.3 +%define npm_version 3.10.3 Name: nodejs -Version: 6.2.1 +Version: 6.3.0 Release: 0 + +%if 0%{?suse_version} > 1320 || 0%{?sle_version} >= 120200 +%bcond_with intree_openssl +%else +%bcond_without intree_openssl +%endif + +%ifarch aarch64 ppc ppc64 ppc64le s390x +%bcond_with gdb +%else +%bcond_without gdb +%endif + +%ifarch aarch64 # No binutils_gold on SLE12 +%if 0%{?sle_version} >= 120100 || 0%{?is_opensuse} +%bcond_without binutils_gold +%else +%bcond_with binutils_gold +%endif +%else # other arch +%bcond_without binutils_gold +%endif +# Summary: Evented I/O for V8 JavaScript License: MIT Group: Development/Languages/NodeJS Url: http://www.nodejs.org Source: http://nodejs.org/dist/v%{version}/node-v%{version}.tar.xz -Patch: support-arm64-build.patch -Patch2: nodejs-libpath.patch +Source1: https://nodejs.org/dist/v%{version}/SHASUMS256.txt.asc +Source2: nodejs.keyring +## UPSTREAM PATCHES HERE, if any +Patch1: https://patch-diff.githubusercontent.com/raw/nodejs/node/pull/7569.diff +## Our patches +Patch101: support-arm64-build.patch +Patch102: nodejs-libpath.patch +Patch103: nodejs-libpath64.patch # PATCH-FIX-UPSTREAM use custom addon.gypi by default instead of # downloading node source -Patch3: node-gyp-addon-gypi.patch +Patch104: node-gyp-addon-gypi.patch # PATCH-FIX-SLES python 2.6 doesn't include the check_output method # used in the configure, we need to patch it into the script -Patch4: nodejs-sle11-python26-check_output.patch +Patch105: nodejs-sle11-python26-check_output.patch +Patch106: npm_search_paths.patch + +%if %{with binutils_gold} BuildRequires: binutils-gold +%endif BuildRequires: curl BuildRequires: fdupes %if 0%{?sles_version} == 11 @@ -41,10 +74,9 @@ %else BuildRequires: gcc-c++ %endif -%if 0%{?suse_version} -BuildRequires: libopenssl-devel -%else -BuildRequires: openssl-devel +BuildRequires: gpg-offline +%if ! %{with intree_openssl} +BuildRequires: openssl-devel >= 1.0.2 %endif BuildRequires: pkg-config BuildRequires: procps @@ -86,14 +118,14 @@ Provides: nodejs-npm = %{version} Obsoletes: nodejs-npm < 5.3.1 Provides: npm(npm) = %{npm_version} -Conflicts: otherproviders(npm(npm)) +Conflicts: otherproviders(npm) %description -n npm A package manager for Node.js. %package docs Summary: Node.js API documentation -Group: Documentation/NodeJS +Group: Documentation/Other %if 0%{?suse_version} >= 1200 # using noarch subpackage seems to break debuginfo on older releases BuildArch: noarch @@ -103,25 +135,30 @@ The API documentation for the Node.js JavaScript runtime. %prep +%gpg_verify %{SOURCE1} +(cd %{_sourcedir}; sha256sum -c SHASUMS256.txt.asc | grep "node-v%{version}.tar.xz: OK") %setup -q -n node-v%{version} -%patch -p1 -%patch2 -p1 -%patch3 -p1 +%patch1 -p1 +%patch101 -p1 +%patch102 -p1 +# we also need to search 64bit path +%if %{_lib} == "lib64" +%patch103 -p1 +%endif +%patch104 -p1 # add check_output to configure script (not part of python # 2.6 in SLES11) %if 0%{?sles_version} == 11 -%patch4 -p1 +%patch105 -p1 %endif +%patch106 -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. -%if 0%{?suse_version} > 1320 -for dir in openssl zlib; do - find deps/$dir -name *.[ch] -delete -done -%else -find deps/zlib -name *.[ch] -delete +%if ! %{with intree_openssl} +find deps/openssl -name *.[ch] -delete %endif +find deps/zlib -name *.[ch] -delete %build # percent-configure pulls in something that confuses node's configure @@ -135,39 +172,20 @@ ./configure \ --prefix=%{_prefix} \ -%if 0%{?suse_version} > 1320 +%if ! %{with intree_openssl} --shared-openssl \ %endif --shared-zlib \ -%ifarch aarch64 - --dest-cpu=arm64 \ -%endif -%ifarch s390x - --dest-cpu=s390x \ -%endif -%ifnarch aarch64 ppc ppc64 ppc64le s390x +%if %{with gdb} --gdb \ %endif --without-dtrace -%ifarch aarch64 -make DESTCPU=arm64 -%else -%ifarch s390x -make DESTCPU=s390x -%else make %{?_smp_mflags} -%endif -%endif %install -# sles: install-no-mkdir-buildroot -%if 0%{?sles_version} == 11 -rm -rf %{buildroot} && mkdir %{buildroot} -%endif - make install DESTDIR=%{buildroot} %{?_smp_mflags} -rm -rf %{buildroot}%{_datadir}/doc/node +rm %{buildroot}%{_datadir}/doc/node/gdbinit # npm man page rm -rf %{buildroot}%{_libdir}/node_modules/npm/man @@ -177,23 +195,18 @@ install -m 644 deps/npm/man/man7/* %{buildroot}%{_mandir}/man7 #node-gyp needs common.gypi too -mkdir -p %{buildroot}%{_datadir}/node -install -m 644 common.gypi \ - %{buildroot}%{_datadir}/node/ +install -D -m 644 common.gypi \ + %{buildroot}%{_datadir}/node/common.gypi # install addon-rpm.gypi -mkdir -p %{buildroot}%{_libdir}/node_modules/npm/node_modules/node-gyp/ -install -m 644 addon-rpm.gypi \ - %{buildroot}%{_libdir}/node_modules/npm/node_modules/node-gyp/ +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}%{_libexecdir}/node_modules # clean -# file duplicates -%fdupes %{buildroot}%{_libdir}/node_modules/npm/ -%fdupes %{buildroot}%{_includedir}/node -# hidden files -find %{buildroot}%{_libdir}/node_modules/npm -name ".*" -delete +# hidden files and directories +find %{buildroot}%{_libdir}/node_modules/npm -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 @@ -212,12 +225,34 @@ find %{buildroot}%{_libdir}/node_modules/npm -name "LICENSE" -exec chmod -x {} + # browser.js is useless for npm cli find %{buildroot}%{_libdir}/node_modules/npm -name "browser.js" -delete -# .orig -find %{buildroot}%{_libdir}/node_modules/npm/node_modules/node-gyp/lib/ -name "configure.js.orig" -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 +# file duplicates +%fdupes %{buildroot}%{_libdir}/node_modules/npm/ +%fdupes %{buildroot}%{_includedir}/node +%fdupes %{buildroot}%{_mandir}/man5 +# %files %defattr(-, root, root) %doc AUTHORS LICENSE *.md +%doc deps/v8/tools/gdbinit %dir %{_libexecdir}/node_modules %{_bindir}/node %{_libdir}/node_modules @@ -228,8 +263,9 @@ %defattr(-, root, root) %{_bindir}/npm %{_libdir}/node_modules/npm -%{_mandir}/man*/* -%exclude %{_mandir}/man1/node.1%{ext_man} +%{_mandir}/man*/*npm*%{ext_man} +%{_mandir}/man5/package.json.5%{ext_man} +%{_mandir}/man7/semver.7%{ext_man} %files devel %defattr(-, root, root) ++++++ 7569.diff ++++++ diff --git a/node.gyp b/node.gyp index a1a5284..f84de39 100644 --- a/node.gyp +++ b/node.gyp @@ -826,14 +826,26 @@ 'conditions': [ ['v8_inspector=="true"', { - 'dependencies': [ - 'deps/openssl/openssl.gyp:openssl', - 'deps/http_parser/http_parser.gyp:http_parser', - 'deps/uv/uv.gyp:libuv' - ], 'sources': [ 'src/inspector_socket.cc', 'test/cctest/test_inspector_socket.cc' + ], + 'conditions': [ + [ 'node_shared_openssl=="false"', { + 'dependencies': [ + 'deps/openssl/openssl.gyp:openssl' + ] + }], + [ 'node_shared_http_parser=="false"', { + 'dependencies': [ + 'deps/http_parser/http_parser.gyp:http_parser' + ] + }], + [ 'node_shared_libuv=="false"', { + 'dependencies': [ + 'deps/uv/uv.gyp:libuv' + ] + }] ] }], [ 'node_use_v8_platform=="true"', { ++++++ SHASUMS256.txt.asc ++++++ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 5c711a62e464f1d455c31afe2a62e9866eeaf1c23d977b57a60285d0bd040ba5 node-v6.3.0-darwin-x64.tar.gz 4f9a19b5688092d5652e8748093cb9c90fa503ea13b976e51dbd53c2fa07c116 node-v6.3.0-darwin-x64.tar.xz 9275894c3ed6373068cddeeb968e4d2ceba76368b6cd3b01aca79f0b592badd6 node-v6.3.0-headers.tar.gz 85358983586760b0a9c0d36294ca5266dbd4e5d0df5390dfbf7aba684799e8db node-v6.3.0-headers.tar.xz 58995c3f91962fc4383696f9c64763b3cd27d9b5903b4cf2a5ccfe86c8258e9f node-v6.3.0-linux-arm64.tar.gz 18000ebe5208a2ddb17ab6d301a79d6ffa29287d579299480c62859c42c6c51c node-v6.3.0-linux-arm64.tar.xz d8a440f56cca21f0b4879802c798f74e3f2dcc5ba16a1c56c0f536bb501b56f5 node-v6.3.0-linux-armv6l.tar.gz a277074f44177a9d703e3dcb87647436e5d898002f5da6a50408af43aa203412 node-v6.3.0-linux-armv6l.tar.xz de3554545e2d04719ebcd990984ff1eb5d6edbbbb9d24893cb998e2eb15d8bf5 node-v6.3.0-linux-armv7l.tar.gz dce3e835d17a4febfb234f37593eb1b1dc02c87c16f49504c1800de7a8ccb0f2 node-v6.3.0-linux-armv7l.tar.xz 4665fa5c521e7c39bec441c66c41017a0a430944eb49fd0adec6e1c3b72f992b node-v6.3.0-linux-ppc64le.tar.gz 7fd30dc537135180604139ac59db5673230ea6e95163046f08302968230951f0 node-v6.3.0-linux-ppc64le.tar.xz 72d6b834e88acc7d805f5bc7b90bce7f418b5b7270efa5126b614ae81a6c8b6c node-v6.3.0-linux-ppc64.tar.gz fb90a4ecde4feb7b70cb2af5297e560b03a3a3c8a201e05eaeb259c294f0b70e node-v6.3.0-linux-ppc64.tar.xz d26c09fc95ebb457b79fcb0a2890fe8417b2c04f4016dadf2d165c07af762764 node-v6.3.0-linux-x64.tar.gz eeee9611daaa80ddd277dba66586f3580ce5cb6309838f854e557e780a68a2c9 node-v6.3.0-linux-x64.tar.xz 9302affb9844ec9a51e774169072bff3421c0232f746b3d504ba6c13c749ff9f node-v6.3.0-linux-x86.tar.gz 504dc0ad16f8f5d9147df757eb47838a4ae159d50f3efe73539d3b761267f213 node-v6.3.0-linux-x86.tar.xz c752cab4c2519e513626dacdab93e7c0b8ef25de7d34e46813bf5035d6c81bfe node-v6.3.0.pkg 7d5f8b37ea3809db6bd633cb1702d1f942319de0c606883ffd300b36728283b7 node-v6.3.0-sunos-x64.tar.gz 6f7bd008f9d6aff1ee69d26b7215dedcfbf12108c22d4259059233067f29eae6 node-v6.3.0-sunos-x64.tar.xz a494375cce067250bf8729b007a913a9b06b7b3a0ca1629dd263a84da3d172e2 node-v6.3.0-sunos-x86.tar.gz 654e0ed32e76ec5e4707d5d4af5aeab25dd824e638b70bf43a764ee78bf1530a node-v6.3.0-sunos-x86.tar.xz 4ed7a99985f8afee337cc22d5fef61b495ab4238dfff3750ac9019e87fc6aae6 node-v6.3.0.tar.gz 66c2015bfedfff219f6026b1271a7a94942eb66856929cca1f40f895fbbef62c node-v6.3.0.tar.xz 3aec8f0e2a74f6fe02f16e6af0be21a5a6f5003ddd03d24d4b1884a2b01d1ead node-v6.3.0-win-x64.7z 723b2e9c8eee51aded69b08ae74cee495859799ee2e029ef495ee8cf2e9b68e8 node-v6.3.0-win-x64.zip d53e30f1c561356f0bc2cdb68d93eacb31ba63ba6c02b467304502cc0b6bc0b7 node-v6.3.0-win-x86.7z 38a0160eac3ee8c2c2497ffdd7fcb7c644a73cbb9532a78fc11f2efbae1a74ea node-v6.3.0-win-x86.zip ec3fdc5e383948c68a2fa762be548ea18e83710c1b4af013b1b687faacfab274 node-v6.3.0-x64.msi d838594fe4d3de0ec8265d742e7d3400a0e7c0c1d29df490f1f9c3af4639469d node-v6.3.0-x86.msi 83cd7d82f5d7b2be3298fb44d218d38879f564e21a3fcab21c51138f032495c4 win-x64/node.exe a98e6d7d10bcc85495da8f3f72c51ff7e506e248440c681f1ca8fc6644836143 win-x64/node.lib 94f4c037001787c1cb0e05057f339da19c59cf832f514a5ed592c04a4d367112 win-x64/node_pdb.7z 81591b06a70c6880b9acaa1642643d9f9734d36b660c888bf5e97ac65d88cb7e win-x64/node_pdb.zip f789e1b0040fb0f86ba567df42f7759a5b16c9976a45cf2c73693456e8b52e0a win-x86/node.exe 39de1eda0901e6cd16155abb7bf0db28aad8bff938c2857f08cd1a12cbdd58c9 win-x86/node.lib a1ef9df3736a29a4394ecb158b20e3192bbe5355028b0b41fb60c31d986c6456 win-x86/node_pdb.7z 7b6c9ad8ae08e70e3f5439c632377e6c31058187268d640c8980eeb22623f50c win-x86/node_pdb.zip -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJXfV4kAAoJEEX17r2BPa6O5A8P/RuOfphLde/wijKgW4He2UHp U1kjPENQeOXKSZKaDP+d3XYafZ5SK5wXvc94O9oZ+4FGhyLJtOuDwsz0ukqH2inV ubLUsIGc2Vh1fDv3afVG+JA8YCZs4TN/vmnkVORD/vR4erqMSOAga9CWf1o2JWbQ HF2Tb3FR7wNDvU8eqHBzd1zKtE9isMVKT5U51HXH6RTsHinSn3LKcf5VJcz9OPr3 /zYUJ+VP1nRBG4TeXZvSjsXNSUjS1PYsW7uhNCfPydUuN5s1cR3931ak3svbqUvb YX1P9WFAEB0eVC8LKV4GfTTaD/ov1ylsvPdR90swA6jVgn4ZziBIVld6pUI/No/V C7p5YE+b725HnTwp/0FZS/RjRxBXFWZEnZ5IvfaqjeohMvyyhkRyNn2ASXiCtzGw iqLhQjrQwukSr1gZKciCSkrMzcceZ0avHvT+rh7dSOni+NOioJBukXlOQrvIDXBJ /E43MKiQ1IhXcHCddOy6n1HS2CfD6BBpJtUTKunaQzduxARnhMrn+3Nva1Jwy8Cl Mv1C6GfDZ26bLe9Lh9agmoqJew7paqj/h5iwUDKWSGu5ePQVejdjI0zBu10WBNTg HYDM8WT3GvT1OQnNV+wBAAgpWpD13rV29kldItIYt1LgiSN4Jf9H9KqMUXmApsCi Cp1H7mDAJu0CATKas1Ja =TtlA -----END PGP SIGNATURE----- ++++++ node-v6.2.1.tar.xz -> node-v6.3.0.tar.xz ++++++ /work/SRC/openSUSE:Factory/nodejs/node-v6.2.1.tar.xz /work/SRC/openSUSE:Factory/.nodejs.new/node-v6.3.0.tar.xz differ: char 26, line 1 ++++++ nodejs-libpath.patch ++++++ --- /var/tmp/diff_new_pack.FBnROn/_old 2016-07-15 12:54:46.000000000 +0200 +++ /var/tmp/diff_new_pack.FBnROn/_new 2016-07-15 12:54:46.000000000 +0200 @@ -1,58 +1,52 @@ -Index: node-v6.1.0/lib/module.js +Index: node-v6.3.0/lib/module.js =================================================================== ---- node-v6.1.0.orig/lib/module.js -+++ node-v6.1.0/lib/module.js -@@ -587,7 +587,12 @@ Module._initPaths = function() { +--- node-v6.3.0.orig/lib/module.js ++++ node-v6.3.0/lib/module.js +@@ -587,7 +587,7 @@ Module._initPaths = function() { homeDir = process.env.HOME; } - var paths = [path.resolve(process.execPath, '..', '..', 'lib', 'node')]; -+ var paths = ['/usr/lib/node_modules']; -+ try { -+ if (fs.statSync('/usr/lib64').isDirectory()) { -+ paths.push('/usr/lib64/node_modules'); -+ } -+ } catch (e) {} ++ var paths = ['/usr/lib/node_modules', '/usr/lib/node']; if (homeDir) { paths.unshift(path.resolve(homeDir, '.node_libraries')); -Index: node-v6.1.0/tools/install.py +Index: node-v6.3.0/tools/install.py =================================================================== ---- node-v6.1.0.orig/tools/install.py -+++ node-v6.1.0/tools/install.py -@@ -75,7 +75,10 @@ def install(paths, dst): map(lambda path +--- node-v6.3.0.orig/tools/install.py ++++ node-v6.3.0/tools/install.py +@@ -6,6 +6,7 @@ import os + import re + import shutil + import sys ++from _sysconfigdata import build_time_vars + from getmoduleversion import get_version + + # set at init time +@@ -76,7 +77,7 @@ def install(paths, dst): map(lambda path def uninstall(paths, dst): map(lambda path: try_remove(path, dst), paths) def npm_files(action): - target_path = 'lib/node_modules/npm/' -+ if os.path.isdir('/usr/lib64'): -+ target_path = 'lib64/node_modules/npm/' -+ else: -+ target_path = 'lib/node_modules/npm/' ++ target_path = build_time_vars["LIB"] + '/node_modules/npm/' # don't install npm if the target path is a symlink, it probably means # that a dev version of npm is installed there -@@ -93,7 +96,10 @@ def npm_files(action): +@@ -94,7 +95,7 @@ def npm_files(action): if action == uninstall: action([link_path], 'bin/npm') elif action == install: - try_symlink('../lib/node_modules/npm/bin/npm-cli.js', link_path) -+ if os.path.isdir('/usr/lib64'): -+ try_symlink('../lib64/node_modules/npm/bin/npm-cli.js',link_path) -+ else: -+ try_symlink('../lib/node_modules/npm/bin/npm-cli.js', link_path) ++ try_symlink("../" + build_time_vars["LIB"] + '/node_modules/npm/bin/npm-cli.js',link_path) else: assert(0) # unhandled action type -@@ -112,7 +118,10 @@ def files(action): - action(['out/Release/node' + exeext], 'bin/node' + exeext) +@@ -126,7 +127,7 @@ def files(action): + action([output_prefix + output_file], 'bin/' + output_file) if 'true' == variables.get('node_use_dtrace'): - action(['out/Release/node.d'], 'lib/dtrace/node.d') -+ if os.path.isdir('/usr/lib64/'): -+ action(['out/Release/node.d'], 'lib64/dtrace/node.d') -+ else: -+ action(['out/Release/node.d'], 'lib/dtrace/node.d') ++ action(['out/Release/node.d'], build_time_vars["LIB"] + '/dtrace/node.d') # behave similarly for systemtap action(['src/node.stp'], 'share/systemtap/tapset/') ++++++ nodejs-libpath64.patch ++++++ Index: node-v6.2.2/lib/module.js =================================================================== --- node-v6.2.2.orig/lib/module.js +++ node-v6.2.2/lib/module.js @@ -587,7 +587,7 @@ Module._initPaths = function() { homeDir = process.env.HOME; } - var paths = ['/usr/lib/node_modules', '/usr/lib/node']; + var paths = ['/usr/lib64/node_modules', '/usr/lib/node_modules', '/usr/lib/node']; if (homeDir) { paths.unshift(path.resolve(homeDir, '.node_libraries')); ++++++ npm_search_paths.patch ++++++ Index: node-v6.3.0/deps/npm/lib/config/core.js =================================================================== --- node-v6.3.0.orig/deps/npm/lib/config/core.js +++ node-v6.3.0/deps/npm/lib/config/core.js @@ -151,16 +151,12 @@ function load_ (builtin, rc, cli, cb) { // Eg, `npm config get globalconfig --prefix ~/local` should // return `~/local/etc/npmrc` // annoying humans and their expectations! - if (conf.get('prefix')) { - var etc = path.resolve(conf.get('prefix'), 'etc') + var etc = path.resolve("/etc/nodejs") mkdirp(etc, function () { defaults.globalconfig = path.resolve(etc, 'npmrc') defaults.globalignorefile = path.resolve(etc, 'npmignore') afterUserContinuation() }) - } else { - afterUserContinuation() - } } function afterUserContinuation () { Index: node-v6.3.0/deps/npm/lib/help.js =================================================================== --- node-v6.3.0.orig/deps/npm/lib/help.js +++ node-v6.3.0/deps/npm/lib/help.js @@ -58,7 +58,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' @@ -108,7 +108,7 @@ 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') + var manpath = "/usr/share/man" var env = {} Object.keys(process.env).forEach(function (i) { env[i] = process.env[i] Index: node-v6.3.0/deps/npm/lib/help-search.js =================================================================== --- node-v6.3.0.orig/deps/npm/lib/help-search.js +++ node-v6.3.0/deps/npm/lib/help-search.js @@ -18,7 +18,7 @@ function helpSearch (args, silent, cb) { } if (!args.length) return cb(helpSearch.usage) - var docPath = path.resolve(__dirname, '..', 'doc') + var docPath = "/usr/share/doc/packages/nodejs" return glob(docPath + '/*/*.md', function (er, files) { if (er) return cb(er) readFiles(files, function (er, data) { Index: node-v6.3.0/deps/npm/lib/config/defaults.js =================================================================== --- node-v6.3.0.orig/deps/npm/lib/config/defaults.js +++ node-v6.3.0/deps/npm/lib/config/defaults.js @@ -102,6 +102,11 @@ Object.defineProperty(exports, 'defaults if (process.env.DESTDIR) { globalPrefix = path.join(process.env.DESTDIR, globalPrefix) } + + // don't poop all over distro territory - use /usr/local instead + if (globalPrefix === '/usr') { + globalPrefix = path.join(globalPrefix, '/local'); + } } defaults = { ++++++ support-arm64-build.patch ++++++ --- /var/tmp/diff_new_pack.FBnROn/_old 2016-07-15 12:54:47.000000000 +0200 +++ /var/tmp/diff_new_pack.FBnROn/_new 2016-07-15 12:54:47.000000000 +0200 @@ -1,8 +1,8 @@ -Index: node-v6.2.1/Makefile +Index: node-v6.3.0/Makefile =================================================================== ---- node-v6.2.1.orig/Makefile -+++ node-v6.2.1/Makefile -@@ -381,6 +381,9 @@ else +--- node-v6.3.0.orig/Makefile ++++ node-v6.3.0/Makefile +@@ -401,6 +401,9 @@ else ifeq ($(DESTCPU),arm) ARCH=arm else @@ -12,7 +12,7 @@ ifeq ($(DESTCPU),aarch64) ARCH=arm64 else -@@ -400,6 +403,7 @@ ARCH=x86 +@@ -420,6 +423,7 @@ ARCH=x86 endif endif endif
