2018-06-21 22:15:54 +00:00
|
|
|
#/bin/sh
|
2018-06-21 21:29:49 +00:00
|
|
|
|
2018-07-30 22:05:37 +00:00
|
|
|
java=$(which java 2> /dev/null)
|
|
|
|
|
|
|
|
if [ -f dist/buildtools/closure-compiler.jar ] && [ "$java" != "" ]
|
2018-06-21 21:29:49 +00:00
|
|
|
then
|
2018-07-11 00:01:04 +00:00
|
|
|
echo "Minifying javascript"
|
2018-07-30 22:05:37 +00:00
|
|
|
[ htdocs/js/player.js -nt dist/htdocs/js/player.min.js ] && \
|
|
|
|
java -jar dist/buildtools/closure-compiler.jar htdocs/js/player.js > dist/htdocs/js/player.min.js
|
|
|
|
[ htdocs/js/mpd.js -nt dist/htdocs/js/mpd.min.js ] && \
|
|
|
|
java -jar dist/buildtools/closure-compiler.jar htdocs/js/mpd.js > dist/htdocs/js/mpd.min.js
|
|
|
|
[ htdocs/sw.js -nt dist/htdocs/sw.min.js ] && \
|
|
|
|
java -jar dist/buildtools/closure-compiler.jar htdocs/sw.js > dist/htdocs/sw.min.js
|
2018-06-21 21:56:39 +00:00
|
|
|
else
|
2018-08-01 09:01:34 +00:00
|
|
|
echo "dist/buildtools/closure-compiler.jar not found, using non-minified files"
|
2018-07-30 22:05:37 +00:00
|
|
|
[ htdocs/js/player.js -nt dist/htdocs/js/player.min.js ] && \
|
|
|
|
cp htdocs/js/player.js dist/htdocs/js/player.min.js
|
|
|
|
[ htdocs/js/mpd.js -nt dist/htdocs/js/mpd.min.js ] && \
|
|
|
|
cp htdocs/js/mpd.js dist/htdocs/js/mpd.min.js
|
|
|
|
[ htdocs/sw.js -nt dist/htdocs/sw.min.js ] && \
|
|
|
|
cp htdocs/sw.js dist/htdocs/sw.min.js
|
2018-06-21 21:29:49 +00:00
|
|
|
fi
|
2018-07-11 00:01:04 +00:00
|
|
|
|
2018-07-31 16:15:08 +00:00
|
|
|
if [ -f dist/buildtools/closure-stylesheets.jar ] && [ "$java" != "" ]
|
2018-07-11 00:01:04 +00:00
|
|
|
then
|
|
|
|
echo "Minifying stylesheets"
|
2018-07-30 22:05:37 +00:00
|
|
|
[ htdocs/css/mpd.css -nt dist/htdocs/css/mpd.min.css ] && \
|
2018-08-06 18:15:44 +00:00
|
|
|
java -jar dist/buildtools/closure-stylesheets.jar --allow-unrecognized-properties htdocs/css/mpd.css > dist/htdocs/css/mpd.min.css
|
2018-06-21 21:56:39 +00:00
|
|
|
else
|
2018-08-01 09:01:34 +00:00
|
|
|
echo "dist/buildtools/closure-stylesheets.jar not found, using non-minified files"
|
2018-07-30 22:05:37 +00:00
|
|
|
[ htdocs/css/mpd.css -nt dist/htdocs/css/mpd.min.css ] && \
|
|
|
|
cp htdocs/css/mpd.css dist/htdocs/css/mpd.min.css
|
2018-06-21 21:29:49 +00:00
|
|
|
fi
|
|
|
|
|
2018-07-30 22:05:37 +00:00
|
|
|
echo "Replacing javascript and stylesheets with minified files"
|
|
|
|
sed -e 's/mpd\.css/mpd\.min\.css/' -e 's/mpd\.js/mpd\.min\.js/' htdocs/index.html > dist/htdocs/index.html
|
|
|
|
sed -e 's/mpd\.css/mpd\.min\.css/' -e 's/player\.js/player\.min\.js/' htdocs/player.html > dist/htdocs/player.html
|
|
|
|
sed -i -e 's/mpd\.css/mpd\.min\.css/' -e 's/mpd\.js/mpd\.min\.js/' -e 's/player\.js/player\.min\.js/' dist/htdocs/sw.min.js
|
|
|
|
sed -i -e 's/\/sw\.js/\/sw\.min\.js/' dist/htdocs/js/mpd.min.js
|
|
|
|
echo "Minifying html"
|
|
|
|
perl -i -pe 's/^\s*//gm; s/\s*$//gm' dist/htdocs/index.html
|
|
|
|
perl -i -pe 's/^\s*//gm; s/\s*$//gm' dist/htdocs/player.html
|
|
|
|
|
2018-07-11 00:01:04 +00:00
|
|
|
echo "Compiling and installing mympd"
|
2018-06-21 21:29:49 +00:00
|
|
|
[ -d release ] || mkdir release
|
|
|
|
cd release
|
|
|
|
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_BUILD_TYPE=RELEASE ..
|
|
|
|
make
|
2018-06-21 22:15:54 +00:00
|
|
|
sudo make install
|
|
|
|
cd ..
|
|
|
|
|
2018-07-11 00:01:04 +00:00
|
|
|
echo "Fixing ownership of /var/lib/mympd"
|
2018-06-21 22:15:54 +00:00
|
|
|
sudo chown nobody /var/lib/mympd
|
|
|
|
|
2018-07-11 00:01:04 +00:00
|
|
|
echo "Trying to link musicdir to library"
|
|
|
|
if [ -f /etc/mpd.conf ]
|
|
|
|
then
|
2018-08-15 13:05:46 +00:00
|
|
|
LIBRARY=$(grep ^music_directory /etc/mpd.conf | awk {'print $2'} | sed -e 's/"//g')
|
|
|
|
[ "$LIBRARY" != "" ] && [ ! -e /usr/share/mympd/htdocs/library ] && sudo ln -s "$LIBRARY" /usr/share/mympd/htdocs/library
|
2018-07-11 00:01:04 +00:00
|
|
|
else
|
|
|
|
echo "/etc/mpd.conf not found, you must link your musicdir manually to /usr/share/mympd/htdocs/library"
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo "Installing systemd service"
|
|
|
|
if [ -d /etc/systemd/system ]
|
|
|
|
then
|
|
|
|
if [ contrib/mympd.service -nt /etc/systemd/system/mympd.service ]
|
|
|
|
then
|
|
|
|
sudo cp -v contrib/mympd.service /etc/systemd/system/
|
2018-08-15 13:05:46 +00:00
|
|
|
sudo systemctl daemon-reload
|
2018-07-11 00:01:04 +00:00
|
|
|
fi
|
2018-08-15 13:05:46 +00:00
|
|
|
sudo systemctl enable mympd
|
2018-07-11 00:01:04 +00:00
|
|
|
fi
|
2018-06-21 22:15:54 +00:00
|
|
|
|
2018-07-11 00:01:04 +00:00
|
|
|
if [ -d /etc/mympd/ssl ]
|
|
|
|
then
|
|
|
|
echo "Certificates already created"
|
|
|
|
else
|
|
|
|
echo "Creating certificates"
|
|
|
|
contrib/crcert.sh
|
|
|
|
fi
|
2018-06-21 22:15:54 +00:00
|
|
|
|
|
|
|
echo "myMPD installed"
|
2018-08-06 20:51:48 +00:00
|
|
|
echo "Edit /etc/mympd/mympd.conf before starting mympd"
|