Hello community, here is the log from the commit of package nodejs6 for openSUSE:Factory checked in at 2018-10-23 20:40:23 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/nodejs6 (Old) and /work/SRC/openSUSE:Factory/.nodejs6.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nodejs6" Tue Oct 23 20:40:23 2018 rev:28 rq:643770 version:6.14.4 Changes: -------- --- /work/SRC/openSUSE:Factory/nodejs6/nodejs6.changes 2018-08-20 16:23:26.921164418 +0200 +++ /work/SRC/openSUSE:Factory/.nodejs6.new/nodejs6.changes 2018-10-23 20:41:43.580448543 +0200 @@ -1,0 +2,5 @@ +Mon Oct 1 14:47:48 UTC 2018 - adam.ma...@suse.de + +- fix_ci_tests.patch: Fix unit tests + +------------------------------------------------------------------- New: ---- bash_output_helper.bash ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ nodejs6.spec ++++++ --- /var/tmp/diff_new_pack.WrwlFB/_old 2018-10-23 20:41:44.588447339 +0200 +++ /var/tmp/diff_new_pack.WrwlFB/_new 2018-10-23 20:41:44.588447339 +0200 @@ -37,11 +37,12 @@ %define openssl_req_ver 1.0.2 %endif +%bcond_with valgrind_tests + %if 0%{?suse_version} == 1110 %define _libexecdir %{_exec_prefix}/lib %endif -# Only Leap 42.2+, SLE 12 SP2+ and Tumbleweed have OpenSSL 1.0.2. %if 0%{?suse_version} > 1320 || 0%{?sle_version} >= 120200 %bcond_with intree_openssl %else @@ -98,6 +99,8 @@ %bcond_without binutils_gold %endif +%define git_node 0 + Summary: Evented I/O for V8 JavaScript License: MIT Group: Development/Languages/NodeJS @@ -107,6 +110,8 @@ Source2: https://nodejs.org/dist/v%{version}/SHASUMS256.txt.sig Source3: nodejs.keyring +Source20: bash_output_helper.bash + ## Patches not distribution specific Patch3: fix_ci_tests.patch Patch6: icu_61_namespacefix.patch @@ -129,7 +134,7 @@ Patch201: env_shebang.patch -%if %{with binutils_gold} +%if 0%{with binutils_gold} BuildRequires: binutils-gold %endif @@ -176,7 +181,12 @@ BuildRequires: python %endif -%if ! %{with intree_openssl} +%if 0%{?suse_version} >= 1500 && %{node_version_number} >= 10 +BuildRequires: group(nobody) +BuildRequires: user(nobody) +%endif + +%if ! 0%{with intree_openssl} %if %node_version_number >= 8 BuildRequires: openssl-devel >= %{openssl_req_ver} @@ -191,18 +201,22 @@ %endif # older node doesn't support OpenSSL 1.1 %endif # ! {with intree_openssl} -%if ! %{with intree_cares} +%if ! 0%{with intree_cares} BuildRequires: pkgconfig(libcares) >= 1.10.0 %endif -%if ! %{with intree_icu} +%if ! 0%{with intree_icu} BuildRequires: pkgconfig(icu-i18n) >= 52 %endif -%if ! %{with intree_nghttp2} +%if ! 0%{with intree_nghttp2} BuildRequires: libnghttp2-devel >= 1.31.0 %endif +%if 0%{with valgrind_tests} +BuildRequires: valgrind +%endif + Requires(post): update-alternatives Requires(postun): update-alternatives Recommends: npm6 @@ -277,12 +291,23 @@ The API documentation for the Node.js JavaScript runtime. %prep +%if ! %{git_node} echo "`grep node-v%{version}.tar.xz %{S:1} | head -n1 | cut -c1-64` %{S:0}" | sha256sum -c %setup -q -n node-v%{version} +%else +%setup -q -n node-%{version} +%endif + +%if %{node_version_number} >= 10 +tar Jxvf %{SOURCE11} +%endif # node_version_number + %patch3 -p1 -%if ! %{with intree_openssl} +%if ! 0%{with intree_openssl} %endif %patch6 -p1 +%if 0%{with valgrind_tests} +%endif %patch101 -p1 %patch102 -p1 # Add check_output to configure script (not part of Python 2.6 in SLE11). @@ -297,18 +322,19 @@ find -name configure.js.orig -delete %build +. %{SOURCE20} # 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 ! %{with intree_openssl} +%if ! 0%{with intree_openssl} find deps/openssl -name *.[ch] -delete %endif -%if ! %{with intree_icu} +%if ! 0%{with intree_icu} rm -rf deps/icu-small %endif -%if ! %{with intree_cares} +%if ! 0%{with intree_cares} find deps/cares -name *.[ch] -delete %endif @@ -333,14 +359,14 @@ ./configure \ --prefix=%{_prefix} \ -%if ! %{with intree_openssl} +%if ! 0%{with intree_openssl} --shared-openssl \ %endif --shared-zlib \ -%if ! %{with intree_cares} +%if ! 0%{with intree_cares} --shared-cares \ %endif -%if ! %{with intree_icu} +%if ! 0%{with intree_icu} --with-intl=system-icu \ %else %if %{has_small_icu} @@ -348,22 +374,29 @@ --with-icu-source=deps/icu-small \ %endif %endif -%if ! %{with intree_nghttp2} +%if ! 0%{with intree_nghttp2} --shared-nghttp2 \ %endif -%if %{with gdb} +%if 0%{with gdb} --gdb \ %endif --without-dtrace \ --openssl-use-def-ca-store -make %{?_smp_mflags} +decoupled_cmd make %{?_smp_mflags} # Fix documentation permissions find doc/api -type f -exec chmod 0644 {} + %install -%make_install %{?_smp_mflags} +. %{SOURCE20} + +%if 0%{?cc_exec:1} +export CC=%{?cc_exec} +export CXX=%{?cpp_exec} +%endif + +decoupled_cmd %make_install %{?_smp_mflags} rm %{buildroot}%{_datadir}/doc/node/gdbinit rm -f %{buildroot}%{_datadir}/doc/node/lldbinit rm -f %{buildroot}%{_datadir}/doc/node/lldb_commands.py @@ -441,6 +474,11 @@ %endif %check +%if 0%{?cc_exec:1} +export CC=%{?cc_exec} +export CXX=%{?cpp_exec} +%endif + ln addon-rpm.gypi deps/npm/node_modules/node-gyp/addon-rpm.gypi # Tarball doesn't have eslint package distributed, so disable some tests find test -name \*-eslint-\* -print -delete @@ -451,8 +489,12 @@ test/parallel/test-dns-resolveany.js # multicast test fail since no socket? rm -f test/parallel/test-dgram-membership.js -# Run CI tests - 'advisory for now' -make test-ci || echo "****** UNIT TESTS NOT ALL HAPPY *****" +# Run CI tests +%if 0%{with valgrind_tests} +# valgrind may have false positives, so do not fail on these by default +make test-valgrind ||: +%endif +make test-ci %files %defattr(-, root, root) ++++++ bash_output_helper.bash ++++++ # # Node can break stdin/stdout/stderr by setting them O_NONBLOCK # and then not resetting it back to blocking mode on exit # This function redirects stdio descriptors via new logging pipe # function decoupled_cmd { mkfifo _log ($@) < /dev/null > _log 2>_log & cat _log rm _log wait $! } ++++++ fix_ci_tests.patch ++++++ --- /var/tmp/diff_new_pack.WrwlFB/_old 2018-10-23 20:41:44.644447272 +0200 +++ /var/tmp/diff_new_pack.WrwlFB/_new 2018-10-23 20:41:44.648447267 +0200 @@ -2,10 +2,10 @@ Date: Dec 20 09:18:49 UTC 2017 Summary: Fix CI unit tests framework for OBS building -Index: node-v6.12.2/test/parallel/test-module-loading-globalpaths.js +Index: node-v6.14.4/test/parallel/test-module-loading-globalpaths.js =================================================================== ---- node-v6.12.2.orig/test/parallel/test-module-loading-globalpaths.js -+++ node-v6.12.2/test/parallel/test-module-loading-globalpaths.js +--- node-v6.14.4.orig/test/parallel/test-module-loading-globalpaths.js ++++ node-v6.14.4/test/parallel/test-module-loading-globalpaths.js @@ -7,6 +7,9 @@ const fs = require('fs'); const child_process = require('child_process'); const pkgName = 'foo'; @@ -16,3 +16,57 @@ if (process.argv[2] === 'child') { console.log(require(pkgName).string); } else { +Index: node-v6.14.4/test/parallel/test-dgram-multicast-set-interface-lo.js +=================================================================== +--- node-v6.14.4.orig/test/parallel/test-dgram-multicast-set-interface-lo.js ++++ node-v6.14.4/test/parallel/test-dgram-multicast-set-interface-lo.js +@@ -4,6 +4,9 @@ const assert = require('assert'); + const dgram = require('dgram'); + const util = require('util'); + ++common.skip('skipping on OBS'); ++return; ++ + if (common.inFreeBSDJail) { + common.skip('in a FreeBSD jail'); + return; +Index: node-v6.14.4/test/parallel/test-tls-passphrase.js +=================================================================== +--- node-v6.14.4.orig/test/parallel/test-tls-passphrase.js ++++ node-v6.14.4/test/parallel/test-tls-passphrase.js +@@ -200,7 +200,7 @@ server.listen(0, common.mustCall(functio + }, common.mustCall()); + })).unref(); + +-const errMessagePassword = /bad decrypt/; ++const errMessagePassword = /bad decrypt|bad password read/; + + // Missing passphrase + assert.throws(function() { +Index: node-v6.14.4/test/parallel/test-repl-envvars.js +=================================================================== +--- node-v6.14.4.orig/test/parallel/test-repl-envvars.js ++++ node-v6.14.4/test/parallel/test-repl-envvars.js +@@ -8,6 +8,9 @@ const REPL = require('internal/repl'); + const assert = require('assert'); + const inspect = require('util').inspect; + ++common.skip('skipping on OBS'); ++return; ++ + const tests = [ + { + env: {}, +Index: node-v6.14.4/test/common/index.js +=================================================================== +--- node-v6.14.4.orig/test/common/index.js ++++ node-v6.14.4/test/common/index.js +@@ -277,6 +277,8 @@ exports.spawnSyncPwd = function(options) + }; + + exports.platformTimeout = function(ms) { ++ ms = 10 * ms; // OBS overhead ++ + if (process.features.debug) + ms = 2 * ms; +