diff --git a/debian/control b/debian/control index 6834554c..4636c5a0 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,10 @@ Source: vitastor Section: admin Priority: optional Maintainer: Vitaliy Filippov -Build-Depends: debhelper, liburing-dev (>= 0.6), g++ (>= 8), libstdc++6 (>= 8), linux-libc-dev, libgoogle-perftools-dev, libjerasure-dev, libgf-complete-dev, libibverbs-dev, libisal-dev, cmake, pkg-config, libnl-3-dev, libnl-genl-3-dev +Build-Depends: debhelper, liburing-dev (>= 0.6), g++ (>= 8), libstdc++6 (>= 8), + linux-libc-dev, libgoogle-perftools-dev, libjerasure-dev, libgf-complete-dev, + libibverbs-dev, libisal-dev, cmake, pkg-config, libnl-3-dev, libnl-genl-3-dev, + node-bindings , node-gyp, node-nan Standards-Version: 4.5.0 Homepage: https://vitastor.io/ Rules-Requires-Root: no @@ -59,3 +62,9 @@ Architecture: amd64 Depends: ${shlibs:Depends}, ${misc:Depends}, vitastor-client, patch, python3, jq Description: Vitastor OpenNebula storage plugin Vitastor storage plugin for OpenNebula. + +Package: node-vitastor +Architecture: amd64 +Depends: ${shlibs:Depends}, ${misc:Depends}, node-bindings +Description: Node.js bindings for Vitastor client + Node.js native bindings for the Vitastor client library (vitastor-client). diff --git a/debian/node-vitastor.install b/debian/node-vitastor.install new file mode 100644 index 00000000..8489ce6e --- /dev/null +++ b/debian/node-vitastor.install @@ -0,0 +1 @@ +usr/lib/x86_64-linux-gnu/nodejs/vitastor diff --git a/debian/rules b/debian/rules index a90edb87..14a51b7c 100755 --- a/debian/rules +++ b/debian/rules @@ -4,6 +4,14 @@ export DH_VERBOSE = 1 %: dh $@ +override_dh_install: + perl -pe 's!prefix=/usr!prefix='`pwd`'/debian/tmp/usr!' < obj-x86_64-linux-gnu/src/client/vitastor.pc > node-binding/vitastor.pc + cd node-binding && PKG_CONFIG_PATH=./ PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 npm install --unsafe-perm || exit 1 + mkdir -p debian/tmp/usr/lib/x86_64-linux-gnu/nodejs/vitastor/build/Release + cp -v node-binding/package.json node-binding/index.js node-binding/addon.cc node-binding/addon.h node-binding/client.cc node-binding/client.h debian/tmp/usr/lib/x86_64-linux-gnu/nodejs/vitastor + cp -v node-binding/build/Release/addon.node debian/tmp/usr/lib/x86_64-linux-gnu/nodejs/vitastor/build/Release + dh_install + override_dh_installdeb: cat debian/fio_version >> debian/vitastor-fio.substvars [ -f debian/qemu_version ] && (cat debian/qemu_version >> debian/vitastor-qemu.substvars) || true diff --git a/debian/vitastor.Dockerfile b/debian/vitastor.Dockerfile index 6352c061..c943d989 100644 --- a/debian/vitastor.Dockerfile +++ b/debian/vitastor.Dockerfile @@ -22,7 +22,8 @@ RUN set -e -x; \ echo 'APT::Install-Suggests false;' >> /etc/apt/apt.conf RUN apt-get update && \ - apt-get -y install fio liburing-dev libgoogle-perftools-dev devscripts libjerasure-dev cmake libibverbs-dev librdmacm-dev libisal-dev libnl-3-dev libnl-genl-3-dev curl && \ + apt-get -y install fio liburing-dev libgoogle-perftools-dev devscripts libjerasure-dev cmake \ + libibverbs-dev librdmacm-dev libisal-dev libnl-3-dev libnl-genl-3-dev curl nodejs npm node-nan node-bindings && \ apt-get -y build-dep fio && \ apt-get --download-only source fio diff --git a/node-binding/package.json b/node-binding/package.json index ec2fb106..fd16a740 100644 --- a/node-binding/package.json +++ b/node-binding/package.json @@ -1,6 +1,6 @@ { "name": "vitastor", - "version": "1.7.0", + "version": "1.11.0", "description": "Low-level native bindings to Vitastor client library", "main": "index.js", "keywords": [