2012-02-14, 00:49
Powderking Wrote:Thanks alot for your reply!
Is it right that running bootstrap isn't necessary anymore?
AFAIK bootstrap normally needs to be done only once (upon your first checkout from github).
Powderking Wrote:Thanks alot for your reply!
Is it right that running bootstrap isn't necessary anymore?
nano xbmc-pvr-install.sh
sh xbmc-pvr-install.sh
#!/bin/bash
##
## xbmc-pvr-install.sh
##
## AUTHOR: sysadmin
## VERSION: 0.2
## DATE: 2012-02-16
## LICENSE: GPL
## WARRANTY: None
##
CPUS=$(cat /proc/cpuinfo | grep -m 1 "cpu cores" | tr -d "cpu cores\t: ")
JOBS=$(($CPUS+1))
echo
echo "Backing up your XBMC folder..."
TIMESTAMP=$(date +%d%m%y%H%M)
cp -a ~/.xbmc ~/xbmc-$TIMESTAMP
echo "Your XBMC folder has been backed up to ~/xbmc-"$TIMESTAMP
read -p "Press [ENTER] to continue or <CTRL>-<C> to NOT delete your XBMC folder..." null
rm -rf ~/.xbmc
echo
echo "Updating system and installing dependencies..."
echo
sudo add-apt-repository ppa:team-xbmc/unstable
sudo add-apt-repository ppa:pulse-eight/libcec
sudo apt-get update
sudo apt-get -y upgrade
sudo apt-get install ccache git
sudo apt-get build-dep xbmc -y
echo
echo "Making ~/src directory and downloading XBMC..."
echo
mkdir ~/src
cd ~/src
git clone https://github.com/tsp/xbmc.git
echo
echo "Building XBMC..."
echo
cd xbmc
./bootstrap
./configure
make --jobs=$JOBS
echo
echo "Installing XBMC..."
echo
sudo make install
sync
echo
echo "Making launch script..."
cd ~
echo "XBMC_HOME=/usr/local/share/xbmc /usr/local/bin/xbmc" > xbmc-pvr
chmod +x xbmc-pvr
echo
echo
echo "Done!"
echo "To run it, type ~/xbmc-pvr"
#!/bin/bash
##
## update-xbmc
##
## AUTHOR: Powderking
## VERSION: 0.1
## DATE: 2012-02-18
## LICENSE: GPL
## WARRANTY: None
##
set -ue
# Set working directory
WorkDir=~/src/xbmc
# Set default configuration parameter
optConfigParams="--enable-vdpau=yes"
#optConfigParams=""
# XBMC user name
usrName=xbmc
# XBMC users backup destination
bakFolder=~/xbmc-usrdata-backup
############################
# Option argument handling #
############################
usageHelp="Usage: ${0##*/} [OPTIONS]"
helpHelp="-h Show help"
initHelp="-d Install dependencies"
bootstrapHelp="-b Bootstrap"
configureHelp="-c CONFIG_PARAM Configure with optional configuration parameter, standard: $optConfigParams)"
installHelp="-i Install (using sudo)"
badOptionHelp="Option not recognised"
printHelpAndExit(){
echo "$usageHelp"
echo "Update XBMC PVR libcmyth branch"
echo
echo "Options:"
# echo " $initHelp"
echo " $bootstrapHelp"
echo " $configureHelp"
echo " $installHelp"
echo " $helpHelp"
exit $1
}
printErrorHelpAndExit(){
echo
echo "$@"
echo
echo
printHelpAndExit 1
}
optInit=false
optBootstrap=false
optConfig=false
optInstall=false
while getopts "hbc:i" optionName; do #TODO: Installing dependencies...
#while getopts "hdbc:i" optionName; do #TODO: Installing dependencies...
case "$optionName" in
h) printHelpAndExit 0;;
d) optInit=true;;
b) optBootstrap=true;;
c) optConfig=true; optConfigParams="$OPTARG";;
i) optInstall=true;;
[?]) printErrorHelpAndExit "$badOptionHelp";;
esac
done
shift $(($OPTIND - 1)) # get rid of the options
if [ $# -ne 0 ]; then
printErrorHelpAndExit "$badOptionHelp"
fi
########
# Main #
########
CPUS=$(cat /proc/cpuinfo | grep -m 1 "cpu cores" | tr -d "cpu cores\t: ")
JOBS=$(($CPUS * 2))
TIMESTAMP=$(date +%Y%m%d_%H%M)
[ ! -d "$bakFolder" ] && mkdir "$bakFolder"
[ ! -d "$WorkDir" ] && mkdir -p "$WorkDir"; cd $WorkDir
if [ $optInit == true ]; then
optBootstrap=true
echo
echo "Installing dependencies..."
echo TODO
fi
echo
echo "Pulling new commits from git..."
git pull origin master
if [[ $(find . -mmin -1 | grep -v ".git" | wc -l) -gt 0 ]]; then
if [ $optBootstrap == true ]; then
optConfig=true
echo
echo "Bootstraping..."
./bootstrap
fi
if [ $optConfig == true ]; then
echo
echo "Configuring... (Using '$optConfigParams')"
./configure "$optConfigParams"
fi
echo
echo "Compiling... (Using '--jobs=$JOBS')"
make --jobs=$JOBS
if [ $optInstall == true ]; then
echo
echo "Backing up XBMC users folder... (/home/"$usrName"/.xbmc => "$bakFolder"/"$usrName"-$TIMESTAMP)"
cp -a /home/"$usrName"/.xbmc "$bakFolder"/"$usrName"-$TIMESTAMP
echo
echo "Installing..."
sudo make install
else
echo
echo "Comilation ok, use '${0##*/} -i' to install."
fi
fi
exit 0
flitter2009 Wrote:...(I'm in xvba land)
[ 97.818] (II) Module amdxmm: vendor="X.Org Foundation"
[ 97.818] compiled for 1.4.99.906, module version = 2.0.0
[ 97.818] (II) Loading extension AMDXVOPL
[ 97.818] (II) Loading extension AMDXVBA
[ 97.818] [- XMM_GLX] [I ]glesxXvInit Configureable RGBOutputColorRange
[ 97.854] (II) fglrx(0): UVD feature is enabled(II) fglrx(0):
xbmc.bin: malloc.c:3096: sYSMALLOc: Assertion `(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 * (sizeof(size_t))) - 1)) & ~((2 * (sizeof(size_t))) - 1))) && ((old_top)->size & 0x1) && ((unsigned long)old_end & pagemask) == 0)' failed.
Aborted (core dumped)
Crash report available at /home/jay/xbmc_crashlog-20120225_153414.log
tsp42 Wrote:Jimmer: Maybe an older version of GCC causes it? The latest update may fix the compile error though.