diff --git a/.circleci/config.yml b/.circleci/config.yml index 26d1edc012..1582e27401 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -42,7 +42,18 @@ jobs: - run: name: Install system dependencies command: | - sudo apt-get install -y libudev-dev sqlite3 openssl openzwave libopenzwave1.5-dev + sudo apt-get install -y libudev-dev sqlite3 openssl + - run: + name: Install Openzwave 1.6 # Commit 5d18bbfb21d8cdc61ee6baae6f478c963297dfc5 - March, 5th 2020 + command: | + cd /tmp + git clone https://github.com/OpenZWave/open-zwave.git + cd open-zwave + git checkout 5d18bbfb21d8cdc61ee6baae6f478c963297dfc5 + sudo make + sudo make install + sudo sh -c "echo '/usr/local/lib64' > /etc/ld.so.conf.d/openzwave.conf" + sudo ldconfig - run: name: Install global dependencies command: 'sudo npm install typescript node-gyp npm@latest -g' diff --git a/docker/Dockerfile b/docker/Dockerfile index 6f6a1ce4d1..915b973ae0 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -9,16 +9,31 @@ LABEL \ COPY qemu-* /usr/bin/ # System dependencies -RUN apk add --no-cache tzdata nmap openzwave-dev openzwave-libs openzwave ffmpeg sqlite openssl gzip +RUN apk add --no-cache tzdata nmap ffmpeg sqlite openssl gzip +WORKDIR /tmp + +# Install OZW in a dedicated RUN to benefit from Docker cache on local dev' +RUN apk add --no-cache --virtual .build-deps make g++ git udev coreutils \ + # Install OZW 1.6 - Commit 5d18bbfb21d8cdc61ee6baae6f478c963297dfc5 - March, 5th 2020 + && git clone https://github.com/OpenZWave/open-zwave.git \ + && cd open-zwave \ + && git checkout 5d18bbfb21d8cdc61ee6baae6f478c963297dfc5 \ + && make \ + && make install \ + && apk del .build-deps \ + && cd /tmp \ + && rm -rf /tmp/open-zwave + + +# Install Gladys RUN mkdir /src WORKDIR /src ADD . /src COPY ./static /src/server/static WORKDIR /src/server - RUN apk add --no-cache --virtual .build-deps make gcc g++ python git libffi-dev linux-headers udev \ - && npm install --unsafe-perm --production \ + && npm ci --unsafe-perm --production \ && npm cache clean --force \ && apk del .build-deps diff --git a/server/services/zwave/package-lock.json b/server/services/zwave/package-lock.json index e84a59f4fc..e298083ceb 100644 --- a/server/services/zwave/package-lock.json +++ b/server/services/zwave/package-lock.json @@ -9,9 +9,9 @@ "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" }, "openzwave-shared": { - "version": "1.5.8", - "resolved": "https://registry.npmjs.org/openzwave-shared/-/openzwave-shared-1.5.8.tgz", - "integrity": "sha512-B4YcxdEBi/Llz6AGeRn3wpLyuhTcFkFB7A3RNOSp2lhPhm65LxHe8Pvn8iDL8FrhEWmDOSE8YyS6IGkG2AgEXQ==", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/openzwave-shared/-/openzwave-shared-1.6.2.tgz", + "integrity": "sha512-hZSvdMf6ifV/lFJ2sc5Sru7c4BjpfNMqKoLfH/TTyCMJiWDCTLywqFktrIEt23SqLS15KdQdGX4urJqBWQXVKw==", "requires": { "nan": ">=2.14.0" } diff --git a/server/services/zwave/package.json b/server/services/zwave/package.json index 5b8fcef4b4..5e9b907a77 100644 --- a/server/services/zwave/package.json +++ b/server/services/zwave/package.json @@ -13,6 +13,6 @@ ], "scripts": {}, "dependencies": { - "openzwave-shared": "^1.5.8" + "openzwave-shared": "^1.6.2" } }