#!/bin/sh
if (( EUID != 0 )); then
echo "### You must run this stcript with sudo, e.g. 'sudo ./lmceUpgrade.sh'." 1>&2
exit 100
fi
. /usr/pluto/bin/Config_Ops.sh; ConfEval
if [[ "$PK_Device" -eq "1" ]]; then
isCore='Core'
isHeadless=$AutostartMedia
else
isCore='Media Director'
isHeadless=$AutostartMedia
fi
# LET USER CONFIRM UPDATE TO PREVENT ACCIDENTAL UPGRADES ;-)
echo '### WE ARE ABOUT TO UPGRADE LINUXMCE ---> treating device as '$isCore'! <---'
read -p "Continue (y/n)?" CONT
if [ "$CONT" == "y" ]; then
# SET VARIABLES
backSuffix=.1004
sourceBackup=/etc/apt/sources.list${backSuffix}
releaseFrom=lucid
releaseName=precise
mysqlUtf8=default-character-set=utf8
mysqlUtf8Comment='#default-character-set=utf8'
mySqlConf=/etc/mysql/my.cnf${backSuffix}
# MODIFY FILES BECAUSE OF CHANGES IN NEW VERSIONS
## MYSQL
mysqlUtf8='default-'
mysqlUtf8Comment='#default-'
mySqlConf=/etc/mysql/my.cnf${backSuffix}
## MYSQL
echo 'save backup "my.cnf" to ' $mySqlConf '...'
cp /etc/mysql/my.cnf ${mySqlConf}
echo 'Set value in my.cnf from' $mysqlUtf8 'to' $mysqlUtf8Comment
sed -i "s/$mysqlUtf8/$mysqlUtf8Comment/g" /etc/mysql/my.cnf
sed -i "s/$mysqlUtf8/$mysqlUtf8Comment/g" /etc/mysql/conf.d/lmce-my.cnf
### REMOVE Packages/.gz FROM deb-cache
echo 'remove and recreate Packages & Packages.gz in deb-cache'
rm -f /usr/pluto/deb-cache/Package*
touch /usr/pluto/deb-cache/Packages.gz
touch /usr/pluto/deb-cache/Packages
echo '### do-release-upgrade'
do-release-upgrade -f DistUpgradeViewNonInteractive
echo 'Set PK_Distro = 20'
ConfSet PK_Distro 20
## SOURCES.LIST
echo 'save backup "sources.list" to' $sourceBackup '...'
cp /etc/apt/sources.list $sourceBackup
echo 'Set package entries from beta2 to unstable'
sed -i "s/beta2/unstable/g" /etc/apt/sources.list
echo '### RE-ENABLE THIRD PARTY SOURCES'
sed -i "s/# deb/deb/g" /etc/apt/sources.list
## DIFFERENCES BETWEEN CORE AND MD
if [[ "$PK_Device" -eq "1" ]]; then
echo '### '$isCore': FORCE UPDATE & FORCE INSTALL OF pluto-dcerouter'
apt-get update
apt-get -y --force-yes install pluto-dcerouter
find /usr/pluto/diskless -maxdepth 1 -iname [0-9]* | cut -d'/' -f5 | while read each;
do
chmod +r /usr/pluto/diskless/${each}/boot/vmlinu*;
chmod +r /usr/pluto/diskless/${each}/boot/initrd*;
chmod +r /usr/pluto/diskless/${each}/vmlinu*;
chmod +r /usr/pluto/diskless/${each}/initrd*;
echo "This md is located at $each"
done
else
echo '### '$isCore': FORCE INSTALL OF pluto-confirm-dependencies'
apt-get -y --force-yes install pluto-confirm-dependencies
chmod +r /boot/vmlinu*;
chmod +r /boot/initrd*;
fi
echo 'Set AutostartMedia = '$isHeadless
ConfSet AutostartMedia $isHeadless
if [ "$isHeadless" == "0" ]; then
echo 'Disable "kdm" for Headless Core'
update-rc.d -f kdm remove
fi
echo '### CHECKING INSTALLATION ... isCore=' $PK_Device
/usr/pluto/bin/ConfirmDependencies -h localhost -u root -o 20 -f -d $PK_Device install > /usr/pluto/bin/verifyinstallation.sh && chmod +x /usr/pluto/bin/verifyinstallation.sh && /usr/pluto/bin/verifyinstallation.sh
apt-get -y dist-upgrade
echo '### 12.04 INSTALLED? ... reboot and run through AVWizard and say "Hello" to Sarah'
else
echo "### LinuxMCE upgrade canceled!";
fi