node.js rpm spec
Makefile Shell
Latest commit 850e300 Nov 24, 2016 @kazuhisya Updated version to 7.2.0

README.md

node.js RPM spec

Blanch Status RPM
master (v7, Current) Circle CI FedoraCopr
v6.x (v6, LTS) Circle CI FedoraCopr
v4.x (v4, LTS) Circle CI FedoraCopr

Compiled Package

el7:

$ sudo curl -sL -o /etc/yum.repos.d/khara-nodejs.repo https://copr.fedoraproject.org/coprs/khara/nodejs/repo/epel-7/khara-nodejs-epel-7.repo
$ sudo yum install -y nodejs nodejs-npm

fc23, 24:

$ sudo dnf copr enable khara/nodejs
$ sudo dnf install -y nodejs nodejs-npm

Building the RPM

Distro support

Tested

  • RHEL/CentOS 7 x86_64
  • Fedora23, 24 x86_64

Probably it works

Prerequisites:

  • Python 2.7
  • gcc and g++ 4.8 or newer

Docker (el7, el6, el5)

Docker environment for building nodejs rpm. It will help to build and debug.

Build (el7, el6)

setting up:

$ sudo yum install -y yum-utils rpmdevtools make

git clone and make:

$ git clone https://github.com/kazuhisya/nodejs-rpm.git
# If you want to use other version, You can clone to specify the branch name.
# example: git clone -b v4.x https://github.com/kazuhisya/nodejs-rpm.git
$ cd nodejs-rpm
$ sudo yum-builddep ./nodejs.spec

el7:

$ make rpm

el6 : with Software Collections and Devtoolset

$ scl enable python27 devtoolset-3 'make rpm'

install package:

$ cd ./dist/RPMS/x86_64/
$ sudo yum install ./nodejs-X.X.X-X.el6.x86_64.rpm ./nodejs-npm-X.X.X-X.el6.x86_64.rpm --nogpgcheck

Build (el5)

el5 : with Devtoolset and python27

$ sudo yum install -y epel-release ius-release
$ sudo yum install -y yum-utils rpmdevtools buildsys-macros redhat-rpm-config tar make openssl-devel libstdc++-devel zlib-devel gzip 
$ sudo yum install -y devtoolset-2-gcc-c++ devtoolset-2-binutils python27
$ git clone https://github.com/kazuhisya/nodejs-rpm.git
$ cd nodejs-rpm
$ rpmdev-setuptree
$ curl -OLk https://nodejs.org/dist/vX.X.X/node-vX.X.X.tar.gz
$ cp *.patch ~/rpmbuild/SOURCES/ ; cp *.md ~/rpmbuild/SOURCES/ ; cp *.tar.gz ~/rpmbuild/SOURCES/ 
$ scl enable devtoolset-2 'rpmbuild -ba ./nodejs.spec'