Hello community, here is the log from the commit of package nodejs4 for openSUSE:Factory checked in at 2016-12-02 16:42:23 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/nodejs4 (Old) and /work/SRC/openSUSE:Factory/.nodejs4.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nodejs4" Changes: -------- --- /work/SRC/openSUSE:Factory/nodejs4/nodejs4.changes 2016-10-23 12:51:38.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.nodejs4.new/nodejs4.changes 2016-12-02 16:42:24.000000000 +0100 @@ -1,0 +2,15 @@ +Wed Nov 23 09:00:40 UTC 2016 - adam.ma...@suse.de + +- Add missing conflicts to base package. It's not possible to have + concurrent nodejs installations. + +------------------------------------------------------------------- +Fri Nov 18 11:59:06 UTC 2016 - adam.ma...@suse.de + +- Package unification across various branches of NodeJS. Package + for 4.x, 6.x and current (7.x) branches of NodeJS are now + handled via GitHub repository. +- remove support-arm64-build.patch: no longer required +- remove nodejs-libpath64.patch: obsolete + +------------------------------------------------------------------- Old: ---- SHASUMS256.txt.asc nodejs-libpath64.patch nodejs4.keyring support-arm64-build.patch New: ---- SHASUMS256.txt.sig nodejs.keyring ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ nodejs4.spec ++++++ --- /var/tmp/diff_new_pack.i8BUiY/_old 2016-12-02 16:42:26.000000000 +0100 +++ /var/tmp/diff_new_pack.i8BUiY/_new 2016-12-02 16:42:26.000000000 +0100 @@ -16,77 +16,123 @@ # +########################################################### +# +# WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! +# +# This spec file is generated from a template hosted at +# https://github.com/AdamMajer/nodejs-packaging +# +########################################################### + Name: nodejs4 Version: 4.6.1 Release: 0 -%define npm_version 2.15.9 -%define major_version 4 + +%if 0%{?sles_version} == 11 +%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 %bcond_without intree_openssl %endif -%ifarch aarch64 ppc ppc64 ppc64le s390x +%if 0 +%bcond_with intree_cares +%else +%bcond_without intree_cares +%endif + +%if 0%{?suse_version} >= 1200 +%bcond_with intree_icu +%else +%bcond_without intree_icu +%endif + +%ifarch aarch64 ppc ppc64 ppc64le s390 s390x %bcond_with gdb %else %bcond_without gdb %endif -%ifarch aarch64 # No binutils_gold on SLE12 +# No binutils_gold on SLE12 (aarch64). +%ifarch aarch64 + %if 0%{?sle_version} >= 120100 || 0%{?is_opensuse} %bcond_without binutils_gold %else %bcond_with binutils_gold %endif -%else # other arch + +%else # aarch64 + +# No binutils_gold on s390x. +%ifarch s390x s390 +%bcond_with binutils_gold +%else %bcond_without binutils_gold -%endif -# +%endif # s390x s390 + +%endif # aarch64 + 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 -Source1: https://nodejs.org/dist/v%{version}/SHASUMS256.txt.asc -Source2: nodejs4.keyring -# dummy file so GPG check is run vs. embedded signature of the actual checksum file -Source3: SHASUMS256.txt +Url: https://nodejs.org +Source: https://nodejs.org/dist/v%{version}/node-v%{version}.tar.xz +Source1: https://nodejs.org/dist/v%{version}/SHASUMS256.txt +Source2: https://nodejs.org/dist/v%{version}/SHASUMS256.txt.sig +Source3: nodejs.keyring + ## UPSTREAM PATCHES HERE, if any Patch1: https://patch-diff.githubusercontent.com/raw/nodejs/node/pull/8334.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 +# PATCH-FIX-OPENSUSE -- set correct path for dtrace if it is built +Patch101: nodejs-libpath.patch +# PATCH-FIX-UPSTREAM -- use custom addon.gypi by default instead of # downloading node source -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 -Patch105: nodejs-sle11-python26-check_output.patch -Patch106: npm_search_paths.patch +Patch102: node-gyp-addon-gypi.patch +# PATCH-FIX-SLE -- configure script uses Python check_output method +# which isn't included in Python 2.6 (used in SLE 11). +Patch103: nodejs-sle11-python26-check_output.patch +# PATCH-FIX-OPENSUSE -- install user global npm packages to /usr/local +# instead of /usr +Patch104: npm_search_paths.patch %if %{with binutils_gold} BuildRequires: binutils-gold %endif -BuildRequires: curl -BuildRequires: fdupes + %if 0%{?sles_version} == 11 BuildRequires: gcc48-c++ %else BuildRequires: gcc-c++ %endif -%if ! %{with intree_openssl} -BuildRequires: openssl-devel >= 1.0.2 -%endif + +BuildRequires: curl +BuildRequires: fdupes BuildRequires: pkg-config BuildRequires: procps BuildRequires: python BuildRequires: xz BuildRequires: zlib-devel -Recommends: npm%{major_version} = %{npm_version} -Provides: nodejs = %{version} -Conflicts: otherproviders(nodejs) + +%if ! %{with intree_openssl} +BuildRequires: openssl-devel >= 1.0.2 +%endif + +%if ! %{with intree_cares} +BuildRequires: pkgconfig(libcares) >= 1.10.0 +%endif + +%if ! %{with intree_icu} +BuildRequires: pkgconfig(icu-i18n) >= 52 +%endif + +Recommends: npm(npm) = 2.15.9 #we need ABI virtual provides where SONAMEs aren't enough/not present so deps #break when binary compatibility is broken @@ -96,14 +142,18 @@ #this corresponds to the "engine" requirement in package.json Provides: nodejs(engine) = %{version} +# Only one nodejs installed at a time +Provides: nodejs = %{version} +Conflicts: otherproviders(nodejs) + # For SLE11, to be able to use the certificate store we need to have properly # symlinked certificates. The compatability symlinks are provided by the # openssl1 library in the Security Module -%if 0%{suse_version} == 1110 +%if 0%{?sles_version} == 11 Requires: openssl1 %endif -#building nodejs makes sense only on v8 archs +# Building Node.js only makes sense on V8 architectures. ExclusiveArch: %{ix86} x86_64 armv7hl aarch64 ppc ppc64 ppc64le BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -114,28 +164,32 @@ ecosystem of open source libraries in the world. %package devel -Provides: nodejs-devel = %{version} Summary: Files needed for development of NodeJS platforms 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. -%package -n npm%{major_version} +%package -n npm4 Summary: Package manager for Node.js Group: Development/Languages/NodeJS Requires: %{name}-devel = %{version} -Provides: npm(npm) = %{npm_version} +Provides: nodejs-npm = %{version} +Obsoletes: nodejs-npm < 5.3.1 +Provides: npm = %{version} +Provides: npm(npm) = 2.15.9 Conflicts: otherproviders(npm) -%description -n npm%{major_version} -A package manager for Node.js. +%description -n npm4 +A package manager for Node.js that allows developers to install and +publish packages to a package registry. %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 @@ -150,23 +204,26 @@ %patch1 -p1 %patch101 -p1 %patch102 -p1 -# we also need to search 64bit path -%if %{_lib} == "lib64" +# Add check_output to configure script (not part of Python 2.6 in SLE11). +%if 0%{?sles_version} == 11 %patch103 -p1 %endif %patch104 -p1 -# add check_output to configure script (not part of python -# 2.6 in SLES11) -%if 0%{?sles_version} == 11 -%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 ! %{with intree_openssl} find deps/openssl -name *.[ch] -delete %endif + +%if ! %{with intree_icu} +rm -rf deps/icu-small +%endif + +%if ! %{with intree_cares} +find deps/cares -name *.[ch] -delete +%endif + find deps/zlib -name *.[ch] -delete %build @@ -174,8 +231,7 @@ # script, so we'll do it thus: export CFLAGS="%{optflags}" export CXXFLAGS="%{optflags}" - -# SLE_11_SP4 compatible +# It seems that GCC 4.8 is needed to compile on SLE 11 SP4. %if 0%{?sles_version} == 11 export CXX="g++-4.8" %endif @@ -186,6 +242,12 @@ --shared-openssl \ %endif --shared-zlib \ +%if ! %{with intree_cares} + --shared-cares \ +%endif +%if ! %{with intree_icu} + --with-intl=system-icu \ +%endif %if %{with gdb} --gdb \ %endif @@ -213,7 +275,7 @@ %{buildroot}%{_libdir}/node_modules/npm/node_modules/node-gyp/addon-rpm.gypi # Own nodejs_sitelib -mkdir -p %{buildroot}%{_libexecdir}/node_modules +#mkdir -p %{buildroot}%{_libdir}/node_modules/npm # clean # hidden files and directories @@ -254,23 +316,23 @@ %{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}%{_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 +%dir %{_libdir}/node_modules %{_bindir}/node %{_libdir}/node_modules %{_mandir}/man1/node.1%{ext_man} %exclude %{_libdir}/node_modules/npm -%files -n npm%{major_version} +%files -n npm4 %defattr(-, root, root) %{_bindir}/npm %{_libdir}/node_modules/npm ++++++ 8334.diff ++++++ --- /var/tmp/diff_new_pack.i8BUiY/_old 2016-12-02 16:42:26.000000000 +0100 +++ /var/tmp/diff_new_pack.i8BUiY/_new 2016-12-02 16:42:26.000000000 +0100 @@ -1,11 +1,12 @@ +Source: https://github.com/nodejs/node/pull/8334 Author: Adam Majer <ama...@suse.de> -Summary: Add compile time option to use system CA store instead of bundled ones +Summary: add option to use system CA store -diff --git a/configure b/configure -index 42dac5f..0dd5fd4 100755 ---- a/configure -+++ b/configure -@@ -187,6 +187,11 @@ shared_optgroup.add_option('--shared-openssl-libpath', +Index: node-v6.9.0/configure +=================================================================== +--- node-v6.9.0.orig/configure ++++ node-v6.9.0/configure +@@ -187,6 +187,11 @@ shared_optgroup.add_option('--shared-ope dest='shared_openssl_libpath', help='a directory to search for the shared OpenSSL DLLs') @@ -26,11 +27,11 @@ if options.openssl_fips: o['variables']['openssl_fips'] = options.openssl_fips fips_dir = os.path.join(root_dir, 'deps', 'openssl', 'fips') -diff --git a/src/node_crypto.cc b/src/node_crypto.cc -index 9cf216f..ec7f7d2 100644 ---- a/src/node_crypto.cc -+++ b/src/node_crypto.cc -@@ -751,6 +751,23 @@ void SecureContext::AddRootCerts(const FunctionCallbackInfo<Value>& args) { +Index: node-v6.9.0/src/node_crypto.cc +=================================================================== +--- node-v6.9.0.orig/src/node_crypto.cc ++++ node-v6.9.0/src/node_crypto.cc +@@ -751,6 +751,23 @@ void SecureContext::AddRootCerts(const F CHECK_EQ(sc->ca_store_, nullptr); if (!root_cert_store) { @@ -54,7 +55,7 @@ root_cert_store = X509_STORE_new(); for (size_t i = 0; i < arraysize(root_certs); i++) { -@@ -770,9 +787,12 @@ void SecureContext::AddRootCerts(const FunctionCallbackInfo<Value>& args) { +@@ -770,9 +787,12 @@ void SecureContext::AddRootCerts(const F BIO_free_all(bp); X509_free(x509); } @@ -67,11 +68,11 @@ SSL_CTX_set_cert_store(sc->ctx_, sc->ca_store_); } -diff --git a/src/node_crypto.h b/src/node_crypto.h -index 24ac773..fd3e2ce 100644 ---- a/src/node_crypto.h -+++ b/src/node_crypto.h -@@ -142,13 +142,6 @@ class SecureContext : public BaseObject { +Index: node-v6.9.0/src/node_crypto.h +=================================================================== +--- node-v6.9.0.orig/src/node_crypto.h ++++ node-v6.9.0/src/node_crypto.h +@@ -142,13 +142,6 @@ class SecureContext : public BaseObject void FreeCTXMem() { if (ctx_) { env()->isolate()->AdjustAmountOfExternalAllocatedMemory(-kExternalSize); ++++++ SHASUMS256.txt ++++++ --- /var/tmp/diff_new_pack.i8BUiY/_old 2016-12-02 16:42:26.000000000 +0100 +++ /var/tmp/diff_new_pack.i8BUiY/_new 2016-12-02 16:42:26.000000000 +0100 @@ -0,0 +1,39 @@ +e5929de3a963f9a75c5923c9c222cde401e03c4b4991ec9281bf81f878f482ff node-v4.6.1-darwin-x64.tar.gz +18252a9261477296975317c11ee5d21c3847df0f6e4b25e210373fd839a77984 node-v4.6.1-darwin-x64.tar.xz +58ce23125a049f0098693f8c48c431d54906586007c1a8b899add656a4e5a2fe node-v4.6.1-headers.tar.gz +7d0e7ad37175695b35c6f6761dbc5f0e3beb777f8ad5943563100efed1c0b43d node-v4.6.1-headers.tar.xz +439a4261c13644dee42d8f5ff6a6fc7974a5c5bb169f6c79cc5852b50298a1c4 node-v4.6.1-linux-arm64.tar.gz +a8952908de2933f6702ac85e2f12ea0443ac7459176624546565ea74d2492560 node-v4.6.1-linux-arm64.tar.xz +a66310bd045260f3c1d55bbafe7bbd6477004882f8b7ef63da0b79ed3d2b9ec4 node-v4.6.1-linux-armv6l.tar.gz +8883c105c0e192ba41d882ac459a5f025a205f7d5799369f2f54c71ce84fb1f2 node-v4.6.1-linux-armv6l.tar.xz +b6883d8d3daf121c6fffcd8546747105ca46ae8b1214d2fb6f3640a8aef0879c node-v4.6.1-linux-armv7l.tar.gz +3cd0d522ddcedd22110b0cd698c5babc3b11b3be378e79570010f6708ee9714f node-v4.6.1-linux-armv7l.tar.xz +1c66dd602d5ac022560eb7f2cb8c1be63d7a0d9e32f8f67c0bd7d84fce7179e5 node-v4.6.1-linux-ppc64le.tar.gz +ed99067c35d478d5667789298cbd0a645c88f9be291091ae9d868ccc12e8e833 node-v4.6.1-linux-ppc64le.tar.xz +297a458edf5f0f274e8bba96dcb8cb975e47a802401087a17ba20f550fa85785 node-v4.6.1-linux-ppc64.tar.gz +84e0e9d8930cc6a6c8f519a802ad7a28f33298d71ba59e8f8a5eead5233c0030 node-v4.6.1-linux-ppc64.tar.xz +033243d4ddffd67856c9ccfb512b0d1980e8d1373554bc328472b21bc5de7675 node-v4.6.1-linux-x64.tar.gz +cafa6e4bc66e3b8047f927c6cd3549398b9c11a94c73c9d0b9fc330e85e9697b node-v4.6.1-linux-x64.tar.xz +16e0216d35ed1f81ac9a40081fa6f9b28e63dcbb38b316956dc1badd8b4bcfa7 node-v4.6.1-linux-x86.tar.gz +ddbfd6729538da959c4444181b1860dd6bfbee927c5f0c3b9007881006f19f58 node-v4.6.1-linux-x86.tar.xz +ccf029983486ba15394bd7cf4dd23b19cd371ec58f58d60897e72d156556e8c2 node-v4.6.1.pkg +892b86782c240b1886b4b655ca266425164e928b18c75e3d3f6960172a34cedf node-v4.6.1-sunos-x64.tar.gz +1a0d8ae76ef9c03c24bf8a46abe8e1c334be97ccec4a7b4e40ed6e00003db899 node-v4.6.1-sunos-x64.tar.xz +f87490f0764b6c0a88e3e90e2ee14eb8b67dad0245a7b20fcc4e5fe1e75d3ec9 node-v4.6.1-sunos-x86.tar.gz +3047a3ee63e8bd3fd2275daf2e9bb9be028009394751fb96b0c79f74c3cedb9c node-v4.6.1-sunos-x86.tar.xz +b8ca4db42c5a1fed95baf6996ff776db3c95ad2bcf73c7aed2f1f921a1225de3 node-v4.6.1.tar.gz +fe2a85df8758001878abb5bbaf17a6b6cdc12b3e465b1d3bace83b37fdf0345a node-v4.6.1.tar.xz +8a9739e505244f382d8a045464cff1c92a10977351138e7972bd3349bb4e9106 node-v4.6.1-win-x64.7z +f576f2dacc4262202ae21f7d64ab9a01b7e551795848dfa39ef39a2cd63fa42c node-v4.6.1-win-x64.zip +9633d956e36d8196f811ff4e685261910d942b2ceaa46aa296bbbbd5fa8b2b09 node-v4.6.1-win-x86.7z +80ecda252f5d7026a73bca964369e4eff4cac7ae2c8c96728ca10ef63f8564a5 node-v4.6.1-win-x86.zip +3718c9b018751d16ac311208c1d0d8091089ce431ea32f285ddaf54884091061 node-v4.6.1-x64.msi +b75124cb64ec423142f8c27e061854848ad99bf7bb896c8072ecebb5c91f6900 node-v4.6.1-x86.msi +04e33f33ba34a3426f4f11517f6b390697af7b5635eca97ff379204fdc978635 win-x64/node.exe +8dcb77384bcdf1cb7caa9fa1a146fd89318ec484b597918350a8603e911ddb75 win-x64/node.lib +ca0431734a0f0aca4ec78ea7c97969da9d13803212a5902af64304c6f1fb99dc win-x64/node_pdb.7z +75c3133ecc9671113057727c1bd91af489a37ed207821acc731e27389d91cd94 win-x64/node_pdb.zip +965d55bdb6e8abc4053cccf87fbb524d4e2c416eba8892705eac60acf73262e2 win-x86/node.exe +228584a3a6e4b0e50d5e56fd4d795f499df8e08b4a33f316ccf528baf49f7302 win-x86/node.lib +25e0f6f56b34b5af71d79ae88858d6f69e9c3ffb11d7db748f5a585c4777ca8d win-x86/node_pdb.7z +1ebdf49696992aa4961a8420f6e9e629f33928043ef497a03505df635ebfdc1c win-x86/node_pdb.zip ++++++ node-gyp-addon-gypi.patch ++++++ --- /var/tmp/diff_new_pack.i8BUiY/_old 2016-12-02 16:42:26.000000000 +0100 +++ /var/tmp/diff_new_pack.i8BUiY/_new 2016-12-02 16:42:26.000000000 +0100 @@ -1,7 +1,7 @@ -Index: node-v4.5.0/addon-rpm.gypi +Index: node-v6.9.0/addon-rpm.gypi =================================================================== --- /dev/null -+++ node-v4.5.0/addon-rpm.gypi ++++ node-v6.9.0/addon-rpm.gypi @@ -0,0 +1,35 @@ +{ + 'target_defaults': { @@ -38,10 +38,10 @@ + ] + } +} -Index: node-v4.5.0/deps/npm/node_modules/node-gyp/lib/configure.js +Index: node-v6.9.0/deps/npm/node_modules/node-gyp/lib/configure.js =================================================================== ---- node-v4.5.0.orig/deps/npm/node_modules/node-gyp/lib/configure.js -+++ node-v4.5.0/deps/npm/node_modules/node-gyp/lib/configure.js +--- node-v6.9.0.orig/deps/npm/node_modules/node-gyp/lib/configure.js ++++ node-v6.9.0/deps/npm/node_modules/node-gyp/lib/configure.js @@ -60,10 +60,6 @@ function configure (gyp, argv, callback) if ('v' + release.version !== process.version) { // if --target was given, then determine a target version to compile for