Hi,

At the moment we encourage users to configure navidrome via command line
arguments in the rc script.

Besides that being a bit crusty, the next version of navidrome supports
subsonic "jukebox mode" which can't be configured via the command line (only
via a config file).

This diff therefore makes the port install and use a config file.

While here, remove adding LOCALSTATEDIR to SUBST_VARS (it's already there), and
update a straggling VARBASE in the pkg README.

Questions:
 - Did I use LOCALSTATEDIR correctly?
 - Do we need to mention this change on -current.html?

(Once this is in, I'll post a diff to update to the latest version)

Comments, OK?


Index: Makefile
===================================================================
RCS file: /cvs/ports/audio/navidrome/Makefile,v
diff -u -p -r1.14 Makefile
--- Makefile    28 Nov 2023 06:22:47 -0000      1.14
+++ Makefile    29 Nov 2023 19:20:26 -0000
@@ -2,6 +2,7 @@ COMMENT =       modern music server and stream
 
 MODGO_MODNAME =        github.com/navidrome/navidrome
 MODGO_VERSION =        v0.49.3
+REVISION =     0
 
 DISTNAME =     navidrome-${MODGO_VERSION}
 
@@ -31,11 +32,16 @@ RUN_DEPENDS =               graphics/ffmpeg
 
 MODULES =              lang/go
 
-SUBST_VARS =           LOCALSTATEDIR
+LOCALSTATEDIR =                ${BASELOCALSTATEDIR}/navidrome
 
 post-extract:
        cd ${WRKSRC} && tar -C ${WRKSRC}/ui/ -zxf \
                ${FULLDISTDIR}/navidrome-build-${MODGO_VERSION}.tar.gz
+
+post-install:
+       ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/navidrome
+       ${SUBST_CMD} -c -m 755 ${FILESDIR}/navidrome.toml \
+               ${PREFIX}/share/examples/navidrome/navidrome.toml
 
 .include "modules.inc"
 
Index: files/navidrome.toml
===================================================================
RCS file: files/navidrome.toml
diff -N files/navidrome.toml
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ files/navidrome.toml        30 Nov 2023 08:25:59 -0000
@@ -0,0 +1,15 @@
+# The address to bind to.
+#
+# To allow other hosts to connect, change to "localhost".
+Address = "127.0.0.1"
+
+# Where Navidrome finds music.
+#
+# Make sure the _navidrome user has read access to the music files.
+MusicFolder = "${LOCALSTATEDIR}/music"
+
+# Where Navidrome stores its database etc.
+DataFolder = "${LOCALSTATEDIR}"
+
+# Uncomment to make logging more verbose.
+#LogLevel = 'DEBUG'
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/audio/navidrome/pkg/PLIST,v
diff -u -p -r1.4 PLIST
--- pkg/PLIST   28 Nov 2023 06:22:47 -0000      1.4
+++ pkg/PLIST   29 Nov 2023 19:19:35 -0000
@@ -4,8 +4,11 @@
 @mode 755
 @owner _navidrome
 @group _navidrome
-@sample ${LOCALSTATEDIR}/navidrome/
-@sample ${LOCALSTATEDIR}/navidrome/music/
+@sample ${LOCALSTATEDIR}/
+@sample ${LOCALSTATEDIR}/music/
+share/examples/navidrome/
+share/examples/navidrome/navidrome.toml
+@sample ${SYSCONFDIR}/navidrome.toml
 @mode
 @owner
 @group
Index: pkg/README
===================================================================
RCS file: /cvs/ports/audio/navidrome/pkg/README,v
diff -u -p -r1.2 README
--- pkg/README  11 Mar 2022 18:20:21 -0000      1.2
+++ pkg/README  30 Nov 2023 08:34:11 -0000
@@ -2,20 +2,24 @@
 | Running ${PKGSTEM} on OpenBSD
 +-----------------------------------------------------------------------
 
+Config File
+===========
+
+When using the included rc.d(8) script, ${PKGSTEM} uses the config file at
+`${SYSCONFDIR}/navidrome.toml`.
+
 Adding Music
 =============
 
-Music can be added by copying it to ${VARBASE}/navidrome/music/ or by changing
-the `--datafolder` directory used.
+Music can be added by copying it to `${LOCALSTATEDIR}/music/` or by changing
+`MusicFolder` in the config file.
 
 Web Interface
 =============
 
-${PKGSTEM} serves up a web interface on:
-
-        http://localhost:4533
+By default, ${PKGSTEM} serves up a web interface on:
 
-If you wish to listen on a different interface or change the location
-${PKGSTEM} looks for music, you can modify it via rcctl:
+        http://127.0.0.1:4533
 
-         # rcctl set navidrome flags -a 0.0.0.0 --datafolder /home/music
+If you wish to listen on a different address, change the `Address` setting in
+the config file.
Index: pkg/navidrome.rc
===================================================================
RCS file: /cvs/ports/audio/navidrome/pkg/navidrome.rc,v
diff -u -p -r1.2 navidrome.rc
--- pkg/navidrome.rc    11 Mar 2022 18:20:21 -0000      1.2
+++ pkg/navidrome.rc    29 Nov 2023 18:58:43 -0000
@@ -2,7 +2,7 @@
 
 daemon="${TRUEPREFIX}/bin/navidrome"
 daemon_user="_navidrome"
-daemon_flags="-a localhost --datafolder ${VARBASE}/navidrome --musicfolder 
${VARBASE}/navidrome/music"
+daemon_flags="-c ${SYSCONFDIR}/navidrome.toml"
 
 . /etc/rc.d/rc.subr
 

-- 
Best Regards
Edd Barrett

https://www.theunixzoo.co.uk

Reply via email to