CC-1024 Update installation/build for webapp-only
CC-1695 Remove Campcaster Studio and make install easier Removed unused files. Updated version number. Fixed some path names.
This commit is contained in:
parent
9b7756712f
commit
4e73ed7e5a
|
@ -1,531 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copyright (c) 2010 Sourcefabric O.P.S.
|
||||
#
|
||||
# This file is part of the Campcaster project.
|
||||
# http://campcaster.campware.org/
|
||||
#
|
||||
# Campcaster is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# Campcaster is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with Campcaster; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#DEBUG=yes
|
||||
#DEBUG_I=yes
|
||||
|
||||
if [ "x$1" != "x" ]; then
|
||||
COMM=$1
|
||||
shift
|
||||
GUNID=$1
|
||||
fi
|
||||
|
||||
METADATA="<?xml version=\"1.0\"?>
|
||||
<audioClip>
|
||||
<metadata
|
||||
xmlns=\"http://mdlf.org/campcaster/elements/1.0/\"
|
||||
xmlns:ls=\"http://mdlf.org/campcaster/elements/1.0/\"
|
||||
xmlns:dc=\"http://purl.org/dc/elements/1.1/\"
|
||||
xmlns:dcterms=\"http://purl.org/dc/terms/\"
|
||||
xmlns:xml=\"http://www.w3.org/XML/1998/namespace\"
|
||||
>
|
||||
<dc:title>Media title testRunner</dc:title>
|
||||
<dcterms:extent>00:00:03.000000</dcterms:extent>
|
||||
</metadata>
|
||||
</audioClip>"
|
||||
METAREGEX="(<\\?xml version=\"1\\.0\"( encoding=\"UTF-8\")?\\?> )?\
|
||||
<audioClip>\
|
||||
<metadata\
|
||||
xmlns=\"http://mdlf\\.org/campcaster/elements/1\\.0/\"\
|
||||
xmlns:dc=\"http://purl\\.org/dc/elements/1\\.1/\"\
|
||||
xmlns:dcterms=\"http://purl\\.org/dc/terms/\"\
|
||||
xmlns:ls=\"http://mdlf\\.org/campcaster/elements/1\\.0/\"\
|
||||
xmlns:xml=\"http://www\\.w3\\.org/XML/1998/namespace\"\
|
||||
>\
|
||||
<dc:title>Media title testRunner</dc:title>\
|
||||
<dcterms:extent>00:00:03\\.000000</dcterms:extent>\
|
||||
<ls:mtime>[0-9]{4}(-[0-9]{2}){2}T[0-9]{2}(:[0-9]{2}){2}([-+][0-9]{1,2}:[0-9]{2})?</ls:mtime>\
|
||||
</metadata>\
|
||||
</audioClip>"
|
||||
|
||||
echo ""
|
||||
XRDIR=`dirname $0`
|
||||
XMLRPC=`cd var/install; php -q getXrUrl.php` || exit $?
|
||||
echo "# storageServer XMLRPC URL: $XMLRPC"
|
||||
|
||||
cd $XRDIR
|
||||
#XR_CLI="./xr_cli_test.py -s ${XMLRPC}"
|
||||
XR_CLI="php -q xr_cli_test.php -s ${XMLRPC}"
|
||||
|
||||
login() {
|
||||
echo -n "# login: "
|
||||
SESSID=`$XR_CLI login root q` || \
|
||||
{ ERN=$?; echo $SESSID; exit $ERN; }
|
||||
echo "sessid: $SESSID"
|
||||
}
|
||||
|
||||
test() {
|
||||
echo "# test: "
|
||||
$XR_CLI test $SESSID stringForUppercase || exit $?
|
||||
}
|
||||
|
||||
existsAudioClip() {
|
||||
echo -n "# existsAudioClip (${GUNID}): "
|
||||
$XR_CLI existsAudioClip $SESSID $GUNID || exit $?
|
||||
}
|
||||
|
||||
storeAudioClip() {
|
||||
if [ "x$1" = "x" ]; then MEDIA=../tests/ex1.mp3; else MEDIA=$1; fi
|
||||
if [ "x$2" = "x" ]; then GUNID=""; else GUNID=$2; fi
|
||||
MD5=`md5sum $MEDIA`; for i in $MD5; do MD5=$i; break; done
|
||||
if [ $DEBUG_I ]; then echo "md5=$MD5"; fi
|
||||
echo -n "# storeAudioClipOpen: "
|
||||
RES=`$XR_CLI storeAudioClipOpen "$SESSID" "$GUNID" "$METADATA" "stored file.mp3" "$MD5"` || \
|
||||
{ ERN=$?; echo $RES; exit $ERN; }
|
||||
unset URL
|
||||
for i in $RES; do if [ -z $URL ] ; then URL=$i; else TOKEN=$i; fi; done
|
||||
echo $TOKEN
|
||||
if [ $DEBUG_I ]; then echo $URL; fi
|
||||
if [ $DEBUG_I ]; then echo -n "Press enter ..."; read KEY; fi
|
||||
echo -n "# curl (PUT): "
|
||||
curl -C 0 -T $MEDIA $URL || { ERN=$?; echo $RGUNID; exit $ERN; }
|
||||
echo "status: $?"
|
||||
if [ $DEBUG_I ]; then echo -n "Press enter ..."; read KEY; fi
|
||||
echo -n "# storeAudioClipClose: "
|
||||
RGUNID=`$XR_CLI storeAudioClipClose "$SESSID" "$TOKEN"` || \
|
||||
{ ERN=$?; echo $RGUNID; exit $ERN; }
|
||||
echo $RGUNID
|
||||
}
|
||||
|
||||
accessRawAudioData() {
|
||||
echo -n "# accessRawAudioData: "
|
||||
RES=`$XR_CLI accessRawAudioData $SESSID $GUNID` || \
|
||||
{ ERN=$?; echo $RES; exit $ERN; }
|
||||
unset URL
|
||||
for i in $RES; do if [ -z $URL ] ; then URL=$i; else TOKEN=$i; fi; done
|
||||
echo $TOKEN
|
||||
if [ $DEBUG_I ]; then echo $URL; fi
|
||||
if [ $DEBUG_I ]; then echo -n "Press enter ..."; read KEY; fi
|
||||
echo -n "# releaseRawAudioData: "
|
||||
$XR_CLI releaseRawAudioData $TOKEN || exit $?
|
||||
}
|
||||
|
||||
downloadRAD() {
|
||||
echo -n "# downloadRawAudioDataOpen: "
|
||||
RES=`$XR_CLI downloadRawAudioDataOpen $SESSID $GUNID` || \
|
||||
{ ERN=$?; echo $RES; exit $ERN; }
|
||||
unset URL
|
||||
for i in $RES; do if [ -z $URL ] ; then URL=$i; else TOKEN=$i; fi; done
|
||||
echo $TOKEN
|
||||
if [ $DEBUG_I ]; then echo $URL; fi
|
||||
if [ $DEBUG_I ]; then echo -n "Press enter ..."; read KEY; fi
|
||||
echo -n "# curl: "
|
||||
curl -Ifs $URL > /dev/null || { ERN=$?; echo $URL; exit $ERN; }
|
||||
echo "status: $?"
|
||||
echo -n "# downloadRawAudioDataClose: "
|
||||
$XR_CLI downloadRawAudioDataClose $SESSID $TOKEN || exit $?
|
||||
}
|
||||
|
||||
downloadMeta() {
|
||||
echo -n "# downloadMetadataOpen: "
|
||||
RES=`$XR_CLI downloadMetadataOpen $SESSID $GUNID` || \
|
||||
{ ERN=$?; echo $RES; exit $ERN; }
|
||||
unset URL
|
||||
for i in $RES; do if [ -z $URL ] ; then URL=$i; else TOKEN=$i; fi; done
|
||||
echo $TOKEN
|
||||
if [ $DEBUG_I ]; then echo $URL; fi
|
||||
if [ $DEBUG_I ]; then echo -n "Press enter ..."; read KEY; fi
|
||||
echo -n "# curl: "
|
||||
METAOUT=`curl -fs $URL;` || { ERN=$?; echo $RES; exit $ERN; }
|
||||
echo "OK"
|
||||
if [ $DEBUG_I ]; then echo $METAOUT; echo -n "Press enter ..."; read KEY; fi
|
||||
echo -n "# metadata check:"
|
||||
METAOUT=`echo $METAOUT | sed -e 's/\\n/ /g'`
|
||||
if [[ "x$METAOUT" =~ "x$METAREGEX" ]]; then
|
||||
echo " OK"
|
||||
else
|
||||
echo " NOT MATCH ($?)"
|
||||
echo " Expected match to regex:"; echo $METAREGEX
|
||||
echo " Downloaded:"; echo ${METAOUT}
|
||||
exit 1
|
||||
fi
|
||||
echo -n "# downloadMetadataClose: "
|
||||
$XR_CLI downloadMetadataClose $SESSID $TOKEN || exit $?
|
||||
}
|
||||
|
||||
deleteAudioClip() {
|
||||
echo -n "# deleteAudioClip: "
|
||||
# disabled:
|
||||
# $XR_CLI deleteAudioClip $SESSID $GUNID || exit $?
|
||||
$XR_CLI deleteAudioClip $SESSID $GUNID 0
|
||||
}
|
||||
|
||||
updateAudioClipMetadata() {
|
||||
echo -n "#updateAudioClipMetadata: "
|
||||
$XR_CLI updateAudioClipMetadata $SESSID $GUNID "$METADATA" || exit $?
|
||||
}
|
||||
|
||||
getAudioClip() {
|
||||
echo -n "#getAudioClip: "
|
||||
$XR_CLI getAudioClip $SESSID $GUNID || exit $?
|
||||
}
|
||||
|
||||
searchMetadata() {
|
||||
echo -n "# searchMetadata: "
|
||||
RES=`$XR_CLI searchMetadata $SESSID 'title' 'testRunner'` || \
|
||||
{ ERN=$?; echo $RES; exit $ERN; }
|
||||
echo $RES
|
||||
}
|
||||
|
||||
browseCategory() {
|
||||
echo -n "# browseCategory: "
|
||||
RES=`$XR_CLI browseCategory $SESSID 'title' 'title' 'testRunner'` || \
|
||||
{ ERN=$?; echo $RES; exit $ERN; }
|
||||
echo $RES
|
||||
}
|
||||
|
||||
storeWebstream() {
|
||||
URL="http://localhost/x"
|
||||
echo -n "# storeWebstream: "
|
||||
RGUNID=`$XR_CLI storeWebstream "$SESSID" '' "$METADATA" "new stream" "$URL"` || \
|
||||
{ ERN=$?; echo $RGUNID; exit $ERN; }
|
||||
echo $RGUNID
|
||||
}
|
||||
|
||||
PLID="123456789abcdef8"
|
||||
|
||||
createPlaylist() {
|
||||
echo -n "# createPlaylist: "
|
||||
$XR_CLI deletePlaylist $SESSID $PLID 1
|
||||
$XR_CLI createPlaylist $SESSID $PLID "newPlaylist.xml" || exit $?
|
||||
}
|
||||
|
||||
accessPlaylist() {
|
||||
echo -n "# accessPlaylist: "
|
||||
RES=`$XR_CLI accessPlaylist $SESSID $PLID` || \
|
||||
{ ERN=$?; echo $RES; exit $ERN; }
|
||||
unset URL
|
||||
for i in $RES; do if [ -z $URL ] ; then URL=$i; else TOKEN=$i; fi; done
|
||||
echo $TOKEN
|
||||
if [ $DEBUG_I ]; then echo $URL; fi
|
||||
echo "# curl: "
|
||||
CURLOUT=`curl -fs $URL;` || { ERN=$?; echo $RES; exit $ERN; }
|
||||
if [ $DEBUG ]; then echo $CURLOUT; fi
|
||||
# echo $CURLOUT
|
||||
if [ $DEBUG_I ]; then echo -n "Press enter ..."; read KEY; fi
|
||||
echo "# status: $?"
|
||||
if [ $DEBUG_I ]; then echo -n "Press enter ..."; read KEY; fi
|
||||
echo -n "# releasePlaylist: "
|
||||
$XR_CLI releasePlaylist $TOKEN || exit $?
|
||||
}
|
||||
|
||||
editPlaylist() {
|
||||
DATE=`date '+%H:%M:%S'`
|
||||
PLAYLIST="<?xml version=\"1.0\" encoding=\"utf-8\"?>
|
||||
<playlist id=\"123456789abcdef8\" playlength=\"01:30:00.000000\"
|
||||
title=\"My First Playlist\">
|
||||
<playlistElement id=\"0000000000000101\" relativeOffset=\"0\" >
|
||||
<audioClip id=\"0000000000010001\" playlength=\"01:00:00.000000\"
|
||||
title=\"one\"/>
|
||||
</playlistElement>
|
||||
<playlistElement id=\"0000000000000102\" relativeOffset=\"01:00:00.000000\" >
|
||||
<audioClip id=\"0000000000010002\" playlength=\"00:30:00.000000\"
|
||||
title=\"two\"/>
|
||||
</playlistElement>
|
||||
<metadata
|
||||
xmlns=\"http://www.streamonthefly.org/\"
|
||||
xmlns:dc=\"http://purl.org/dc/elements/1.1/\"
|
||||
xmlns:dcterms=\"http://purl.org/dc/terms/\"
|
||||
xmlns:xbmf=\"http://www.streamonthefly.org/xbmf\"
|
||||
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
|
||||
>
|
||||
<dc:title>My First Playlist</dc:title>
|
||||
<dc:creator>Me, myself and I</dc:creator>
|
||||
<dcterms:extent>01:30:00.000000</dcterms:extent>
|
||||
</metadata>
|
||||
</playlist>
|
||||
"
|
||||
echo -n "# editPlaylist: "
|
||||
RES=`$XR_CLI editPlaylist $SESSID $PLID` || \
|
||||
{ ERN=$?; echo $RES; exit $ERN; }
|
||||
unset URL
|
||||
for i in $RES; do if [ -z $URL ] ; then URL=$i; else TOKEN=$i; fi; done
|
||||
echo $TOKEN
|
||||
# deletePlaylist
|
||||
if [ $DEBUG_I ]; then echo $URL; fi
|
||||
if [ $DEBUG_I ]; then echo -n "Press enter ..."; read KEY; fi
|
||||
if [ $DEBUG_I ]; then echo " Playlist:"; echo $PLAYLIST; fi
|
||||
echo -n "# savePlaylist: "
|
||||
$XR_CLI savePlaylist $SESSID $TOKEN "$PLAYLIST" || exit $?
|
||||
}
|
||||
|
||||
existsPlaylist() {
|
||||
echo -n "# existsPlaylist (${PLID}): "
|
||||
EXISTS=`$XR_CLI existsPlaylist $SESSID $PLID` || \
|
||||
{ ERN=$?; echo $EXISTS; exit $ERN; }
|
||||
echo $EXISTS
|
||||
}
|
||||
|
||||
deletePlaylist() {
|
||||
if [ "$EXISTS" != "FALSE" ]; then
|
||||
echo -n "# deletePlaylist (${PLID}): "
|
||||
# disabled:
|
||||
# $XR_CLI deletePlaylist $SESSID $PLID || exit $?
|
||||
$XR_CLI deletePlaylist $SESSID $PLID 0
|
||||
echo "# status: $?"
|
||||
fi
|
||||
}
|
||||
|
||||
exportPlaylist() {
|
||||
storeAudioClip ../tests/0000000000010001 0000000000010001
|
||||
storeAudioClip ../tests/0000000000010002 0000000000010002
|
||||
echo -n "# exportPlaylistOpen (${PLID}): "
|
||||
# RES=`$XR_CLI exportPlaylistOpen $SESSID $PLID smil` || \
|
||||
RES=`$XR_CLI exportPlaylistOpen $SESSID $PLID lspl` || \
|
||||
{ ERN=$?; echo $RES; exit $ERN; }
|
||||
unset URL
|
||||
for i in $RES; do if [ -z $URL ] ; then URL=$i; else TOKEN=$i; fi; done
|
||||
echo $TOKEN
|
||||
echo -n "# curl: "
|
||||
curl -Ifs $URL > /dev/null || { ERN=$?; echo $URL; exit $ERN; }
|
||||
echo "status: $?"
|
||||
echo -n "# exportPlaylistClose (${TOKEN}): "
|
||||
RES=`$XR_CLI exportPlaylistClose $TOKEN` || \
|
||||
{ ERN=$?; echo $RES; exit $ERN; }
|
||||
echo $RES
|
||||
}
|
||||
|
||||
importPlaylist() {
|
||||
echo -n "# importPlaylistOpen: "
|
||||
ARCHIVE=../tests/exportedPl_lspl.tar
|
||||
# ARCHIVE=../tests/exportedPl_smil.tar
|
||||
$XR_CLI deletePlaylist $SESSID 0000000000000001 1
|
||||
$XR_CLI deletePlaylist $SESSID 0000000000000003 1
|
||||
$XR_CLI deleteAudioClip $SESSID 0000000000010001 1
|
||||
$XR_CLI deleteAudioClip $SESSID 0000000000010002 1
|
||||
$XR_CLI deleteAudioClip $SESSID 0000000000010003 1
|
||||
CHSUM=`md5sum $ARCHIVE | cut -d ' ' -f 1 `
|
||||
RES=`$XR_CLI importPlaylistOpen $SESSID $CHSUM` || \
|
||||
{ ERN=$?; echo $RES; exit $ERN; }
|
||||
unset URL
|
||||
for i in $RES; do if [ -z $URL ] ; then URL=$i; else TOKEN=$i; fi; done
|
||||
echo $TOKEN
|
||||
echo -n "# curl (PUT $URL): "
|
||||
curl -C 0 -T $ARCHIVE $URL || { ERN=$?; echo "curl error"; exit $ERN; }
|
||||
echo "status: $?"
|
||||
echo -n "# importPlaylistClose (${TOKEN}): "
|
||||
RES=`$XR_CLI importPlaylistClose $TOKEN` || \
|
||||
{ ERN=$?; echo $RES; exit $ERN; }
|
||||
echo $RES
|
||||
GUNID=0000000000010001; existsAudioClip;
|
||||
GUNID=0000000000010002; existsAudioClip;
|
||||
GUNID=0000000000010003; existsAudioClip;
|
||||
PLID=0000000000000001; existsPlaylist;
|
||||
PLID=0000000000000003; existsPlaylist;
|
||||
}
|
||||
|
||||
prefTest() {
|
||||
PREFKEY="testKey"
|
||||
PREFVAL="test preference value"
|
||||
echo -n "# savePref ($PREFKEY): "
|
||||
$XR_CLI savePref $SESSID "$PREFKEY" "$PREFVAL"|| exit $?
|
||||
echo -n "# loadPref ($PREFKEY): "
|
||||
VAL=`$XR_CLI loadPref $SESSID "$PREFKEY"` || \
|
||||
{ ERN=$?; echo $VAL; exit $ERN; }
|
||||
echo "$VAL "
|
||||
if [ "x$VAL" != "x$PREFVAL" ] ; then
|
||||
echo " NOT MATCH"
|
||||
echo " Expected:"; echo $PREFVAL
|
||||
echo " Returned:"; echo $VAL
|
||||
exit 1
|
||||
else
|
||||
echo "# pref value check: OK"
|
||||
fi
|
||||
echo -n "# delPref: "
|
||||
$XR_CLI delPref $SESSID "$PREFKEY"|| exit $?
|
||||
if [ $DEBUG ]; then
|
||||
echo -n "# loadPref: "
|
||||
VAL=`$XR_CLI loadPref $SESSID "$PREFKEY"` || echo $?
|
||||
else
|
||||
echo $VAL
|
||||
fi
|
||||
}
|
||||
|
||||
groupPrefTest() {
|
||||
PREFKEY="Station frequency"
|
||||
PREFVAL="89.5 FM"
|
||||
GR="StationPrefs"
|
||||
echo -n "# saveGroupPref ($PREFKEY): "
|
||||
$XR_CLI saveGroupPref $SESSID "$GR" "$PREFKEY" "$PREFVAL"|| exit $?
|
||||
echo -n "# loadGroupPref ($PREFKEY): "
|
||||
VAL=`$XR_CLI loadGroupPref $SESSID "$GR" "$PREFKEY"` || \
|
||||
{ ERN=$?; echo $VAL; exit $ERN; }
|
||||
echo "$VAL "
|
||||
if [ "x$VAL" != "x$PREFVAL" ] ; then
|
||||
echo " NOT MATCH"
|
||||
echo " Expected:"; echo $PREFVAL
|
||||
echo " Returned:"; echo $VAL
|
||||
exit 1
|
||||
else
|
||||
echo "# pref value check: OK"
|
||||
fi
|
||||
echo -n "# saveGroupPref (clear it): "
|
||||
$XR_CLI saveGroupPref $SESSID "$GR" "$PREFKEY" ""|| exit $?
|
||||
}
|
||||
|
||||
logout() {
|
||||
echo -n "# logout: "
|
||||
$XR_CLI logout $SESSID || exit $?
|
||||
}
|
||||
|
||||
searchTest() {
|
||||
echo "#XMLRPC search test"
|
||||
login
|
||||
storeAudioClip
|
||||
GUNID=$RGUNID
|
||||
searchMetadata
|
||||
OK="AC(1): $GUNID | PL(0): "
|
||||
if [ "$RES" == "$OK" ]; then
|
||||
echo "match: OK"
|
||||
else
|
||||
echo "results doesn't match ($OK)"; deleteAudioClip; exit 1;
|
||||
fi
|
||||
browseCategory
|
||||
OK="RES(1): Media title testRunner"
|
||||
if [ "$RES" == "$OK" ]; then
|
||||
echo "match: OK"
|
||||
else
|
||||
echo "results doesn't match ($OK)"; deleteAudioClip; exit 1;
|
||||
fi
|
||||
deleteAudioClip
|
||||
logout
|
||||
echo "#XMLRPC: search: OK."
|
||||
echo ""
|
||||
}
|
||||
|
||||
preferenceTest(){
|
||||
echo "#XMLRPC preference test"
|
||||
login
|
||||
prefTest
|
||||
groupPrefTest
|
||||
logout
|
||||
echo "#XMLRPC: preference: OK."
|
||||
echo ""
|
||||
}
|
||||
|
||||
playlistTest(){
|
||||
echo "#XMLRPC playlists test"
|
||||
login
|
||||
existsPlaylist
|
||||
deletePlaylist
|
||||
createPlaylist
|
||||
existsPlaylist
|
||||
accessPlaylist
|
||||
editPlaylist
|
||||
accessPlaylist
|
||||
exportPlaylist
|
||||
importPlaylist
|
||||
deletePlaylist
|
||||
existsPlaylist
|
||||
logout
|
||||
echo "#XMLRPC: playlists: OK."
|
||||
echo ""
|
||||
}
|
||||
|
||||
webstreamTest(){
|
||||
echo "#XMLRPC webstream test"
|
||||
login
|
||||
storeWebstream; GUNID=$RGUNID
|
||||
# GUNID="4e58a66cf6e9f539"
|
||||
# downloadMeta
|
||||
getAudioClip
|
||||
deleteAudioClip
|
||||
logout
|
||||
echo "#XMLRPC: webstream: OK."
|
||||
echo ""
|
||||
}
|
||||
|
||||
storageTest(){
|
||||
echo "#XMLRPC: storage test"
|
||||
login
|
||||
storeAudioClip
|
||||
GUNID=$RGUNID
|
||||
existsAudioClip
|
||||
accessRawAudioData
|
||||
downloadRAD
|
||||
downloadMeta
|
||||
deleteAudioClip
|
||||
existsAudioClip
|
||||
logout
|
||||
echo "#XMLRPC: storage: OK."
|
||||
echo ""
|
||||
}
|
||||
|
||||
usage(){
|
||||
echo "Usage: $0 [<command>] [args]"
|
||||
echo -e "commands:\n test\n existsAudioClip\n accessRawAudioData"
|
||||
echo -e " storeAudioClip\n deleteAudioClip\n updateAudioClipMetadata"
|
||||
echo -e " getAudioClip\n searchMetadata\n"
|
||||
echo -e " preferences\n playlists\n storage\n"
|
||||
}
|
||||
|
||||
if [ "$COMM" = "test" ]; then
|
||||
login
|
||||
test
|
||||
logout
|
||||
elif [ "$COMM" = "existsAudioClip" ]; then
|
||||
login
|
||||
existsAudioClip
|
||||
logout
|
||||
elif [ "$COMM" = "accessRawAudioData" ]; then
|
||||
login
|
||||
accessRawAudioData
|
||||
logout
|
||||
elif [ "$COMM" = "storeAudioClip" ]; then
|
||||
login
|
||||
storeAudioClip
|
||||
logout
|
||||
elif [ "$COMM" = "deleteAudioClip" ]; then
|
||||
login
|
||||
deleteAudioClip
|
||||
logout
|
||||
elif [ "$COMM" = "updateAudioClipMetadata" ]; then
|
||||
login
|
||||
updateAudioClipMetadata
|
||||
logout
|
||||
elif [ "$COMM" = "getAudioClip" ]; then
|
||||
login
|
||||
getAudioClip
|
||||
logout
|
||||
elif [ "$COMM" = "searchMetadata" ]; then
|
||||
searchTest
|
||||
elif [ "$COMM" = "preferences" ]; then
|
||||
preferenceTest
|
||||
elif [ "$COMM" = "playlists" ]; then
|
||||
playlistTest
|
||||
elif [ "$COMM" = "webstream" ]; then
|
||||
webstreamTest
|
||||
elif [ "$COMM" = "storage" ]; then
|
||||
storageTest
|
||||
elif [ "x$COMM" = "x" ]; then
|
||||
storageTest
|
||||
playlistTest
|
||||
preferenceTest
|
||||
searchTest
|
||||
elif [ "$COMM" = "help" ]; then
|
||||
usage
|
||||
else
|
||||
echo "Unknown command"
|
||||
usage
|
||||
fi
|
|
@ -1,4 +1,4 @@
|
|||
<?php
|
||||
define('CAMPCASTER_VERSION', '1.4.0');
|
||||
define('CAMPCASTER_VERSION', '1.6.0-alpha');
|
||||
define('CAMPCASTER_COPYRIGHT_DATE', '2010');
|
||||
?>
|
||||
|
|
|
@ -1,56 +0,0 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
#
|
||||
|
||||
CAMPCASTER_DIR=/opt/campcaster
|
||||
CAMPCASTER_BIN=$CAMPCASTER_DIR/bin
|
||||
CAMPCASTER_ETC=$CAMPCASTER_DIR/etc
|
||||
CAMPCASTER_LIB=$CAMPCASTER_DIR/lib
|
||||
|
||||
PATH=/sbin:/bin:/usr/sbin:/usr/bin:$CAMPCASTER_BIN
|
||||
LD_LIBRARY_PATH=$CAMPCASTER_LIB:$LD_LIBRARY_PATH
|
||||
DAEMON=$CAMPCASTER_BIN/campcaster-scheduler
|
||||
NAME=campcaster-scheduler
|
||||
DESC="campcaster scheduler"
|
||||
|
||||
test -x $DAEMON || exit 0
|
||||
|
||||
export PATH
|
||||
export LD_LIBRARY_PATH
|
||||
|
||||
DAEMON_OPTS="-c $CAMPCASTER_ETC/campcaster-scheduler.xml"
|
||||
|
||||
set -e
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
echo -n "Starting $DESC: "
|
||||
$DAEMON $DAEMON_OPTS start > /dev/null
|
||||
echo "$NAME."
|
||||
;;
|
||||
stop)
|
||||
echo -n "Stopping $DESC: "
|
||||
$DAEMON $DAEMON_OPTS stop > /dev/null
|
||||
echo "$NAME."
|
||||
;;
|
||||
restart|force-reload)
|
||||
echo -n "Restarting $DESC: "
|
||||
$DAEMON $DAEMON_OPTS stop > /dev/null
|
||||
sleep 1
|
||||
$DAEMON $DAEMON_OPTS start > /dev/null
|
||||
echo "$NAME."
|
||||
;;
|
||||
kill)
|
||||
echo -n "Killing $DESC: "
|
||||
$DAEMON $DAEMON_OPTS kill > /dev/null
|
||||
echo "$NAME."
|
||||
;;
|
||||
*)
|
||||
N=/etc/init.d/$NAME
|
||||
echo "Usage: $N {start|stop|restart|force-reload|kill}" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
1162
etc/doxygen.config
1162
etc/doxygen.config
File diff suppressed because it is too large
Load Diff
|
@ -1,57 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
|
||||
<xsl:template match="/">
|
||||
<html>
|
||||
<head>
|
||||
<title>Campcaster unit test results</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Preface</h1>
|
||||
This document is part of the
|
||||
<a href="http://campcaster.sourcefabric.org/">Campcaster</a>
|
||||
project, Copyright © 2004 <a href="http://www.mdlf.org/">Media
|
||||
Development Loan Fund</a>, under the GNU
|
||||
<a href="http://www.gnu.org/licenses/gpl.html">GPL</a>.
|
||||
<br/>
|
||||
This is an automatically generated document.
|
||||
<h1>Scope</h1>
|
||||
This document contains the generated unit test results for the
|
||||
<a href="http://campcaster.sourcefabric.org/">Campcaster</a> project.
|
||||
<h1>Summary</h1>
|
||||
<table>
|
||||
<tr>
|
||||
<td><b>Total number of tests:</b></td>
|
||||
<td><xsl:value-of select="count(//Test | //FailedTest)"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>Tests passed:</b></td>
|
||||
<td><xsl:value-of select="count(//SuccessfulTests/Test)"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>Tests failed:</b></td>
|
||||
<td><xsl:value-of select="count(//FailedTests/FailedTest)"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
<h1>Tests</h1>
|
||||
<table>
|
||||
<tr>
|
||||
<th>test name</th>
|
||||
<th>test status</th>
|
||||
</tr>
|
||||
<xsl:for-each select="//Test | //FailedTest">
|
||||
<xsl:sort select="Name"/>
|
||||
<tr>
|
||||
<td><xsl:value-of select="Name"/></td>
|
||||
<xsl:if test="ancestor::FailedTests"><td bgcolor="red">failed</td></xsl:if>
|
||||
<xsl:if test="ancestor::SuccessfulTests"><td bgcolor="lightblue">passed</td></xsl:if>
|
||||
</tr>
|
||||
</xsl:for-each>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<?xml-stylesheet type="text/xsl" href="testResultToHtml.xsl"?>
|
||||
<!DOCTYPE TestResults [
|
||||
|
||||
<!ENTITY authenticationResults SYSTEM "../src/modules/authentication/doc/testResults.xml" >
|
||||
<!ENTITY coreResults SYSTEM "../src/modules/core/doc/testResults.xml" >
|
||||
<!ENTITY dbResults SYSTEM "../src/modules/db/doc/testResults.xml" >
|
||||
<!ENTITY eventSchedulerResults SYSTEM "../src/modules/eventScheduler/doc/testResults.xml" >
|
||||
<!ENTITY gstreamerElementsResults SYSTEM "../src/modules/gstreamerElements/doc/testResults.xml" >
|
||||
<!ENTITY schedulerClientResults SYSTEM "../src/modules/schedulerClient/doc/testResults.xml" >
|
||||
<!ENTITY storageClientResults SYSTEM "../src/modules/storageClient/doc/testResults.xml" >
|
||||
|
||||
]>
|
||||
<TestResults>
|
||||
&authenticationResults;
|
||||
&coreResults;
|
||||
&dbResults;
|
||||
&eventSchedulerResults;
|
||||
&gstreamerElementsResults;
|
||||
<!-- disabled &playlistExecutorResults; -->
|
||||
&schedulerClientResults;
|
||||
&storageClientResults;
|
||||
<!-- disabled &schedulerResults; -->
|
||||
</TestResults>
|
File diff suppressed because it is too large
Load Diff
|
@ -3,8 +3,8 @@ if (strpos($_SERVER['PHP_SELF'], '~') !== false) {
|
|||
list(, $user, ) = explode('/', $_SERVER['PHP_SELF']);
|
||||
$base = "/$user/campcaster";
|
||||
} else {
|
||||
$base = "/campcaster";
|
||||
$base = "/campcaster";
|
||||
}
|
||||
|
||||
header("LOCATION: $base/htmlUI/var/html/ui_browser.php");
|
||||
header("LOCATION: $base/htmlUI/ui_browser.php");
|
||||
?>
|
|
@ -1,3 +0,0 @@
|
|||
<?php
|
||||
header('LOCATION: htmlUI/var/html/ui_browser.php');
|
||||
?>
|
|
@ -1,3 +0,0 @@
|
|||
<?php
|
||||
header('LOCATION: var/html/ui_browser.php');
|
||||
?>
|
|
@ -9,7 +9,7 @@ define('UI_ERROR', TRUE);
|
|||
|
||||
// Note: this needs to be a variable, not a define because other
|
||||
// parts of the application do not read in this file.
|
||||
$WHITE_SCREEN_OF_DEATH = FALSE;
|
||||
$WHITE_SCREEN_OF_DEATH = false;
|
||||
|
||||
if (UI_DEBUG) {
|
||||
error_reporting(E_ALL);
|
||||
|
@ -24,8 +24,8 @@ define('UI_UPLOAD_LANGID', UI_DEFAULT_LANGID);
|
|||
define('UI_TIMEZONEOFFSET', date('Z'));
|
||||
|
||||
// Basic scripts
|
||||
define('UI_HANDLER', 'ui_handler.php');
|
||||
define('UI_BROWSER', 'ui_browser.php');
|
||||
define('UI_HANDLER', 'htmlUI/ui_handler.php');
|
||||
define('UI_BROWSER', 'htmlUI/ui_browser.php');
|
||||
|
||||
// HTML Form stuff
|
||||
define('UI_STANDARD_FORM_METHOD', 'POST');
|
||||
|
|
|
@ -1,83 +0,0 @@
|
|||
#!/bin/bash
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copyright (c) 2010 Sourcefabric O.P.S.
|
||||
#
|
||||
# This file is part of the Campcaster project.
|
||||
# http://campcaster.sourcefabric.org/
|
||||
# To report bugs, send an e-mail to bugs@campware.org
|
||||
#
|
||||
# Campcaster is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# Campcaster is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with Campcaster; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Run this to set up the build system: configure, makefiles, etc.
|
||||
# (based on the version in enlightenment's cvs)
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
package="Campcaster"
|
||||
|
||||
# assume we're in $basedir/bin
|
||||
reldir=`dirname $0`/..
|
||||
basedir=`cd $reldir; pwd;`
|
||||
test -z "$basedir" && basedir=.
|
||||
|
||||
bindir=$basedir/bin
|
||||
etcdir=$basedir/etc
|
||||
tmpdir=$basedir/tmp
|
||||
|
||||
cd "$tmpdir"
|
||||
DIE=0
|
||||
|
||||
(autoconf --version) < /dev/null > /dev/null 2>&1 || {
|
||||
echo
|
||||
echo "You must have autoconf installed to compile $package."
|
||||
echo "Download the appropriate package for your distribution,"
|
||||
echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
|
||||
DIE=1
|
||||
}
|
||||
|
||||
(automake --version) < /dev/null > /dev/null 2>&1 || {
|
||||
echo
|
||||
echo "You must have automake installed to compile $package."
|
||||
echo "Download the appropriate package for your distribution,"
|
||||
echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
|
||||
DIE=1
|
||||
}
|
||||
|
||||
if test "$DIE" -eq 1; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test -z "$*"; then
|
||||
echo "I am going to run ./configure with no arguments - if you wish "
|
||||
echo "to pass any to it, please specify them on the $0 command line."
|
||||
fi
|
||||
|
||||
echo "Generating configuration files for $package, please wait...."
|
||||
|
||||
configure_ac=${etcdir}/configure.ac
|
||||
configure=${tmpdir}/configure
|
||||
|
||||
# copy over install-sh, as it's going to be missed by autoconf
|
||||
cp -f ${bindir}/install-sh ${tmpdir}
|
||||
cp -f ${configure_ac} ${tmpdir}
|
||||
|
||||
echo " aclocal"
|
||||
aclocal
|
||||
|
||||
echo " autoconf -I ${tmpdir} -o ${configure} ${configure_ac}"
|
||||
autoconf -I ${tmpdir} -o ${configure} ${configure_ac}
|
||||
|
|
@ -1,211 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Author : $Author: fgerlits $
|
||||
# Version : $Revision: 2292 $
|
||||
#-------------------------------------------------------------------------------
|
||||
# This script creates a distribution tarball for Campcaster network hub.
|
||||
# (campcaster-hub-<version>.tar.bz2)
|
||||
#
|
||||
# Invoke as:
|
||||
# ./bin/createHubTarball.sh -v <version.number>
|
||||
#
|
||||
# To get usage help, try the -h option
|
||||
#
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Determine directories, files
|
||||
#-------------------------------------------------------------------------------
|
||||
#reldir=`dirname $0`/..
|
||||
reldir=`pwd`
|
||||
basedir=`cd $reldir; pwd;`
|
||||
bindir=$basedir/bin
|
||||
etcdir=$basedir/etc
|
||||
docdir=$basedir/doc
|
||||
srcdir=$basedir/src
|
||||
tmpdir=$basedir/tmp
|
||||
toolsdir=$srcdir/tools
|
||||
modules_dir=$srcdir/modules
|
||||
products_dir=$srcdir/products
|
||||
|
||||
usrdir=`cd $basedir/usr; pwd;`
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Print the usage information for this script.
|
||||
#-------------------------------------------------------------------------------
|
||||
printUsage()
|
||||
{
|
||||
echo "Campcaster network hub tar package creator.";
|
||||
echo "parameters";
|
||||
echo "";
|
||||
echo " -d, --directory Place the tarball in the specified directory.";
|
||||
echo " [default: current directory]";
|
||||
echo " -v, --version The version number of the created package.";
|
||||
echo " -h, --help Print this message and exit.";
|
||||
echo "";
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Process command line parameters
|
||||
#-------------------------------------------------------------------------------
|
||||
CMD=${0##*/}
|
||||
|
||||
opts=$(getopt -o d:v:h -l lspath:,output:,version:,help -n $CMD -- "$@") || exit 1
|
||||
eval set -- "$opts"
|
||||
while true; do
|
||||
case "$1" in
|
||||
-d|--directory)
|
||||
directory=$2;
|
||||
shift; shift;;
|
||||
-v|--version)
|
||||
version=$2;
|
||||
shift; shift;;
|
||||
-h|--help)
|
||||
printUsage;
|
||||
exit 0;;
|
||||
--)
|
||||
shift;
|
||||
break;;
|
||||
*)
|
||||
echo "Unrecognized option $1.";
|
||||
printUsage;
|
||||
exit 1;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ "x$directory" == "x" ]; then
|
||||
directory=`pwd`;
|
||||
fi
|
||||
|
||||
if [ "x$version" == "x" ]; then
|
||||
echo "Required parameter version not specified.";
|
||||
printUsage;
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
echo "Creating Campcaster network hub tar.gz package.";
|
||||
echo "";
|
||||
echo "Using the following installation parameters:";
|
||||
echo "";
|
||||
echo " LS directory: $lspath";
|
||||
echo " output directory: $directory";
|
||||
echo ""
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Check if there are generated files, and bail out if so
|
||||
#-------------------------------------------------------------------------------
|
||||
if [ -f $basedir/Makefile ]; then
|
||||
echo "ERROR: make sure to run this script on a freshly checked-out copy";
|
||||
echo " of Campcaster, with NO generated files!";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# More definitions
|
||||
#-------------------------------------------------------------------------------
|
||||
tarball=$directory/campcaster-hub-$version.tar.bz2
|
||||
|
||||
tmpreldir=campcaster-hub-$version
|
||||
ls_tmpdir=$tmpdir/$tmpreldir
|
||||
src_tmpdir=$ls_tmpdir/src
|
||||
tools_tmpdir=$src_tmpdir/tools
|
||||
modules_tmpdir=$src_tmpdir/modules
|
||||
products_tmpdir=$src_tmpdir/products
|
||||
bin_tmpdir=$ls_tmpdir/bin
|
||||
doc_tmpdir=$ls_tmpdir/doc
|
||||
etc_tmpdir=$ls_tmpdir/etc
|
||||
tmp_tmpdir=$ls_tmpdir/tmp
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Function to check for the existence of an executable on the PATH
|
||||
#
|
||||
# @param $1 the name of the exectuable
|
||||
# @return 0 if the executable exists on the PATH, non-0 otherwise
|
||||
#-------------------------------------------------------------------------------
|
||||
check_exe() {
|
||||
if [ -x "`which $1 2> /dev/null`" ]; then
|
||||
#echo "Executable $1 found...";
|
||||
return 0;
|
||||
else
|
||||
echo "Executable $1 not found...";
|
||||
return 1;
|
||||
fi
|
||||
}
|
||||
|
||||
COMMENT='
|
||||
#-------------------------------------------------------------------------------
|
||||
# Check to see if this script is being run as root
|
||||
#-------------------------------------------------------------------------------
|
||||
if [ `whoami` != "root" ]; then
|
||||
echo "Please run this script as root.";
|
||||
exit ;
|
||||
fi
|
||||
'
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Check for required tools
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Checking for required tools..."
|
||||
|
||||
check_exe "tar" || exit 1;
|
||||
check_exe "bzip2" || exit 1;
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create the directories again
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Creating tmp directories and copying files ..."
|
||||
|
||||
mkdir -p $ls_tmpdir
|
||||
mkdir -p $src_tmpdir
|
||||
mkdir -p $modules_tmpdir
|
||||
mkdir -p $tools_tmpdir
|
||||
mkdir -p $bin_tmpdir
|
||||
mkdir -p $etc_tmpdir/apache
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copy the modules and tools
|
||||
#-------------------------------------------------------------------------------
|
||||
#cp -pPR $modules_dir/* $modules_tmpdir
|
||||
for it in alib getid3 storageServer storageAdmin; do
|
||||
cp -pPR $modules_dir/$it $modules_tmpdir
|
||||
done
|
||||
for it in pear; do
|
||||
cp -pPR $toolsdir/$it $tools_tmpdir
|
||||
done
|
||||
for it in preInstall.sh hubSetup.sh; do
|
||||
cp -pPR $bindir/$it $bin_tmpdir
|
||||
done
|
||||
cp -pPR $etcdir/apache/* $etc_tmpdir/apache
|
||||
for it in pg_hba.conf; do
|
||||
cp -pPR $etcdir/$it $etc_tmpdir
|
||||
done
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copy additional files
|
||||
#-------------------------------------------------------------------------------
|
||||
#cp -pPR $bindir $ls_tmpdir
|
||||
#cp -pPR $etcdir $ls_tmpdir
|
||||
cp -pPR README INSTALL CREDITS configure $ls_tmpdir
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Get rid of the remnants of the subversion system
|
||||
#-------------------------------------------------------------------------------
|
||||
# Paul Baranowski: you dont need to do this when you export from SVN.
|
||||
#rm -rf `find $ls_tmpdir -name .svn -type d`
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create the tarball
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Creating $tarball ...";
|
||||
cd $tmpdir
|
||||
tar cjf $tarball $tmpreldir
|
||||
cd $basedir
|
||||
rm -rf $ls_tmpdir
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Say goodbye
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Done."
|
||||
|
269
install/dist.sh
269
install/dist.sh
|
@ -1,269 +0,0 @@
|
|||
#!/bin/bash
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copyright (c) 2010 Sourcefabric O.P.S.
|
||||
#
|
||||
# This file is part of the Campcaster project.
|
||||
# http://campcaster.sourcefabric.org/
|
||||
# To report bugs, send an e-mail to bugs@campware.org
|
||||
#
|
||||
# Campcaster is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# Campcaster is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with Campcaster; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
#-------------------------------------------------------------------------------
|
||||
# This script creates a distribution tarball for Campcaster.
|
||||
# Creates two tarballs:
|
||||
# campcaster-<version>.tar.bz2 - the Campcaster source files
|
||||
# campcaster-libraries-<version>.tar.bz2 - dependent libraries
|
||||
#
|
||||
# Invoke as:
|
||||
# ./bin/dist.sh -v <version.number>
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Determine directories, files
|
||||
#-------------------------------------------------------------------------------
|
||||
reldir=`dirname $0`/..
|
||||
basedir=`cd $reldir; pwd;`
|
||||
bindir=$basedir/bin
|
||||
etcdir=$basedir/etc
|
||||
docdir=$basedir/doc
|
||||
srcdir=$basedir/src
|
||||
tmpdir=$basedir/tmp
|
||||
toolsdir=$srcdir/tools
|
||||
modules_dir=$srcdir/modules
|
||||
products_dir=$srcdir/products
|
||||
|
||||
usrdir=`cd $basedir/usr; pwd;`
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Print the usage information for this script.
|
||||
#-------------------------------------------------------------------------------
|
||||
printUsage()
|
||||
{
|
||||
echo "Campcaster install script.";
|
||||
echo "parameters";
|
||||
echo "";
|
||||
echo " -d, --directory Place the tarballs in the specified directory.";
|
||||
echo " [default: the parent of the current directory]";
|
||||
echo " -h, --help Print this message and exit.";
|
||||
echo " -v, --version The version number of the created packages.";
|
||||
echo "";
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Process command line parameters
|
||||
#-------------------------------------------------------------------------------
|
||||
CMD=${0##*/}
|
||||
|
||||
opts=$(getopt -o d:hv: -l directory:,help,version: -n $CMD -- "$@") || exit 1
|
||||
eval set -- "$opts"
|
||||
while true; do
|
||||
case "$1" in
|
||||
-d|--directory)
|
||||
directory=$2;
|
||||
shift; shift;;
|
||||
-h|--help)
|
||||
printUsage;
|
||||
exit 0;;
|
||||
-v|--version)
|
||||
version=$2;
|
||||
shift; shift;;
|
||||
--)
|
||||
shift;
|
||||
break;;
|
||||
*)
|
||||
echo "Unrecognized option $1.";
|
||||
printUsage;
|
||||
exit 1;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ "x$version" == "x" ]; then
|
||||
echo "Required parameter version not specified.";
|
||||
printUsage;
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
if [ "x$directory" == "x" ]; then
|
||||
directory=`pwd`/..;
|
||||
fi
|
||||
|
||||
d=`cd $directory; pwd`
|
||||
directory=$d
|
||||
|
||||
|
||||
echo "Creating tarballs for Campcaster.";
|
||||
echo "";
|
||||
echo "Using the following parameters:";
|
||||
echo "";
|
||||
echo " output directory: $directory";
|
||||
echo " package version number: $version";
|
||||
echo ""
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Check if there are generated files, and bail out if so
|
||||
#-------------------------------------------------------------------------------
|
||||
if [ -f $basedir/Makefile ]; then
|
||||
echo "ERROR: make sure to run this script on a freshly checked-out copy";
|
||||
echo " of Campcaster, with NO generated files!";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# More definitions
|
||||
#-------------------------------------------------------------------------------
|
||||
tarball=$directory/campcaster-$version.tar.bz2
|
||||
tarball_libs=$directory/campcaster-libraries-$version.tar.bz2
|
||||
|
||||
ls_tmpdir=$tmpdir/campcaster-$version
|
||||
src_tmpdir=$ls_tmpdir/src
|
||||
tools_tmpdir=$src_tmpdir/tools
|
||||
modules_tmpdir=$src_tmpdir/modules
|
||||
products_tmpdir=$src_tmpdir/products
|
||||
doc_tmpdir=$ls_tmpdir/doc
|
||||
etc_tmpdir=$ls_tmpdir/etc
|
||||
tmp_tmpdir=$ls_tmpdir/tmp
|
||||
|
||||
libodbcxx_dir=$toolsdir/libodbc++
|
||||
libodbcxx_version=libodbc++-0.2.5
|
||||
libodbcxx_tmpdir=$tools_tmpdir/libodbc++
|
||||
|
||||
xmlrpcxx_dir=$toolsdir/xmlrpc++
|
||||
xmlrpcxx_version=xmlrpc++-20040713
|
||||
xmlrpcxx_tmpdir=$tools_tmpdir/xmlrpc++
|
||||
|
||||
taglib_dir=$toolsdir/taglib
|
||||
taglib_version=taglib-1.5
|
||||
taglib_tmpdir=$tools_tmpdir/taglib
|
||||
|
||||
pear_dir=$toolsdir/pear
|
||||
pear_tmpdir=$tools_tmpdir/pear
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create the sources tarball first
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Creating $tarball...";
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create the directories again
|
||||
#-------------------------------------------------------------------------------
|
||||
mkdir -p $ls_tmpdir
|
||||
mkdir -p $ls_tmpdir/usr
|
||||
mkdir -p $tmp_tmpdir
|
||||
mkdir -p $src_tmpdir
|
||||
mkdir -p $modules_tmpdir
|
||||
mkdir -p $products_tmpdir
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copy the modules and products
|
||||
#-------------------------------------------------------------------------------
|
||||
cp -pPR $modules_dir/* $modules_tmpdir
|
||||
cp -pPR $products_dir/* $products_tmpdir
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copy additional files
|
||||
#-------------------------------------------------------------------------------
|
||||
cp -pPR $bindir $ls_tmpdir
|
||||
cp -pPR $docdir $ls_tmpdir
|
||||
cp -pPR $etcdir $ls_tmpdir
|
||||
cp -pPR README INSTALL CREDITS configure $ls_tmpdir
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Get rid of the remnants of the subversion system
|
||||
#-------------------------------------------------------------------------------
|
||||
rm -rf `find $ls_tmpdir -name .svn -type d`
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create the main configure script
|
||||
#-------------------------------------------------------------------------------
|
||||
cd $tmpdir/campcaster-$version
|
||||
./bin/autogen.sh
|
||||
cd $basedir
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create the tarball
|
||||
#-------------------------------------------------------------------------------
|
||||
cd $tmpdir
|
||||
tar cfj $tarball campcaster-$version
|
||||
cd $basedir
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create the libraries tarball second
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Creating $tarball_libs...";
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create temprorary directory structure again
|
||||
#-------------------------------------------------------------------------------
|
||||
rm -rf $ls_tmpdir
|
||||
mkdir -p $ls_tmpdir
|
||||
mkdir -p $tools_tmpdir
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copy the tools sources
|
||||
#-------------------------------------------------------------------------------
|
||||
mkdir -p $cxxunit_tmpdir
|
||||
cp -pPR $cxxunit_dir/$cxxunit_version $cxxunit_tmpdir
|
||||
|
||||
mkdir -p $libodbcxx_tmpdir
|
||||
cp -pPR $libodbcxx_dir/$libodbcxx_version $libodbcxx_tmpdir
|
||||
|
||||
mkdir -p $xmlrpcxx_tmpdir
|
||||
cp -pPR $xmlrpcxx_dir/$xmlrpcxx_version $xmlrpcxx_tmpdir
|
||||
|
||||
mkdir -p $taglib_tmpdir
|
||||
cp -pPR $taglib_dir/$taglib_version $taglib_tmpdir
|
||||
|
||||
mkdir -p $pear_tmpdir
|
||||
cp -pPR $pear_dir/* $pear_tmpdir
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Get rid of the remnants of the subversion system
|
||||
#-------------------------------------------------------------------------------
|
||||
rm -rf `find $ls_tmpdir -name .svn -type d`
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create the libraries tarball
|
||||
#-------------------------------------------------------------------------------
|
||||
cd $tmpdir
|
||||
tar cfj $tarball_libs campcaster-$version
|
||||
cd $basedir
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Clean up
|
||||
#-------------------------------------------------------------------------------
|
||||
rm -rf $ls_tmpdir
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# We're done
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Done."
|
||||
|
|
@ -1,87 +0,0 @@
|
|||
#!/bin/bash
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copyright (c) 2010 Sourcefabric O.P.S.
|
||||
#
|
||||
# This file is part of the Campcaster project.
|
||||
# http://campcaster.sourcefabric.org/
|
||||
# To report bugs, send an e-mail to bugs@campware.org
|
||||
#
|
||||
# Campcaster is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# Campcaster is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with Campcaster; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
#-------------------------------------------------------------------------------
|
||||
# This script generates code coverage data for all modules
|
||||
#-------------------------------------------------------------------------------
|
||||
module="Campcaster"
|
||||
|
||||
reldir=`dirname $0`/..
|
||||
basedir=`cd $reldir; pwd;`
|
||||
bindir=$basedir/bin
|
||||
docdir=$basedir/doc
|
||||
srcdir=$basedir/src
|
||||
tmpdir=$basedir/tmp
|
||||
modules_dir=$srcdir/modules
|
||||
products_dir=$srcdir/products
|
||||
|
||||
usrdir=`cd $basedir/usr; pwd;`
|
||||
|
||||
coverage_report_dir=$docdir/coverage
|
||||
|
||||
core_coverage_file=$modules_dir/core/tmp/coverage.info
|
||||
authentication_coverage_file=$modules_dir/authentication/tmp/coverage.info
|
||||
db_coverage_file=$modules_dir/db/tmp/coverage.info
|
||||
storageClient_coverage_file=$modules_dir/storageClient/tmp/coverage.info
|
||||
eventScheduler_coverage_file=$modules_dir/eventScheduler/tmp/coverage.info
|
||||
schedulerClient_coverage_file=$modules_dir/schedulerClient/tmp/coverage.info
|
||||
playlistExecutor_coverage_file=$modules_dir/playlistExecutor/tmp/coverage.info
|
||||
scheduler_coverage_file=$products_dir/scheduler/tmp/coverage.info
|
||||
|
||||
coverage_file=$tmpdir/coverage.info
|
||||
|
||||
lcov=$usrdir/bin/lcov
|
||||
genhtml=$usrdir/bin/genhtml
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Execute the coverage tests one by one
|
||||
#-------------------------------------------------------------------------------
|
||||
$modules_dir/core/bin/gen_coverage_data.sh
|
||||
$modules_dir/authentication/bin/gen_coverage_data.sh
|
||||
$modules_dir/db/bin/gen_coverage_data.sh
|
||||
$modules_dir/storageClient/bin/gen_coverage_data.sh
|
||||
$modules_dir/eventScheduler/bin/gen_coverage_data.sh
|
||||
$modules_dir/schedulerClient/bin/gen_coverage_data.sh
|
||||
$modules_dir/playlistExecutor/bin/gen_coverage_data.sh
|
||||
$products_dir/scheduler/bin/gen_coverage_data.sh
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Gather all the coverage information into one file
|
||||
# remove references to the tmp directories, and replace them with the module
|
||||
# directories themselves. this way the source files are found easlity by lcov
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "" > $coverage_file
|
||||
cat $core_coverage_file | sed -e "s/core\/tmp\//core\//g" >> $coverage_file
|
||||
cat $authentication_coverage_file | sed -e "s/authentication\/tmp\//authentication\//g" >> $coverage_file
|
||||
cat $db_coverage_file | sed -e "s/db\/tmp\//db\//g" >> $coverage_file
|
||||
cat $storageClient_coverage_file | sed -e "s/storageClient\/tmp\//storageClient\//g" >> $coverage_file
|
||||
cat $eventScheduler_coverage_file | sed -e "s/eventScheduler\/tmp\//eventScheduler\//g" >> $coverage_file
|
||||
cat $schedulerClient_coverage_file | sed -e "s/schedulerClient\/tmp\//schedulerClient\//g" >> $coverage_file
|
||||
cat $playlistExecutor_coverage_file | sed -e "s/playlistExecutor\/tmp\//playlistExecutor\//g" >> $coverage_file
|
||||
cat $scheduler_coverage_file | sed -e "s/scheduler\/tmp\//scheduler\//g" >> $coverage_file
|
||||
|
||||
rm -rf $coverage_report_dir
|
||||
mkdir -p $coverage_report_dir
|
||||
$genhtml -t "$module" -o $coverage_report_dir $coverage_file
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
<?php
|
||||
/*------------------------------------------------------------------------------
|
||||
* This script returns storage XMLRPC root URL
|
||||
*----------------------------------------------------------------------------*/
|
||||
|
||||
header("Content-type: text/plain");
|
||||
require("../conf.php");
|
||||
echo "http://{$CC_CONFIG['storageUrlHost']}:{$CC_CONFIG['storageUrlPort']}".
|
||||
"{$CC_CONFIG['storageUrlPath']}/{$CC_CONFIG['storageXMLRPC']}";
|
||||
?>
|
|
@ -20,11 +20,6 @@
|
|||
# along with Campcaster; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
#
|
||||
# Author : $Author$
|
||||
# Version : $Revision$
|
||||
# Location : $URL$
|
||||
#-------------------------------------------------------------------------------
|
||||
#-------------------------------------------------------------------------------
|
||||
# Run this script to install PEAR packages needed by Campcaster locally
|
||||
# into the Campcaster usr environment.
|
||||
|
|
|
@ -1,323 +0,0 @@
|
|||
#!/bin/bash
|
||||
# install - install a program, script, or datafile
|
||||
|
||||
scriptversion=2005-02-02.21
|
||||
|
||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
||||
# later released in X11R6 (xc/config/util/install.sh) with the
|
||||
# following copyright and license.
|
||||
#
|
||||
# Copyright (C) 1994 X Consortium
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to
|
||||
# deal in the Software without restriction, including without limitation the
|
||||
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
# sell copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
|
||||
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
# Except as contained in this notice, the name of the X Consortium shall not
|
||||
# be used in advertising or otherwise to promote the sale, use or other deal-
|
||||
# ings in this Software without prior written authorization from the X Consor-
|
||||
# tium.
|
||||
#
|
||||
#
|
||||
# FSF changes to this file are in the public domain.
|
||||
#
|
||||
# Calling this script install-sh is preferred over install.sh, to prevent
|
||||
# `make' implicit rules from creating a file called install from it
|
||||
# when there is no Makefile.
|
||||
#
|
||||
# This script is compatible with the BSD install script, but was written
|
||||
# from scratch. It can only install one file at a time, a restriction
|
||||
# shared with many OS's install programs.
|
||||
|
||||
# set DOITPROG to echo to test this script
|
||||
|
||||
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
||||
doit="${DOITPROG-}"
|
||||
|
||||
# put in absolute paths if you don't have them in your path; or use env. vars.
|
||||
|
||||
mvprog="${MVPROG-mv}"
|
||||
cpprog="${CPPROG-cp}"
|
||||
chmodprog="${CHMODPROG-chmod}"
|
||||
chownprog="${CHOWNPROG-chown}"
|
||||
chgrpprog="${CHGRPPROG-chgrp}"
|
||||
stripprog="${STRIPPROG-strip}"
|
||||
rmprog="${RMPROG-rm}"
|
||||
mkdirprog="${MKDIRPROG-mkdir}"
|
||||
|
||||
chmodcmd="$chmodprog 0755"
|
||||
chowncmd=
|
||||
chgrpcmd=
|
||||
stripcmd=
|
||||
rmcmd="$rmprog -f"
|
||||
mvcmd="$mvprog"
|
||||
src=
|
||||
dst=
|
||||
dir_arg=
|
||||
dstarg=
|
||||
no_target_directory=
|
||||
|
||||
usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
|
||||
or: $0 [OPTION]... SRCFILES... DIRECTORY
|
||||
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
|
||||
or: $0 [OPTION]... -d DIRECTORIES...
|
||||
|
||||
In the 1st form, copy SRCFILE to DSTFILE.
|
||||
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
|
||||
In the 4th, create DIRECTORIES.
|
||||
|
||||
Options:
|
||||
-c (ignored)
|
||||
-d create directories instead of installing files.
|
||||
-g GROUP $chgrpprog installed files to GROUP.
|
||||
-m MODE $chmodprog installed files to MODE.
|
||||
-o USER $chownprog installed files to USER.
|
||||
-s $stripprog installed files.
|
||||
-t DIRECTORY install into DIRECTORY.
|
||||
-T report an error if DSTFILE is a directory.
|
||||
--help display this help and exit.
|
||||
--version display version info and exit.
|
||||
|
||||
Environment variables override the default commands:
|
||||
CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
|
||||
"
|
||||
|
||||
while test -n "$1"; do
|
||||
case $1 in
|
||||
-c) shift
|
||||
continue;;
|
||||
|
||||
-d) dir_arg=true
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-g) chgrpcmd="$chgrpprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
--help) echo "$usage"; exit $?;;
|
||||
|
||||
-m) chmodcmd="$chmodprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-o) chowncmd="$chownprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-s) stripcmd=$stripprog
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-t) dstarg=$2
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-T) no_target_directory=true
|
||||
shift
|
||||
continue;;
|
||||
|
||||
--version) echo "$0 $scriptversion"; exit $?;;
|
||||
|
||||
*) # When -d is used, all remaining arguments are directories to create.
|
||||
# When -t is used, the destination is already specified.
|
||||
test -n "$dir_arg$dstarg" && break
|
||||
# Otherwise, the last argument is the destination. Remove it from $@.
|
||||
for arg
|
||||
do
|
||||
if test -n "$dstarg"; then
|
||||
# $@ is not empty: it contains at least $arg.
|
||||
set fnord "$@" "$dstarg"
|
||||
shift # fnord
|
||||
fi
|
||||
shift # arg
|
||||
dstarg=$arg
|
||||
done
|
||||
break;;
|
||||
esac
|
||||
done
|
||||
|
||||
if test -z "$1"; then
|
||||
if test -z "$dir_arg"; then
|
||||
echo "$0: no input file specified." >&2
|
||||
exit 1
|
||||
fi
|
||||
# It's OK to call `install-sh -d' without argument.
|
||||
# This can happen when creating conditional directories.
|
||||
exit 0
|
||||
fi
|
||||
|
||||
for src
|
||||
do
|
||||
# Protect names starting with `-'.
|
||||
case $src in
|
||||
-*) src=./$src ;;
|
||||
esac
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
dst=$src
|
||||
src=
|
||||
|
||||
if test -d "$dst"; then
|
||||
mkdircmd=:
|
||||
chmodcmd=
|
||||
else
|
||||
mkdircmd=$mkdirprog
|
||||
fi
|
||||
else
|
||||
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
|
||||
# might cause directories to be created, which would be especially bad
|
||||
# if $src (and thus $dsttmp) contains '*'.
|
||||
if test ! -f "$src" && test ! -d "$src"; then
|
||||
echo "$0: $src does not exist." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test -z "$dstarg"; then
|
||||
echo "$0: no destination specified." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
dst=$dstarg
|
||||
# Protect names starting with `-'.
|
||||
case $dst in
|
||||
-*) dst=./$dst ;;
|
||||
esac
|
||||
|
||||
# If destination is a directory, append the input filename; won't work
|
||||
# if double slashes aren't ignored.
|
||||
if test -d "$dst"; then
|
||||
if test -n "$no_target_directory"; then
|
||||
echo "$0: $dstarg: Is a directory" >&2
|
||||
exit 1
|
||||
fi
|
||||
dst=$dst/`basename "$src"`
|
||||
fi
|
||||
fi
|
||||
|
||||
# This sed command emulates the dirname command.
|
||||
dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
|
||||
|
||||
# Make sure that the destination directory exists.
|
||||
|
||||
# Skip lots of stat calls in the usual case.
|
||||
if test ! -d "$dstdir"; then
|
||||
defaultIFS='
|
||||
'
|
||||
IFS="${IFS-$defaultIFS}"
|
||||
|
||||
oIFS=$IFS
|
||||
# Some sh's can't handle IFS=/ for some reason.
|
||||
IFS='%'
|
||||
set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
|
||||
shift
|
||||
IFS=$oIFS
|
||||
|
||||
pathcomp=
|
||||
|
||||
while test $# -ne 0 ; do
|
||||
pathcomp=$pathcomp$1
|
||||
shift
|
||||
if test ! -d "$pathcomp"; then
|
||||
$mkdirprog "$pathcomp"
|
||||
# mkdir can fail with a `File exist' error in case several
|
||||
# install-sh are creating the directory concurrently. This
|
||||
# is OK.
|
||||
test -d "$pathcomp" || exit
|
||||
fi
|
||||
pathcomp=$pathcomp/
|
||||
done
|
||||
fi
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
$doit $mkdircmd "$dst" \
|
||||
&& { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
|
||||
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
|
||||
&& { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
|
||||
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
|
||||
|
||||
else
|
||||
dstfile=`basename "$dst"`
|
||||
|
||||
# Make a couple of temp file names in the proper directory.
|
||||
dsttmp=$dstdir/_inst.$$_
|
||||
rmtmp=$dstdir/_rm.$$_
|
||||
|
||||
# Trap to clean up those temp files at exit.
|
||||
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
||||
trap '(exit $?); exit' 1 2 13 15
|
||||
|
||||
# Copy the file name to the temp name.
|
||||
$doit $cpprog "$src" "$dsttmp" &&
|
||||
|
||||
# and set any options; do chmod last to preserve setuid bits.
|
||||
#
|
||||
# If any of these fail, we abort the whole thing. If we want to
|
||||
# ignore errors from any of these, just make sure not to ignore
|
||||
# errors from the above "$doit $cpprog $src $dsttmp" command.
|
||||
#
|
||||
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
|
||||
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
|
||||
&& { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
|
||||
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
{ $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
|
||||
|| {
|
||||
# The rename failed, perhaps because mv can't rename something else
|
||||
# to itself, or perhaps because mv is so ancient that it does not
|
||||
# support -f.
|
||||
|
||||
# Now remove or move aside any old file at destination location.
|
||||
# We try this two ways since rm can't unlink itself on some
|
||||
# systems and the destination file might be busy for other
|
||||
# reasons. In this case, the final cleanup might fail but the new
|
||||
# file should still install successfully.
|
||||
{
|
||||
if test -f "$dstdir/$dstfile"; then
|
||||
$doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
|
||||
|| $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
|
||||
|| {
|
||||
echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
|
||||
(exit 1); exit 1
|
||||
}
|
||||
else
|
||||
:
|
||||
fi
|
||||
} &&
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
|
||||
}
|
||||
}
|
||||
fi || { (exit 1); exit 1; }
|
||||
done
|
||||
|
||||
# The final little trick to "correctly" pass the exit status to the exit trap.
|
||||
{
|
||||
(exit 0); exit 0
|
||||
}
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-end: "$"
|
||||
# End:
|
Loading…
Reference in New Issue