Give _mpd a home dir and document how to share concurrent sndiod(8) access

Just use /var/spool/mpd as the home dir but tweak the perms to prevent
group write access and avoid security(8) warnings.  If you already have
mpd installed you might want to update the home dir by hand as
documented in the README.

Prompted by questions and diffs from chrisz@ and a report from Moises
Simon, input from ratchov@ and sthen@, ok sthen@
This commit is contained in:
jca 2020-04-28 17:16:21 +00:00
parent a123268358
commit caac776c11
3 changed files with 31 additions and 5 deletions

View File

@ -1,9 +1,9 @@
# $OpenBSD: Makefile,v 1.129 2020/04/27 13:46:19 jca Exp $
# $OpenBSD: Makefile,v 1.130 2020/04/28 17:16:21 jca Exp $
BROKEN-hppa = no atomic ops
COMMENT = Music Player Daemon
VER = 0.21.21
REVISION = 0
REVISION = 1
DISTNAME = mpd-${VER}
EXTRACT_SUFX = .tar.xz
CATEGORIES = audio

View File

@ -1,7 +1,7 @@
@comment $OpenBSD: PLIST,v 1.13 2019/08/15 05:44:37 landry Exp $
@comment $OpenBSD: PLIST,v 1.14 2020/04/28 17:16:21 jca Exp $
@pkgpath audio/mpd,tremor
@newgroup _mpd:560
@newuser _mpd:560:560:daemon:Music Player Daemon:/var/empty:/sbin/nologin
@newuser _mpd:560:560:daemon:Music Player Daemon:/var/spool/mpd:/sbin/nologin
@extraunexec rm -rf /var/log/mpd/*
@extraunexec find /var/spool/mpd \! -name playlists -mindepth 1 -exec rm -rf "{}" \;
@rcscript ${RCDIR}/mpd
@ -13,10 +13,11 @@ share/doc/mpd/AUTHORS
share/doc/mpd/COPYING
share/doc/mpd/NEWS
share/doc/mpd/README.md
share/doc/pkg-readmes/${PKGSTEM}
share/examples/mpd/
share/examples/mpd/mpd.conf
@sample ${SYSCONFDIR}/mpd.conf
@mode 770
@mode 750
@owner _mpd
@group _mpd
@sample /var/log/mpd/

25
audio/mpd/pkg/README Normal file
View File

@ -0,0 +1,25 @@
$OpenBSD: README,v 1.1 2020/04/28 17:16:21 jca Exp $
+-------------------------------------------------------------------------------
| Running ${PKGSTEM} on OpenBSD
+-------------------------------------------------------------------------------
sndiod(8) concurrent access by mpd(1) and other users
=====================================================
sndiod(8) normally only allows access to audio by a single system user
at a time. This is done by generating a random authentication token and
storing it in $HOME/.sndio/cookie when a user first accesses audio,
providing a limited capability to share with other users by copying
the token to their home directory. See AUTHENTICATION in sndio(7) for
more details.
If you want to share sndiod(8) access with mpd(1) running as the
default _mpd user, you may copy .sndio/cookie from your user's home
directory to /var/spool/mpd/.sndio/cookie.
If you previously had mpd installed on your system, make sure the home
directory of the _mpd user is actually /var/spool/mpd, or reset it
with:
# usermod -d /var/spool/mpd _mpd