initial commit of file from CVS for madsonic on Thu Oct 9 11:51:52 AEDT 2025

This commit is contained in:
Trevor Batley
2025-10-09 11:51:52 +11:00
parent 59a0328c7c
commit ec17044948
11 changed files with 298 additions and 1 deletions

1
.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
*.tar.gz filter=lfs diff=lfs merge=lfs -text

3
.gitignore vendored Normal file
View File

@@ -0,0 +1,3 @@
*.rpm
*.log
*spec-20*

21
Makefile Normal file
View File

@@ -0,0 +1,21 @@
# Makefile for source rpm: madsonic
# $Id: Makefile,v 1.1 2021/06/03 15:20:22 jpp Exp $
NAME := madsonic
SPECFILE = $(firstword $(wildcard *.spec))
define find-makefile-common
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
endef
MAKEFILE_COMMON := $(shell $(find-makefile-common))
ifeq ($(MAKEFILE_COMMON),)
# attept a checkout
define checkout-makefile-common
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
endef
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
endif
include $(MAKEFILE_COMMON)

View File

@@ -1,3 +1,9 @@
# madsonic # madsonic
3rd Party (Maintained by Koozali) git repo for madsonic smecontribs 3rd Party (Maintained by Koozali) git repo for madsonic smecontribs
## Description
<br />*This description has been generated by an LLM AI system and cannot be relied on to be fully correct.*
*Once it has been checked, then this comment will be deleted*
<br />

1
contriborbase Normal file
View File

@@ -0,0 +1 @@
contribs10

View File

@@ -0,0 +1,25 @@
diff -Nur --no-dereference madsonic-6.2.9092.old/root/etc/sysconfig/madsonic madsonic-6.2.9092/root/etc/sysconfig/madsonic
--- madsonic-6.2.9092.old/root/etc/sysconfig/madsonic 2022-01-26 10:57:08.000000000 -0500
+++ madsonic-6.2.9092/root/etc/sysconfig/madsonic 2022-07-23 16:39:49.208000000 -0400
@@ -24,3 +24,21 @@
# the music directories, otherwise changing album art and tags will fail.
MADSONIC_USER=root
+
+###for madsonic.service
+MADSONIC_HOME=/var/madsonic
+MADSONIC_HOST=0.0.0.0
+MADSONIC_PORT=4041
+MADSONIC_HTTPS_PORT=0
+MADSONIC_CONTEXT_PATH=/madsonic
+MADSONIC_MAX_MEMORY=350
+MADSONIC_DEFAULT_MUSIC_FOLDER=/var/media
+MADSONIC_DEFAULT_UPLOAD_FOLDER=/var/media/incoming
+MADSONIC_DEFAULT_PODCAST_FOLDER=/var/media/podcast
+MADSONIC_DEFAULT_PLAYLIST_IMPORT_FOLDER=/var/media/playlists/import
+MADSONIC_DEFAULT_PLAYLIST_EXPORT_FOLDER=/var/media/playlists/export
+MADSONIC_DEFAULT_PLAYLIST_BACKUP_FOLDER=/var/media/playlists/backup
+MADSONIC_DEFAULT_TRANSCODE_FOLDER=
+MADSONIC_DEFAULT_TIMEZONE=EDT
+MADSONIC_GZIP=true
+MADSONIC_TEST=false

View File

@@ -0,0 +1,37 @@
diff -Nur --no-dereference madsonic-6.2.9092.old/root/usr/share/madsonic/madsonic.sh madsonic-6.2.9092/root/usr/share/madsonic/madsonic.sh
--- madsonic-6.2.9092.old/root/usr/share/madsonic/madsonic.sh 2022-01-26 10:57:08.000000000 -0500
+++ madsonic-6.2.9092/root/usr/share/madsonic/madsonic.sh 2022-07-23 03:00:12.309000000 -0400
@@ -24,6 +24,7 @@
MADSONIC_PIDFILE=
MADSONIC_UPDATE=true
MADSONIC_GZIP=
+MADSONIC_TEST=false
MADSONIC_DB=
quiet=0
@@ -68,6 +69,7 @@
echo " --update=VALUE Configure Madsonic to look in folder /update for updates. Default 'true'"
echo " --gzip=VALUE Configure Madsonic to use Gzip compression. Default 'true'"
echo " --quiet Don't print anything to standard out. Default false."
+ echo " --test=VALUE Refer to local server for registering. Default false"
exit 1
}
@@ -134,6 +136,9 @@
--db=?*)
MADSONIC_DB=${1#--db=}
;;
+ --test=?*)
+ MADSONIC_TEST="true"
+ ;;
--quiet)
quiet=1
;;
@@ -179,6 +184,7 @@
-Dmadsonic.gzip=${MADSONIC_GZIP} \
-Dmadsonic.db="${MADSONIC_DB}" \
-Djava.awt.headless=true \
+ -Dmadsonic.test="${MADSONIC_TEST}"\
-jar madsonic-booter.jar > ${LOG} 2>&1 &
# Write pid to pidfile if it is defined.

View File

@@ -0,0 +1,5 @@
diff -Nur --no-dereference madsonic-6.2.9092.old/root/etc/yum/post-actions/madsonic.action madsonic-6.2.9092/root/etc/yum/post-actions/madsonic.action
--- madsonic-6.2.9092.old/root/etc/yum/post-actions/madsonic.action 1969-12-31 19:00:00.000000000 -0500
+++ madsonic-6.2.9092/root/etc/yum/post-actions/madsonic.action 2023-01-21 14:48:24.104000000 -0500
@@ -0,0 +1 @@
+madsonic:any:/usr/bin/systemctl daemon-reload ; /usr/bin/systemctl restart madsonic.service

BIN
madsonic-6.2.9092.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

37
madsonic.service Normal file
View File

@@ -0,0 +1,37 @@
[Unit]
Description=Madsonic media streaming solution
After= network-online.target
[Service]
Restart=always
RestartSec=5
EnvironmentFile=/etc/sysconfig/madsonic
User=madsonic
Group=madsonic
#Environment=MADSONIC_HOME=/var/madsonic MADSONIC_HOST=0.0.0.0 MADSONIC_PORT=4041 MADSONIC_HTTPS_PORT=0 MADSONIC_CONTEXT_PATH=/madsonic
ExecStart=/usr/bin/madsonic \
--init-memory=192 \
--pidfile=/run/madsonic/madsonic.pid \
--update=false \
--home=${MADSONIC_HOME} \
--host=${MADSONIC_HOST} \
--port=${MADSONIC_PORT} \
--https-port=${MADSONIC_HTTPS_PORT} \
--context-path=${MADSONIC_CONTEXT_PATH} \
--max-memory=${MADSONIC_MAX_MEMORY} \
--default-music-folder=${MADSONIC_DEFAULT_MUSIC_FOLDER} \
--default-upload-folder=${MADSONIC_DEFAULT_UPLOAD_FOLDER} \
--default-podcast-folder=${MADSONIC_DEFAULT_PODCAST_FOLDER} \
--default-playlist-import-folder=${MADSONIC_DEFAULT_PLAYLIST_IMPORT_FOLDER} \
--default-playlist-export-folder=${MADSONIC_DEFAULT_PLAYLIST_EXPORT_FOLDER} \
--default-playlist-backup-folder=${MADSONIC_DEFAULT_PLAYLIST_BACKUP_FOLDER} \
--default-transcode-folder=${MADSONIC_DEFAULT_TRANSCODE_FOLDER} \
--timezone=${MADSONIC_DEFAULT_TIMEZONE} \
--gzip=${MADSONIC_GZIP} \
--test=${MADSONIC_TEST}
KillMode=mixed
PIDFile=/run/madsonic/madsonic.pid
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target sme-server.target

158
madsonic.spec Normal file
View File

@@ -0,0 +1,158 @@
%define name madsonic
%define version 6.2.9092
%define release 3
%define __os_install_post \
/usr/lib/rpm/brp-compress \
/usr/lib/rpm/brp-strip \
/usr/lib/rpm/brp-strip-static-archive \
echo "not /usr/lib/rpm/brp-strip-comment-note" \
%{nil}
Name: %{name}
Version: %{version}
Release: %{release}%{?dist}
Summary: A web-based music streamer, jukebox and Podcast receiver
Source: %{name}-%{version}.tar.gz
Source1: madsonic.service
Patch0: madsonic-6.2.9084-test.patch
Patch1: madsonic-6.2.9084-sysconfig.patch
Patch2: madsonic-6.2.9092-bz12305-failing.patch
BuildRoot: /var/tmp/%{name}-%{version}-buildroot
BuildArch: noarch
BuildRequires: e-smith-devtools
AutoReqProv: no
Group: Applications/Multimedia
License: GPLv3
URL: http://madsonic.org
%changelog
* Thu Oct 09 2025 BogusDateBot
- Eliminated rpmbuild "bogus date" warnings due to inconsistent weekday,
by assuming the date is correct and changing the weekday.
* Sat Jan 21 2023 Jean-Philippe Pialasse <tests@pialasse.com> 6.2.9092-3.sme
- fix failing service on update and few occasions [SME: 12305]
* Fri Dec 30 2022 Jean-Philippe Pialasse <tests@pialasse.com> 6.2.9092-2.sme
- fix madsonic fails as starting before network
* Fri Jul 22 2022 Jean-Philippe Pialasse <tests@pialasse.com> 6.2.9092-1.sme
- update with log4j fixes and more
- systemd capable
- add mediasonic.test
* Fri Jun 04 2021 Jean-Philippe Pialasse <tests@pialasse.com> 6.2.9084-2.sme
- fix permissions [SME: 10699]
- fix noise on start with initial install [SME: 8016]
* Thu Jun 03 2021 Jean-Philippe Pialasse <tests@pialasse.com> 6.2.9084-1.sme
- update to 6.2.9084
- first build for SME10
* Sun Nov 17 2013 JP Pialasse <tests@pialasse.com> 5.0.3760-1.sme
- first build for sme
- adding noarch
- adding e-smith-devtools
%description
Madsonic is a web-based music streamer, fork of Subsonic, jukebox and Podcast receiver,
providing access to your music collection wherever you are. Use it
to share your music with friends, or to listen to your music while away
from home.
Apps for Android, iPhone and Windows Phone are also available.
Java 1.8 or higher is required to run Madsonic.>= 6.2
%prep
%setup
%patch0 -p1
%patch1 -p1
%patch2 -p1
mkdir -p root/usr/lib/systemd/system
cp %{SOURCE1} root/usr/lib/systemd/system
mkdir -p root/run/madsonic
mkdir -p root/usr/lib/tmpfiles.d/
mkdir -p root/usr/bin
echo "d /run/madsonic 0755 madsonic madsonic" > root/usr/lib/tmpfiles.d/madsonic.conf
rm root/etc/init.d/madsonic
pushd root/usr/bin/
ln -sf /usr/share/madsonic/madsonic.sh madsonic
popd
%install
rm -rf $RPM_BUILD_ROOT
(cd root ; find . -depth -print | cpio -dump $RPM_BUILD_ROOT)
rm -f %{name}-%{version}-filelist
/sbin/e-smith/genfilelist $RPM_BUILD_ROOT \
--dir /usr/share/madsonic 'attr(0750,madsonic,madsonic)' \
--dir /var/madsonic 'attr(0750,madsonic,madsonic)' \
--file /usr/lib/tmpfiles.d/madsonic.conf 'attr(0750,root,root)' \
--file /usr/lib/systemd/system/madsonic.service 'attr(0644,root,root)' \
--dir /run/madsonic 'attr(0755,madsonic,madsonic)' \
--ignoredir /run \
--ignoredir "/etc/sysconfig/madsonic" \
--ignoredir "/etc/init.d" \
--ignoredir "/etc/sysconfig"\
> %{name}-%{version}-filelist
%clean
rm -rf $RPM_BUILD_ROOT
%files -f %{name}-%{version}-filelist
%defattr(-,root,root)
%config(noreplace) /etc/sysconfig/madsonic
%pre
grep '^madsonic:' /etc/passwd > /dev/null || \
/usr/sbin/useradd -c "madsonic" -M -d /usr/share/madsonic -s /bin/bash madsonic
/usr/sbin/usermod -aG audio madsonic
# Stop Madsonic service.
if [ -e /etc/init.d/madsonic ]; then
service madsonic stop
fi
[ -e /usr/lib/systemd/system/madsonic.service ] && systemctl stop madsonic
# Backup database.
if [ -e /var/madsonic/db ]; then
rm -rf /var/madsonic/db.backup
cp -R /var/madsonic/db /var/madsonic/db.backup
fi
exit 0
%post
#ln -sf /usr/share/madsonic/madsonic.sh /usr/bin/madsonic
#chmod 750 /var/madsonic
# Clear jetty cache.
rm -rf /var/madsonic/jetty
# For SELinux: Set security context
chcon -t java_exec_t /etc/init.d/madsonic 2>/dev/null
# Configure and start Madsonic service.
#chkconfig --add madsonic
#service madsonic start
exit 0
%preun
# Only do it if uninstalling, not upgrading.
if [ $1 = 0 ] ; then
# Stop the service.
[ -e /etc/init.d/madsonic ] && service madsonic stop
[ -e /usr/lib/systemd/system/madsonic.service ] && systemctl stop madsonic
# Remove symlink.
rm -f /usr/bin/madsonic
# Remove startup scripts.
chkconfig --del madsonic
fi
exit 0