4 changed files with 516 additions and 0 deletions
@ -0,0 +1,29 @@
|
||||
|
||||
#include <stdio.h> |
||||
#include <stdlib.h> |
||||
#include <string.h> |
||||
#include <unistd.h> |
||||
#include <errno.h> |
||||
|
||||
#define NAME "node10" |
||||
|
||||
#define WRAP PREFIX "/bin/" NAME |
||||
#define REAL PREFIX "/libexec/" NAME "/node" |
||||
|
||||
int main(int argn, char **argv) |
||||
{ |
||||
char *path; |
||||
|
||||
argv[0] = REAL; |
||||
if ((path = getenv("NODE")) != NULL) |
||||
if (strcmp(path, NAME) != 0 && strcmp(path, WRAP) != 0) |
||||
argv[0] = path; |
||||
|
||||
if (execvp(argv[0], argv) == -1) { |
||||
fprintf(stderr, "node: ERROR: failed to execute \"%s\": %s\n", argv[0], strerror(errno)); |
||||
exit(1); |
||||
} |
||||
|
||||
return 0; |
||||
} |
||||
|
@ -0,0 +1,296 @@
|
||||
Index: common.gypi
|
||||
--- common.gypi.orig 2018-09-20 09:28:26.000000000 +0200
|
||||
+++ common.gypi 2018-09-20 20:10:49.378532000 +0200
|
||||
@@ -165,7 +165,7 @@
|
||||
'variables': {
|
||||
'v8_enable_handle_zapping': 0,
|
||||
},
|
||||
- 'cflags': [ '-O3' ],
|
||||
+ 'cflags': [ '-O2' ],
|
||||
'conditions': [
|
||||
['target_arch=="x64"', {
|
||||
'msvs_configuration_platform': 'x64',
|
||||
@@ -357,7 +357,7 @@
|
||||
'ldflags': [ '-pthread' ],
|
||||
}],
|
||||
[ 'OS in "linux freebsd openbsd solaris android aix cloudabi"', {
|
||||
- 'cflags': [ '-Wall', '-Wextra', '-Wno-unused-parameter', ],
|
||||
+ 'cflags': [ '-Wno-unused-parameter', ],
|
||||
'cflags_cc': [ '-fno-rtti', '-fno-exceptions', '-std=gnu++1y' ],
|
||||
'ldflags': [ '-rdynamic' ],
|
||||
'target_conditions': [
|
||||
@@ -455,10 +455,7 @@
|
||||
'-fno-strict-aliasing',
|
||||
],
|
||||
'WARNING_CFLAGS': [
|
||||
- '-Wall',
|
||||
- '-Wendif-labels',
|
||||
- '-W',
|
||||
- '-Wno-unused-parameter',
|
||||
+ '-Wno-unused-parameter'
|
||||
],
|
||||
},
|
||||
'target_conditions': [
|
||||
Index: deps/uv/common.gypi
|
||||
--- deps/uv/common.gypi.orig 2018-09-20 09:28:32.000000000 +0200
|
||||
+++ deps/uv/common.gypi 2018-09-20 20:10:49.378760000 +0200
|
||||
@@ -46,7 +46,7 @@
|
||||
'Release': {
|
||||
'defines': [ 'NDEBUG' ],
|
||||
'cflags': [
|
||||
- '-O3',
|
||||
+ '-O2',
|
||||
],
|
||||
'msvs_settings': {
|
||||
'VCCLCompilerTool': {
|
||||
Index: deps/uv/uv.gyp
|
||||
--- deps/uv/uv.gyp.orig 2018-09-20 09:28:32.000000000 +0200
|
||||
+++ deps/uv/uv.gyp 2018-09-20 20:10:49.378973000 +0200
|
||||
@@ -172,7 +172,7 @@
|
||||
'src/unix/udp.c',
|
||||
],
|
||||
'link_settings': {
|
||||
- 'libraries': [ '-lm' ],
|
||||
+ 'libraries': [ '-lz', '-lm' ],
|
||||
'conditions': [
|
||||
['OS=="solaris"', {
|
||||
'ldflags': [ '-pthreads' ],
|
||||
Index: deps/v8/gypfiles/toolchain.gypi
|
||||
--- deps/v8/gypfiles/toolchain.gypi.orig 2018-09-20 09:28:32.000000000 +0200
|
||||
+++ deps/v8/gypfiles/toolchain.gypi 2018-09-20 20:10:49.379336000 +0200
|
||||
@@ -1110,12 +1110,6 @@
|
||||
['OS=="solaris"', {
|
||||
'defines': [ '__C99FEATURES__=1' ], # isinf() etc.
|
||||
}],
|
||||
- ['OS=="freebsd" or OS=="openbsd"', {
|
||||
- 'cflags': [ '-I/usr/local/include' ],
|
||||
- }],
|
||||
- ['OS=="netbsd"', {
|
||||
- 'cflags': [ '-I/usr/pkg/include' ],
|
||||
- }],
|
||||
['OS=="aix"', {
|
||||
'defines': [
|
||||
# Support for malloc(0)
|
||||
@@ -1225,8 +1219,8 @@
|
||||
# Don't use -O3 with sanitizers.
|
||||
['asan==0 and msan==0 and lsan==0 \
|
||||
and tsan==0 and ubsan==0 and ubsan_vptr==0', {
|
||||
- 'cflags': ['-O3'],
|
||||
- 'cflags!': ['-O2'],
|
||||
+ 'cflags': ['-O2'],
|
||||
+ 'cflags!': ['-O3'],
|
||||
}, {
|
||||
'cflags': ['-O2'],
|
||||
'cflags!': ['-O3'],
|
||||
@@ -1343,8 +1337,8 @@
|
||||
# Don't use -O3 with sanitizers.
|
||||
['asan==0 and msan==0 and lsan==0 \
|
||||
and tsan==0 and ubsan==0 and ubsan_vptr==0', {
|
||||
- 'cflags': ['-O3'],
|
||||
- 'cflags!': ['-O2'],
|
||||
+ 'cflags': ['-O2'],
|
||||
+ 'cflags!': ['-O3'],
|
||||
}, {
|
||||
'cflags': ['-O2'],
|
||||
'cflags!': ['-O3'],
|
||||
Index: deps/v8/src/base/platform/platform-freebsd.cc
|
||||
--- deps/v8/src/base/platform/platform-freebsd.cc.orig 2018-09-20 09:28:32.000000000 +0200
|
||||
+++ deps/v8/src/base/platform/platform-freebsd.cc 2018-09-20 20:10:49.379539000 +0200
|
||||
@@ -25,6 +25,7 @@
|
||||
#include <strings.h> // index
|
||||
|
||||
#include <cmath>
|
||||
+#include <cstdio>
|
||||
|
||||
#undef MAP_TYPE
|
||||
|
||||
Index: deps/v8/src/log-utils.cc
|
||||
--- deps/v8/src/log-utils.cc.orig 2018-09-20 09:28:33.000000000 +0200
|
||||
+++ deps/v8/src/log-utils.cc 2018-09-20 20:10:49.379777000 +0200
|
||||
@@ -2,6 +2,9 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
+#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
+
|
||||
#include "src/log-utils.h"
|
||||
|
||||
#include "src/assert-scope.h"
|
||||
Index: deps/v8/src/wasm/wasm-result.cc
|
||||
--- deps/v8/src/wasm/wasm-result.cc.orig 2018-09-20 09:28:34.000000000 +0200
|
||||
+++ deps/v8/src/wasm/wasm-result.cc 2018-09-20 20:10:49.379975000 +0200
|
||||
@@ -2,6 +2,8 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
+#include <cstdarg>
|
||||
+
|
||||
#include "src/wasm/wasm-result.h"
|
||||
|
||||
#include "src/heap/factory.h"
|
||||
Index: lib/dns.js
|
||||
--- lib/dns.js.orig 2018-09-20 09:28:39.000000000 +0200
|
||||
+++ lib/dns.js 2018-09-20 20:10:49.380190000 +0200
|
||||
@@ -138,6 +138,10 @@
|
||||
req.hostname = hostname;
|
||||
req.oncomplete = all ? onlookupall : onlookup;
|
||||
|
||||
+ /* FreeBSD getaddrinfo(3) knows AI_V4MAPPED, but dislikes it */
|
||||
+ if (process.platform === "freebsd")
|
||||
+ hints &= ~(exports.V4MAPPED);
|
||||
+
|
||||
var err = cares.getaddrinfo(req, hostname, family, hints, verbatim);
|
||||
if (err) {
|
||||
process.nextTick(callback, dnsException(err, 'getaddrinfo', hostname));
|
||||
Index: lib/internal/modules/cjs/loader.js
|
||||
--- lib/internal/modules/cjs/loader.js.orig 2018-09-20 09:28:39.000000000 +0200
|
||||
+++ lib/internal/modules/cjs/loader.js 2018-09-20 20:10:49.380441000 +0200
|
||||
@@ -767,7 +767,10 @@
|
||||
} else {
|
||||
prefixDir = path.resolve(process.execPath, '..', '..');
|
||||
}
|
||||
- var paths = [path.resolve(prefixDir, 'lib', 'node')];
|
||||
+ var paths = [
|
||||
+ path.resolve(prefixDir, '..', 'lib', 'node', 'usr'),
|
||||
+ path.resolve(prefixDir, '..', 'lib', 'node', 'pkg')
|
||||
+ ];
|
||||
|
||||
if (homeDir) {
|
||||
paths.unshift(path.resolve(homeDir, '.node_libraries'));
|
||||
Index: src/inspector_socket_server.cc
|
||||
--- src/inspector_socket_server.cc.orig 2018-09-20 09:28:40.000000000 +0200
|
||||
+++ src/inspector_socket_server.cc 2018-09-20 20:10:49.380682000 +0200
|
||||
@@ -19,7 +19,7 @@
|
||||
bool include_protocol);
|
||||
namespace {
|
||||
|
||||
-static const uint8_t PROTOCOL_JSON[] = {
|
||||
+static uint8_t PROTOCOL_JSON[] = {
|
||||
#include "v8_inspector_protocol_json.h" // NOLINT(build/include_order)
|
||||
};
|
||||
|
||||
Index: src/node_constants.cc
|
||||
--- src/node_constants.cc.orig 2018-09-20 09:28:40.000000000 +0200
|
||||
+++ src/node_constants.cc 2018-09-20 20:10:49.380963000 +0200
|
||||
@@ -35,10 +35,10 @@
|
||||
#include <limits>
|
||||
|
||||
#if HAVE_OPENSSL
|
||||
-# include <openssl/ec.h>
|
||||
-# include <openssl/ssl.h>
|
||||
+# include "openssl/ec.h"
|
||||
+# include "openssl/ssl.h"
|
||||
# ifndef OPENSSL_NO_ENGINE
|
||||
-# include <openssl/engine.h>
|
||||
+# include "openssl/engine.h"
|
||||
# endif // !OPENSSL_NO_ENGINE
|
||||
#endif
|
||||
|
||||
Index: src/node_crypto.h
|
||||
--- src/node_crypto.h.orig 2018-09-20 09:28:40.000000000 +0200
|
||||
+++ src/node_crypto.h 2018-09-20 20:10:49.381271000 +0200
|
||||
@@ -36,22 +36,22 @@
|
||||
|
||||
#include "v8.h"
|
||||
|
||||
-#include <openssl/ssl.h>
|
||||
-#include <openssl/ec.h>
|
||||
-#include <openssl/ecdh.h>
|
||||
+#include "openssl/ssl.h"
|
||||
+#include "openssl/ec.h"
|
||||
+#include "openssl/ecdh.h"
|
||||
#ifndef OPENSSL_NO_ENGINE
|
||||
-# include <openssl/engine.h>
|
||||
+# include "openssl/engine.h"
|
||||
#endif // !OPENSSL_NO_ENGINE
|
||||
-#include <openssl/err.h>
|
||||
-#include <openssl/evp.h>
|
||||
+#include "openssl/err.h"
|
||||
+#include "openssl/evp.h"
|
||||
// TODO(shigeki) Remove this after upgrading to 1.1.1
|
||||
-#include <openssl/obj_mac.h>
|
||||
-#include <openssl/pem.h>
|
||||
-#include <openssl/x509.h>
|
||||
-#include <openssl/x509v3.h>
|
||||
-#include <openssl/hmac.h>
|
||||
-#include <openssl/rand.h>
|
||||
-#include <openssl/pkcs12.h>
|
||||
+#include "openssl/obj_mac.h"
|
||||
+#include "openssl/pem.h"
|
||||
+#include "openssl/x509.h"
|
||||
+#include "openssl/x509v3.h"
|
||||
+#include "openssl/hmac.h"
|
||||
+#include "openssl/rand.h"
|
||||
+#include "openssl/pkcs12.h"
|
||||
|
||||
namespace node {
|
||||
namespace crypto {
|
||||
Index: src/node_internals.h
|
||||
--- src/node_internals.h.orig 2018-09-20 09:28:40.000000000 +0200
|
||||
+++ src/node_internals.h 2018-09-20 20:10:49.381520000 +0200
|
||||
@@ -239,6 +239,7 @@
|
||||
# define ROUND_UP(a, b) ((a) % (b) ? ((a) + (b)) - ((a) % (b)) : (a))
|
||||
#endif
|
||||
|
||||
+# undef MUST_USE_RESULT
|
||||
#ifdef __GNUC__
|
||||
# define MUST_USE_RESULT __attribute__((warn_unused_result))
|
||||
#else
|
||||
Index: src/tls_wrap.h
|
||||
--- src/tls_wrap.h.orig 2018-09-20 09:28:41.000000000 +0200
|
||||
+++ src/tls_wrap.h 2018-09-20 20:10:49.381676000 +0200
|
||||
@@ -32,7 +32,7 @@
|
||||
#include "stream_wrap.h"
|
||||
#include "v8.h"
|
||||
|
||||
-#include <openssl/ssl.h>
|
||||
+#include "openssl/ssl.h"
|
||||
|
||||
#include <string>
|
||||
|
||||
Index: src/util.h
|
||||
--- src/util.h.orig 2018-09-20 09:28:41.000000000 +0200
|
||||
+++ src/util.h 2018-09-20 20:10:49.382009000 +0200
|
||||
@@ -126,16 +126,26 @@
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
+#undef CHECK_EQ
|
||||
#define CHECK_EQ(a, b) CHECK((a) == (b))
|
||||
+#undef CHECK_GE
|
||||
#define CHECK_GE(a, b) CHECK((a) >= (b))
|
||||
+#undef CHECK_GT
|
||||
#define CHECK_GT(a, b) CHECK((a) > (b))
|
||||
+#undef CHECK_LE
|
||||
#define CHECK_LE(a, b) CHECK((a) <= (b))
|
||||
+#undef CHECK_LT
|
||||
#define CHECK_LT(a, b) CHECK((a) < (b))
|
||||
+#undef CHECK_NE
|
||||
#define CHECK_NE(a, b) CHECK((a) != (b))
|
||||
+#undef CHECK_NULL
|
||||
#define CHECK_NULL(val) CHECK((val) == nullptr)
|
||||
+#undef CHECK_NOT_NULL
|
||||
#define CHECK_NOT_NULL(val) CHECK((val) != nullptr)
|
||||
+#undef CHECK_IMPLIES
|
||||
#define CHECK_IMPLIES(a, b) CHECK(!(a) || (b))
|
||||
|
||||
+#undef UNREACHABLE
|
||||
#define UNREACHABLE() ABORT()
|
||||
|
||||
// TAILQ-style intrusive list node.
|
||||
Index: tools/install.py
|
||||
--- tools/install.py.orig 2018-09-20 09:28:43.000000000 +0200
|
||||
+++ tools/install.py 2018-09-20 20:10:49.382286000 +0200
|
||||
@@ -147,10 +147,7 @@
|
||||
action(['deps/v8/tools/lldbinit'], 'share/doc/node/')
|
||||
action(['deps/v8/tools/lldb_commands.py'], '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'], 'man/man1/')
|
||||
|
||||
if 'true' == variables.get('node_install_npm'): npm_files(action)
|
||||
|
@ -0,0 +1,189 @@
|
||||
## |
||||
## node10.spec -- OpenPKG RPM Package Specification |
||||
## Copyright (c) 2000-2019 OpenPKG Project <http://openpkg.org/> |
||||
## |
||||
## Permission to use, copy, modify, and distribute this software for |
||||
## any purpose with or without fee is hereby granted, provided that |
||||
## the above copyright notice and this permission notice appear in all |
||||
## copies. |
||||
## |
||||
## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED |
||||
## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
||||
## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
||||
## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR |
||||
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF |
||||
## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
||||
## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
||||
## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT |
||||
## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
||||
## SUCH DAMAGE. |
||||
## |
||||
|
||||
# package version |
||||
%define V_opkg 10.15.3 |
||||
%define V_dist 10.15.3 |
||||
|
||||
# package information |
||||
Name: node10 |
||||
Summary: Node JavaScript Run-Time (V10) |
||||
URL: http://nodejs.org/ |
||||
Vendor: Node Foundation |
||||
Packager: OpenPKG Project |
||||
Distribution: OpenPKG Community |
||||
Class: PLUS |
||||
Group: Web |
||||
License: MIT/BSD |
||||
Version: %{V_opkg} |
||||
Release: 20190423 |
||||
|
||||
# package options |
||||
%option with_icu yes |
||||
%option with_node no |
||||
|
||||
# list of sources |
||||
Source0: https://nodejs.org/download/release/v%{V_dist}/node-v%{V_dist}.tar.xz |
||||
Source1: node.c |
||||
Patch0: node10.patch |
||||
|
||||
# build information |
||||
BuildPreReq: OpenPKG, openpkg >= 20160101, make, gcc, gcc::with_cxx = yes, python2, pkgconfig |
||||
PreReq: OpenPKG, openpkg >= 20160101 |
||||
BuildPreReq: openssl11, libexecinfo, zlib, ares, libuv, nghttp2 |
||||
PreReq: openssl11, libexecinfo, zlib, ares, libuv, nghttp2 |
||||
%if "%{with_icu}" == "yes" |
||||
BuildPreReq: icu |
||||
PreReq: icu |
||||
%endif |
||||
%if "%{with_node}" == "yes" |
||||
Provides: node = %{version} |
||||
%endif |
||||
|
||||
%description |
||||
Node.js (V10, LTS) provides an easy way to build scalable network |
||||
servers in JavaScript. It is an event-driven I/O environment based |
||||
on Google V8 JavaScript virtual machine version 6.8.275.32. |
||||
|
||||
%track |
||||
prog node10 = { |
||||
version = %{V_dist} |
||||
url = https://nodejs.org/download/release/ |
||||
regex = v(10\.\d+\.\d+)/ |
||||
} |
||||
|
||||
%prep |
||||
%setup -q -n node-v%{V_dist} |
||||
%patch -p0 |
||||
|
||||
%build |
||||
# provide local tool wrapper scripts as we cannot |
||||
# reliably pass the includes via configure variables |
||||
cflags="-I`pwd`/deps/v8 -I`pwd`/deps/v8/include -I`pwd`/deps/http_parser %{l_cppflags openssl11 .}" |
||||
ldflags="%{l_ldflags openssl11 .}" |
||||
mkdir tool |
||||
for tool in gcc g++ c%{l_nil}c c++; do |
||||
( echo "#!/bin/sh" |
||||
echo "exec %{l_prefix}/bin/$tool $cflags $ldflags \${1+\"\$@\"}" |
||||
) >tool/$tool |
||||
chmod a+x tool/$tool |
||||
done |
||||
PATH="`pwd`/tool:$PATH" |
||||
|
||||
# configure program |
||||
libs="-lexecinfo -lz" |
||||
case "%{l_platform -t} " in |
||||
*-linux* ) libs="$libs -ldl" ;; |
||||
esac |
||||
CC="gcc" \ |
||||
CXX="g++" \ |
||||
CFLAGS="%{l_cflags -O}" \ |
||||
CXXFLAGS="%{l_cxxflags -O} -Wno-deprecated-declarations" \ |
||||
CPPFLAGS="%{l_cppflags openssl11 .}" \ |
||||
LDFLAGS="%{l_ldflags openssl11 .}" \ |
||||
LIBS="$libs" \ |
||||
%{l_prefix}/bin/python2 ./configure \ |
||||
--prefix=%{l_prefix} \ |
||||
--shared-openssl \ |
||||
--shared-openssl-includes=%{l_prefix}/include/openssl11 \ |
||||
--shared-openssl-libpath=%{l_prefix}/lib/openssl11 \ |
||||
--shared-openssl-libname="ssl,crypto" \ |
||||
--shared-zlib \ |
||||
--shared-zlib-includes=%{l_prefix}/include \ |
||||
--shared-zlib-libpath=%{l_prefix}/lib \ |
||||
--shared-zlib-libname="z" \ |
||||
--shared-cares \ |
||||
--shared-cares-includes=%{l_prefix}/include \ |
||||
--shared-cares-libpath=%{l_prefix}/lib \ |
||||
--shared-cares-libname="ares" \ |
||||
--shared-libuv \ |
||||
--shared-libuv-includes=%{l_prefix}/include \ |
||||
--shared-libuv-libpath=%{l_prefix}/lib \ |
||||
--shared-libuv-libname="uv" \ |
||||
--shared-nghttp2 \ |
||||
--shared-nghttp2-includes=%{l_prefix}/include \ |
||||
--shared-nghttp2-libpath=%{l_prefix}/lib \ |
||||
--shared-nghttp2-libname="nghttp2" \ |
||||
%if "%{with_icu}" == "yes" |
||||
--with-intl=system-icu \ |
||||
%else |
||||
--with-intl=small-icu \ |
||||
%endif |
||||
--without-snapshot \ |
||||
--without-npm \ |
||||
--download=none |
||||
|
||||
# build program |
||||
%{l_make} %{l_mflags -O} |
||||
|
||||
# build wrapper |
||||
%{l_cc} %{l_cflags -O} %{l_cppflags} -DPREFIX="\"%{l_prefix}\"" %{l_ldflags} \ |
||||
-o node-wrapper %{SOURCE node.c} |
||||
|
||||
%install |
||||
# install program |
||||
%{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT |
||||
|
||||
# install wrapper |
||||
%{l_shtool} mkdir -f -p -m 755 \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/libexec/node10 |
||||
mv $RPM_BUILD_ROOT%{l_prefix}/bin/node \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/libexec/node10/node |
||||
%{l_shtool} install -c -s -m 755 \ |
||||
node-wrapper $RPM_BUILD_ROOT%{l_prefix}/bin/node |
||||
|
||||
# post-installation strip-down |
||||
strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true |
||||
rm -rf $RPM_BUILD_ROOT%{l_prefix}/lib/dtrace |
||||
rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/systemtap |
||||
rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/doc |
||||
|
||||
%if "%{with_node}" == "yes" |
||||
# create NPM package installation areas |
||||
%{l_shtool} mkdir -f -p -m 755 \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/lib/node/usr \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/lib/node/pkg |
||||
%endif |
||||
|
||||
# post-adjust installation |
||||
mv $RPM_BUILD_ROOT%{l_prefix}/bin/node \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/bin/node10 |
||||
mv $RPM_BUILD_ROOT%{l_prefix}/include/node \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/include/node10 |
||||
mv $RPM_BUILD_ROOT%{l_prefix}/man/man1/node.1 \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/man/man1/node10.1 |
||||
|
||||
%if "%{with_node}" == "yes" |
||||
# shim as Node |
||||
ln -s node10 $RPM_BUILD_ROOT%{l_prefix}/bin/node |
||||
ln -s node10 $RPM_BUILD_ROOT%{l_prefix}/include/node |
||||
ln -s node10.1 $RPM_BUILD_ROOT%{l_prefix}/man/man1/node.1 |
||||
%endif |
||||
|
||||
# determine installation files |
||||
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} |
||||
|
||||
%files -f files |
||||
|
||||
%clean |
||||
|
Loading…
Reference in new issue