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