CC-4147: Make Airtime work nicer with Debian package generation scripts.

-liquidsoap is installed from sofab repo
-make sure new deb-multimedia name takes effect
This commit is contained in:
Martin Konecny 2012-08-03 09:42:41 -04:00
parent 4f1300f58a
commit 3f10f94d8f
4 changed files with 30 additions and 27 deletions

View File

@ -25,9 +25,12 @@ echo "----------------------------------------------------"
dist=`lsb_release -is` dist=`lsb_release -is`
if [ "$dist" = "Debian" ]; then if [ "$dist" = "Debian" ]; then
grep "deb http://www.debian-multimedia.org squeeze main non-free" /etc/apt/sources.list set +e
if [ "$?" -ne "0" ]; then grep -E "deb +http://www.deb-multimedia.org/? squeeze +main +non-free" /etc/apt/sources.list
echo "deb http://www.debian-multimedia.org squeeze main non-free" >> /etc/apt/sources.list returncode=$?
set -e
if [ "$returncode" -ne "0" ]; then
echo "deb http://www.deb-multimedia.org squeeze main non-free" >> /etc/apt/sources.list
fi fi
fi fi
@ -55,6 +58,20 @@ else
apt-get -y install libzend-framework-php apt-get -y install libzend-framework-php
fi fi
#Install Sourcefabric's custom Liquidsoap debian package
codename=`lsb_release -sc`
set +e
grep -E "deb +http://apt.sourcefabric.org/? +$codename +main" /etc/apt/sources.list
returncode=$?
set -e
if [ "$returncode" != "0" ]; then
echo "deb http://apt.sourcefabric.org/ $codename main" >> /etc/apt/sources.list
fi
apt-get install -y --force-yes sourcefabric-keyring
apt-get install -y liquidsoap
# Apache Config File # Apache Config File
echo "----------------------------------------------------" echo "----------------------------------------------------"
echo "2. Apache Config File" echo "2. Apache Config File"

View File

@ -15,6 +15,9 @@ if [[ "$DEB" = "Status: install ok installed" ]]; then
exit 1 exit 1
fi fi
#Update apt sources.list to point to the new deb-multimedia domain.
sed -i s/www.debian-multimedia.org/www.deb-multimedia.org/g /etc/apt/sources.list
showhelp () { showhelp () {
echo "Usage: airtime-install [options] echo "Usage: airtime-install [options]
--help|-h Displays usage information. --help|-h Displays usage information.

View File

@ -83,30 +83,13 @@ try:
print " * Installing Liquidsoap binary" print " * Installing Liquidsoap binary"
binary_path = os.path.join(PATH_LIQUIDSOAP_BIN, "liquidsoap_%s_%s" % (codename, arch)) p = Popen("which liquidsoap", shell=True, stdout=PIPE)
liq_path = p.communicate()[0].strip()
try: if p.returncode == 0:
open(binary_path) os.symlink(liq_path, "/usr/bin/airtime-liquidsoap")
else:
try: print " * Liquidsoap binary not found!"
os.remove("/usr/bin/airtime-liquidsoap")
except OSError, e:
#only get here if it doesn't exist
pass
os.symlink(binary_path, "/usr/bin/airtime-liquidsoap")
except IOError, e:
"""
shutil.copy can throw this exception for two reasons. First reason is that it cannot open the source file.
This is when the liquidsoap file we requested does not exist, and therefore tells the user we don't support
their OS/System architecture. The second reason for this exception is the shutil.copy cannot open the target file.
Since this script is being run as root (and we cannot install to a read-only device), this should never happen. So
it is safe to assume this exception is a result of the first case.
Note: We cannot simply use os.path.exists before this, since it sometimes gives us "false" incorrectly
"""
print "Unsupported OS/system architecture."
print e
sys.exit(1) sys.exit(1)
#initialize init.d scripts #initialize init.d scripts

@ -1 +1 @@
Subproject commit 492242f4bb7367afebbf2f096067cb5a5d3c0449 Subproject commit e62b9e552d7d656cddabfdc3c384c86f8b97fd4a