]>
Commit | Line | Data |
---|---|---|
1d56511d ER |
1 | # TODO |
2 | # - merge dstreamserv.spec | |
5557df52 ER |
3 | %include /usr/lib/rpm/macros.perl |
4 | ||
2d53a2fb ER |
5 | Summary: Darwin Streaming Server |
6 | Name: dss | |
7 | Version: 6.0.3 | |
cdc01e0b | 8 | Release: 0.15 |
2d53a2fb | 9 | License: Apple Public Source License |
44d6eb04 | 10 | Group: Networking/Daemons |
2d53a2fb ER |
11 | Source0: http://dss.macosforge.org/downloads/DarwinStreamingSrvr%{version}-Source.tar |
12 | # Source0-md5: ca676691db8417d05121699c0ca3d549 | |
4304f4a7 | 13 | Source1: %{name}.init |
4beb8734 ER |
14 | Source2: %{name}-admin.init |
15 | Source3: README.utils | |
720b962c ER |
16 | Patch0: %{name}.patch |
17 | Patch1: %{name}-x86_64.patch | |
c08547c4 ER |
18 | Patch2: optflags.patch |
19 | Patch3: compile.patch | |
2d53a2fb | 20 | URL: http://dss.macosforge.org/ |
b78d428a | 21 | BuildRequires: libstdc++-devel |
5557df52 | 22 | BuildRequires: rpm-perlprov >= 4.1-13 |
1a100897 ER |
23 | BuildRequires: rpmbuild(macros) >= 1.228 |
24 | Requires(post,preun): /sbin/chkconfig | |
1d56511d ER |
25 | Requires(postun): /usr/sbin/groupdel |
26 | Requires(postun): /usr/sbin/userdel | |
27 | Requires(pre): /bin/id | |
28 | Requires(pre): /usr/bin/getgid | |
29 | Requires(pre): /usr/sbin/groupadd | |
30 | Requires(pre): /usr/sbin/useradd | |
1a100897 | 31 | Requires: rc-scripts |
1d56511d ER |
32 | Provides: group(qtss) |
33 | Provides: user(qtss) | |
44d6eb04 ER |
34 | Obsoletes: DSS |
35 | Obsoletes: dstreamserv | |
36 | Obsoletes: dstreamsrv | |
2d53a2fb ER |
37 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
38 | ||
39 | %description | |
40 | Darwin Streaming Server lets you stream digital video on the Internet | |
41 | using industry-standard Internet protocols RTP and RTSP. | |
42 | ||
43 | Using Darwin Streaming Server you can serve stored files (video on | |
44 | demand) or reflect live broadcasts to thousands of QuickTime 4 or | |
45 | later users. With its combination of industry-standard streaming | |
46 | protocols and cutting-edge compression technologies, QuickTime | |
47 | delivers perfectly synchronized audio and video streams ideal for | |
48 | Internet video and live events. | |
49 | ||
44d6eb04 ER |
50 | %description -l pl.UTF-8 |
51 | Serwer strumieni pozwala wysyłać strumienie danych QuickTime do | |
52 | klientów w Internecie przy użyciu protokołów RTP i RTSP. | |
53 | ||
2d53a2fb ER |
54 | %package Proxy |
55 | Summary: Apple's Darwin Streaming Proxy | |
56 | Group: Daemons | |
b0573af5 | 57 | Requires: %{name} = %{version}-%{release} |
2d53a2fb ER |
58 | |
59 | %description Proxy | |
60 | The Darwin Streaming Proxy is an application specific proxy which | |
61 | would normally be run in a border zone or perimeter network. It is | |
62 | used to give client machines within a protected network access to | |
63 | streaming servers outside that network, in the case when the firewall | |
64 | blocks RTSP connections or RTP/UDP data flow. The firewall perimeter | |
65 | network is usually configured to allow: | |
66 | ||
67 | - RTSP connections from within the network, as long as the destination | |
68 | is the proxy | |
69 | ||
70 | - RTSP connections to outside the network, as long as the source is | |
71 | the proxy | |
72 | ||
73 | - RTP datagrams to and from the proxy to the inner network | |
74 | ||
75 | - RTP datagrams to and from the proxy to the outside | |
76 | ||
4304f4a7 | 77 | %package utils |
2d53a2fb | 78 | Summary: Apple's Darwin Streaming Server Movie inspection utilities |
44d6eb04 | 79 | Group: Applications |
b0573af5 | 80 | Requires: %{name} = %{version}-%{release} |
2d53a2fb | 81 | |
4304f4a7 ER |
82 | %description utils |
83 | Apple's Darwin Streaming Server Movie inspection utilities. | |
2d53a2fb | 84 | |
1d56511d ER |
85 | %package samples |
86 | Summary: Darwin Streaming Server - samples | |
87 | Summary(pl.UTF-8): Przykłady do Darwin Streaming Servera | |
88 | Group: Networking/Daemons | |
b0573af5 | 89 | Requires: %{name} = %{version}-%{release} |
44d6eb04 | 90 | Obsoletes: dstreamserv-samples |
1d56511d ER |
91 | |
92 | %description samples | |
93 | Sample files for Streaming Server. | |
2d53a2fb | 94 | |
1d56511d ER |
95 | %description samples -l pl.UTF-8 |
96 | Przykładowe pliki do Darwin Streaming Servera. | |
2d53a2fb ER |
97 | |
98 | %prep | |
99 | %setup -q -n DarwinStreamingSrvr%{version}-Source | |
720b962c ER |
100 | %patch0 -p1 |
101 | %patch1 -p1 | |
c08547c4 ER |
102 | %patch2 -p1 |
103 | %patch3 -p1 | |
4beb8734 | 104 | cp -p %{SOURCE3} . |
2d53a2fb ER |
105 | |
106 | # patch streamingadminserver.pl | |
7922b313 | 107 | %{__sed} -i.bak -e ' |
4304f4a7 | 108 | s|/''usr/local/movies|/var/lib/%{name}/movies|g |
7922b313 ER |
109 | s|/''usr/local/sbin/StreamingServerModules|%{_libdir}/%{name}/|g |
110 | s|/''usr/local/|%{_prefix}/|g | |
1a100897 | 111 | s|/''etc/streaming|%{_sysconfdir}/%{name}|g |
44d6eb04 | 112 | s|/var/streaming/AdminHtml|%{_datadir}/%{name}/AdminHtml|g |
4304f4a7 ER |
113 | s|/var/streaming/logs|/var/log/%{name}|g |
114 | s|/var/streaming/|/var/lib/%{name}/|g | |
97f6a05e ER |
115 | s|<PREF NAME="run_user_name"></PREF>|<PREF NAME="run_user_name">qtss</PREF>| |
116 | s|<PREF NAME="run_group_name"></PREF>|<PREF NAME="run_group_name">qtss</PREF>| | |
7922b313 ER |
117 | ' DSS_MakeRoot streamingserver.xml-POSIX \ |
118 | WebAdmin/src/streamingadminserver.pl \ | |
119 | WebAdmin/WebAdminHtml/adminprotocol-lib.pl | |
2d53a2fb ER |
120 | |
121 | # patch manpages | |
7922b313 ER |
122 | %{__sed} -i -e ' |
123 | s|/Library/QuickTimeStreaming/Config/|%{_sysconfdir}/%{name}/|g | |
124 | s|/Library/QuickTimeStreaming/Modules|%{_libdir}/%{name}|g | |
4304f4a7 ER |
125 | s|/Library/QuickTimeStreaming/Movies|/var/lib/%{name}/movies|g |
126 | s|/Library/QuickTimeStreaming/Playlists|/var/lib/%{name}/playlists|g | |
127 | s|/Library/QuickTimeStreaming/Logs|/var/log/%{name}|g | |
7922b313 ER |
128 | s|/Library/QuickTimeStreaming/Docs|%{_docdir}/%{name}-%{version}|g |
129 | s|QuickTimeStreamingServer|DarwinStreamingServer|g | |
130 | ' Documentation/man/qtss/* | |
131 | ||
132 | cat > defaultPaths.h << 'EOF' | |
2d53a2fb | 133 | #define DEFAULTPATHS_DIRECTORY_SEPARATOR "/" |
4304f4a7 | 134 | #define DEFAULTPATHS_ROOT_DIR "/var/lib/%{name}/" |
7922b313 | 135 | #define DEFAULTPATHS_ETC_DIR "%{_sysconfdir}/%{name}/" |
2d53a2fb | 136 | #define DEFAULTPATHS_ETC_DIR_OLD "%{_sysconfdir}/" |
7922b313 | 137 | #define DEFAULTPATHS_SSM_DIR "%{_libdir}/%{name}/" |
4304f4a7 ER |
138 | #define DEFAULTPATHS_LOG_DIR "/var/log/%{name}/" |
139 | #define DEFAULTPATHS_PID_DIR "/var/run/" | |
140 | #define DEFAULTPATHS_MOVIES_DIR "/var/lib/%{name}/movies/" | |
2d53a2fb ER |
141 | EOF |
142 | ||
143 | %build | |
144 | export RPM_OPT_FLAGS="%{rpmcflags}" | |
145 | export ARCH="%{_target_cpu}" | |
146 | export CC="%{__cc}" | |
147 | export CXX="%{__cxx}" | |
148 | ||
149 | jobs=$(echo %{_smp_mflags} | cut -dj -f2) | |
150 | ./Buildit ${jobs:+--jobs=$jobs} | |
151 | ||
152 | %install | |
153 | rm -rf $RPM_BUILD_ROOT | |
4304f4a7 | 154 | install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,/var/lib/%{name},%{_mandir}/man{1,8}} |
2d53a2fb ER |
155 | ./DSS_MakeRoot \ |
156 | $RPM_BUILD_ROOT | |
157 | ||
1a100897 | 158 | install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name} |
4beb8734 | 159 | install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}-admin |
1a100897 | 160 | |
50605db0 ER |
161 | # avoid extension |
162 | mv $RPM_BUILD_ROOT%{_sbindir}/streamingadminserver{.pl,} | |
163 | ||
4304f4a7 ER |
164 | # utils |
165 | install -p QTFileTools/QTBroadcaster.tproj/QTBroadcaster $RPM_BUILD_ROOT%{_bindir} | |
166 | install -p QTFileTools/QTFileInfo.tproj/QTFileInfo $RPM_BUILD_ROOT%{_bindir} | |
167 | install -p QTFileTools/QTFileTest.tproj/QTFileTest $RPM_BUILD_ROOT%{_bindir} | |
168 | install -p QTFileTools/QTRTPFileTest.tproj/QTRTPFileTest $RPM_BUILD_ROOT%{_bindir} | |
169 | install -p QTFileTools/QTRTPGen.tproj/QTRTPGen $RPM_BUILD_ROOT%{_bindir} | |
170 | install -p QTFileTools/QTSampleLister.tproj/QTSampleLister $RPM_BUILD_ROOT%{_bindir} | |
171 | install -p QTFileTools/QTSDPGen.tproj/QTSDPGen $RPM_BUILD_ROOT%{_bindir} | |
172 | install -p QTFileTools/QTTrackInfo.tproj/QTTrackInfo $RPM_BUILD_ROOT%{_bindir} | |
173 | ||
174 | # modules | |
175 | install -p APIModules/QTSSRawFileModule.bproj/QTSSRawFileModule $RPM_BUILD_ROOT%{_libdir}/%{name} | |
176 | ||
177 | # config | |
178 | cp -a qtaccess $RPM_BUILD_ROOT%{_sysconfdir}/%{name} | |
179 | ||
7922b313 ER |
180 | # Create our default admin user and remove Apple's |
181 | # Default login is root/pld -- please change it! | |
182 | qtpasswd="\ | |
183 | $RPM_BUILD_ROOT%{_bindir}/qtpasswd \ | |
184 | -f $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/qtusers | |
185 | -g $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/qtgroups" | |
186 | $qtpasswd root -p pld -A admin | |
187 | $qtpasswd -F -d 'aGFja21l' | |
188 | ||
189 | mv $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/relayconfig.xml{-Sample,} | |
190 | rm $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/streamingserver.xml-sample | |
191 | ||
4304f4a7 ER |
192 | # streamingadminserver |
193 | cp -a WebAdmin/streamingadminserver.pem $RPM_BUILD_ROOT%{_sysconfdir}/%{name} | |
194 | ||
195 | # doc | |
196 | cp -a Documentation/*.1 $RPM_BUILD_ROOT%{_mandir}/man1 | |
197 | cp -a Documentation/man/qtss/*.1 $RPM_BUILD_ROOT%{_mandir}/man1 | |
198 | cp -a Documentation/man/qtss/createuserstreamingdir.8 $RPM_BUILD_ROOT%{_mandir}/man8 | |
199 | cp -a Documentation/man/qtss/QuickTimeStreamingServer.8 $RPM_BUILD_ROOT%{_mandir}/man8/DarwinStreamingServer.8 | |
50605db0 | 200 | cp -a Documentation/man/qtss/streamingadminserver.pl.8 $RPM_BUILD_ROOT%{_mandir}/man8/streamingadminserver.8 |
7922b313 ER |
201 | rm $RPM_BUILD_ROOT/var/lib/%{name}/3rdPartyAcknowledgements.rtf |
202 | rm $RPM_BUILD_ROOT/var/lib/%{name}/readme.txt | |
203 | ||
4304f4a7 ER |
204 | # provide ghost logs... |
205 | touch $RPM_BUILD_ROOT/var/log/%{name}/Error.log | |
206 | touch $RPM_BUILD_ROOT/var/log/%{name}/StreamingServer.log | |
207 | touch $RPM_BUILD_ROOT/var/log/%{name}/mp3_access.log | |
208 | touch $RPM_BUILD_ROOT/var/log/%{name}/server_status | |
70a0fe0c | 209 | touch $RPM_BUILD_ROOT/var/log/%{name}/streamingadminserver.log |
4304f4a7 | 210 | |
2d53a2fb ER |
211 | %clean |
212 | rm -rf $RPM_BUILD_ROOT | |
213 | ||
1d56511d ER |
214 | %pre |
215 | %groupadd -f -g 148 qtss | |
216 | %useradd -g qtss -d /tmp -u 148 -s /bin/false qtss | |
217 | ||
1a100897 | 218 | %post |
cdc01e0b ER |
219 | for a in StreamingServer.log mp3_access.log server_status streamingadminserver.log; do |
220 | log=/var/log/%{name}/$a | |
70a0fe0c | 221 | if [ ! -f $log ]; then |
cdc01e0b | 222 | install -o root -g qtss -m 0660 /dev/null $log |
70a0fe0c | 223 | fi |
cdc01e0b | 224 | done |
1a100897 | 225 | /sbin/chkconfig --add %{name} |
4beb8734 | 226 | /sbin/chkconfig --add %{name}-admin |
1a100897 | 227 | %service %{name} restart |
4beb8734 | 228 | %service %{name}-admin restart |
1a100897 | 229 | |
4304f4a7 ER |
230 | if [ "$1" = "1" ]; then |
231 | %banner %{name} -e <<-EOF | |
232 | Default admin username/password is root/pld. Set a password for it or, better | |
233 | delete it and create new admin username and password (using qtpasswd) | |
234 | ||
5557df52 ER |
235 | Access admin interface at: |
236 | http://localhost:1220/ | |
4304f4a7 ER |
237 | EOF |
238 | fi | |
239 | ||
1a100897 ER |
240 | %preun |
241 | if [ "$1" = "0" ]; then | |
242 | %service -q %{name} stop | |
4beb8734 | 243 | %service -q %{name}-admin stop |
1a100897 | 244 | /sbin/chkconfig --del %{name} |
4beb8734 | 245 | /sbin/chkconfig --del %{name}-admin |
1a100897 ER |
246 | fi |
247 | ||
1d56511d ER |
248 | %postun |
249 | if [ "$1" = "0" ]; then | |
250 | %userremove qtss | |
251 | %groupremove qtss | |
252 | fi | |
253 | ||
2d53a2fb ER |
254 | %files |
255 | %defattr(644,root,root,755) | |
256 | %doc APPLE_LICENSE ReleaseNotes.txt | |
7922b313 ER |
257 | %doc Documentation/3rdPartyAcknowledgements.rtf |
258 | %doc Documentation/AboutQTFileTools.html | |
259 | %doc Documentation/AboutTheSource.html | |
260 | %doc Documentation/admin-protocol-README.txt | |
261 | %doc Documentation/CachingProxyProtocol-README.txt | |
262 | %doc Documentation/DevNotes.html | |
263 | %doc Documentation/draft-serenyi-avt-rtp-meta-00.txt | |
264 | %doc Documentation/DSS_QT_Logo_License.pdf | |
265 | %doc Documentation/License.rtf | |
266 | %doc Documentation/QTSSAPIDocs.pdf | |
267 | %doc Documentation/ReadMe.rtf | |
268 | %doc Documentation/readme.txt | |
269 | %doc Documentation/ReliableRTP_WhitePaper.rtf | |
270 | %doc Documentation/RTSP_Over_HTTP.pdf | |
271 | ||
272 | %dir %{_sysconfdir}/%{name} | |
273 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/qtgroups | |
274 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/qtusers | |
275 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/relayconfig.xml | |
276 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/streamingloadtool.conf | |
277 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/streamingserver.xml | |
4304f4a7 ER |
278 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/qtaccess |
279 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/streamingadminserver.pem | |
7922b313 | 280 | |
1a100897 | 281 | %attr(754,root,root) /etc/rc.d/init.d/dss |
4beb8734 | 282 | %attr(754,root,root) /etc/rc.d/init.d/dss-admin |
7922b313 ER |
283 | %attr(755,root,root) %{_bindir}/MP3Broadcaster |
284 | %attr(755,root,root) %{_bindir}/PlaylistBroadcaster | |
285 | %attr(755,root,root) %{_bindir}/StreamingLoadTool | |
286 | %attr(755,root,root) %{_bindir}/createuserstreamingdir | |
287 | %attr(755,root,root) %{_bindir}/qtpasswd | |
288 | ||
289 | %attr(755,root,root) %{_sbindir}/DarwinStreamingServer | |
50605db0 | 290 | %attr(755,root,root) %{_sbindir}/streamingadminserver |
7922b313 | 291 | |
4304f4a7 ER |
292 | %{_mandir}/man1/* |
293 | %{_mandir}/man8/* | |
294 | ||
7922b313 ER |
295 | %dir %{_libdir}/%{name} |
296 | %attr(755,root,root) %{_libdir}/%{name}/QTSSHomeDirectoryModule | |
297 | %attr(755,root,root) %{_libdir}/%{name}/QTSSRefMovieModule | |
298 | ||
4304f4a7 ER |
299 | %attr(755,root,root) %{_libdir}/dss/QTSSRawFileModule |
300 | ||
7922b313 | 301 | %dir /var/lib/%{name} |
1d56511d | 302 | %dir /var/lib/%{name}/movies |
7922b313 | 303 | |
4304f4a7 ER |
304 | %dir /var/log/%{name} |
305 | %attr(644,qtss,qtss) %verify(not md5 mtime size) %ghost /var/log/%{name}/Error.log | |
306 | %attr(644,qtss,qtss) %verify(not md5 mtime size) %ghost /var/log/%{name}/StreamingServer.log | |
307 | %attr(644,qtss,qtss) %verify(not md5 mtime size) %ghost /var/log/%{name}/mp3_access.log | |
308 | %attr(644,qtss,qtss) %verify(not md5 mtime size) %ghost /var/log/%{name}/server_status | |
70a0fe0c | 309 | %attr(644,qtss,qtss) %verify(not md5 mtime size) %ghost /var/log/%{name}/streamingadminserver.log |
4304f4a7 | 310 | |
44d6eb04 ER |
311 | # admin server (subpackage?) |
312 | %dir %{_datadir}/%{name} | |
313 | %dir %{_datadir}/%{name}/AdminHtml | |
314 | %{_datadir}/%{name}/AdminHtml/html_en | |
315 | %{_datadir}/%{name}/AdminHtml/images | |
316 | %{_datadir}/%{name}/AdminHtml/includes | |
317 | %{_datadir}/%{name}/AdminHtml/*.html | |
318 | %{_datadir}/%{name}/AdminHtml/*.pl | |
319 | %attr(755,root,root) %{_datadir}/%{name}/AdminHtml/*.cgi | |
1d56511d | 320 | |
4304f4a7 ER |
321 | %files utils |
322 | %defattr(644,root,root,755) | |
323 | %doc README.utils | |
324 | %attr(755,root,root) %{_bindir}/QTBroadcaster | |
325 | %attr(755,root,root) %{_bindir}/QTFileInfo | |
326 | %attr(755,root,root) %{_bindir}/QTFileTest | |
327 | %attr(755,root,root) %{_bindir}/QTRTPFileTest | |
328 | %attr(755,root,root) %{_bindir}/QTRTPGen | |
329 | %attr(755,root,root) %{_bindir}/QTSDPGen | |
330 | %attr(755,root,root) %{_bindir}/QTSampleLister | |
331 | %attr(755,root,root) %{_bindir}/QTTrackInfo | |
332 | ||
1d56511d ER |
333 | %files samples |
334 | %defattr(644,root,root,755) | |
335 | /var/lib/%{name}/movies/* |