myMPD is written in C and has a nice WebGUI to play local music and also a WebRadio browser. This is to replace the removec client175.
After install it can reached via https://IP_OF_THE_IPFIRE:8800
Signed-off-by: Arne Fitzenreiter arne_f@ipfire.org --- config/backup/includes/mympd | 1 + config/rootfiles/packages/mympd | 18 ++++++ lfs/mympd | 107 ++++++++++++++++++++++++++++++++ make.sh | 1 + src/initscripts/packages/mympd | 53 ++++++++++++++++ src/paks/mympd/install.sh | 30 +++++++++ src/paks/mympd/uninstall.sh | 28 +++++++++ src/paks/mympd/update.sh | 27 ++++++++ 8 files changed, 265 insertions(+) create mode 100644 config/backup/includes/mympd create mode 100644 config/rootfiles/packages/mympd create mode 100644 lfs/mympd create mode 100644 src/initscripts/packages/mympd create mode 100644 src/paks/mympd/install.sh create mode 100644 src/paks/mympd/uninstall.sh create mode 100644 src/paks/mympd/update.sh
diff --git a/config/backup/includes/mympd b/config/backup/includes/mympd new file mode 100644 index 000000000..44481decc --- /dev/null +++ b/config/backup/includes/mympd @@ -0,0 +1 @@ +/var/lib/mympd diff --git a/config/rootfiles/packages/mympd b/config/rootfiles/packages/mympd new file mode 100644 index 000000000..bc9912b85 --- /dev/null +++ b/config/rootfiles/packages/mympd @@ -0,0 +1,18 @@ +etc/rc.d/init.d/mympd +usr/bin/mympd +usr/bin/mympd-script +#usr/lib/systemd/system/mympd.service +#usr/share/doc/mympd +#usr/share/doc/mympd/CHANGELOG.md +#usr/share/doc/mympd/LICENSE.md +#usr/share/doc/mympd/README.md +#usr/share/doc/mympd/SECURITY.md +#usr/share/man/man1/mympd-script.1.gz +#usr/share/man/man1/mympd.1.gz +var/ipfire/backup/addons/includes/mympd +var/lib/mympd +#var/lib/mympd/config +#var/lib/mympd/config/http +#var/lib/mympd/config/ssl_port +#var/lib/mympd/state +#var/lib/mympd/state/music_directory diff --git a/lfs/mympd b/lfs/mympd new file mode 100644 index 000000000..ffedcdcce --- /dev/null +++ b/lfs/mympd @@ -0,0 +1,107 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007-2024 IPFire Team info@ipfire.org # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see http://www.gnu.org/licenses/. # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +SUMMARY = Webfrontend for Music Player Daemon + +VER = 13.0.6 + +THISAPP = myMPD-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) +PROG = mympd +PAK_VER = 1 + +# TODO move mpd initskript and config to mpd package to run without mpfire +DEPS = mpd libmpdclient mpfire + +SERVICES = mympd + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_BLAKE2 = 2ecd8d42b9398e85fc6c149c9e55f760f2039434039d558ac1914b447858a59676ed9300bc89b2a25757b8d9828dec5934376d4587f6b84026d07adbfd2e4a33 + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +b2 : $(subst %,%_BLAKE2,$(objects)) + +dist: + @$(PAK) + +############################################################################### +# Downloading, checking, b2sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_BLAKE2,$(objects)) : + @$(B2SUM) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && mkdir -p build + cd $(DIR_APP)/build && cmake -Wno-dev \ + -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release .. + cd $(DIR_APP)/build && make $(MAKETUNING) + cd $(DIR_APP)/build && make install + + #generate config + mkdir -p /var/lib/mympd/config + echo false > /var/lib/mympd/config/http + echo 8800 > /var/lib/mympd/config/ssl_port + mkdir -p /var/lib/mympd/state + echo /var/mp3 > /var/lib/mympd/state/music_directory + chown nobody:nobody -R /var/lib/mympd + + #install backup include + install -v -m 644 $(DIR_SRC)/config/backup/includes/mympd \ + /var/ipfire/backup/addons/includes/mympd + + #install initscript + $(call INSTALL_INITSCRIPTS,$(SERVICES)) + + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index 06e09c9a3..f13d283bc 100755 --- a/make.sh +++ b/make.sh @@ -1699,6 +1699,7 @@ buildipfire() { lfsmake2 perl-MIME-Base32 lfsmake2 perl-URI-Encode lfsmake2 rsnapshot + lfsmake2 mympd
# Kernelbuild ... current we have no platform that need # multi kernel builds so KCFG is empty diff --git a/src/initscripts/packages/mympd b/src/initscripts/packages/mympd new file mode 100644 index 000000000..a7cb9e523 --- /dev/null +++ b/src/initscripts/packages/mympd @@ -0,0 +1,53 @@ +#!/bin/sh +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007-2024 IPFire Team info@ipfire.org # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see http://www.gnu.org/licenses/. # +# # +############################################################################### + +. /etc/sysconfig/rc +. $rc_functions + +case "$1" in + start) + + boot_mesg "Starting mympd..." + loadproc /usr/bin/mympd -u nobody -s >/dev/null 2>&1 & + evaluate_retval + ;; + + stop) + boot_mesg "Stopping mympd..." + killproc /usr/bin/mympd >/dev/null 2>&1 + evaluate_retval + ;; + + restart) + $0 stop + sleep 3 + $0 start + ;; + + status) + statusproc /usr/bin/mympd + ;; + + *) + echo "Usage: $0 {start|stop|restart|status}" + exit 1 + ;; +esac diff --git a/src/paks/mympd/install.sh b/src/paks/mympd/install.sh new file mode 100644 index 000000000..11cae1207 --- /dev/null +++ b/src/paks/mympd/install.sh @@ -0,0 +1,30 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# IPFire is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2007-2024 IPFire-Team info@ipfire.org. # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh +extract_files +ln -svf /etc/init.d/mympd /etc/rc.d/rc3.d/S66mympd +ln -svf /etc/init.d/mympd /etc/rc.d/rc0.d/K34mympd +ln -svf /etc/init.d/mympd /etc/rc.d/rc6.d/K34mympd +restore_backup ${NAME} +/etc/init.d/mympd start diff --git a/src/paks/mympd/uninstall.sh b/src/paks/mympd/uninstall.sh new file mode 100644 index 000000000..8ca9ea74e --- /dev/null +++ b/src/paks/mympd/uninstall.sh @@ -0,0 +1,28 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# IPFire is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2007-2024 IPFire-Team info@ipfire.org. # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh +/etc/init.d/mpd stop +make_backup ${NAME} +remove_files +rm -f /etc/rc.d/rc*.d/???mympd diff --git a/src/paks/mympd/update.sh b/src/paks/mympd/update.sh new file mode 100644 index 000000000..31d1d77cc --- /dev/null +++ b/src/paks/mympd/update.sh @@ -0,0 +1,27 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# IPFire is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2007-2024 IPFire-Team info@ipfire.org. # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh +extract_backup_includes +./uninstall.sh +./install.sh