From a419068b0042612af38d0d135313a03d37e91acb Mon Sep 17 00:00:00 2001 From: Pietro Abate Date: Thu, 7 Mar 2024 12:44:54 +0100 Subject: [PATCH] packaging: add octez-dal-node package --- scripts/packaging/octez/.gitignore | 2 + scripts/packaging/octez/debian/control | 11 ++++++ .../octez/debian/octez-dal-node.default | 4 ++ .../octez/debian/octez-dal-node.install | 1 + .../octez/debian/octez-dal-node.logrotate | 8 ++++ .../octez/debian/octez-dal-node.postinst | 13 +++++++ .../octez/debian/octez-dal-node.postrm | 38 +++++++++++++++++++ .../octez/debian/octez-dal-node.prerm | 14 +++++++ .../octez/debian/octez-dal-node.service | 16 ++++++++ scripts/packaging/octez/debian/rules | 3 ++ 10 files changed, 110 insertions(+) create mode 100644 scripts/packaging/octez/debian/octez-dal-node.default create mode 100644 scripts/packaging/octez/debian/octez-dal-node.install create mode 100644 scripts/packaging/octez/debian/octez-dal-node.logrotate create mode 100755 scripts/packaging/octez/debian/octez-dal-node.postinst create mode 100755 scripts/packaging/octez/debian/octez-dal-node.postrm create mode 100755 scripts/packaging/octez/debian/octez-dal-node.prerm create mode 100644 scripts/packaging/octez/debian/octez-dal-node.service diff --git a/scripts/packaging/octez/.gitignore b/scripts/packaging/octez/.gitignore index 0e50e3a81502..a4fe65a6e7df 100644 --- a/scripts/packaging/octez/.gitignore +++ b/scripts/packaging/octez/.gitignore @@ -32,6 +32,7 @@ debian/files debian/substvars binaries manpages/octez-node.1 +manpages/octez-dal-node.1 zcash-params debian/octez-client/ @@ -42,3 +43,4 @@ debian/octez-experimental/ debian/octez-signer/ debian/octez-smartrollup-node/ debian/octez-zcash-params/ +debian/octez-dal-node/ diff --git a/scripts/packaging/octez/debian/control b/scripts/packaging/octez/debian/control index 62bdd808fe22..803ad63e7dc3 100644 --- a/scripts/packaging/octez/debian/control +++ b/scripts/packaging/octez/debian/control @@ -105,3 +105,14 @@ Description: Octez Smart Rollup node HTTP-accessible RPC interface. . This package installs the Octez rollup node. + +Package: octez-dal-node +Architecture: amd64 arm64 +Depends: ${misc:Depends}, ${shlibs:Depends}, + octez-baker (= ${source:Version}), +Description: Octez distribution Availability Layer (DAL) node + The DAL node is responsible for temporarily storing data and providing it to + bakers and Smart Rollups. Similar to the Octez node, it offers an + HTTP-accessible RPC interface. + . + This package installs the Octez DAL node. diff --git a/scripts/packaging/octez/debian/octez-dal-node.default b/scripts/packaging/octez/debian/octez-dal-node.default new file mode 100644 index 000000000000..da4742226868 --- /dev/null +++ b/scripts/packaging/octez/debian/octez-dal-node.default @@ -0,0 +1,4 @@ +# Defaults for the Octez DAL node + +# runtime options associated to the command `run` +# RUNTIME_OPTS= diff --git a/scripts/packaging/octez/debian/octez-dal-node.install b/scripts/packaging/octez/debian/octez-dal-node.install new file mode 100644 index 000000000000..c2212ef5fd9f --- /dev/null +++ b/scripts/packaging/octez/debian/octez-dal-node.install @@ -0,0 +1 @@ +binaries/octez-dal-node /usr/bin/ diff --git a/scripts/packaging/octez/debian/octez-dal-node.logrotate b/scripts/packaging/octez/debian/octez-dal-node.logrotate new file mode 100644 index 000000000000..f58bd97ec366 --- /dev/null +++ b/scripts/packaging/octez/debian/octez-dal-node.logrotate @@ -0,0 +1,8 @@ +/var/log/tezos/octez-dal-node.log{ + daily + # we use copytruncate to avoid stopping the node. + copytruncate + rotate 5 + compress + minsize 1M +} diff --git a/scripts/packaging/octez/debian/octez-dal-node.postinst b/scripts/packaging/octez/debian/octez-dal-node.postinst new file mode 100755 index 000000000000..30f87c6e504e --- /dev/null +++ b/scripts/packaging/octez/debian/octez-dal-node.postinst @@ -0,0 +1,13 @@ +#!/bin/sh + +set -e + +# shellcheck disable=SC1091 +. /usr/share/debconf/confmodule + +db_version 2.0 + +# work directory to store temporary files associated to this package +mkdir -p /var/run/octez-dal-node + +#DEBHELPER# diff --git a/scripts/packaging/octez/debian/octez-dal-node.postrm b/scripts/packaging/octez/debian/octez-dal-node.postrm new file mode 100755 index 000000000000..dac73456cbe2 --- /dev/null +++ b/scripts/packaging/octez/debian/octez-dal-node.postrm @@ -0,0 +1,38 @@ +#!/bin/sh + +set -e + +# Load debconf library +# shellcheck disable=SC1091 +. /usr/share/debconf/confmodule + +# temp file to make sure we remember to restart the +# daemon when we upgrade +DAEMON_RUNNING=/var/run/octez-dal-node/daemon_was_running + +case "${1}" in +purge) + rm -Rf /var/run/octez-dal-node + # Purge debconf data for the package in any case + # shellcheck disable=SC2119 + db_purge || true + ;; +upgrade) + # Check if the daemon was running before the upgrade + if [ -f "$DAEMON_RUNNING" ] && + [ "$(cat "$DAEMON_RUNNING")" = "1" ]; then + # Start the daemon if it was running + systemctl "start octez-dal-node.service" + fi + ;; +remove | failed-upgrade | abort-install | abort-upgrade | disappear) ;; +*) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# Clean up the temporary file +rm -f "$DAEMON_RUNNING" + +#DEBHELPER# diff --git a/scripts/packaging/octez/debian/octez-dal-node.prerm b/scripts/packaging/octez/debian/octez-dal-node.prerm new file mode 100755 index 000000000000..5e2039b8f274 --- /dev/null +++ b/scripts/packaging/octez/debian/octez-dal-node.prerm @@ -0,0 +1,14 @@ +#!/bin/sh + +set -e + +# shellcheck disable=SC1091 +. /usr/share/debconf/confmodule + +# Check if the daemon is active before stopping it +if systemctl is-active --quiet octez-dal-node.service; then + # Set a flag in a temporary file to indicate the daemon was running + echo "1" > /var/run/octez-dal-node/daemon_was_running + echo "Stopping octez-dal-node" + sudo systemctl stop octez-dal-node.service +fi diff --git a/scripts/packaging/octez/debian/octez-dal-node.service b/scripts/packaging/octez/debian/octez-dal-node.service new file mode 100644 index 000000000000..edd701ebb285 --- /dev/null +++ b/scripts/packaging/octez/debian/octez-dal-node.service @@ -0,0 +1,16 @@ +[Unit] +Description=Octez DAL node +Documentation=https://tezos.gitlab.io/ +After=network.target + +[Service] +EnvironmentFile=-/etc/default/octez-dal-node +WorkingDirectory=/var/tezos +Restart=on-failure +User=tezos +ExecStart=/usr/bin/octez-dal-node run $RUNTIME_OPTS +StandardOutput=append:/var/log/tezos/octez-dal-node.log +StandardError=inherit + +[Install] +WantedBy=multi-user.target diff --git a/scripts/packaging/octez/debian/rules b/scripts/packaging/octez/debian/rules index 695e90b6c200..24d31f42698c 100755 --- a/scripts/packaging/octez/debian/rules +++ b/scripts/packaging/octez/debian/rules @@ -5,11 +5,13 @@ override_dh_auto_build: binaries/octez-node --help=groff > manpages/octez-node.1 + binaries/octez-dal-node --help=groff > manpages/octez-dal-node.1 dh_auto_build --parallel override_dh_builddeb: dh_builddeb cp debian/octez-node.lintian-overrides debian/octez-node/DEBIAN/ + cp debian/copyright debian/octez-dal-node/usr/share/doc/octez-dal-node/ override_dh_installman: dh_installman --name octez-node manpages/octez-node.1 @@ -26,6 +28,7 @@ override_dh_installdocs: override_dh_installsystemd: dh_installsystemd -p octez-node --no-enable --no-start dh_installsystemd -p octez-smart-rollup-node --no-enable --no-start + dh_installsystemd -p octez-dal-node --no-enable --no-start dh_installsystemd -p octez-baker --no-enable --no-start --name octez-baker-next dh_installsystemd -p octez-baker --no-enable --no-start --name octez-baker-active dh_installsystemd -p octez-baker --no-enable --no-start --name octez-accuser-next -- GitLab