From cd6df1f5caea11b966349bc9f562dbf84a9a6fe5 Mon Sep 17 00:00:00 2001 From: Martin Boehm Date: Wed, 20 Jun 2018 18:00:08 +0200 Subject: [PATCH] Add namecoin blockbook debian package --- build/deb/debian/blockbook-namecoin.conffiles | 1 + .../deb/debian/blockbook-namecoin.cron.daily | 2 + build/deb/debian/blockbook-namecoin.dirs | 2 + build/deb/debian/blockbook-namecoin.install | 6 +++ build/deb/debian/blockbook-namecoin.links | 2 + build/deb/debian/blockbook-namecoin.postinst | 23 ++++++++++ build/deb/debian/blockbook-namecoin.service | 43 +++++++++++++++++++ build/deb/debian/control | 5 +++ 8 files changed, 84 insertions(+) create mode 100644 build/deb/debian/blockbook-namecoin.conffiles create mode 100644 build/deb/debian/blockbook-namecoin.cron.daily create mode 100644 build/deb/debian/blockbook-namecoin.dirs create mode 100755 build/deb/debian/blockbook-namecoin.install create mode 100644 build/deb/debian/blockbook-namecoin.links create mode 100644 build/deb/debian/blockbook-namecoin.postinst create mode 100644 build/deb/debian/blockbook-namecoin.service diff --git a/build/deb/debian/blockbook-namecoin.conffiles b/build/deb/debian/blockbook-namecoin.conffiles new file mode 100644 index 00000000..0a22d717 --- /dev/null +++ b/build/deb/debian/blockbook-namecoin.conffiles @@ -0,0 +1 @@ +/opt/coins/blockbook/namecoin/config/blockchaincfg.json diff --git a/build/deb/debian/blockbook-namecoin.cron.daily b/build/deb/debian/blockbook-namecoin.cron.daily new file mode 100644 index 00000000..dd3a2d73 --- /dev/null +++ b/build/deb/debian/blockbook-namecoin.cron.daily @@ -0,0 +1,2 @@ +#!/bin/sh +/opt/coins/blockbook/namecoin/bin/logrotate.sh diff --git a/build/deb/debian/blockbook-namecoin.dirs b/build/deb/debian/blockbook-namecoin.dirs new file mode 100644 index 00000000..83f92862 --- /dev/null +++ b/build/deb/debian/blockbook-namecoin.dirs @@ -0,0 +1,2 @@ +/opt/coins/data/namecoin/blockbook +/opt/coins/blockbook/namecoin/logs diff --git a/build/deb/debian/blockbook-namecoin.install b/build/deb/debian/blockbook-namecoin.install new file mode 100755 index 00000000..603f1500 --- /dev/null +++ b/build/deb/debian/blockbook-namecoin.install @@ -0,0 +1,6 @@ +#!/usr/bin/dh-exec +blockbook /opt/coins/blockbook/namecoin/bin +cert /opt/coins/blockbook/namecoin +static /opt/coins/blockbook/namecoin +configs/namecoin.json => /opt/coins/blockbook/namecoin/config/blockchaincfg.json +logrotate.sh /opt/coins/blockbook/namecoin/bin diff --git a/build/deb/debian/blockbook-namecoin.links b/build/deb/debian/blockbook-namecoin.links new file mode 100644 index 00000000..12f9e387 --- /dev/null +++ b/build/deb/debian/blockbook-namecoin.links @@ -0,0 +1,2 @@ +/opt/coins/blockbook/namecoin/cert/testcert.crt /opt/coins/blockbook/namecoin/cert/blockbook.crt +/opt/coins/blockbook/namecoin/cert/testcert.key /opt/coins/blockbook/namecoin/cert/blockbook.key diff --git a/build/deb/debian/blockbook-namecoin.postinst b/build/deb/debian/blockbook-namecoin.postinst new file mode 100644 index 00000000..81a4a97a --- /dev/null +++ b/build/deb/debian/blockbook-namecoin.postinst @@ -0,0 +1,23 @@ +#!/bin/bash +set -e + +case "$1" in + + configure) + if ! id -u blockbook-namecoin &> /dev/null + then + useradd --system -M -U blockbook-namecoin -s /bin/false + fi + + for dir in /opt/coins/data/namecoin/blockbook /opt/coins/blockbook/namecoin/logs + do + if [ "$(stat -c '%U' $dir)" != "blockbook-namecoin" ] + then + chown -R blockbook-namecoin:blockbook-namecoin $dir + fi + done + ;; + +esac + +#DEBHELPER# diff --git a/build/deb/debian/blockbook-namecoin.service b/build/deb/debian/blockbook-namecoin.service new file mode 100644 index 00000000..c2e525f6 --- /dev/null +++ b/build/deb/debian/blockbook-namecoin.service @@ -0,0 +1,43 @@ +# It is not recommended to modify this file in-place, because it will +# be overwritten during package upgrades. If you want to add further +# options or overwrite existing ones then use +# $ systemctl edit blockbook-namecoin.service +# See "man systemd.service" for details. + +[Unit] +Description=Blockbook daemon (Namecoin mainnet) +After=network.target +Wants=backend-namecoin.service + +[Service] +ExecStart=/opt/coins/blockbook/namecoin/bin/blockbook -blockchaincfg=/opt/coins/blockbook/namecoin/config/blockchaincfg.json -datadir=/opt/coins/data/namecoin/blockbook/db -sync -httpserver=:9034 -socketio=:9134 -certfile=/opt/coins/blockbook/namecoin/cert/blockbook -explorer=https://ltc-explorer.trezor.io/ -log_dir=/opt/coins/blockbook/namecoin/logs +User=blockbook-namecoin +Type=simple +Restart=on-failure +WorkingDirectory=/opt/coins/blockbook/namecoin + +# Resource limits +LimitNOFILE=500000 + +# Hardening measures +#################### + +# Provide a private /tmp and /var/tmp. +PrivateTmp=true + +# Mount /usr, /boot/ and /etc read-only for the process. +ProtectSystem=full + +# Disallow the process and all of its children to gain +# new privileges through execve(). +NoNewPrivileges=true + +# Use a new /dev namespace only populated with API pseudo devices +# such as /dev/null, /dev/zero and /dev/random. +PrivateDevices=true + +# Deny the creation of writable and executable memory mappings. +MemoryDenyWriteExecute=true + +[Install] +WantedBy=multi-user.target diff --git a/build/deb/debian/control b/build/deb/debian/control index 1557d713..05cc65fd 100644 --- a/build/deb/debian/control +++ b/build/deb/debian/control @@ -79,3 +79,8 @@ Package: blockbook-dogecoin Architecture: amd64 Depends: ${shlibs:Depends}, ${misc:Depends}, coreutils, passwd, findutils, psmisc, backend-dogecoin Description: Satoshilabs blockbook server (Dogecoin mainnet) + +Package: blockbook-namecoin +Architecture: amd64 +Depends: ${shlibs:Depends}, ${misc:Depends}, coreutils, passwd, findutils, psmisc, backend-namecoin +Description: Satoshilabs blockbook server (Dogecoin mainnet)