Merge branch 'devel' of dev.sourcefabric.org:airtime into devel

This commit is contained in:
Yuchen Wang 2011-11-21 18:04:19 -05:00
commit ac74ca2449
20 changed files with 128 additions and 71 deletions

View file

@ -491,11 +491,11 @@ class ScheduleController extends Zend_Controller_Action
'add_show_genre' => $show->getGenre(), 'add_show_genre' => $show->getGenre(),
'add_show_description' => $show->getDescription())); 'add_show_description' => $show->getDescription()));
$startsDateTime = new DateTime($show->getStartDate()." ".$show->getStartTime(), new DateTimeZone(date_default_timezone_get())); $startsDateTime = new DateTime($show->getStartDate()." ".$show->getStartTime(), new DateTimeZone("UTC"));
$endsDateTime = new DateTime($show->getEndDate()." ".$show->getEndTime(), new DateTimeZone(date_default_timezone_get())); $endsDateTime = new DateTime($show->getEndDate()." ".$show->getEndTime(), new DateTimeZone("UTC"));
//$startsDateTime->setTimezone(new DateTimeZone(date_default_timezone_get())); $startsDateTime->setTimezone(new DateTimeZone(date_default_timezone_get()));
//$endsDateTime->setTimezone(new DateTimeZone(date_default_timezone_get())); $endsDateTime->setTimezone(new DateTimeZone(date_default_timezone_get()));
$formWhen->populate(array('add_show_start_date' => $startsDateTime->format("Y-m-d"), $formWhen->populate(array('add_show_start_date' => $startsDateTime->format("Y-m-d"),
'add_show_start_time' => $startsDateTime->format("H:i"), 'add_show_start_time' => $startsDateTime->format("H:i"),
@ -598,7 +598,9 @@ class ScheduleController extends Zend_Controller_Action
if ($data['add_show_id'] != -1 && !array_key_exists('add_show_start_date', $data)){ if ($data['add_show_id'] != -1 && !array_key_exists('add_show_start_date', $data)){
//show is being updated and changing the start date was disabled, since the //show is being updated and changing the start date was disabled, since the
//array key does not exist. We need to repopulate this entry from the db. //array key does not exist. We need to repopulate this entry from the db.
$data['add_show_start_date'] = $show->getStartDate(); //The start date will be return in UTC time, so lets convert it to local time.
$dt = Application_Model_DateHelper::ConvertToLocalDateTime($show->getStartDate());
$data['add_show_start_date'] = $dt->format("Y-m-d");
$startDateModified = false; $startDateModified = false;
} }

View file

@ -448,7 +448,7 @@ class Application_Model_Show {
} }
/** /**
* Get the start date of the current show. * Get the start date of the current show in UTC timezone.
* *
* @return string * @return string
* The start date in the format YYYY-MM-DD * The start date in the format YYYY-MM-DD
@ -457,38 +457,49 @@ class Application_Model_Show {
global $CC_DBC; global $CC_DBC;
$showId = $this->getId(); $showId = $this->getId();
$sql = "SELECT first_show FROM cc_show_days" $sql = "SELECT first_show, start_time, timezone FROM cc_show_days"
." WHERE show_id = $showId" ." WHERE show_id = $showId"
." ORDER BY first_show"; ." ORDER BY first_show"
." LIMIT 1";
$firstDate = $CC_DBC->GetOne($sql); $rows = $CC_DBC->GetAll($sql);
if (is_null($firstDate)){ if (count($rows) == 0){
return ""; return "";
} else { } else {
return $firstDate; $row = $rows[0];
$dt = new DateTime($row["first_show"]." ".$row["start_time"], new DateTimeZone($row["timezone"]));
$dt->setTimezone(new DateTimeZone("UTC"));
return $dt->format("Y-m-d");
} }
} }
/** /**
* Get the start time of the current show. * Get the start time of the current show in UTC timezone.
* *
* @return string * @return string
* The start time in the format HH:MM:SS * The start time in the format HH:MM
*/ */
public function getStartTime(){ public function getStartTime(){
global $CC_DBC; global $CC_DBC;
$showId = $this->getId(); $showId = $this->getId();
$sql = "SELECT start_time FROM cc_show_days" $sql = "SELECT first_show, start_time, timezone FROM cc_show_days"
." WHERE show_id = $showId"; ." WHERE show_id = $showId"
." ORDER BY first_show"
." LIMIT 1";
$startTime = $CC_DBC->GetOne($sql); $rows = $CC_DBC->GetAll($sql);
if (is_null($startTime)){ if (count($rows) == 0){
return ""; return "";
} else { } else {
return $startTime; $row = $rows[0];
$dt = new DateTime($row["first_show"]." ".$row["start_time"], new DateTimeZone($row["timezone"]));
$dt->setTimezone(new DateTimeZone("UTC"));
return $dt->format("H:i");
} }
} }
@ -540,7 +551,7 @@ class Application_Model_Show {
*/ */
public function isStartDateTimeInPast(){ public function isStartDateTimeInPast(){
$date = new Application_Model_DateHelper; $date = new Application_Model_DateHelper;
$current_timestamp = $date->getTimestamp(); $current_timestamp = $date->getUtcTimestamp();
return ($current_timestamp > ($this->getStartDate()." ".$this->getStartTime())); return ($current_timestamp > ($this->getStartDate()." ".$this->getStartTime()));
} }
@ -619,9 +630,9 @@ class Application_Model_Show {
$sql .= "WHERE show_id = $p_data[add_show_id]"; $sql .= "WHERE show_id = $p_data[add_show_id]";
$CC_DBC->query($sql); $CC_DBC->query($sql);
$oldStartDateTimeEpoch = strtotime($this->getStartDate()." ".$this->getStartTime()); $dtOld = new DateTime($this->getStartDate()." ".$this->getStartTime(), new DateTimeZone("UTC"));
$newStartDateTimeEpoch = strtotime($p_data['add_show_start_date']." ".$p_data['add_show_start_time']); $dtNew = new DateTime($p_data['add_show_start_date']." ".$p_data['add_show_start_time'], new DateTimeZone(date_default_timezone_get()));
$diff = $newStartDateTimeEpoch - $oldStartDateTimeEpoch; $diff = $dtOld->getTimestamp() - $dtNew->getTimestamp();
$sql = "UPDATE cc_show_instances " $sql = "UPDATE cc_show_instances "
."SET starts = starts + INTERVAL '$diff sec', " ."SET starts = starts + INTERVAL '$diff sec', "

View file

@ -2,10 +2,14 @@
<h1>Live stream</h1> <h1>Live stream</h1>
<?php $ids = Application_Model_StreamSetting::getEnabledStreamIds(); ?> <?php $ids = Application_Model_StreamSetting::getEnabledStreamIds(); ?>
<script> <script>
function setjPlayer(url, type){ function setjPlayer(url, type, serverType){
var obj = new Object(); var obj = new Object();
obj[type] = url; obj[type] = url;
if(serverType == 'shoutcast'){
obj[type] = url + ";stream/1";
}
$("#jquery_jplayer_1").jPlayer("destroy"); $("#jquery_jplayer_1").jPlayer("destroy");
$("#jquery_jplayer_1").jPlayer({ $("#jquery_jplayer_1").jPlayer({
ready: function () { ready: function () {
@ -14,7 +18,7 @@ function setjPlayer(url, type){
ended: function (event) { ended: function (event) {
$(this).jPlayer("play"); $(this).jPlayer("play");
}, },
swfPath: "js", swfPath: "/js/jplayer/",
supplied: type, supplied: type,
wmode: "window" wmode: "window"
}); });
@ -26,7 +30,7 @@ $(document).ready(function(){
var elem = $("#combo-box option:selected"); var elem = $("#combo-box option:selected");
console.log(elem); console.log(elem);
setjPlayer(elem.attr("data-url"), elem.attr("data-type")); setjPlayer(elem.attr("data-url"), elem.attr("data-type"), elem.attr("server-type"));
}); });
<?php <?php
@ -35,9 +39,10 @@ $(document).ready(function(){
$streamData = Application_Model_StreamSetting::getStreamData($id); $streamData = Application_Model_StreamSetting::getStreamData($id);
$url = "http://".$streamData["${id}_host"].":".$streamData["${id}_port"]."/".$streamData["${id}_mount"]; $url = "http://".$streamData["${id}_host"].":".$streamData["${id}_port"]."/".$streamData["${id}_mount"];
$type = $streamData["${id}_type"]; $type = $streamData["${id}_type"];
$serverType = $streamData["${id}_output"];
if ($type == "ogg") if ($type == "ogg")
$type = "oga"; $type = "oga";
echo "setjPlayer('$url', '$type');"; echo "setjPlayer('$url', '$type', '$serverType');";
} }
?> ?>
}); });
@ -53,11 +58,12 @@ $(document).ready(function(){
$streamData = Application_Model_StreamSetting::getStreamData($id); $streamData = Application_Model_StreamSetting::getStreamData($id);
$url = "http://".$streamData["${id}_host"].":".$streamData["${id}_port"]."/".$streamData["${id}_mount"]; $url = "http://".$streamData["${id}_host"].":".$streamData["${id}_port"]."/".$streamData["${id}_mount"];
$type = $streamData["${id}_type"]; $type = $streamData["${id}_type"];
$serverType = $streamData["${id}_output"];
if ($type == "ogg") if ($type == "ogg")
$type = "oga"; $type = "oga";
$label = $streamData["${id}_description"]." (".$streamData["${id}_bitrate"]." Kbit/s)"; $label = $streamData["${id}_description"]." (".$streamData["${id}_bitrate"]." Kbit/s)";
echo sprintf("<option class='stream' value='%s' data-url='%s' data-type='%s'>%s</option>", $id, $url, $type, $label); echo sprintf("<option class='stream' value='%s' data-url='%s' data-type='%s' server-type='%s'>%s</option>", $id, $url, $type, $serverType, $label);
} }
?> ?>
</select> </select>

View file

@ -345,7 +345,7 @@ function setAddShowEvents() {
var endTime = $('#add_show_end_time').val().split(':'); var endTime = $('#add_show_end_time').val().split(':');
var endDateTime = new Date(endDate[0], parseInt(endDate[1], 10)-1, endDate[2], endTime[0], endTime[1], 0, 0); var endDateTime = new Date(endDate[0], parseInt(endDate[1], 10)-1, endDate[2], endTime[0], endTime[1], 0, 0);
if(startDateTime.getTime() > endDateTime.getTime()){ if(startDateTime.getTime() >= endDateTime.getTime()){
var duration = $('#add_show_duration').val(); var duration = $('#add_show_duration').val();
// parse duration // parse duration
var time = 0; var time = 0;

View file

@ -399,7 +399,9 @@ function Calendar(element, options, eventSources) {
elementOuterWidth = element.outerWidth(); elementOuterWidth = element.outerWidth();
header.updateTitle(currentView.title); header.updateTitle(currentView.title);
var today = new Date(); //adjusting this date ensures that the "today" button is greyed out on the
//correct day.
var today = adjustDateToServerDate(new Date(), options["serverTimezoneOffset"]);
if (today >= currentView.start && today < currentView.end) { if (today >= currentView.start && today < currentView.end) {
header.disableButton('today'); header.disableButton('today');
}else{ }else{
@ -581,7 +583,8 @@ function Calendar(element, options, eventSources) {
function today() { function today() {
date = new Date(); //adjusting this date ensures that clicking "today" takes us to the correct date.
date = adjustDateToServerDate(new Date(), options["serverTimezoneOffset"]);
renderView(); renderView();
} }

View file

@ -55,7 +55,7 @@ def create_fresh_os(vm_name, debian=False):
download_if_needed(vdi_dir, xml_dir, vm_name, vm_vdi_file, vm_xml_file) download_if_needed(vdi_dir, xml_dir, vm_name, vm_vdi_file, vm_xml_file)
"""
if not os.path.exists("%s/vm_registered"%vdi_dir): if not os.path.exists("%s/vm_registered"%vdi_dir):
local("VBoxManage registervm %s"%os.path.join(xml_dir, vm_xml_file), capture=True) local("VBoxManage registervm %s"%os.path.join(xml_dir, vm_xml_file), capture=True)
local('VBoxManage storagectl "%s" --name "SATA Controller" --add sata'%vm_name) local('VBoxManage storagectl "%s" --name "SATA Controller" --add sata'%vm_name)
@ -63,9 +63,8 @@ def create_fresh_os(vm_name, debian=False):
local("VBoxManage modifyvm %s --snapshotfolder %s"%(vm_name, vdi_snapshot_dir)) local("VBoxManage modifyvm %s --snapshotfolder %s"%(vm_name, vdi_snapshot_dir))
local("VBoxManage snapshot %s take fresh_install"%vm_name) local("VBoxManage snapshot %s take fresh_install"%vm_name)
local("touch %s/vm_registered"%vdi_dir) local("touch %s/vm_registered"%vdi_dir)
"""
#local('VBoxManage snapshot %s restore fresh_install'%vm_name) local('VBoxManage snapshot %s restore fresh_install'%vm_name)
local('VBoxManage startvm %s'%vm_name) local('VBoxManage startvm %s'%vm_name)
print "Please wait while attempting to acquire IP address" print "Please wait while attempting to acquire IP address"
@ -87,8 +86,6 @@ def create_fresh_os(vm_name, debian=False):
if debian: if debian:
append('/etc/apt/sources.list', "deb http://www.debian-multimedia.org squeeze main non-free", use_sudo=True) append('/etc/apt/sources.list', "deb http://www.debian-multimedia.org squeeze main non-free", use_sudo=True)
def ubuntu_lucid_32(fresh_os=True): def ubuntu_lucid_32(fresh_os=True):
if (fresh_os): if (fresh_os):
create_fresh_os('Ubuntu_10.04_32') create_fresh_os('Ubuntu_10.04_32')
@ -97,6 +94,14 @@ def ubuntu_lucid_64(fresh_os=True):
if (fresh_os): if (fresh_os):
create_fresh_os('Ubuntu_10.04_64') create_fresh_os('Ubuntu_10.04_64')
def ubuntu_maverick_32(fresh_os=True):
if (fresh_os):
create_fresh_os('Ubuntu_10.10_32')
def ubuntu_maverick_64(fresh_os=True):
if (fresh_os):
create_fresh_os('Ubuntu_10.10_64')
def ubuntu_natty_32(fresh_os=True): def ubuntu_natty_32(fresh_os=True):
if (fresh_os): if (fresh_os):
create_fresh_os('Ubuntu_11.04_32') create_fresh_os('Ubuntu_11.04_32')
@ -105,6 +110,18 @@ def ubuntu_natty_64(fresh_os=True):
if (fresh_os): if (fresh_os):
create_fresh_os('Ubuntu_11.04_64') create_fresh_os('Ubuntu_11.04_64')
def ubuntu_oneiric_32(fresh_os=True):
if (fresh_os):
create_fresh_os('Ubuntu_11.10_32')
def ubuntu_oneiric_64(fresh_os=True):
if (fresh_os):
create_fresh_os('Ubuntu_11.10_64')
def debian_squeeze_32(fresh_os=True):
if (fresh_os):
create_fresh_os('Debian_Squeeze_32', debian=True)
def debian_squeeze_64(fresh_os=True): def debian_squeeze_64(fresh_os=True):
if (fresh_os): if (fresh_os):
create_fresh_os('Debian_Squeeze_64', debian=True) create_fresh_os('Debian_Squeeze_64', debian=True)
@ -114,13 +131,15 @@ def compile_liquidsoap(filename="liquidsoap"):
sudo('apt-get update') sudo('apt-get update')
sudo('apt-get upgrade -y --force-yes') sudo('apt-get upgrade -y --force-yes')
sudo('sudo apt-get install -y --force-yes libocamlcvs-ocaml-dev ocaml-findlib libao-ocaml-dev libportaudio-ocaml-dev ' + \ sudo('sudo apt-get install -y --force-yes ocaml-findlib libao-ocaml-dev libportaudio-ocaml-dev ' + \
'libmad-ocaml-dev libtaglib-ocaml-dev libalsa-ocaml-dev libtaglib-ocaml-dev libvorbis-ocaml-dev ' + \ 'libmad-ocaml-dev libtaglib-ocaml-dev libalsa-ocaml-dev libtaglib-ocaml-dev libvorbis-ocaml-dev ' + \
'libspeex-dev libspeexdsp-dev speex libladspa-ocaml-dev festival festival-dev ' + \ 'libspeex-dev libspeexdsp-dev speex libladspa-ocaml-dev festival festival-dev ' + \
'libsamplerate-dev libxmlplaylist-ocaml-dev libxmlrpc-light-ocaml-dev libflac-dev ' + \ 'libsamplerate-dev libxmlplaylist-ocaml-dev libxmlrpc-light-ocaml-dev libflac-dev ' + \
'libxml-dom-perl libxml-dom-xpath-perl icecast2 patch autoconf libmp3lame-dev ' + \ 'libxml-dom-perl libxml-dom-xpath-perl icecast2 patch autoconf libmp3lame-dev ' + \
'libcamomile-ocaml-dev libcamlimages-ocaml-dev libtool libpulse-dev libjack-dev camlidl') 'libcamomile-ocaml-dev libcamlimages-ocaml-dev libtool libpulse-dev libjack-dev camlidl')
#libocamlcvs-ocaml-dev
root = '/home/martin/src' root = '/home/martin/src'
run('mkdir -p %s' % root) run('mkdir -p %s' % root)

View file

@ -53,6 +53,13 @@ def download_if_needed(vdi_dir, xml_dir, vm_name, vm_vdi_file, vm_xml_file):
def create_fresh_os(vm_name, update_virtualenv=False, debian=False): def create_fresh_os(vm_name, update_virtualenv=False, debian=False):
"""
remove known_hosts because if two virtual machines get the same ip address,
then they will most likey have a different host key, and ssh will fail, warning
about a possible man in the middle attack.
"""
local("rm ~/.ssh/known_hosts")
vm_vdi_file = '%s.vdi'%vm_name vm_vdi_file = '%s.vdi'%vm_name
vm_xml_file = '%s.xml'%vm_name vm_xml_file = '%s.xml'%vm_name
vdi_dir = os.path.expanduser('~/tmp/vms/%s'%vm_name) vdi_dir = os.path.expanduser('~/tmp/vms/%s'%vm_name)
@ -91,7 +98,12 @@ def create_fresh_os(vm_name, update_virtualenv=False, debian=False):
local("touch %s/vm_registered"%vdi_dir) local("touch %s/vm_registered"%vdi_dir)
local('VBoxManage snapshot %s restore fresh_install'%vm_name) local('VBoxManage snapshot %s restore fresh_install'%vm_name)
local('VBoxManage modifyvm "%s" --bridgeadapter1 eth0'%vm_name)
local('VBoxManage startvm %s'%vm_name) local('VBoxManage startvm %s'%vm_name)
print "Please wait while attempting to acquire IP address" print "Please wait while attempting to acquire IP address"
@ -129,6 +141,14 @@ def ubuntu_lucid_64(fresh_os=True):
if (fresh_os): if (fresh_os):
create_fresh_os('Ubuntu_10.04_64', update_virtualenv=True) create_fresh_os('Ubuntu_10.04_64', update_virtualenv=True)
def ubuntu_maverick_32(fresh_os=True):
if (fresh_os):
create_fresh_os('Ubuntu_10.10_32')
def ubuntu_maverick_64(fresh_os=True):
if (fresh_os):
create_fresh_os('Ubuntu_10.10_64')
def ubuntu_natty_32(fresh_os=True): def ubuntu_natty_32(fresh_os=True):
if (fresh_os): if (fresh_os):
create_fresh_os('Ubuntu_11.04_32') create_fresh_os('Ubuntu_11.04_32')
@ -137,6 +157,14 @@ def ubuntu_natty_64(fresh_os=True):
if (fresh_os): if (fresh_os):
create_fresh_os('Ubuntu_11.04_64') create_fresh_os('Ubuntu_11.04_64')
def ubuntu_oneiric_32(fresh_os=True):
if (fresh_os):
create_fresh_os('Ubuntu_11.10_32')
def ubuntu_oneiric_64(fresh_os=True):
if (fresh_os):
create_fresh_os('Ubuntu_11.10_64')
def debian_squeeze_32(fresh_os=True): def debian_squeeze_32(fresh_os=True):
if (fresh_os): if (fresh_os):
create_fresh_os('Debian_Squeeze_32', debian=True) create_fresh_os('Debian_Squeeze_32', debian=True)

View file

@ -2,10 +2,10 @@
exec 2>&1 exec 2>&1
target="airtime_195_tar" target="airtime_git_branch"
airtime_versions=("" "airtime_182_tar" "airtime_194_tar") #airtime_versions=("" "airtime_182_tar" "airtime_194_tar")
ubuntu_versions=("ubuntu_lucid_32" "ubuntu_natty_32") airtime_versions=("")
ubuntu_versions=("ubuntu_lucid_32" "ubuntu_lucid_64" "ubuntu_maverick_32" "ubuntu_maverick_64" "ubuntu_natty_32" "ubuntu_natty_64" "ubuntu_oneiric_32" "ubuntu_oneiric_64" "debian_squeeze_32" "debian_squeeze_64")
num1=${#ubuntu_versions[@]} num1=${#ubuntu_versions[@]}
num2=${#airtime_versions[@]} num2=${#airtime_versions[@]}

View file

@ -2,15 +2,13 @@
exec 2>&1 exec 2>&1
ubuntu_versions=("ubuntu_lucid_32" "ubuntu_lucid_64" "ubuntu_natty_32" "ubuntu_natty_64") ubuntu_versions=("debian_squeeze_32")
num1=${#ubuntu_versions[@]} num1=${#ubuntu_versions[@]}
mkdir -p ./upgrade_logs2 mkdir -p ./upgrade_logs2
for i in $(seq 0 $(($num1 -1))); for i in $(seq 0 $(($num1 -1)));
do do
fab -f fab_liquidsoap_compile.py ${ubuntu_versions[$i]} compile_liquidsoap:${ubuntu_versions[$i]} shutdown 2>&1 | tee "./upgrade_logs2/${ubuntu_versions[$i]}.log" fab -f fab_liquidsoap_compile.py ${ubuntu_versions[$i]} compile_liquidsoap:filename=${ubuntu_versions[$i]} shutdown 2>&1 | tee "./upgrade_logs2/${ubuntu_versions[$i]}.log"
done done

View file

@ -79,7 +79,7 @@ PATH_INI_FILE = '/etc/airtime/pypo.cfg'
PATH_LIQUIDSOAP_BIN = '/usr/lib/airtime/pypo/bin/liquidsoap_bin' PATH_LIQUIDSOAP_BIN = '/usr/lib/airtime/pypo/bin/liquidsoap_bin'
#any debian/ubuntu codename in this et will automatically use the natty liquidsoap binary #any debian/ubuntu codename in this et will automatically use the natty liquidsoap binary
codenames_for_natty_binary = set(["natty", "oneiric", "precise", "squeeze"]) arch_map = dict({"32bit":"i386", "64bit":"amd64"})
# load config file # load config file
try: try:
@ -91,27 +91,17 @@ except Exception, e:
try: try:
#select appropriate liquidsoap file for given system os/architecture #select appropriate liquidsoap file for given system os/architecture
architecture = platform.architecture()[0] architecture = platform.architecture()[0]
#natty = is_natty() arch = arch_map[architecture]
print "* Detecting OS: ...", print "* Detecting OS: ...",
(codename, fullname) = get_os_codename() (codename, fullname) = get_os_codename()
print " Found %s" % fullname print " Found %s (%s) on %s architecture" % (fullname, codename, arch)
natty = codename in codenames_for_natty_binary
if architecture == '64bit' and natty: print " * Installing Liquidsoap binary"
print " * Installing 64-bit liquidsoap binary (Natty)" if (os.path.exists("%s/liquidsoap_%s_%s"%(PATH_LIQUIDSOAP_BIN, codename, arch))):
shutil.copy("%s/liquidsoap-natty-amd64"%PATH_LIQUIDSOAP_BIN, "%s/liquidsoap"%PATH_LIQUIDSOAP_BIN) shutil.copy("%s/liquidsoap_%s_%s"%(PATH_LIQUIDSOAP_BIN, codename, arch), "%s/liquidsoap"%PATH_LIQUIDSOAP_BIN)
elif architecture == '32bit' and natty:
print " * Installing 32-bit liquidsoap binary (Natty)"
shutil.copy("%s/liquidsoap-natty-i386"%PATH_LIQUIDSOAP_BIN, "%s/liquidsoap"%PATH_LIQUIDSOAP_BIN)
elif architecture == '64bit' and not natty:
print " * Installing 64-bit liquidsoap binary"
shutil.copy("%s/liquidsoap-amd64"%PATH_LIQUIDSOAP_BIN, "%s/liquidsoap"%PATH_LIQUIDSOAP_BIN)
elif architecture == '32bit' and not natty:
print " * Installing 32-bit liquidsoap binary"
shutil.copy("%s/liquidsoap-i386"%PATH_LIQUIDSOAP_BIN, "%s/liquidsoap"%PATH_LIQUIDSOAP_BIN)
else: else:
print "Unknown system architecture." print "Unsupported system architecture."
sys.exit(1) sys.exit(1)
#initialize init.d scripts #initialize init.d scripts

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.