From 585688120d92044f181b0f689fd5c8b6baffa0b5 Mon Sep 17 00:00:00 2001 From: Michael Schloh von Bennewitz Date: Wed, 7 May 2003 15:40:35 +0000 Subject: [PATCH] Still needs configuration adjustments, and the webserver admin components --- dss/dss.spec | 70 +++++++++++++++++++++++++++++++++++++++++++++------- dss/rc.dss | 25 +++++++++++++------ 2 files changed, 78 insertions(+), 17 deletions(-) diff --git a/dss/dss.spec b/dss/dss.spec index d3980012fc..171dbbc4ed 100644 --- a/dss/dss.spec +++ b/dss/dss.spec @@ -23,8 +23,6 @@ ## SUCH DAMAGE. ## -# FIXME: rse: JUNK because fails to build and lacks installation procedure - # package versions %define V_opkg 4.1.3 %define V_dss 4_1_3 @@ -35,11 +33,11 @@ Summary: Darwin Streaming Server URL: http://developer.apple.com/darwin/projects/streaming/ Vendor: Apple Computer, Incorporated Packager: The OpenPKG Project -Distribution: OpenPKG [JUNK] +Distribution: OpenPKG [EVAL] Group: Video License: APSL Version: %{V_opkg} -Release: 20030428 +Release: 20030507 # list of sources Source0: http://www.opensource.apple.com/projects/streaming/source/DSS-%{V_dss}.src.tar.gz @@ -49,7 +47,7 @@ Source1: rc.dss # build information Prefix: %{l_prefix} BuildRoot: %{l_buildroot} -BuildPreReq: OpenPKG, openpkg >= 20030103, make, gcc, perl +BuildPreReq: OpenPKG, openpkg >= 20030103, perl, make, gcc PreReq: OpenPKG, openpkg >= 20030103, perl AutoReq: no AutoReqProv: no @@ -127,11 +125,11 @@ AutoReqProv: no esac export COMPILER_FLAGS CORE_LINK_LIBS SHARED MODULE_LIBS - # bukd the program parts (order important) - %{l_make} -f Makefile.POSIX + # build the program parts (order important) for dir in \ CommonUtilitiesLib \ QTFileLib \ + . \ APIModules/QTSSDemoAuthorizationModule.bproj \ APIModules/QTSSRawFileModule.bproj \ APIModules/QTSSSpamDefenseModule.bproj \ @@ -153,20 +151,74 @@ AutoReqProv: no %install rm -rf $RPM_BUILD_ROOT + + # make directory structure %{l_shtool} mkdir -f -p -m 755 \ + $RPM_BUILD_ROOT%{l_prefix}/bin \ + $RPM_BUILD_ROOT%{l_prefix}/sbin \ $RPM_BUILD_ROOT%{l_prefix}/etc/dss \ - $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d + $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \ + $RPM_BUILD_ROOT%{l_prefix}/share/dss/movies \ + $RPM_BUILD_ROOT%{l_prefix}/var/dss/logs + + # install the server and administrative binaries + %{l_shtool} install -s -c -m 755 \ + DarwinStreamingServer $RPM_BUILD_ROOT%{l_prefix}/sbin/ + %{l_shtool} install -c -m 755 \ + -e 's;#!/usr/bin/perl;#!%{l_prefix}/bin/perl;' \ + WebAdmin/src/streamingadminserver.pl $RPM_BUILD_ROOT%{l_prefix}/sbin/ + + # install miscellaneous binaries + %{l_shtool} install -s -c -m 755 \ + PlaylistBroadcaster.tproj/PlaylistBroadcaster \ + MP3Broadcaster/MP3Broadcaster \ + qtpasswd.tproj/qtpasswd \ + $RPM_BUILD_ROOT%{l_prefix}/bin/ + + # install configuration files + %{l_shtool} install -c -m 644 \ + qtusers \ + qtgroups \ + streamingserver.xml \ + relayconfig.xml-Sample \ + $RPM_BUILD_ROOT%{l_prefix}/etc/dss/ + cp -fp $RPM_BUILD_ROOT%{l_prefix}/etc/dss/streamingserver.xml \ + $RPM_BUILD_ROOT%{l_prefix}/etc/dss/streamingserver.xml-sample + + # install run commands %{l_shtool} install -c -m 755 \ -e 's;@l_prefix@;%{l_prefix};g' \ -e 's;@l_susr@;%{l_susr};g' \ %{SOURCE rc.dss} \ $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ + + # install sample movies and audio files + %{l_shtool} install -c -m 644 \ + sample.mp3 \ + sample_100kbit.mov \ + sample_300kbit.mov \ + sample_100kbit.mp4 \ + sample_300kbit.mp4 \ + $RPM_BUILD_ROOT%{l_prefix}/share/dss/movies/ + %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ %{l_files_std} \ - '%config %{l_prefix}/etc/dss/*' + '%config %{l_prefix}/etc/dss/*' \ + '%config %attr(600,%{l_susr},%{l_mgrp}) %{l_prefix}/etc/dss/qtusers' \ + '%config %attr(600,%{l_susr},%{l_mgrp}) %{l_prefix}/etc/dss/qtgroups' \ + '%config %attr(600,%{l_susr},%{l_mgrp}) %{l_prefix}/etc/dss/streamingserver.xml' \ + '%config %attr(600,%{l_susr},%{l_mgrp}) %{l_prefix}/etc/dss/relayconfig.xml-Sample' %files -f files %clean rm -rf $RPM_BUILD_ROOT +%post + # write a default admin username and password to qtusers + username='ghandi'; password='guessit' + $RPM_INSTALL_PREFIX/bin/qtpasswd -p $password $username + + # add the new admin username to {l_prefix}/etc/dss/qtgroupsusers + echo admin: $username >$RPM_INSTALL_PREFIX/etc/dss/qtgroups + diff --git a/dss/rc.dss b/dss/rc.dss index 930fa47ff8..316864a777 100644 --- a/dss/rc.dss +++ b/dss/rc.dss @@ -6,15 +6,24 @@ %config dss_enable="yes" -%start -p 100 -u @l_susr@ - if opServiceEnabled dss; then - # FIXME - @l_prefix@/bin/foo - fi +%start -p 220 -u @l_susr@ + opServiceEnabled dss || exit 0 + @l_prefix@/sbin/DarwinStreamingServer -d >/dev/null 2>&1 & + echo $! >@l_prefix@/var/dss/dss.pid %stop -p 200 -u @l_susr@ - if opServiceEnabled dss; then - # FIXME - @l_prefix@/bin/foo + opServiceEnabled dss || exit 0 + if [ -f @l_prefix@/var/dss/dss.pid ]; then + kill -TERM `cat @l_prefix@/var/dss/dss.pid` + rm @l_prefix@/var/dss/dss.pid + fi + +%restart -p 200 -u @l_susr@ + opServiceEnabled dss || exit 0 + if [ -f @l_prefix@/var/dss/dss.pid ]; then + kill -TERM `cat @l_prefix@/var/dss/dss.pid` + rm @l_prefix@/var/dss/dss.pid fi + @l_prefix@/sbin/DarwinStreamingServer -d >/dev/null 2>&1 & + echo $! >@l_prefix@/var/dss/dss.pid