diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..f087b42
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1 @@
+*.tar.gz filter=lfs diff=lfs merge=lfs -text
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..1534ba5
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+*.rpm
+*.log
+*spec-20*
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..1b1bae1
--- /dev/null
+++ b/Makefile
@@ -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)
diff --git a/README.md b/README.md
index 5951d4f..bd22718 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,9 @@
# madsonic
-3rd Party (Maintained by Koozali) git repo for madsonic smecontribs
\ No newline at end of file
+3rd Party (Maintained by Koozali) git repo for madsonic smecontribs
+
+## Description
+
+
*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*
+
diff --git a/contriborbase b/contriborbase
new file mode 100644
index 0000000..9b7fd51
--- /dev/null
+++ b/contriborbase
@@ -0,0 +1 @@
+contribs10
diff --git a/madsonic-6.2.9084-sysconfig.patch b/madsonic-6.2.9084-sysconfig.patch
new file mode 100644
index 0000000..c20aa29
--- /dev/null
+++ b/madsonic-6.2.9084-sysconfig.patch
@@ -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
diff --git a/madsonic-6.2.9084-test.patch b/madsonic-6.2.9084-test.patch
new file mode 100644
index 0000000..a667b10
--- /dev/null
+++ b/madsonic-6.2.9084-test.patch
@@ -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.
diff --git a/madsonic-6.2.9092-bz12305-failing.patch b/madsonic-6.2.9092-bz12305-failing.patch
new file mode 100644
index 0000000..dc66077
--- /dev/null
+++ b/madsonic-6.2.9092-bz12305-failing.patch
@@ -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
diff --git a/madsonic-6.2.9092.tar.gz b/madsonic-6.2.9092.tar.gz
new file mode 100644
index 0000000..00c301f
--- /dev/null
+++ b/madsonic-6.2.9092.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5036439aea17b2a5f736265ec5f0cab59a2d87c5643619b10a22ca3688bba4f6
+size 106384115
diff --git a/madsonic.service b/madsonic.service
new file mode 100644
index 0000000..0b77e24
--- /dev/null
+++ b/madsonic.service
@@ -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
diff --git a/madsonic.spec b/madsonic.spec
new file mode 100644
index 0000000..30614f4
--- /dev/null
+++ b/madsonic.spec
@@ -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 6.2.9092-3.sme
+- fix failing service on update and few occasions [SME: 12305]
+
+* Fri Dec 30 2022 Jean-Philippe Pialasse 6.2.9092-2.sme
+- fix madsonic fails as starting before network
+
+* Fri Jul 22 2022 Jean-Philippe Pialasse 6.2.9092-1.sme
+- update with log4j fixes and more
+- systemd capable
+- add mediasonic.test
+
+* Fri Jun 04 2021 Jean-Philippe Pialasse 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 6.2.9084-1.sme
+- update to 6.2.9084
+- first build for SME10
+
+* Sun Nov 17 2013 JP Pialasse 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
+