2018-09-06 22:10:40 +00:00
|
|
|
#/bin/bash
|
|
|
|
|
2018-09-17 17:31:45 +00:00
|
|
|
echo "Checking status of mympd system user and group"
|
2018-09-06 22:10:40 +00:00
|
|
|
getent group mympd > /dev/null
|
2018-09-12 20:30:24 +00:00
|
|
|
[ "$?" = "2" ] && groupadd -r mympd
|
2018-09-06 22:10:40 +00:00
|
|
|
getent passwd mympd > /dev/null
|
2018-09-16 21:22:36 +00:00
|
|
|
[ "$?" = "2" ] && useradd -r mympd -g mympd -d /var/lib/mympd -s /usr/sbin/nologin
|
2018-09-06 22:10:40 +00:00
|
|
|
|
2018-10-07 21:34:54 +00:00
|
|
|
|
2018-09-06 22:10:40 +00:00
|
|
|
|
|
|
|
echo "Trying to link musicdir to library"
|
|
|
|
if [ -f /etc/mpd.conf ]
|
|
|
|
then
|
|
|
|
LIBRARY=$(grep ^music_directory /etc/mpd.conf | awk {'print $2'} | sed -e 's/"//g')
|
|
|
|
[ "$LIBRARY" != "" ] && [ ! -e /usr/share/mympd/htdocs/library ] && ln -s "$LIBRARY" /usr/share/mympd/htdocs/library
|
|
|
|
else
|
|
|
|
echo "/etc/mpd.conf not found, you must link your music_directory manually to /usr/share/mympd/htdocs/library"
|
|
|
|
fi
|
|
|
|
|
2018-09-20 20:13:04 +00:00
|
|
|
echo "Linking pics directory"
|
|
|
|
[ -e /usr/share/mympd/htdocs/pics ] || ln -s /var/lib/mympd/pics /usr/share/mympd/htdocs/
|
|
|
|
|
|
|
|
if [ -d /etc/systemd ]
|
2018-09-06 22:10:40 +00:00
|
|
|
then
|
|
|
|
echo "Installing systemd service"
|
2018-09-20 20:13:04 +00:00
|
|
|
[ -d /usr/lib/systemd/system ] || mkdir -p /usr/lib/systemd/system
|
2018-09-06 22:10:40 +00:00
|
|
|
if [ contrib/mympd.service -nt /usr/lib/systemd/system/mympd.service ]
|
|
|
|
then
|
|
|
|
cp contrib/mympd.service /usr/lib/systemd/system/
|
2018-09-17 17:53:10 +00:00
|
|
|
systemctl daemon-reload
|
2018-09-06 22:10:40 +00:00
|
|
|
fi
|
2018-09-17 17:53:10 +00:00
|
|
|
systemctl enable mympd
|
2018-09-06 22:10:40 +00:00
|
|
|
fi
|
|
|
|
|
2018-10-01 19:12:59 +00:00
|
|
|
# move smartpls into place unless already existing
|
|
|
|
for PLDIST in /var/lib/mympd/smartpls/*.dist
|
|
|
|
do
|
2018-10-01 21:11:14 +00:00
|
|
|
if [ -f "$PLDIST" ]
|
2018-10-01 19:12:59 +00:00
|
|
|
then
|
2018-10-01 21:11:14 +00:00
|
|
|
PLS=$(basename $PLDIST .dist)
|
|
|
|
if [ -f /var/lib/mympd/smartpls/$PLS ]
|
|
|
|
then
|
|
|
|
rm $PLDIST
|
|
|
|
else
|
|
|
|
mv -v $PLDIST /var/lib/mympd/smartpls/$PLS
|
|
|
|
fi
|
2018-10-01 19:12:59 +00:00
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
2018-09-17 17:31:45 +00:00
|
|
|
# move config into place unless already existing
|
|
|
|
if [ ! -f /etc/mympd/mympd.conf ]
|
|
|
|
then
|
|
|
|
mv /etc/mympd/mympd.conf.dist /etc/mympd/mympd.conf
|
|
|
|
else
|
|
|
|
echo "mympd.conf installed as mympd.conf.dist"
|
|
|
|
fi
|
|
|
|
|
2018-10-07 21:34:54 +00:00
|
|
|
#default state files
|
|
|
|
[ -f /var/lib/mympd/state/jukeboxMode ] || echo -n "0" > /var/lib/mympd/state/jukeboxMode
|
|
|
|
[ -f /var/lib/mympd/state/jukeboxPlaylist ] || echo -n "Database" > /var/lib/mympd/state/jukeboxPlaylist
|
|
|
|
[ -f /var/lib/mympd/state/jukeboxQueueLength ] || echo -n "1" > /var/lib/mympd/state/jukeboxQueueLength
|
2019-01-19 00:20:05 +00:00
|
|
|
[ -f /var/lib/mympd/state/autoPlay ] || echo -n "false" > /var/lib/mympd/state/autoPlay
|
2018-10-07 21:34:54 +00:00
|
|
|
[ -f /var/lib/mympd/state/notificationPage ] || echo -n "true" > /var/lib/mympd/state/notificationPage
|
|
|
|
[ -f /var/lib/mympd/state/notificationWeb ] || echo -n "false" > /var/lib/mympd/state/notificationWeb
|
2018-11-04 18:34:46 +00:00
|
|
|
[ -f /var/lib/mympd/state/colsBrowseDatabase ] || echo -n '["Track","Title","Duration"]' > /var/lib/mympd/state/colsBrowseDatabase
|
2018-10-22 20:03:45 +00:00
|
|
|
[ -f /var/lib/mympd/state/colsBrowseFilesystem ] || echo -n '["Type","Title","Artist","Album","Duration"]' > /var/lib/mympd/state/colsBrowseFilesystem
|
2018-11-04 23:26:09 +00:00
|
|
|
[ -f /var/lib/mympd/state/colsPlayback ] || echo -n '["Artist","Album","Genre"]' > /var/lib/mympd/state/colsPlayback
|
2018-10-22 22:20:57 +00:00
|
|
|
[ -f /var/lib/mympd/state/colsBrowsePlaylistsDetail ] || echo -n '["Pos","Title","Artist","Album","Duration"]' > /var/lib/mympd/state/colsBrowsePlaylistsDetail
|
2018-11-14 23:14:47 +00:00
|
|
|
[ -f /var/lib/mympd/state/colsQueueCurrent ] || echo -n '["Pos","Title","Artist","Album","Duration"]' > /var/lib/mympd/state/colsQueueCurrent
|
|
|
|
[ -f /var/lib/mympd/state/colsQueueLastPlayed ] || echo -n '["Pos","Title","Artist","Album","LastPlayed"]' > /var/lib/mympd/state/colsQueueLastPlayed
|
2018-10-22 20:03:45 +00:00
|
|
|
[ -f /var/lib/mympd/state/colsSearch ] || echo -n '["Title","Artist","Album","Duration"]' > /var/lib/mympd/state/colsSearch
|
2018-10-07 21:34:54 +00:00
|
|
|
|
|
|
|
echo "Fixing ownership of /var/lib/mympd"
|
|
|
|
chown -R mympd.mympd /var/lib/mympd
|
|
|
|
|
2018-09-06 22:10:40 +00:00
|
|
|
if [ -d /etc/mympd/ssl ]
|
|
|
|
then
|
|
|
|
echo "Certificates already created"
|
|
|
|
else
|
|
|
|
echo "Creating certificates"
|
2018-09-25 23:27:17 +00:00
|
|
|
/usr/share/mympd/crcert.sh
|
2018-09-06 22:10:40 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
echo "myMPD installed"
|
|
|
|
echo "Edit /etc/mympd/mympd.conf before starting myMPD"
|