Björn Esser 87eaeda
# This package builds a daemon-application,
Björn Esser 87eaeda
# thus we build with fully hardening.
Björn Esser 9cf706e
%global _hardened_build 1
Björn Esser 9cf706e
Björn Esser 87eaeda
# Systemd or SysV?
Björn Esser 87eaeda
%if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
Björn Esser 87eaeda
%global with_systemd 1
Björn Esser 87eaeda
%endif # 0%{?fedora} >= 18 || 0%{?rhel} >= 7
Björn Esser 87eaeda
Björn Esser 87eaeda
# Setup _pkgdocdir if not defined already.
Björn Esser 87eaeda
%{!?_pkgdocdir:%global _pkgdocdir	%{_docdir}/%{name}-%{version}}
Björn Esser 87eaeda
Björn Esser 87eaeda
Name:			icecast
Björn Esser c847435
Version:		2.4.2
Björn Esser c847435
Release:		1%{?dist}
Björn Esser 87eaeda
Summary:		ShoutCast compatible streaming media server
Björn Esser 87eaeda
%{?el5:Group:		Applications/Multimedia}
Björn Esser 87eaeda
Björn Esser 87eaeda
License:		GPLv2+
Björn Esser 87eaeda
URL:			http://www.%{name}.org/
Björn Esser 87eaeda
Source0:		http://downloads.xiph.org/releases/%{name}/%{name}-%{version}.tar.gz
Björn Esser 87eaeda
Source1:		%{name}.init
Björn Esser 87eaeda
Source2:		%{name}.logrotate
Björn Esser 87eaeda
Source3:		%{name}.service
Björn Esser 87eaeda
Source4:		%{name}.xml
Björn Esser 87eaeda
Source5:		status3.xsl
Björn Esser 87eaeda
Björn Esser 87eaeda
%{?el5:BuildRoot:	%(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)}
Björn Esser 87eaeda
BuildRequires:		automake
Björn Esser 87eaeda
BuildRequires:		curl-devel >= 7.10.0
Björn Esser 87eaeda
BuildRequires:		libogg-devel >= 1.0
Björn Esser 87eaeda
BuildRequires:		libtheora-devel >= 1.0
Björn Esser 87eaeda
BuildRequires:		libvorbis-devel >= 1.0
Björn Esser 87eaeda
BuildRequires:		libxml2-devel
Björn Esser 87eaeda
BuildRequires:		libxslt-devel
Björn Esser 87eaeda
BuildRequires:		openssl-devel
Björn Esser 87eaeda
BuildRequires:		speex-devel
Björn Esser 87eaeda
Björn Esser 87eaeda
Requires(pre):		/usr/sbin/useradd
Björn Esser 87eaeda
Requires(postun):	/usr/sbin/userdel
Björn Esser 87eaeda
Björn Esser 87eaeda
%if 0%{?with_systemd}
Björn Esser 87eaeda
BuildRequires:		systemd-units
Björn Esser 87eaeda
Björn Esser 87eaeda
Requires(post):		systemd-sysv
Björn Esser 87eaeda
Requires(post):		systemd-units
Björn Esser 87eaeda
Requires(preun):	systemd-units
Björn Esser 87eaeda
Requires(postun):	systemd-units
Björn Esser 87eaeda
%else # 0%{?with_systemd}
Björn Esser 87eaeda
Requires(post):		/sbin/chkconfig
Björn Esser 87eaeda
Requires(preun):	/sbin/chkconfig
Björn Esser 87eaeda
Requires(preun):	/sbin/service
Björn Esser 87eaeda
Requires(postun):	/sbin/service
Björn Esser 87eaeda
%endif # 0%{?with_systemd}
Björn Esser 87eaeda
Björn Esser 87eaeda
Provides:		streaming-server
5252054
5252054
%description
Björn Esser 87eaeda
Icecast is a streaming media server which currently supports
Björn Esser 87eaeda
Ogg Vorbis and MP3 audio streams.  It can be used to create an
Björn Esser 87eaeda
Internet radio station or a privately running jukebox and many
Björn Esser 87eaeda
things in between.  It is very versatile in that new formats
Björn Esser 87eaeda
can be added relatively easily and supports open standards for
Björn Esser 87eaeda
communication and interaction.
Björn Esser 87eaeda
Björn Esser 87eaeda
Björn Esser 87eaeda
%package doc
Björn Esser 87eaeda
Summary:		Documentation files for %{name}
Björn Esser 87eaeda
%{?el5:Group:		Documentation}
Björn Esser 87eaeda
%{!?el5:BuildArch:	noarch}
Björn Esser 87eaeda
Björn Esser 87eaeda
%description doc
Björn Esser 87eaeda
This package contains the documentation files for %{name}.
5252054
5252054
5252054
%prep
5252054
%setup -q
Björn Esser 87eaeda
find doc/ -type f | xargs chmod 0644
Björn Esser 87eaeda
%{__cp} -a doc/ html/
Björn Esser 87eaeda
find html/ -name 'Makefile*' | xargs %{__rm} -f
5252054
5252054
5252054
%build
Björn Esser 87eaeda
%configure		\
Björn Esser 87eaeda
	--with-curl	\
Björn Esser 87eaeda
	--with-openssl	\
Björn Esser 87eaeda
	--with-ogg	\
Björn Esser 87eaeda
	--with-theora	\
2a7e70b
	--with-speex
5252054
%{__make} %{?_smp_mflags}
5252054
5252054
5252054
%install
Björn Esser 87eaeda
%{?el5:%{__rm} -rf %{buildroot}}
Björn Esser 87eaeda
%{__make} install DESTDIR=%{buildroot}
Björn Esser 87eaeda
%{__rm} -rf %{buildroot}%{_datadir}/%{name}/doc
Björn Esser 87eaeda
%{__rm} -rf %{buildroot}%{_docdir}/%{name}
Björn Esser 87eaeda
%if 0%{?with_systemd}
Björn Esser 87eaeda
%{__install} -D -m 0644 %{SOURCE3} %{buildroot}%{_unitdir}/%{name}.service
Björn Esser 87eaeda
%else # 0%{?with_systemd}
Björn Esser 87eaeda
%{__install} -D -m 0755 %{SOURCE1} %{buildroot}%{_initrddir}/%{name}
Björn Esser 87eaeda
%endif # 0%{?with_systemd}
Björn Esser 87eaeda
%{__install} -D -m 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
Björn Esser 87eaeda
%{__install} -D -m 0640 %{SOURCE4} %{buildroot}%{_sysconfdir}/%{name}.xml
Björn Esser 87eaeda
%{__install} -D -m 0644 %{SOURCE5} %{buildroot}%{_datadir}/%{name}/web/status3.xsl
Björn Esser 87eaeda
%{__mkdir} -p %{buildroot}%{_localstatedir}/log/%{name}	\
Björn Esser 87eaeda
	%{buildroot}%{_localstatedir}/run/%{name}	\
Björn Esser 87eaeda
	%{buildroot}%{_pkgdocdir}/{conf,examples}
Björn Esser 87eaeda
%{__cp} -a html/ AUTHORS ChangeLog COPYING NEWS TODO %{buildroot}%{_pkgdocdir}
Björn Esser c847435
%if 0%{?fedora} >= 22 || 0%{?rhel} >= 8
Björn Esser c847435
%{__rm} -f %{buildroot}%{_pkgdocdir}/COPYING
Björn Esser c847435
%endif # 0%{?fedora} >= 22 || 0%{?rhel} >= 8
Björn Esser 87eaeda
%{__cp} -a conf/*.dist %{buildroot}%{_pkgdocdir}/conf
Björn Esser 87eaeda
%{__cp} -a examples/%{name}_auth-1.0.tar.gz %{buildroot}%{_pkgdocdir}/examples
Björn Esser 87eaeda
Björn Esser 87eaeda
Björn Esser 87eaeda
%{?el5:%clean}
Björn Esser 87eaeda
%{?el5:%{__rm} -rf %{buildroot}}
5252054
5252054
5252054
%pre
Björn Esser 87eaeda
/usr/sbin/useradd -M -r -d /usr/share/%{name} -s /sbin/nologin \
Björn Esser 87eaeda
	-c "%{name} streaming server" %{name} > /dev/null 2>&1 || :
5252054
5252054
%post
Björn Esser 87eaeda
%if 0%{?with_systemd}
Björn Esser 87eaeda
%systemd_post %{name}.service
Björn Esser 87eaeda
%else # 0%{?with_systemd}
Björn Esser 87eaeda
/sbin/chkconfig --add %{name}
Björn Esser 87eaeda
%endif # 0%{?with_systemd}
5252054
5252054
%preun
Björn Esser 87eaeda
%if 0%{?with_systemd}
Björn Esser 87eaeda
%systemd_preun %{name}.service
Björn Esser 87eaeda
%else # 0%{?with_systemd}
Björn Esser 87eaeda
if [ $1 = 0 ]; then
Björn Esser 87eaeda
	/sbin/service %{name} stop >/dev/null 2>&1
Björn Esser 87eaeda
	/sbin/chkconfig --del %{name}
Björn Esser 87eaeda
fi
Björn Esser 87eaeda
%endif # 0%{?with_systemd}
5252054
5252054
%postun
Björn Esser 87eaeda
%if 0%{?with_systemd}
Björn Esser 87eaeda
%systemd_postun_with_restart %{name}.service
Björn Esser 87eaeda
%else # 0%{?with_systemd}
Björn Esser 87eaeda
if [ "$1" -ge "1" ]; then
Björn Esser 87eaeda
	/sbin/service %{name} condrestart >/dev/null 2>&1
Björn Esser 87eaeda
fi
Björn Esser 87eaeda
%endif # 0%{?with_systemd}
5252054
if [ $1 = 0 ] ; then
Björn Esser 87eaeda
	/usr/sbin/userdel %{name} >/dev/null 2>&1 || :
5252054
fi
5252054
Björn Esser 87eaeda
%if 0%{?with_systemd}
Björn Esser 87eaeda
%triggerun -- %{name} < 2.3.2-7
bbfdbce
# Save the current service runlevel info
Björn Esser 87eaeda
/usr/bin/systemd-sysv-convert --save %{name} >/dev/null 2>&1 ||:
bbfdbce
# Run these because the SysV package being removed won't do them
Björn Esser 87eaeda
/sbin/chkconfig --del %{name} >/dev/null 2>&1 || :
Björn Esser 87eaeda
/bin/systemctl try-restart %{name}.service >/dev/null 2>&1 || :
Björn Esser 87eaeda
%endif # 0%{?with_systemd}
bbfdbce
bbfdbce
5252054
%files
Björn Esser 87eaeda
%config(noreplace) %attr(-,root,%{name}) %{_sysconfdir}/%{name}.xml
Björn Esser 87eaeda
%dir %attr(-,%{name},%{name}) %{_localstatedir}/log/%{name}
Björn Esser 87eaeda
%doc %dir %{_pkgdocdir}
Björn Esser c847435
%if 0%{?fedora} >= 22 || 0%{?rhel} >= 8
Björn Esser c847435
%license COPYING
Björn Esser c847435
%else  # 0%{?fedora} >= 22 || 0%{?rhel} >= 8
Björn Esser 87eaeda
%doc %{_pkgdocdir}/COPYING
Björn Esser c847435
%endif # 0%{?fedora} >= 22 || 0%{?rhel} >= 8
Björn Esser 87eaeda
%{_bindir}/%{name}
Björn Esser 87eaeda
%{_datadir}/%{name}
Björn Esser 87eaeda
%{_sysconfdir}/logrotate.d/%{name}
Björn Esser 87eaeda
%if 0%{?with_systemd}
Björn Esser 87eaeda
%{_unitdir}/%{name}.service
Björn Esser 87eaeda
%else # 0%{?with_systemd}
Björn Esser 87eaeda
%dir %attr(-,%{name},%{name}) %{_localstatedir}/run/%{name}
Björn Esser 87eaeda
%{_initrddir}/%{name}
Björn Esser 87eaeda
%endif # 0%{?with_systemd}
Björn Esser 87eaeda
Björn Esser 87eaeda
%files doc
Björn Esser c847435
%if 0%{?fedora} >= 22 || 0%{?rhel} >= 8
Björn Esser c847435
%license %{_datadir}/licenses/%{name}
Björn Esser c847435
%endif # 0%{?fedora} >= 22 || 0%{?rhel} >= 8
Björn Esser 87eaeda
%doc %{_pkgdocdir}
Björn Esser 87eaeda
5252054
5252054
%changelog
Björn Esser c847435
* Sat Jun 27 2015 Björn Esser <bjoern.esser@gmail.com> - 2.4.2-1
Björn Esser c847435
- update to 2.4.2 (#1236296)
Björn Esser c847435
- fix CVE-2015-3026 (#1210198, #1210199, #1210200)
Björn Esser c847435
- use %%license on Fedora 22+
Björn Esser c847435
0a76290
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4.1-2
0a76290
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
0a76290
Björn Esser 87eaeda
* Thu Dec 04 2014 Björn Esser <bjoern.esser@gmail.com> - 2.4.1-1
Björn Esser 87eaeda
- update new to release v2.4.1 (#1101950)
Björn Esser 87eaeda
- fix CVE-2014-9091 (#1168146, #1168147, #1168148, #1168149)
Björn Esser 87eaeda
- fix CVE-2014-9018 (#1165880, #1165882, #1165883, #1165885)
Björn Esser 87eaeda
- unified spec-file for el5+ and Fedora
Björn Esser 87eaeda
- some improvements to readability
Björn Esser 87eaeda
- added doc-subpkg
Björn Esser 87eaeda
Björn Esser 9cf706e
* Thu Dec 04 2014 Björn Esser <bjoern.esser@gmail.com> - 2.3.3-6
Björn Esser 9cf706e
- enabled fully hardened build (#954320)
Björn Esser 9cf706e
bca6abe
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.3-5
bca6abe
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
bca6abe
bc3850c
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.3-4
bc3850c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
bc3850c
c0479bb
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.3-3
c0479bb
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
c0479bb
ee0222c
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.3-2
ee0222c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
ee0222c
e6cbfd7
* Sun Oct 14 2012 Andreas Thienemann <andreas@bawue.net> - 2.3.3-1
e6cbfd7
- Upgrade to new upstream release 2.3.3, fixing #831180, #797184, #768176 and #768175.
e6cbfd7
- Add systemd reload macro, fixing #814212.
e6cbfd7
- F18 styled systemd macros, fixing #850153.
e6cbfd7
9f928f1
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.2-8
9f928f1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
9f928f1
5538d68
* Fri Feb 24 2012 Petr Pisar <ppisar@redhat.com> - 2.3.2-7
5538d68
- Remove obsolete buildroot and defattr declarations from spec file
bbfdbce
- Move to systemd (bug #782149)
bc76c5e
- Drop unneeded /var/run/icecast because of non-forking systemd unit
bc76c5e
  (bug #656601)
5538d68
bef1a9d
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.2-6
bef1a9d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
bef1a9d
b4d27c3
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.2-5
e6cbfd7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
b4d27c3
2a7e70b
* Wed Oct 21 2009 Andreas Thienemann <andreas@bawue.net> - 2.3.2-4
2a7e70b
- Added SSL support
2a7e70b
- Added LSB header to the initscripts
2a7e70b
- Reworked config example to contain newest changes
2a7e70b
- Added alternative config files and authentication example
2a7e70b
eb73e87
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.2-3
eb73e87
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
eb73e87
342e511
* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.2-2
342e511
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
342e511
1a3db5a
* Thu Jul 31 2008 Tom "spot" Callaway <tcallawa@redhat.com> 2.3.2-1
1a3db5a
- update to 2.3.2
1a3db5a
- fix license tag
1a3db5a
417eb11
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 2.3.1-5
417eb11
- Autorebuild for GCC 4.3
417eb11
cbcfb80
* Mon Nov 06 2006 Jindrich Novy <jnovy@redhat.com> - 2.3.1-4
cbcfb80
- rebuild because of the new curl
cbcfb80
16ff336
* Fri Sep 08 2006 Andreas Thienemann <andreas@bawue.net> - 2.3.1-3
16ff336
- FE6 Rebuild
16ff336
652d2a2
* Thu May 04 2006 Andreas Thienemann <andreas@bawue.net> 2.3.1-2
652d2a2
- Enabled Theora Streaming
652d2a2
5252054
* Fri Feb 03 2006 Andreas Thienemann <andreas@bawue.net> 2.3.1-1
5252054
- Updated to icecast 2.3.1-1
5252054
5252054
* Wed Aug 03 2005 Andreas Thienemann <andreas@bawue.net> 2.2.0-1
5252054
- Initial specfile