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.majer@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.majer@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