From 58ebd5252037f7bb0ec57b9c2998b3182d85b171 Mon Sep 17 00:00:00 2001 From: kolaente Date: Wed, 25 Jun 2025 12:40:11 +0200 Subject: [PATCH] fix(release): use openrc for alpine (#1016) --- build/after-install-openrc.sh | 8 ++++++++ build/after-install.sh | 2 +- devenv.nix | 1 + nfpm.yaml | 10 ++++++++++ vikunja.initd | 15 +++++++++++++++ 5 files changed, 35 insertions(+), 1 deletion(-) create mode 100755 build/after-install-openrc.sh create mode 100755 vikunja.initd diff --git a/build/after-install-openrc.sh b/build/after-install-openrc.sh new file mode 100755 index 000000000..c0e01cd03 --- /dev/null +++ b/build/after-install-openrc.sh @@ -0,0 +1,8 @@ +#!/bin/sh +rc-update add vikunja default + +# Fix the config to contain proper values +NEW_SECRET=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1) +sed -i "s//$NEW_SECRET/g" /etc/vikunja/config.yml +sed -i "s//\/opt\/vikunja\//g" /etc/vikunja/config.yml +sed -i "s/path: \"\.\/vikunja.db\"/path: \"\\/opt\/vikunja\/vikunja.db\"/g" /etc/vikunja/config.yml diff --git a/build/after-install.sh b/build/after-install.sh index 4dc24b15c..a8f2840d7 100644 --- a/build/after-install.sh +++ b/build/after-install.sh @@ -6,4 +6,4 @@ systemctl enable vikunja.service NEW_SECRET=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1) sed -i "s//$NEW_SECRET/g" /etc/vikunja/config.yml sed -i "s//\/opt\/vikunja\//g" /etc/vikunja/config.yml -sed -i "s/Path: \"\.\/vikunja.db\"/Path: \"\\/opt\/vikunja\/vikunja.db\"/g" /etc/vikunja/config.yml +sed -i "s/path: \"\.\/vikunja.db\"/path: \"\\/opt\/vikunja\/vikunja.db\"/g" /etc/vikunja/config.yml diff --git a/devenv.nix b/devenv.nix index 3580ee126..ca62abb51 100644 --- a/devenv.nix +++ b/devenv.nix @@ -12,6 +12,7 @@ in { git-cliff actionlint crowdin-cli + nfpm # API tools golangci-lint mage # Desktop diff --git a/nfpm.yaml b/nfpm.yaml index ab279fdcd..4e7fb47c4 100644 --- a/nfpm.yaml +++ b/nfpm.yaml @@ -10,6 +10,12 @@ priority: "extra" license: "AGPLv3" depends: - systemd +overrides: + apk: + depends: + - openrc + scripts: + postinstall: ./build/after-install-openrc.sh contents: - src: dst: /opt/vikunja/vikunja @@ -21,5 +27,9 @@ contents: type: "symlink" - src: vikunja.service dst: /usr/lib/systemd/system/vikunja.service + - src: vikunja.initd + dst: /etc/init.d/vikunja + type: "config" + packager: apk scripts: postinstall: ./build/after-install.sh diff --git a/vikunja.initd b/vikunja.initd new file mode 100755 index 000000000..61b8c45ef --- /dev/null +++ b/vikunja.initd @@ -0,0 +1,15 @@ +#!/sbin/openrc-run + +command="/usr/local/bin/vikunja" +command_background=true +pidfile="/run/vikunja.pid" +directory="/opt/vikunja" +description="Vikunja service" + +depend() { + need net +} + +start_pre() { + checkpath --directory /run +}