# # spec file for logitechmediaserver # # Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # # https://build.opensuse.org/project/show/home:rikj, August 21, 2017 # Update May 28, 2018 for OpenSUSE 15.0 # Update July 24, 2020 for OpenSUSE 15.2 and Logitech Media Server 7.9.2_final # # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: logitechmediaserver Version: 7.9.2_final Release: lp151.28.1 Summary: Logitech Media Server 7.9.2_final License: GPL-2.0 URL: http://downloads.slimdevices.com ## Note: double %% should be replaced by % when turning this in a statement ## (otherwise the macro's will be expanded in the comments). ## Source0: %%{name}-%%{version}-noCPAN.tgz Source0: %{name}-7.9.2-noCPAN.tgz Source1: squeezeboxserver.service Source2: logrotate-logitechmediaserver Source3: sysconfig-logitechmediaserver Source4: squeezeboxserver_server Source5: squeezeboxserver_scanner Source6: squeezeboxserver_cleanup Source7: squeezeboxserver.server.prefs Source8: squeezeboxserver.state.prefs Source9: fixperms.sh Source10: squeezeclient.pl Source11: perl-rpmlintrc # Patch0: openSUSE_squeezeboxserver.patch #%{perl_requires} Requires: perl-DBI Requires: perl-EV Requires: perl-HTML-Parser Requires: perl-JSON-XS Requires: perl-YAML-LibYAML Requires: perl-Sub-Name Requires: perl-Audio-Scan >= 0.93 Requires: perl-Image-Scale #Requires: perl-DBD-SQLite == 1.34_01 Requires: perl-DBD-SQLite Requires: perl-Class-XSAccessor Requires: perl-Exporter-Lite Requires: perl-Log-Log4perl Requires: perl-Path-Class Requires: perl-Sub-Name Requires: perl-Cache-Cache Requires: perl-Class-ISA # Requires: perl-Data-URIEncode Requires: perl-YAML-LibYAML Requires: perl-Template-Toolkit Requires: perl-YAML # to remove from tarball Requires: perl-IO-Interface Requires: perl-XML-SAX-Writer Requires: perl-XML-Parser Requires: perl-XML-XPath Requires: perl-XML-SAX-Expat Requires: perl-XML-Writer Requires: perl-XML-NamespaceSupport Requires: perl-Linux-Inotify2 Requires: perl-Digest-SHA1 Requires: perl-common-sense Requires: perl-IO-AIO Requires: perl-IO-String Requires: perl-Net-HTTP Requires: perl-PAR #Requires: perl-JSON-XS-VersionOneAndTwo Requires: perl-HTTP-Cookies Requires: perl-HTTP-Date Requires: perl-HTTP-Daemon Requires: perl-HTTP-Message Requires: perl-HTTP-Negotiate Requires: perl-URI Requires: perl-URI-Find Requires: perl-Archive-Zip Requires: perl-AnyEvent Requires: perl-Cache-Cache Requires: perl-Algorithm-C3 Requires: perl-MRO-Compat Requires: perl-Devel-Leak Requires: perl-Scope-Guard Requires: perl-Module-Find Requires: perl-Carp-Clan Requires: perl-Carp-Assert Requires: perl-Data-Page Requires: perl-Data-Dump Requires: perl-File-Copy-Recursive Requires: perl-File-Which Requires: perl-File-Next Requires: perl-File-ReadBackwards Requires: perl-File-Listing Requires: perl-File-Slurp Requires: perl-File-Temp Requires: perl-version # Requires: perl-Media-Scan Requires: sqlite3 Requires: logrotate Requires(post): systemd Requires(post): %fillup_prereq Requires(pre): pwdutils # for squeezeclient.pl Requires: perl-Net-Telnet %if 0%{?suse_version} >= 1210 BuildRequires: systemd-rpm-macros %endif %{?systemd_requires} BuildRequires: perl-ExtUtils-MakeMaker Buildarch: noarch %{?perl_default_filter} %description Logitech Media Server provides an HTTP server that can be used to browse the music library, view the status and playlist of the player, control the player, and configure the server. This is the released version 7.9.2_final as of January 2020. %prep %setup -q -n %{name}-7.9.2-noCPAN # %patch0 -p1 %build %install # see https://lists.opensuse.org/opensuse-factory/2017-11/msg00622.html %if ! %{defined _fillupdir} %define _fillupdir /var/adm/fillup-templates %endif mkdir -p %{buildroot}%{_datarootdir}/squeezeboxserver mkdir -p %{buildroot}%{_sysconfdir}/squeezeboxserver/prefs/plugin ## mkdir -p %%{buildroot}%%{_var}/adm/fillup-templates mkdir -p %{buildroot}%{_fillupdir} mkdir -p %{buildroot}%{_unitdir}/ mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d mkdir -p %{buildroot}%{_libexecdir} mkdir -p %{buildroot}%{_sbindir} mkdir -p %{buildroot}%{_bindir} mkdir -p %{buildroot}%{_localstatedir}/lib/squeezeboxserver/cache mkdir -p %{buildroot}%{_localstatedir}/log/squeezeboxserver mkdir -p %{buildroot}%{_defaultdocdir}/%{name}-%{version} cp -avf Changelog* License* Installation.txt %{buildroot}%{_defaultdocdir}/%{name}-%{version} # server.conf cp -avf convert.conf modules.conf types.conf %{buildroot}%{_sysconfdir}/squeezeboxserver # remove unwanted (perl) modules rm -rf Bin/armhf-linux* rm -f slimservice.pl smem.pl # cp -af *.pl Bin Graphics HTML IR MySQL SQL CPAN *.dat lib strings.txt modules.conf %{buildroot}%{_datarootdir}/squeezeboxserver/ cp -af * %{buildroot}%{_datarootdir}/squeezeboxserver/ cp -af Slim %{buildroot}/%{_datarootdir}/squeezeboxserver/ cp -af Firmware %{buildroot}/%{_datarootdir}/squeezeboxserver/ touch %{buildroot}%{_localstatedir}/log/squeezeboxserver/perfmon.log touch %{buildroot}%{_localstatedir}/log/squeezeboxserver/scanner.log touch %{buildroot}%{_localstatedir}/log/squeezeboxserver/server.log touch %{buildroot}%{_localstatedir}/lib/squeezeboxserver/cache/artwork.db #install -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/squeezeboxserver.service ln -sf service %{buildroot}/%{_sbindir}/rcsqueezeboxserver cp -avf %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/squeezeboxserver ## cp -avf %%{SOURCE3} %%{buildroot}%%{_var}/adm/fillup-templates/sysconfig.squeezeboxserver #cp -avf %{SOURCE3} %{buildroot}%{_fillupdir}/sysconfig.squeezeboxserver cp -avf %{SOURCE4} %{buildroot}%{_sbindir}/squeezeboxserver cp -avf %{SOURCE5} %{buildroot}%{_sbindir}/squeezeboxserver-scanner cp -avf %{SOURCE6} %{buildroot}%{_sbindir}/squeezeboxserver-cleanup cp -avf %{SOURCE7} %{buildroot}%{_sysconfdir}/squeezeboxserver/prefs/server.prefs cp -avf %{SOURCE8} %{buildroot}%{_sysconfdir}/squeezeboxserver/prefs/plugin/state.prefs cp -avf %{SOURCE9} %{buildroot}/%{_datarootdir}/squeezeboxserver/ cp -avf %{SOURCE10} %{buildroot}/%{_bindir}/ %clean rm -rf %{buildroot} #%pre #getent group sbsrv >/dev/null || groupadd -r sbsrv #getent passwd sbsrv >/dev/null || useradd -r -g sbsrv -d /usr/share/squeezeboxserver -s /sbin/nologin -c "Logitech Media Server" sbsrv #exit 0 #%service_add_pre squeezeboxserver.service #%post #%{fillup_only -n squeezeboxserver} #%service_add_post squeezeboxserver.service #/usr/bin/systemctl enable squeezeboxserver.service ##/usr/bin/systemctl start squeezeboxserver.service %files %defattr(-,root,root,-) %attr(0755,sbsrv,root) %{_sysconfdir}/squeezeboxserver %attr(0755,sbsrv,root) %{_sysconfdir}/squeezeboxserver/prefs %attr(0755,sbsrv,root) %{_sysconfdir}/squeezeboxserver/prefs/plugin %config(noreplace) %attr(0644,sbsrv,root) %{_sysconfdir}/squeezeboxserver/prefs/server.prefs %config(noreplace) %attr(0644,sbsrv,root) %{_sysconfdir}/squeezeboxserver/prefs/plugin/state.prefs ## %%config(noreplace) %%{_var}/adm/fillup-templates/sysconfig.squeezeboxserver #%config(noreplace) %{_fillupdir}/sysconfig.squeezeboxserver #%{_unitdir}/squeezeboxserver.service %{_sbindir}/rcsqueezeboxserver %attr(0755,sbsrv,root) %{_bindir}/squeezeclient.pl %{_sysconfdir}/logrotate.d/ %attr(0755,root,root) %{_sbindir}/squeezeboxserver %attr(0755,root,root) %{_sbindir}/squeezeboxserver-scanner %attr(0755,root,root) %{_sbindir}/squeezeboxserver-cleanup %attr(0755,root,root) %{_datarootdir}/squeezeboxserver/*.pl %attr(0755,root,root) %{_datarootdir}/squeezeboxserver/fixperms.sh %attr(0755,root,root) %{_datarootdir}/squeezeboxserver %attr(0755,sbsrv,root) %{_localstatedir}/lib/squeezeboxserver/cache %attr(0755,sbsrv,root) %{_localstatedir}/lib/squeezeboxserver/cache/artwork.db %attr(0755,sbsrv,root) %{_localstatedir}/lib/squeezeboxserver/ %attr(0755,sbsrv,root) %{_localstatedir}/log/squeezeboxserver %attr(0644,sbsrv,root) %{_localstatedir}/log/squeezeboxserver/*.log %{_defaultdocdir}/%{name}-%{version} %changelog