mirror of
https://github.com/navidrome/navidrome.git
synced 2025-04-01 19:47:37 +03:00
* support packing deb/rpm/archlinux * .-. * initial test * fix postinstall, remove execstop * bash -> sh, create toml manually if it doesn't exist (thanks debian) * don't forget that newline * postrm * comments, contrib -> packaging/linux * contrib > packaging in .goreleaser * actually add toml * openrc/sysv templates * add apk. nothing else yet * wait, we have a ntive uninstall * fix: merge errors, move packaging to release * chore: remove old goreleaser conf * ci: remove `release` dependency on `docker push` * ci: fix release version * ci: upload packages * ci: try to fix json file list * ci: replace the json file list with a txt artifact * postremove -> preremove, skip install/remove error * actually do preremove * better preremove * ci: fix * ci: fix? * ci: clean-up * ci: try to change labels and filenames * ci: fix? * ci: fix? * ci: add `make package` target * ci: make labels more readable hope it doesn't break the pipeline again * build: remove alpine and archlinux packages, for now. --------- Co-authored-by: Deluan <deluan@navidrome.org>
25 lines
1.3 KiB
Bash
25 lines
1.3 KiB
Bash
#!/bin/sh
|
|
|
|
# It is possible for a user to delete the configuration file in such a way that
|
|
# the package manager (in particular, deb) thinks that the file exists, while it is
|
|
# no longer on disk. Specifically, doing a `rm /etc/navidrome/navidrome.toml`
|
|
# without something like `apt purge navidrome` will result in the system believing that
|
|
# the file still exists. In this case, during isntall it will NOT extract the configuration
|
|
# file (as to not override it). Since `navidrome service install` depends on this file existing,
|
|
# we will create it with the defaults anyway.
|
|
if [ ! -f /etc/navidrome/navidrome.toml ]; then
|
|
printf "No navidrome.toml detected, creating in postinstall\n"
|
|
printf "DataFolder = \"/var/lib/navidrome\"\n" > /etc/navidrome/navidrome.toml
|
|
printf "MusicFolder = \"/opt/navidrome/music\"\n" >> /etc/navidrome/navidrome.toml
|
|
fi
|
|
|
|
postinstall_flag="/var/lib/navidrome/.installed"
|
|
|
|
if [ ! -f "$postinstall_flag" ]; then
|
|
# The primary reason why this would fail is if the service was already installed AND
|
|
# someone manually removed the .installed flag. In this case, ignore the error
|
|
navidrome service install --user navidrome --working-directory /var/lib/navidrome --configfile /etc/navidrome/navidrome.toml || :
|
|
touch "$postinstall_flag"
|
|
fi
|
|
|
|
|