Files
vikunja/nfpm.yaml
kolaente 5b282faa09 fix(packaging): stop rpm upgrades from replacing the config
The config was shipped as plain `%config`, so rpm installs the packaged
file on every upgrade and moves the user's version aside as `.rpmsave`.
The postinstall script then re-ran its seds against the fresh sample and
generated a new JWT secret, logging everyone out — with the real config
no longer in place.

Mark it `config|noreplace` so rpm keeps the existing file and writes
`.rpmnew` instead. deb and apk treat the type exactly like `config`, so
nothing changes there.
2026-08-04 15:19:27 +02:00

49 lines
1.4 KiB
YAML

name: "vikunja"
arch: "<arch>"
platform: "linux"
version: "<version>"
description: "Vikunja is an open-source todo application, written in Go. It lets you create lists,tasks and share them via teams or directly between users."
maintainer: "Vikunja Maintainers <maintainers@vikunja.io>"
homepage: "https://vikunja.io"
section: "default"
priority: "extra"
license: "AGPLv3"
depends:
- systemd
rpm:
signature:
key_file: ${NFPM_GPG_KEY_FILE}
# apk and archlinux run `scripts.postinstall` on a fresh install only — nfpm
# maps their upgrade hooks from these packager-specific keys instead. Without
# them, upgrading on Alpine or Arch runs no maintainer script at all.
apk:
scripts:
postupgrade: ./build/after-install-openrc.sh
archlinux:
scripts:
postupgrade: ./build/after-install.sh
overrides:
apk:
depends:
- openrc
scripts:
postinstall: ./build/after-install-openrc.sh
contents:
- src: <binlocation>
dst: /opt/vikunja/vikunja
- src: ./config.yml.sample
dst: /etc/vikunja/config.yml
# noreplace only affects rpm; the other packagers treat it as plain config.
type: "config|noreplace"
- src: /opt/vikunja/vikunja
dst: /usr/local/bin/vikunja
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