1 |
%define subrel 1 |
2 |
|
3 |
Name: icecast |
4 |
Version: 2.3.2 |
5 |
Release: %mkrel 7 |
6 |
Summary: Streaming Media Server |
7 |
Epoch: 2 |
8 |
Group: System/Servers |
9 |
License: GPL |
10 |
URL: http://www.icecast.org |
11 |
Source0: http://downloads.us.xiph.org/releases/icecast/%{name}-%{version}.tar.gz |
12 |
Source1: %{name}.init |
13 |
Source2: %{name}.logrotate |
14 |
Source3: %{name}-tmpfiles.conf |
15 |
Patch0: %{name}.conf.patch |
16 |
Patch1: icecast-2.3.2-CVE-2011-4612.diff |
17 |
Patch2: icecast-2.3.3-changeset_19307.patch |
18 |
Patch3: icecast-2.3.3-changeset_19308.patch |
19 |
Requires(post): systemd >= %{systemd_required_version} |
20 |
Requires(pre): rpm-helper |
21 |
Requires(post): rpm-helper |
22 |
Requires(postun): rpm-helper |
23 |
Requires(preun): rpm-helper |
24 |
BuildRequires: libxslt-devel |
25 |
BuildRequires: libcurl-devel |
26 |
BuildRequires: libvorbis-devel |
27 |
BuildRequires: libogg-devel |
28 |
BuildRequires: libtheora-devel |
29 |
BuildRequires: speex-devel |
30 |
|
31 |
%description |
32 |
Icecast is an Internet based broadcasting system based on the Mpeg Layer III |
33 |
streaming technology. It was originally inspired by Nullsoft's Shoutcast |
34 |
and also mp3serv by Scott Manley. The icecast project was started for several |
35 |
reasons: a) all broadcasting systems were pretty much closed source, |
36 |
non-free software implementations, b) Shoutcast doesn't allow you to run your |
37 |
own directory servers, or support them, and c) we thought it would be a |
38 |
lot of fun. |
39 |
|
40 |
%prep |
41 |
%setup -q |
42 |
%patch0 -p0 -b .orig |
43 |
%patch1 -p1 -b .CVE-2011-4612 |
44 |
%patch2 -p1 -b .CVE-2014-9018a |
45 |
%patch3 -p1 -b .CVE-2014-9018b |
46 |
|
47 |
%build |
48 |
%configure2_5x |
49 |
%make |
50 |
|
51 |
%install |
52 |
rm -rf %{buildroot} |
53 |
%makeinstall_std |
54 |
|
55 |
%{__install} -d -m 755 %{buildroot}%{_var}/log/%{name} |
56 |
%{__install} -d -m 755 %{buildroot}%{_datadir}/%{name} |
57 |
|
58 |
# remove installed documentation |
59 |
rm -rf %{buildroot}%{_datadir}/doc/%{name} |
60 |
|
61 |
%{__install} -d -m 755 %{buildroot}%{_initrddir} |
62 |
%{__install} -m 755 %{SOURCE1} %{buildroot}%{_initrddir}/%{name} |
63 |
|
64 |
# logrotate |
65 |
%{__install} -d %{buildroot}%{_sysconfdir}/logrotate.d/ |
66 |
%{__install} -m644 %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/%{name} |
67 |
|
68 |
# to hold pid file ( need to be writable by icecast ) |
69 |
%{__install} -D -p -m 0644 %{SOURCE3} %{buildroot}%{_tmpfilesdir}/%{name}.conf |
70 |
|
71 |
%clean |
72 |
rm -rf %{buildroot} |
73 |
|
74 |
%pre |
75 |
%_pre_useradd %{name} %{_datadir}/%{name} /bin/false |
76 |
|
77 |
%post |
78 |
%_tmpfilescreate %{name} |
79 |
%_post_service %{name} |
80 |
|
81 |
%preun |
82 |
%_preun_service %{name} |
83 |
|
84 |
%postun |
85 |
%_postun_userdel %{name} |
86 |
|
87 |
%files |
88 |
%doc AUTHORS COPYING HACKING README TODO |
89 |
%{_bindir}/%{name} |
90 |
%{_datadir}/%{name} |
91 |
%attr(-,icecast,icecast) %{_var}/log/%{name} |
92 |
%{_tmpfilesdir}/%{name}.conf |
93 |
%config(noreplace) %{_sysconfdir}/%{name}.xml |
94 |
%{_initrddir}/%{name} |
95 |
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name} |