]> git.pld-linux.org Git - packages/dss.git/blob - dss.spec
add gcc43.patch
[packages/dss.git] / dss.spec
1 # TODO
2 # - merge dstreamserv.spec
3
4 Summary:        Darwin Streaming Server
5 Name:           dss
6 Version:        6.0.3
7 Release:        0.15
8 License:        Apple Public Source License
9 Group:          Networking/Daemons
10 Source0:        http://dss.macosforge.org/downloads/DarwinStreamingSrvr%{version}-Source.tar
11 # Source0-md5:  ca676691db8417d05121699c0ca3d549
12 Source1:        %{name}.init
13 Source2:        %{name}-admin.init
14 Source3:        README.utils
15 Patch0:         %{name}.patch
16 Patch1:         %{name}-x86_64.patch
17 Patch2:         optflags.patch
18 Patch3:         compile.patch
19 Patch4:         gcc43.patch
20 URL:            http://dss.macosforge.org/
21 BuildRequires:  libstdc++-devel
22 BuildRequires:  rpm-perlprov >= 4.1-13
23 BuildRequires:  rpmbuild(macros) >= 1.228
24 Requires(post,preun):   /sbin/chkconfig
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
31 Requires:       rc-scripts
32 Provides:       group(qtss)
33 Provides:       user(qtss)
34 Obsoletes:      DSS
35 Obsoletes:      dstreamserv
36 Obsoletes:      dstreamsrv
37 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
38
39 #define         specflags       -Werror -Wno-write-strings
40
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
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
56 %package Proxy
57 Summary:        Apple's Darwin Streaming Proxy
58 Group:          Daemons
59 Requires:       %{name} = %{version}-%{release}
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
79 %package utils
80 Summary:        Apple's Darwin Streaming Server Movie inspection utilities
81 Group:          Applications
82 Requires:       %{name} = %{version}-%{release}
83
84 %description utils
85 Apple's Darwin Streaming Server Movie inspection utilities.
86
87 %package samples
88 Summary:        Darwin Streaming Server - samples
89 Summary(pl.UTF-8):      Przykłady do Darwin Streaming Servera
90 Group:          Networking/Daemons
91 Requires:       %{name} = %{version}-%{release}
92 Obsoletes:      dstreamserv-samples
93
94 %description samples
95 Sample files for Streaming Server.
96
97 %description samples -l pl.UTF-8
98 Przykładowe pliki do Darwin Streaming Servera.
99
100 %prep
101 %setup -q -n DarwinStreamingSrvr%{version}-Source
102 %patch0 -p1
103 %patch1 -p1
104 %patch2 -p1
105 %patch3 -p1
106 #%patch4 -p1
107 cp -p %{SOURCE3} .
108
109 # patch streamingadminserver.pl
110 %{__sed} -i.bak -e  '
111         s|/''usr/local/movies|/var/lib/%{name}/movies|g
112         s|/''usr/local/sbin/StreamingServerModules|%{_libdir}/%{name}/|g
113         s|/''usr/local/|%{_prefix}/|g
114         s|/''etc/streaming|%{_sysconfdir}/%{name}|g
115         s|/var/streaming/AdminHtml|%{_datadir}/%{name}/AdminHtml|g
116         s|/var/streaming/logs|/var/log/%{name}|g
117         s|/var/streaming/|/var/lib/%{name}/|g
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>|
120 '       DSS_MakeRoot streamingserver.xml-POSIX \
121         WebAdmin/src/streamingadminserver.pl \
122         WebAdmin/WebAdminHtml/adminprotocol-lib.pl
123
124 # patch manpages
125 %{__sed} -i -e  '
126         s|/Library/QuickTimeStreaming/Config/|%{_sysconfdir}/%{name}/|g
127         s|/Library/QuickTimeStreaming/Modules|%{_libdir}/%{name}|g
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
131         s|/Library/QuickTimeStreaming/Docs|%{_docdir}/%{name}-%{version}|g
132         s|QuickTimeStreamingServer|DarwinStreamingServer|g
133 ' Documentation/man/qtss/*
134
135 cat > defaultPaths.h << 'EOF'
136 #define DEFAULTPATHS_DIRECTORY_SEPARATOR        "/"
137 #define DEFAULTPATHS_ROOT_DIR                   "/var/lib/%{name}/"
138 #define DEFAULTPATHS_ETC_DIR                    "%{_sysconfdir}/%{name}/"
139 #define DEFAULTPATHS_ETC_DIR_OLD                "%{_sysconfdir}/"
140 #define DEFAULTPATHS_SSM_DIR                    "%{_libdir}/%{name}/"
141 #define DEFAULTPATHS_LOG_DIR                    "/var/log/%{name}/"
142 #define DEFAULTPATHS_PID_DIR                    "/var/run/"
143 #define DEFAULTPATHS_MOVIES_DIR                 "/var/lib/%{name}/movies/"
144 EOF
145
146 #%undos -f cpp
147 #find -name '*.cpp' | xargs sed -i -re 's/char\s*\*\s*(\w+)\s*= "/const char* \1 = "/g'
148
149 %build
150 export ARCH="%{_target_cpu}"
151 export CC="%{__cc}"
152 export CFLAGS="%{rpmcflags}"
153 export CXX="%{__cxx}"
154 export CXXFLAGS="%{rpmcxxflags}"
155 export LDFLAGS="%{rpmldflags}"
156
157 jobs=$(echo %{_smp_mflags} | cut -dj -f2)
158 ./Buildit ${jobs:+--jobs=$jobs}
159
160 %install
161 rm -rf $RPM_BUILD_ROOT
162 install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,/var/lib/%{name},%{_mandir}/man{1,8}}
163 ./DSS_MakeRoot \
164         $RPM_BUILD_ROOT
165
166 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
167 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}-admin
168
169 # avoid extension
170 mv $RPM_BUILD_ROOT%{_sbindir}/streamingadminserver{.pl,}
171
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
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
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
208 cp -a Documentation/man/qtss/streamingadminserver.pl.8 $RPM_BUILD_ROOT%{_mandir}/man8/streamingadminserver.8
209 rm $RPM_BUILD_ROOT/var/lib/%{name}/3rdPartyAcknowledgements.rtf
210 rm $RPM_BUILD_ROOT/var/lib/%{name}/readme.txt
211
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
217 touch $RPM_BUILD_ROOT/var/log/%{name}/streamingadminserver.log
218
219 %clean
220 rm -rf $RPM_BUILD_ROOT
221
222 %pre
223 %groupadd -f -g 148 qtss
224 %useradd -g qtss -d /tmp -u 148 -s /bin/false qtss
225
226 %post
227 for a in StreamingServer.log mp3_access.log server_status streamingadminserver.log; do
228         log=/var/log/%{name}/$a
229         if [ ! -f $log ]; then
230                 install -o root -g qtss -m 0660 /dev/null $log
231         fi
232 done
233 /sbin/chkconfig --add %{name}
234 /sbin/chkconfig --add %{name}-admin
235 %service %{name} restart
236 %service %{name}-admin restart
237
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
243         Access admin interface at:
244         http://localhost:1220/
245         EOF
246 fi
247
248 %preun
249 if [ "$1" = "0" ]; then
250         %service -q %{name} stop
251         %service -q %{name}-admin stop
252         /sbin/chkconfig --del %{name}
253         /sbin/chkconfig --del %{name}-admin
254 fi
255
256 %postun
257 if [ "$1" = "0" ]; then
258         %userremove qtss
259         %groupremove qtss
260 fi
261
262 %files
263 %defattr(644,root,root,755)
264 %doc APPLE_LICENSE ReleaseNotes.txt
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
286 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/qtaccess
287 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/streamingadminserver.pem
288
289 %attr(754,root,root) /etc/rc.d/init.d/dss
290 %attr(754,root,root) /etc/rc.d/init.d/dss-admin
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
298 %attr(755,root,root) %{_sbindir}/streamingadminserver
299
300 %{_mandir}/man1/*
301 %{_mandir}/man8/*
302
303 %dir %{_libdir}/%{name}
304 %attr(755,root,root) %{_libdir}/%{name}/QTSSHomeDirectoryModule
305 %attr(755,root,root) %{_libdir}/%{name}/QTSSRefMovieModule
306
307 %attr(755,root,root) %{_libdir}/dss/QTSSRawFileModule
308
309 %dir /var/lib/%{name}
310 %dir /var/lib/%{name}/movies
311
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
317 %attr(644,qtss,qtss) %verify(not md5 mtime size) %ghost /var/log/%{name}/streamingadminserver.log
318
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
328
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
341 %files samples
342 %defattr(644,root,root,755)
343 /var/lib/%{name}/movies/*
This page took 0.070578 seconds and 3 git commands to generate.