new package: add package 'xbmc-master'

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2014-05-01 18:07:02 +02:00
parent 5d5b8ed758
commit c9e609d351
56 changed files with 9423 additions and 2 deletions

View File

@ -0,0 +1,52 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC 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.
#
# OpenELEC 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 OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="xbmc-master-theme-Confluence"
PKG_VERSION="14-088e9fa"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.xbmc.org"
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS_TARGET="toolchain xbmc-master"
PKG_PRIORITY="optional"
PKG_SECTION="mediacenter"
PKG_SHORTDESC="xbmc-theme-Confluence: XBMC Mediacenter default theme"
PKG_LONGDESC="XBMC Media Center (which was formerly named Xbox Media Center) is a free and open source cross-platform media player and home entertainment system software with a 10-foot user interface designed for the living-room TV. Its graphical user interface allows the user to easily manage video, photos, podcasts, and music from a computer, optical disk, local network, and the internet using a remote control."
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
make_target() {
TexturePacker -input media/ \
-output Textures.xbt \
-dupecheck \
-use_none
}
makeinstall_target() {
mkdir -p $INSTALL/usr/share/xbmc/addons/skin.confluence
cp -R */ $INSTALL/usr/share/xbmc/addons/skin.confluence
cp *.txt $INSTALL/usr/share/xbmc/addons/skin.confluence
cp *.xml $INSTALL/usr/share/xbmc/addons/skin.confluence
cp *.png $INSTALL/usr/share/xbmc/addons/skin.confluence
rm -rf $INSTALL/usr/share/xbmc/addons/skin.confluence/media
mkdir -p $INSTALL/usr/share/xbmc/addons/skin.confluence/media
cp Textures.xbt $INSTALL/usr/share/xbmc/addons/skin.confluence/media
}

View File

@ -0,0 +1,14 @@
--- a/720p/IncludesHomeMenuItems.xml 2012-07-22 21:56:07.000000000 +0400
+++ b/720p/IncludesHomeMenuItems.xml 2012-09-13 23:34:16.975470148 +0400
@@ -189,6 +189,11 @@
<label>5</label>
<onclick>ActivateWindow(Settings)</onclick>
</control>
+ <control type="button" id="90120">
+ <include>ButtonHomeSubCommonValues</include>
+ <label>[COLOR FF757677]Open[/COLOR][COLOR FF8ABEE2]ELEC[/COLOR]</label>
+ <onclick>RunAddon(service.openelec.settings)</onclick>
+ </control>
<control type="button" id="90123">
<include>ButtonHomeSubCommonValues</include>
<label>7</label>

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<advancedsettings>
<showexitbutton>false</showexitbutton>
<cputempcommand>cputemp</cputempcommand>
<gputempcommand>gputemp</gputempcommand>
<video>
<latency>
<delay>0</delay>
<refresh>
<min>23</min>
<max>24</max>
<delay>175</delay>
</refresh>
</latency>
<busydialogdelayms>750</busydialogdelayms>
</video>
<samba>
<clienttimeout>30</clienttimeout>
</samba>
<network>
<readbufferfactor>4.0</readbufferfactor>
</network>
</advancedsettings>

View File

@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8" ?>
<settings>
<section id="system">
<category id="videoscreen">
<group id="1">
<setting id="videoscreen.screen">
<visible>false</visible>
</setting>
</group>
</category>
</section>
<section id="services">
<category id="airplay">
<group id="1">
<setting id="services.airplay">
<default>true</default>
</setting>
</group>
</category>
<category id="zeroconf">
<group id="1">
<setting id="services.zeroconf">
<default>true</default>
</setting>
</group>
</category>
<category id="webserver">
<group id="1">
<setting id="services.webserver">
<default>true</default>
</setting>
</group>
</category>
</section>
<section id="pvr">
<category id="pvrpowermanagement">
<group id="2">
<setting id="pvrpowermanagement.setwakeupcmd" type="string" label="19245" help="">
<default>/usr/bin/setwakeup.sh</default>
</setting>
</group>
</category>
</section>
</settings>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<addon id="os.openelec.tv" version="@OS_VERSION@" provider-name="OpenELEC.tv">
<requires>
<import addon="xbmc.addon" version="12.0"/>
</requires>
</addon>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="repository.openelec.tv"
name="[COLOR FF757677]Open[/COLOR][COLOR FF8ABEE2]ELEC[/COLOR] Mediacenter OS Add-ons"
version="4.0.0"
provider-name="Team [COLOR FF757677]Open[/COLOR][COLOR FF8ABEE2]ELEC[/COLOR]">
<extension point="xbmc.addon.repository"
name="Official OpenELEC.tv Add-on Repository">
<info>@ADDON_URL@/addons.xml</info>
<checksum>@ADDON_URL@/addons.xml.md5</checksum>
<datadir zip="true">@ADDON_URL@</datadir>
</extension>
<extension point="xbmc.addon.metadata">
<summary>Install Add-ons, Plugins, Games and Programs from [COLOR FF757677]Open[/COLOR][COLOR FF8ABEE2]ELEC[/COLOR]</summary>
<description>Download and install Add-ons, Plugins, Games and Programs from the Official [COLOR FF757677]Open[/COLOR][COLOR FF8ABEE2]ELEC[/COLOR] addon repository.[CR] By using the official Repository you will be able to take advantage of our extensive file mirror service to help get you faster downloads from a region close to you.[CR] All addons on this repository have under gone basic testing, if you find a broken or not working addon please report it to [COLOR FF757677]Open[/COLOR][COLOR FF8ABEE2]ELEC[/COLOR] so we can take any action needed.</description>
<platform>all</platform>
</extension>
</addon>

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

View File

@ -0,0 +1 @@
XBMC_DEBUG="--debug"

Binary file not shown.

View File

@ -0,0 +1,512 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC 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.
#
# OpenELEC 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 OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="xbmc-master"
PKG_VERSION="14-088e9fa"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.xbmc.org"
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS_TARGET="toolchain boost Python zlib bzip2 systemd pciutils lzo pcre swig:host libass enca curl rtmpdump fontconfig fribidi gnutls tinyxml libjpeg-turbo libpng tiff freetype jasper libsamplerate libogg libcdio libmodplug faad2 flac libmpeg2 taglib libxml2 libxslt yajl sqlite libvorbis ffmpeg"
PKG_PRIORITY="optional"
PKG_SECTION="mediacenter"
PKG_SHORTDESC="xbmc: XBMC Mediacenter"
PKG_LONGDESC="XBMC Media Center (which was formerly named Xbox Media Center) is a free and open source cross-platform media player and home entertainment system software with a 10-foot user interface designed for the living-room TV. Its graphical user interface allows the user to easily manage video, photos, podcasts, and music from a computer, optical disk, local network, and the internet using a remote control."
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
# for dbus support
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET dbus"
# needed for hosttools (Texturepacker)
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET lzo:host SDL:host SDL_image:host"
if [ "$DISPLAYSERVER" = "x11" ]; then
# for libX11 support
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libX11 libXext"
# for libXrandr support
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libXrandr"
XBMC_XORG="--enable-x11 --enable-xrandr"
else
XBMC_XORG="--disable-x11 --disable-xrandr"
fi
if [ "$OPENGL" = "Mesa" ]; then
# for OpenGL (GLX) support
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET Mesa glu glew"
XBMC_OPENGL="--enable-gl"
else
XBMC_OPENGL="--disable-gl"
fi
if [ "$OPENGLES_SUPPORT" = yes ]; then
# for OpenGL-ES support
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET $OPENGLES"
XBMC_OPENGLES="--enable-gles"
else
XBMC_OPENGLES="--disable-gles"
fi
if [ "$SDL_SUPPORT" = yes ]; then
# for SDL support
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET SDL SDL_image"
XBMC_SDL="--enable-sdl"
else
XBMC_SDL="--disable-sdl"
fi
if [ "$ALSA_SUPPORT" = yes ]; then
# for ALSA support
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET alsa-lib"
XBMC_ALSA="--enable-alsa"
else
XBMC_ALSA="--disable-alsa"
fi
if [ "$PULSEAUDIO_SUPPORT" = yes ]; then
# for PulseAudio support
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET pulseaudio"
XBMC_PULSEAUDIO="--enable-pulse"
else
XBMC_PULSEAUDIO="--disable-pulse"
fi
if [ "$ESPEAK_SUPPORT" = yes ]; then
# for espeak support
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET espeak"
fi
if [ "$CEC_SUPPORT" = yes ]; then
# for CEC support
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libcec"
XBMC_CEC="--enable-libcec"
else
XBMC_CEC="--disable-libcec"
fi
if [ "$XBMC_SCR_RSXS" = yes ]; then
# for RSXS Screensaver support
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libXt libXmu"
XBMC_RSXS="--enable-rsxs"
# fix build of RSXS Screensaver support if not using libiconv
export jm_cv_func_gettimeofday_clobber=no
else
XBMC_RSXS="--disable-rsxs"
fi
if [ "$XBMC_VIS_PROJECTM" = yes ]; then
# for ProjectM Visualisation support
XBMC_PROJECTM="--enable-projectm"
else
XBMC_PROJECTM="--disable-projectm"
fi
if [ "$XBMC_VIS_GOOM" = yes ]; then
# for GOOM Visualisation support
XBMC_GOOM="--enable-goom"
else
XBMC_GOOM="--disable-goom"
fi
if [ "$XBMC_VIS_WAVEFORM" = yes ]; then
# for Waveform Visualisation support
XBMC_WAVEFORM="--enable-waveform"
else
XBMC_WAVEFORM="--disable-waveform"
fi
if [ "$XBMC_VIS_SPECTRUM" = yes ]; then
# for Spectrum Visualisation support
XBMC_SPECTRUM="--enable-spectrum"
else
XBMC_SPECTRUM="--disable-spectrum"
fi
if [ "$XBMC_VIS_FISHBMC" = yes ]; then
# for FishBMC Visualisation support
XBMC_FISHBMC="--enable-fishbmc"
else
XBMC_FISHBMC="--disable-fishbmc"
fi
if [ "$JOYSTICK_SUPPORT" = yes ]; then
# for Joystick support
XBMC_JOYSTICK="--enable-joystick"
else
XBMC_JOYSTICK="--disable-joystick"
fi
if [ "$OPTICAL_DRIVE_SUPPORT" = yes ]; then
XBMC_OPTICAL="--enable-optical-drive"
else
XBMC_OPTICAL="--disable-optical-drive"
fi
if [ "$NONFREE_SUPPORT" = yes ]; then
# for non-free support
XBMC_NONFREE="--enable-non-free"
else
XBMC_NONFREE="--disable-non-free"
fi
if [ "$DVDCSS_SUPPORT" = yes ]; then
XBMC_DVDCSS="--enable-dvdcss"
else
XBMC_DVDCSS="--disable-dvdcss"
fi
if [ "$FAAC_SUPPORT" = yes ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET faac"
fi
if [ "$ENCODER_LAME" = yes ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET lame"
XBMC_LAMEENC="--enable-libmp3lame"
else
XBMC_LAMEENC="--disable-libmp3lame"
fi
if [ "$BLURAY_SUPPORT" = yes ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libbluray"
XBMC_BLURAY="--enable-libbluray"
else
XBMC_BLURAY="--disable-libbluray"
fi
if [ "$AVAHI_DAEMON" = yes ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET avahi"
XBMC_AVAHI="--enable-avahi"
else
XBMC_AVAHI="--disable-avahi"
fi
if [ "$MYSQL_SUPPORT" = yes ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET mysql"
XBMC_MYSQL="--enable-mysql"
else
XBMC_MYSQL="--disable-mysql"
fi
if [ "$AIRPLAY_SUPPORT" = yes ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libplist"
XBMC_AIRPLAY="--enable-airplay"
else
XBMC_AIRPLAY="--disable-airplay"
fi
if [ "$AIRTUNES_SUPPORT" = yes ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libshairplay"
XBMC_AIRTUNES="--enable-airtunes"
else
XBMC_AIRTUNES="--disable-airtunes"
fi
if [ "$NFS_SUPPORT" = yes ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libnfs"
XBMC_NFS="--enable-nfs"
else
XBMC_NFS="--disable-nfs"
fi
if [ "$AFP_SUPPORT" = yes ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET afpfs-ng"
XBMC_AFP="--enable-afpclient"
else
XBMC_AFP="--disable-afpclient"
fi
if [ "$SAMBA_SUPPORT" = yes ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET samba"
XBMC_SAMBA="--enable-samba"
else
XBMC_SAMBA="--disable-samba"
fi
if [ "$WEBSERVER" = yes ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libmicrohttpd"
XBMC_WEBSERVER="--enable-webserver"
else
XBMC_WEBSERVER="--disable-webserver"
fi
if [ "$UPNP_SUPPORT" = yes ]; then
XBMC_UPNP="--enable-upnp"
else
XBMC_UPNP="--disable-upnp"
fi
if [ "$SSHLIB_SUPPORT" = yes ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libssh"
XBMC_SSH="--enable-ssh"
else
XBMC_SSH="--disable-ssh"
fi
if [ ! "$XBMCPLAYER_DRIVER" = default ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET $XBMCPLAYER_DRIVER"
if [ "$XBMCPLAYER_DRIVER" = bcm2835-driver ]; then
XBMC_OPENMAX="--enable-openmax"
XBMC_PLAYER="--enable-player=omxplayer"
XBMC_CODEC="--with-platform=raspberry-pi"
BCM2835_INCLUDES="-I$SYSROOT_PREFIX/usr/include/interface/vcos/pthreads/ \
-I$SYSROOT_PREFIX/usr/include/interface/vmcs_host/linux"
XBMC_CFLAGS="$XBMC_CFLAGS $BCM2835_INCLUDES"
XBMC_CXXFLAGS="$XBMC_CXXFLAGS $BCM2835_INCLUDES"
elif [ "$XBMCPLAYER_DRIVER" = libfslvpuwrap ]; then
XBMC_CODEC="--enable-codec=imxvpu"
else
XBMC_OPENMAX="--disable-openmax"
fi
fi
if [ "$VDPAU" = yes ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libvdpau"
XBMC_VDPAU="--enable-vdpau"
else
XBMC_VDPAU="--disable-vdpau"
fi
if [ "$VAAPI" = yes ]; then
# configure GPU drivers and dependencies:
get_graphicdrivers
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET $LIBVA"
XBMC_VAAPI="--enable-vaapi"
else
XBMC_VAAPI="--disable-vaapi"
fi
if [ "$CRYSTALHD" = yes ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET crystalhd"
XBMC_CRYSTALHD="--enable-crystalhd"
else
XBMC_CRYSTALHD="--disable-crystalhd"
fi
export CXX_FOR_BUILD="$HOST_CXX"
export CC_FOR_BUILD="$HOST_CC"
export CXXFLAGS_FOR_BUILD="$HOST_CXXFLAGS"
export CFLAGS_FOR_BUILD="$HOST_CFLAGS"
export LDFLAGS_FOR_BUILD="$HOST_LDFLAGS"
export PYTHON_VERSION="2.7"
export PYTHON_CPPFLAGS="-I$SYSROOT_PREFIX/usr/include/python$PYTHON_VERSION"
export PYTHON_LDFLAGS="-L$SYSROOT_PREFIX/usr/lib/python$PYTHON_VERSION -lpython$PYTHON_VERSION"
export PYTHON_SITE_PKG="$SYSROOT_PREFIX/usr/lib/python$PYTHON_VERSION/site-packages"
export ac_python_version="$PYTHON_VERSION"
PKG_CONFIGURE_OPTS_TARGET="gl_cv_func_gettimeofday_clobber=no \
ac_cv_lib_bluetooth_hci_devid=no \
--disable-debug \
--disable-optimizations \
$XBMC_OPENGL \
$XBMC_OPENGLES \
$XBMC_SDL \
$XBMC_OPENMAX \
$XBMC_VDPAU \
$XBMC_VAAPI \
$XBMC_CRYSTALHD \
--disable-vtbdecoder \
--disable-tegra \
--disable-profiling \
$XBMC_JOYSTICK \
$XBMC_CEC \
--enable-udev \
--disable-libusb \
$XBMC_GOOM \
$XBMC_RSXS \
$XBMC_PROJECTM \
$XBMC_WAVEFORM \
$XBMC_SPECTRUM \
$XBMC_FISHBMC \
$XBMC_XORG \
--disable-ccache \
$XBMC_ALSA \
$XBMC_PULSEAUDIO \
--enable-rtmp \
$XBMC_SAMBA \
$XBMC_NFS \
$XBMC_AFP \
--enable-libvorbisenc \
--disable-libcap \
$XBMC_LAMEENC \
$XBMC_DVDCSS \
--disable-mid \
--disable-hal \
$XBMC_AVAHI \
$XBMC_UPNP \
$XBMC_MYSQL \
$XBMC_SSH \
$XBMC_AIRPLAY \
$XBMC_AIRTUNES \
$XBMC_NONFREE \
--disable-asap-codec \
$XBMC_WEBSERVER \
$XBMC_OPTICAL \
$XBMC_BLURAY \
--enable-texturepacker \
$XBMC_CODEC \
$XBMC_PLAYER"
pre_build_target() {
# adding fake Makefile for stripped skin
mkdir -p $PKG_BUILD/addons/skin.confluence/media
touch $PKG_BUILD/addons/skin.confluence/media/Makefile.in
# autoreconf
BOOTSTRAP_STANDALONE=1 make -C $PKG_BUILD -f bootstrap.mk
}
pre_configure_target() {
# xbmc fails to build in subdirs
cd $ROOT/$PKG_BUILD
rm -rf .$TARGET_NAME
# xbmc fails to build with LTO optimization if build without GOLD support
[ ! "$GOLD_SUPPORT" = "yes" ] && strip_lto
# Todo: XBMC segfaults on exit when building with LTO support
strip_lto
export CFLAGS="$CFLAGS $XBMC_CFLAGS"
export CXXFLAGS="$CXXFLAGS $XBMC_CXXFLAGS"
export LIBS="$LIBS -lz"
}
make_target() {
# build helpertools for host
make -C tools/depends/native/JsonSchemaBuilder \
CXX="$HOST_CXX" CFLAGS="$HOST_CXXFLAGS" LFLAGS="$HOST_LDFLAGS"
# setup skin dir from default skin
SKIN_DIR="skin.`tolower $SKIN_DEFAULT`"
# setup default skin inside the sources
sed -i -e "s|skin.confluence|$SKIN_DIR|g" $ROOT/$PKG_BUILD/xbmc/settings/Settings.h
make externals
make xbmc.bin
if [ "$DISPLAYSERVER" = "x11" ]; then
make xbmc-xrandr
fi
make -C tools/TexturePacker
cp -PR tools/TexturePacker/TexturePacker $ROOT/$TOOLCHAIN/bin
}
post_makeinstall_target() {
rm -rf $INSTALL/usr/bin/xbmc
rm -rf $INSTALL/usr/bin/xbmc-standalone
rm -rf $INSTALL/usr/lib/xbmc/*.cmake
mkdir -p $INSTALL/usr/lib/xbmc
cp $PKG_DIR/scripts/xbmc-config $INSTALL/usr/lib/xbmc
cp $PKG_DIR/scripts/xbmc-hacks $INSTALL/usr/lib/xbmc
cp $PKG_DIR/scripts/xbmc-sources $INSTALL/usr/lib/xbmc
mkdir -p $INSTALL/usr/lib/openelec
cp $PKG_DIR/scripts/systemd-addon-wrapper $INSTALL/usr/lib/openelec
mkdir -p $INSTALL/usr/bin
cp $PKG_DIR/scripts/cputemp $INSTALL/usr/bin
ln -sf cputemp $INSTALL/usr/bin/gputemp
cp $PKG_DIR/scripts/setwakeup.sh $INSTALL/usr/bin
cp tools/EventClients/Clients/XBMC\ Send/xbmc-send.py $INSTALL/usr/bin/xbmc-send
if [ ! "$DISPLAYSERVER" = "x11" ]; then
rm -rf $INSTALL/usr/lib/xbmc/xbmc-xrandr
fi
if [ ! "$XBMC_SCR_RSXS" = yes ]; then
rm -rf $INSTALL/usr/share/xbmc/addons/screensaver.rsxs.*
fi
if [ ! "$XBMC_VIS_PROJECTM" = yes ]; then
rm -rf $INSTALL/usr/share/xbmc/addons/visualization.projectm
fi
rm -rf $INSTALL/usr/share/applications
rm -rf $INSTALL/usr/share/icons
rm -rf $INSTALL/usr/share/xbmc/addons/repository.pvr-*
rm -rf $INSTALL/usr/share/xbmc/addons/script.module.pysqlite
rm -rf $INSTALL/usr/share/xbmc/addons/script.module.simplejson
rm -rf $INSTALL/usr/share/xbmc/addons/visualization.dxspectrum
rm -rf $INSTALL/usr/share/xbmc/addons/visualization.itunes
rm -rf $INSTALL/usr/share/xbmc/addons/visualization.milkdrop
rm -rf $INSTALL/usr/share/xbmc/addons/service.xbmc.versioncheck
rm -rf $INSTALL/usr/share/xsessions
mkdir -p $INSTALL/usr/share/xbmc/addons
cp -R $PKG_DIR/config/os.openelec.tv $INSTALL/usr/share/xbmc/addons
$SED "s|@OS_VERSION@|$OS_VERSION|g" -i $INSTALL/usr/share/xbmc/addons/os.openelec.tv/addon.xml
cp -R $PKG_DIR/config/repository.openelec.tv $INSTALL/usr/share/xbmc/addons
$SED "s|@ADDON_URL@|$ADDON_URL|g" -i $INSTALL/usr/share/xbmc/addons/repository.openelec.tv/addon.xml
mkdir -p $INSTALL/usr/lib/python"$PYTHON_VERSION"/site-packages/xbmc
cp -R tools/EventClients/lib/python/* $INSTALL/usr/lib/python"$PYTHON_VERSION"/site-packages/xbmc
# install project specific configs
mkdir -p $INSTALL/usr/share/xbmc/config
if [ -f $PROJECT_DIR/$PROJECT/xbmc/guisettings.xml ]; then
cp -R $PROJECT_DIR/$PROJECT/xbmc/guisettings.xml $INSTALL/usr/share/xbmc/config
fi
if [ -f $PROJECT_DIR/$PROJECT/xbmc/sources.xml ]; then
cp -R $PROJECT_DIR/$PROJECT/xbmc/sources.xml $INSTALL/usr/share/xbmc/config
fi
mkdir -p $INSTALL/usr/share/xbmc/system/
if [ -f $PROJECT_DIR/$PROJECT/xbmc/advancedsettings.xml ]; then
cp $PROJECT_DIR/$PROJECT/xbmc/advancedsettings.xml $INSTALL/usr/share/xbmc/system/
else
cp $PKG_DIR/config/advancedsettings.xml $INSTALL/usr/share/xbmc/system/
fi
mkdir -p $INSTALL/usr/share/xbmc/system/settings
if [ -f $PROJECT_DIR/$PROJECT/xbmc/appliance.xml ]; then
cp $PROJECT_DIR/$PROJECT/xbmc/appliance.xml $INSTALL/usr/share/xbmc/system/settings
else
cp $PKG_DIR/config/appliance.xml $INSTALL/usr/share/xbmc/system/settings
fi
if [ "$XBMC_EXTRA_FONTS" = yes ]; then
mkdir -p $INSTALL/usr/share/xbmc/media/Fonts
cp $PKG_DIR/fonts/*.ttf $INSTALL/usr/share/xbmc/media/Fonts
fi
}
post_install() {
# link default.target to xbmc.target
ln -sf xbmc.target $INSTALL/usr/lib/systemd/system/default.target
enable_service xbmc-autostart.service
enable_service xbmc-cleanlogs.service
enable_service xbmc-config.service
enable_service xbmc-hacks.service
enable_service xbmc-sources.service
enable_service xbmc-halt.service
enable_service xbmc-poweroff.service
enable_service xbmc-reboot.service
enable_service xbmc-waitonnetwork.service
enable_service xbmc.service
enable_service xbmc-lirc-suspend.service
}

View File

@ -0,0 +1,73 @@
diff -Naur xbmc-master-14-088e9fa/lib/libdvd/libdvdnav/misc/dvdnav-config2.sh xbmc-master-14-088e9fa.patch/lib/libdvd/libdvdnav/misc/dvdnav-config2.sh
--- xbmc-master-14-088e9fa/lib/libdvd/libdvdnav/misc/dvdnav-config2.sh 2014-05-01 16:53:36.000000000 +0200
+++ xbmc-master-14-088e9fa.patch/lib/libdvd/libdvdnav/misc/dvdnav-config2.sh 2014-05-01 17:54:59.643325427 +0200
@@ -56,17 +56,17 @@
fi
if test "$echo_cflags" = "yes"; then
- echo -I$prefix/include $dvdread_cflags $extracflags $threadcflags
+ echo $dvdread_cflags $extracflags $threadcflags
fi
if test "$echo_minicflags" = "yes"; then
- echo -I$prefix/include -I$prefix/include/dvdnav $extracflags $threadcflags
+ echo $extracflags $threadcflags
fi
if test "$echo_libs" = "yes"; then
- echo -L$libdir -ldvdnav $dvdread_libs $threadlib
+ echo -ldvdnav $dvdread_libs $threadlib
fi
if test "$echo_minilibs" = "yes"; then
- echo -L$libdir -ldvdnavmini $threadlib
+ echo -ldvdnavmini $threadlib
fi
diff -Naur xbmc-master-14-088e9fa/lib/libdvd/libdvdnav/misc/dvdnavmini.pc.in xbmc-master-14-088e9fa.patch/lib/libdvd/libdvdnav/misc/dvdnavmini.pc.in
--- xbmc-master-14-088e9fa/lib/libdvd/libdvdnav/misc/dvdnavmini.pc.in 2014-05-01 16:53:36.000000000 +0200
+++ xbmc-master-14-088e9fa.patch/lib/libdvd/libdvdnav/misc/dvdnavmini.pc.in 2014-05-01 17:56:12.030447794 +0200
@@ -7,5 +7,5 @@
Description: DVD Navigation mini library
Version: @VERSION@
-Cflags: -I${includedir} @DVDREAD_CFLAGS@ @THREAD_CFLAGS@
-Libs: -L${libdir} -ldvdnav @THREAD_LIBS@
+Cflags: @DVDREAD_CFLAGS@ @THREAD_CFLAGS@
+Libs: -ldvdnav @THREAD_LIBS@
diff -Naur xbmc-master-14-088e9fa/lib/libdvd/libdvdnav/misc/dvdnav.pc.in xbmc-master-14-088e9fa.patch/lib/libdvd/libdvdnav/misc/dvdnav.pc.in
--- xbmc-master-14-088e9fa/lib/libdvd/libdvdnav/misc/dvdnav.pc.in 2014-05-01 16:53:36.000000000 +0200
+++ xbmc-master-14-088e9fa.patch/lib/libdvd/libdvdnav/misc/dvdnav.pc.in 2014-05-01 17:55:50.427406667 +0200
@@ -8,5 +8,5 @@
Version: @VERSION@
Requires.private: dvdread >= 4.1.2
-Cflags: -I${includedir} @THREAD_CFLAGS@
-Libs: -L${libdir} -ldvdnav @THREAD_LIBS@
+Cflags: @THREAD_CFLAGS@
+Libs: -ldvdnav @THREAD_LIBS@
diff -Naur xbmc-master-14-088e9fa/lib/libdvd/libdvdread/misc/dvdread-config.sh xbmc-master-14-088e9fa.patch/lib/libdvd/libdvdread/misc/dvdread-config.sh
--- xbmc-master-14-088e9fa/lib/libdvd/libdvdread/misc/dvdread-config.sh 2014-05-01 16:53:36.000000000 +0200
+++ xbmc-master-14-088e9fa.patch/lib/libdvd/libdvdread/misc/dvdread-config.sh 2014-05-01 17:56:55.745553577 +0200
@@ -48,9 +48,9 @@
fi
if test "$echo_cflags" = "yes"; then
- echo -I$prefix/include $extracflags
+ echo $extracflags
fi
if test "$echo_libs" = "yes"; then
- echo -L$libdir $dvdreadlib
+ echo $dvdreadlib
fi
diff -Naur xbmc-master-14-088e9fa/lib/libdvd/libdvdread/misc/dvdread.pc.in xbmc-master-14-088e9fa.patch/lib/libdvd/libdvdread/misc/dvdread.pc.in
--- xbmc-master-14-088e9fa/lib/libdvd/libdvdread/misc/dvdread.pc.in 2014-05-01 16:53:36.000000000 +0200
+++ xbmc-master-14-088e9fa.patch/lib/libdvd/libdvdread/misc/dvdread.pc.in 2014-05-01 17:57:28.731937685 +0200
@@ -7,5 +7,5 @@
Description: Low level DVD access library
Version: @VERSION@
-Cflags: -I${includedir}
-Libs: -L${libdir} -ldvdread
+Cflags: -I.
+Libs: -ldvdread

View File

@ -0,0 +1,12 @@
diff -Naur xbmc-30a9070/system/keymaps/keyboard.xml xbmc-30a9070.patch/system/keymaps/keyboard.xml
--- xbmc-30a9070/system/keymaps/keyboard.xml 2011-07-28 06:20:13.000000000 +0200
+++ xbmc-30a9070.patch/system/keymaps/keyboard.xml 2011-07-28 09:39:57.210973380 +0200
@@ -90,7 +90,7 @@
<numpadseven>Number7</numpadseven>
<numpadeight>Number8</numpadeight>
<numpadnine>Number9</numpadnine>
- <backslash>ToggleFullScreen</backslash>
+ <!-- <backslash>ToggleFullScreen</backslash> -->
<home>FirstPage</home>
<end>LastPage</end>
<!-- Multimedia keyboard keys -->

View File

@ -0,0 +1,61 @@
From 7503fd2355ab44503cf38809c5ba70ef2c0f2144 Mon Sep 17 00:00:00 2001
From: Stefan Saraev <stefan@saraev.ca>
Date: Fri, 10 Jan 2014 19:44:16 +0200
Subject: [PATCH] disable online check
---
xbmc/GUIInfoManager.cpp | 1 -
xbmc/utils/SystemInfo.cpp | 5 +----
xbmc/windows/GUIWindowSystemInfo.cpp | 1 -
3 files changed, 1 insertion(+), 6 deletions(-)
diff --git a/xbmc/GUIInfoManager.cpp b/xbmc/GUIInfoManager.cpp
index 10173ee..70a474a 100644
--- a/xbmc/GUIInfoManager.cpp
+++ b/xbmc/GUIInfoManager.cpp
@@ -271,7 +271,6 @@ const infomap system_labels[] = {{ "hasnetwork", SYSTEM_ETHERNET_LINK_ACT
{ "currentwindow", SYSTEM_CURRENT_WINDOW },
{ "currentcontrol", SYSTEM_CURRENT_CONTROL },
{ "dvdlabel", SYSTEM_DVD_LABEL },
- { "internetstate", SYSTEM_INTERNET_STATE },
{ "kernelversion", SYSTEM_KERNEL_VERSION },
{ "uptime", SYSTEM_UPTIME },
{ "totaluptime", SYSTEM_TOTALUPTIME },
diff --git a/xbmc/utils/SystemInfo.cpp b/xbmc/utils/SystemInfo.cpp
index c77d495..06459dc 100644
--- a/xbmc/utils/SystemInfo.cpp
+++ b/xbmc/utils/SystemInfo.cpp
@@ -72,7 +72,6 @@ bool CSysInfoJob::DoWork()
{
m_info.systemUptime = GetSystemUpTime(false);
m_info.systemTotalUptime = GetSystemUpTime(true);
- m_info.internetState = GetInternetState();
m_info.videoEncoder = GetVideoEncoder();
m_info.cpuFrequency = GetCPUFreqInfo();
m_info.kernelVersion = CSysInfo::GetKernelVersion();
@@ -569,9 +568,7 @@ CStdString CSysInfo::GetKernelVersion()
bool CSysInfo::HasInternet()
{
- if (m_info.internetState != CSysData::UNKNOWN)
- return m_info.internetState == CSysData::CONNECTED;
- return (m_info.internetState = CSysInfoJob::GetInternetState()) == CSysData::CONNECTED;
+ return m_info.internetState == CSysData::UNKNOWN;
}
CStdString CSysInfo::GetHddSpaceInfo(int drive, bool shortText)
diff --git a/xbmc/windows/GUIWindowSystemInfo.cpp b/xbmc/windows/GUIWindowSystemInfo.cpp
index 60aa49d..a0a2e27 100644
--- a/xbmc/windows/GUIWindowSystemInfo.cpp
+++ b/xbmc/windows/GUIWindowSystemInfo.cpp
@@ -126,7 +126,6 @@ void CGUIWindowSystemInfo::FrameMove()
SetControlLabel(i++, "%s: %s", 13160, NETWORK_GATEWAY_ADDRESS);
SetControlLabel(i++, "%s: %s", 13161, NETWORK_DNS1_ADDRESS);
SetControlLabel(i++, "%s: %s", 20307, NETWORK_DNS2_ADDRESS);
- SetControlLabel(i++, "%s %s", 13295, SYSTEM_INTERNET_STATE);
}
else if (m_section == CONTROL_BT_VIDEO)
{
--
1.8.3.2

View File

@ -0,0 +1,39 @@
From 855160db446fe0059f072b207d53c15ba18d952f Mon Sep 17 00:00:00 2001
From: Stefan Saraev <stefan@saraev.ca>
Date: Thu, 17 Apr 2014 12:12:50 +0300
Subject: [PATCH] use udevil to umount
---
xbmc/linux/PosixMountProvider.cpp | 2 +-
xbmc/storage/linux/UDevProvider.cpp | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/xbmc/linux/PosixMountProvider.cpp b/xbmc/linux/PosixMountProvider.cpp
index 2339709..7001563 100644
--- a/xbmc/linux/PosixMountProvider.cpp
+++ b/xbmc/linux/PosixMountProvider.cpp
@@ -131,7 +131,7 @@ bool CPosixMountProvider::Eject(CStdString mountpath)
{
// just go ahead and try to umount the disk
// if it does umount, life is good, if not, no loss.
- std::string cmd = "umount \"" + mountpath + "\"";
+ std::string cmd = "udevil umount \"" + mountpath + "\"";
int status = system(cmd.c_str());
if (status == 0)
diff --git a/xbmc/storage/linux/UDevProvider.cpp b/xbmc/storage/linux/UDevProvider.cpp
index 73aa408..8bd02b6 100644
--- a/xbmc/storage/linux/UDevProvider.cpp
+++ b/xbmc/storage/linux/UDevProvider.cpp
@@ -183,7 +183,7 @@ bool CUDevProvider::Eject(CStdString mountpath)
{
// just go ahead and try to umount the disk
// if it does umount, life is good, if not, no loss.
- std::string cmd = "umount \"" + mountpath + "\"";
+ std::string cmd = "udevil umount \"" + mountpath + "\"";
int status = system(cmd.c_str());
if (status == 0)
--
1.9.1

View File

@ -0,0 +1,18 @@
diff --git a/xbmc/interfaces/python/XBPython.cpp b/xbmc/interfaces/python/XBPython.cpp
index 01a129e..07b4878 100644
--- a/xbmc/interfaces/python/XBPython.cpp
+++ b/xbmc/interfaces/python/XBPython.cpp
@@ -445,10 +445,9 @@ bool XBPython::InitializeEngine()
// at http://docs.python.org/using/cmdline.html#environment-variables
#if !defined(TARGET_WINDOWS) && !defined(TARGET_ANDROID)
- /* PYTHONOPTIMIZE is set off intentionally when using external Python.
- Reason for this is because we cannot be sure what version of Python
- was used to compile the various Python object files (i.e. .pyo,
- .pyc, etc.). */
+ // Required for python to find optimized code (pyo) files
+ setenv("PYTHONOPTIMIZE", "1", 1);
+
// check if we are running as real xbmc.app or just binary
if (!CUtil::GetFrameworksPath(true).empty())
{

View File

@ -0,0 +1,11 @@
diff -Naur xbmc-12.0.7/userdata/RssFeeds.xml xbmc-12.0.7.patch/userdata/RssFeeds.xml
--- xbmc-12.0.7/userdata/RssFeeds.xml 2013-03-15 14:25:26.000000000 +0100
+++ xbmc-12.0.7.patch/userdata/RssFeeds.xml 2013-03-15 14:40:54.695338102 +0100
@@ -3,6 +3,7 @@
<!-- RSS feeds. To have multiple feeds, just add a feed to the set. You can also have multiple sets. !-->
<!-- To use different sets in your skin, each must be called from skin with a unique id. !-->
<set id="1">
+ <feed updateinterval="30">http://feeds.openelec.tv/news</feed>
<feed updateinterval="30">http://feeds.xbmc.org/xbmc</feed>
</set>
</rssfeeds>

View File

@ -0,0 +1,458 @@
From 0c2eaf5082a30fb06bad553775e805a745d59ee2 Mon Sep 17 00:00:00 2001
From: theuni <theuni-nospam@xbmc.org>
Date: Tue, 22 Jan 2013 04:09:07 -0500
Subject: [PATCH] depends: mark our wrapped functions as used
otherwise they get stripped when enabling dead code stripping
---
xbmc/cores/DllLoader/exports/wrapper.c | 138 ++++++++++++++++-----------------
1 file changed, 69 insertions(+), 69 deletions(-)
diff -Naur xbmc-f81d56e/xbmc/cores/DllLoader/exports/wrapper.c xbmc-f81d56e.patch/xbmc/cores/DllLoader/exports/wrapper.c
--- xbmc-f81d56e/xbmc/cores/DllLoader/exports/wrapper.c 2013-05-18 12:30:19.000000000 +0200
+++ xbmc-f81d56e.patch/xbmc/cores/DllLoader/exports/wrapper.c 2013-05-18 16:55:55.222087716 +0200
@@ -115,7 +115,7 @@
int dll_setvbuf(FILE *stream, char *buf, int type, size_t size);
struct mntent *dll_getmntent(FILE *fp);
-void *__wrap_dlopen(const char *filename, int flag)
+__attribute__((used)) void *__wrap_dlopen(const char *filename, int flag)
{
#if defined(TARGET_ANDROID)
return dll_dlopen(filename, flag);
@@ -124,213 +124,213 @@
#endif
}
-FILE *__wrap_popen(const char *command, const char *mode)
+__attribute__((used)) FILE *__wrap_popen(const char *command, const char *mode)
{
return dll_popen(command, mode);
}
-void* __wrap_calloc( size_t num, size_t size )
+__attribute__((used)) void* __wrap_calloc( size_t num, size_t size )
{
return dllcalloc(num, size);
}
-void* __wrap_malloc(size_t size)
+__attribute__((used)) void* __wrap_malloc(size_t size)
{
return dllmalloc(size);
}
-void* __wrap_realloc( void *memblock, size_t size )
+__attribute__((used)) void* __wrap_realloc( void *memblock, size_t size )
{
return dllrealloc(memblock, size);
}
-void __wrap_free( void* pPtr )
+__attribute__((used)) void __wrap_free( void* pPtr )
{
dllfree(pPtr);
}
-int __wrap_open(const char *file, int oflag, ...)
+__attribute__((used)) int __wrap_open(const char *file, int oflag, ...)
{
return dll_open(file, oflag);
}
-int __wrap_open64(const char *file, int oflag, ...)
+__attribute__((used)) int __wrap_open64(const char *file, int oflag, ...)
{
return dll_open(file, oflag);
}
-int __wrap_close(int fd)
+__attribute__((used)) int __wrap_close(int fd)
{
return dll_close(fd);
}
-ssize_t __wrap_write(int fd, const void *buf, size_t count)
+__attribute__((used)) ssize_t __wrap_write(int fd, const void *buf, size_t count)
{
return dll_write(fd, buf, count);
}
-ssize_t __wrap_read(int fd, void *buf, size_t count)
+__attribute__((used)) ssize_t __wrap_read(int fd, void *buf, size_t count)
{
return dll_read(fd, buf, count);
}
-__off_t __wrap_lseek(int fildes, __off_t offset, int whence)
+__attribute__((used)) __off_t __wrap_lseek(int fildes, __off_t offset, int whence)
{
return dll_lseek(fildes, offset, whence);
}
-__off64_t __wrap_lseek64(int fildes, __off64_t offset, int whence)
+__attribute__((used)) __off64_t __wrap_lseek64(int fildes, __off64_t offset, int whence)
{
__off64_t seekRes = dll_lseeki64(fildes, offset, whence);
return seekRes;
}
-int __wrap_fclose(FILE *fp)
+__attribute__((used)) int __wrap_fclose(FILE *fp)
{
return dll_fclose(fp);
}
-int __wrap_ferror(FILE *stream)
+__attribute__((used)) int __wrap_ferror(FILE *stream)
{
return dll_ferror(stream);
}
-void __wrap_clearerr(FILE *stream)
+__attribute__((used)) void __wrap_clearerr(FILE *stream)
{
return dll_clearerr(stream);
}
-int __wrap_feof(FILE *stream)
+__attribute__((used)) int __wrap_feof(FILE *stream)
{
return dll_feof(stream);
}
-int __wrap_fileno(FILE *stream)
+__attribute__((used)) int __wrap_fileno(FILE *stream)
{
return dll_fileno(stream);
}
-FILE *__wrap_fopen(const char *path, const char *mode)
+__attribute__((used)) FILE *__wrap_fopen(const char *path, const char *mode)
{
return dll_fopen(path, mode);
}
-FILE *__wrap_fopen64(const char *path, const char *mode)
+__attribute__((used)) FILE *__wrap_fopen64(const char *path, const char *mode)
{
return dll_fopen(path, mode);
}
-FILE *__wrap_fdopen(int fildes, const char *mode)
+__attribute__((used)) FILE *__wrap_fdopen(int fildes, const char *mode)
{
return dll_fdopen(fildes, mode);
}
-FILE *__wrap_freopen(const char *path, const char *mode, FILE *stream)
+__attribute__((used)) FILE *__wrap_freopen(const char *path, const char *mode, FILE *stream)
{
return dll_freopen(path, mode, stream);
}
-size_t __wrap_fread(void *ptr, size_t size, size_t nmemb, FILE *stream)
+__attribute__((used)) size_t __wrap_fread(void *ptr, size_t size, size_t nmemb, FILE *stream)
{
return dll_fread(ptr, size, nmemb, stream);
}
-size_t __wrap_fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)
+__attribute__((used)) size_t __wrap_fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)
{
return dll_fwrite(ptr, size, nmemb, stream);
}
-int __wrap_fflush(FILE *stream)
+__attribute__((used)) int __wrap_fflush(FILE *stream)
{
return dll_fflush(stream);
}
-int __wrap_fputc(int c, FILE *stream)
+__attribute__((used)) int __wrap_fputc(int c, FILE *stream)
{
return dll_fputc(c, stream);
}
-int __wrap_fputs(const char *s, FILE *stream)
+__attribute__((used)) int __wrap_fputs(const char *s, FILE *stream)
{
return dll_fputs(s, stream);
}
-int __wrap__IO_putc(int c, FILE *stream)
+__attribute__((used)) int __wrap__IO_putc(int c, FILE *stream)
{
return dll_putc(c, stream);
}
-int __wrap_fseek(FILE *stream, long offset, int whence)
+__attribute__((used)) int __wrap_fseek(FILE *stream, long offset, int whence)
{
return dll_fseek(stream, offset, whence);
}
-int __wrap_fseeko64(FILE *stream, off64_t offset, int whence)
+__attribute__((used)) int __wrap_fseeko64(FILE *stream, off64_t offset, int whence)
{
return dll_fseek64(stream, offset, whence);
}
-long __wrap_ftell(FILE *stream)
+__attribute__((used)) long __wrap_ftell(FILE *stream)
{
return dll_ftell(stream);
}
-off64_t __wrap_ftello64(FILE *stream)
+__attribute__((used)) off64_t __wrap_ftello64(FILE *stream)
{
return dll_ftell64(stream);
}
-void __wrap_rewind(FILE *stream)
+__attribute__((used)) void __wrap_rewind(FILE *stream)
{
dll_rewind(stream);
}
-int __wrap_fgetpos(FILE *stream, fpos_t *pos)
+__attribute__((used)) int __wrap_fgetpos(FILE *stream, fpos_t *pos)
{
return dll_fgetpos(stream, pos);
}
-int __wrap_fgetpos64(FILE *stream, fpos64_t *pos)
+__attribute__((used)) int __wrap_fgetpos64(FILE *stream, fpos64_t *pos)
{
return dll_fgetpos64(stream, pos);
}
-int __wrap_fsetpos(FILE *stream, fpos_t *pos)
+__attribute__((used)) int __wrap_fsetpos(FILE *stream, fpos_t *pos)
{
return dll_fsetpos(stream, pos);
}
-int __wrap_fsetpos64(FILE *stream, fpos64_t *pos)
+__attribute__((used)) int __wrap_fsetpos64(FILE *stream, fpos64_t *pos)
{
return dll_fsetpos64(stream, pos);
}
-DIR * __wrap_opendir(const char *name)
+__attribute__((used)) DIR * __wrap_opendir(const char *name)
{
return dll_opendir(name);
}
-struct dirent * __wrap_readdir(DIR* dirp)
+__attribute__((used)) struct dirent * __wrap_readdir(DIR* dirp)
{
return dll_readdir(dirp);
}
-struct dirent * __wrap_readdir64(DIR* dirp)
+__attribute__((used)) struct dirent * __wrap_readdir64(DIR* dirp)
{
return dll_readdir(dirp);
}
-int __wrap_closedir(DIR* dirp)
+__attribute__((used)) int __wrap_closedir(DIR* dirp)
{
return dll_closedir(dirp);
}
-void __wrap_rewinddir(DIR* dirp)
+__attribute__((used)) void __wrap_rewinddir(DIR* dirp)
{
dll_rewinddir(dirp);
}
-int __wrap_fprintf(FILE *stream, const char *format, ...)
+__attribute__((used)) int __wrap_fprintf(FILE *stream, const char *format, ...)
{
int res;
va_list va;
@@ -340,12 +340,12 @@
return res;
}
-int __wrap_vfprintf(FILE *stream, const char *format, va_list ap)
+__attribute__((used)) int __wrap_vfprintf(FILE *stream, const char *format, va_list ap)
{
return dll_vfprintf(stream, format, ap);
}
-int __wrap_printf(const char *format, ...)
+__attribute__((used)) int __wrap_printf(const char *format, ...)
{
int res;
va_list va;
@@ -355,42 +355,42 @@
return res;
}
-int __wrap_fgetc(FILE *stream)
+__attribute__((used)) int __wrap_fgetc(FILE *stream)
{
return dll_fgetc(stream);
}
-char *__wrap_fgets(char *s, int size, FILE *stream)
+__attribute__((used)) char *__wrap_fgets(char *s, int size, FILE *stream)
{
return dll_fgets(s, size, stream);
}
-int __wrap__IO_getc(FILE *stream)
+__attribute__((used)) int __wrap__IO_getc(FILE *stream)
{
return dll_getc(stream);
}
-int __wrap__IO_getc_unlocked(FILE *stream)
+__attribute__((used)) int __wrap__IO_getc_unlocked(FILE *stream)
{
return dll_getc(stream);
}
-int __wrap_getc_unlocked(FILE *stream)
+__attribute__((used)) int __wrap_getc_unlocked(FILE *stream)
{
return dll_getc(stream);
}
-int __wrap_ungetc(int c, FILE *stream)
+__attribute__((used)) int __wrap_ungetc(int c, FILE *stream)
{
return dll_ungetc(c, stream);
}
-int __wrap_getc(FILE *stream)
+__attribute__((used)) int __wrap_getc(FILE *stream)
{
return dll_getc(stream);
}
-int __wrap_ioctl(int d, unsigned long int request, ...)
+__attribute__((used)) int __wrap_ioctl(int d, unsigned long int request, ...)
{
int res;
va_list va;
@@ -400,57 +400,57 @@
return res;
}
-int __wrap__stat(const char *path, struct _stat *buffer)
+__attribute__((used)) int __wrap__stat(const char *path, struct _stat *buffer)
{
return dll_stat(path, buffer);
}
-int __wrap_stat(const char *path, struct _stat *buffer)
+__attribute__((used)) int __wrap_stat(const char *path, struct _stat *buffer)
{
return dll_stat(path, buffer);
}
-int __wrap___xstat64(int __ver, const char *__filename, struct stat64 *__stat_buf)
+__attribute__((used)) int __wrap___xstat64(int __ver, const char *__filename, struct stat64 *__stat_buf)
{
return dll_stat64(__filename, __stat_buf);
}
-int __wrap___lxstat64(int __ver, const char *__filename, struct stat64 *__stat_buf)
+__attribute__((used)) int __wrap___lxstat64(int __ver, const char *__filename, struct stat64 *__stat_buf)
{
return dll_stat64(__filename, __stat_buf);
}
-void __wrap_flockfile(FILE *file)
+__attribute__((used)) void __wrap_flockfile(FILE *file)
{
dll_flockfile(file);
}
-int __wrap_ftrylockfile(FILE *file)
+__attribute__((used)) int __wrap_ftrylockfile(FILE *file)
{
return dll_ftrylockfile(file);
}
-void __wrap_funlockfile(FILE *file)
+__attribute__((used)) void __wrap_funlockfile(FILE *file)
{
dll_funlockfile(file);
}
-int __wrap___fxstat64(int ver, int fd, struct stat64 *buf)
+__attribute__((used)) int __wrap___fxstat64(int ver, int fd, struct stat64 *buf)
{
return dll_fstat64(fd, buf);
}
-int __wrap_fstat(int fd, struct _stat *buf)
+__attribute__((used)) int __wrap_fstat(int fd, struct _stat *buf)
{
return dll_fstat(fd, buf);
}
-int __wrap_setvbuf(FILE *stream, char *buf, int type, size_t size)
+__attribute__((used)) int __wrap_setvbuf(FILE *stream, char *buf, int type, size_t size)
{
return dll_setvbuf(stream, buf, type, size);
}
-struct mntent *__wrap_getmntent(FILE *fp)
+__attribute__((used)) struct mntent *__wrap_getmntent(FILE *fp)
{
#ifdef _LINUX
return dll_getmntent(fp);
@@ -464,12 +464,12 @@
// thing to actually call our wrapped functions.
#if _FORTIFY_SOURCE > 1
-size_t __wrap___fread_chk(void * ptr, size_t ptrlen, size_t size, size_t n, FILE * stream)
+__attribute__((used)) size_t __wrap___fread_chk(void * ptr, size_t ptrlen, size_t size, size_t n, FILE * stream)
{
return dll_fread(ptr, size, n, stream);
}
-int __wrap___printf_chk(int flag, const char *format, ...)
+__attribute__((used)) int __wrap___printf_chk(int flag, const char *format, ...)
{
int res;
va_list va;
@@ -479,12 +479,12 @@
return res;
}
-int __wrap___vfprintf_chk(FILE* stream, int flag, const char *format, _G_va_list ap)
+__attribute__((used)) int __wrap___vfprintf_chk(FILE* stream, int flag, const char *format, _G_va_list ap)
{
return dll_vfprintf(stream, format, ap);
}
-int __wrap___fprintf_chk(FILE * stream, int flag, const char *format, ...)
+__attribute__((used)) int __wrap___fprintf_chk(FILE * stream, int flag, const char *format, ...)
{
int res;
va_list va;
@@ -494,12 +494,12 @@
return res;
}
-char *__wrap___fgets_chk(char *s, size_t size, int n, FILE *stream)
+__attribute__((used)) char *__wrap___fgets_chk(char *s, size_t size, int n, FILE *stream)
{
return dll_fgets(s, n, stream);
}
-size_t __wrap___read_chk(int fd, void *buf, size_t nbytes, size_t buflen)
+__attribute__((used)) size_t __wrap___read_chk(int fd, void *buf, size_t nbytes, size_t buflen)
{
return dll_read(fd, buf, nbytes);
}

View File

@ -0,0 +1,29 @@
From 4f6188bc2bcee52ab3a150fff336b58c11f8928a Mon Sep 17 00:00:00 2001
From: Stefan Saraev <stefan@saraev.ca>
Date: Sat, 22 Mar 2014 22:18:28 +0200
Subject: [PATCH] dont set _NET_WM_STATE_FULLSCREEN
---
xbmc/windowing/X11/WinSystemX11.cpp | 6 ------
1 files changed, 0 insertions(+), 6 deletions(-)
diff --git a/xbmc/windowing/X11/WinSystemX11.cpp b/xbmc/windowing/X11/WinSystemX11.cpp
index c95f4ec..d12e050 100644
--- a/xbmc/windowing/X11/WinSystemX11.cpp
+++ b/xbmc/windowing/X11/WinSystemX11.cpp
@@ -903,12 +903,6 @@ bool CWinSystemX11::SetWindow(int width, int height, bool fullscreen, const std:
InputOutput, vi->visual,
mask, &swa);
- if (fullscreen && hasWM)
- {
- Atom fs = XInternAtom(m_dpy, "_NET_WM_STATE_FULLSCREEN", True);
- XChangeProperty(m_dpy, m_mainWindow, XInternAtom(m_dpy, "_NET_WM_STATE", True), XA_ATOM, 32, PropModeReplace, (unsigned char *) &fs, 1);
- }
-
// define invisible cursor
Pixmap bitmapNoData;
XColor black;
--
1.7.2.5

View File

@ -0,0 +1,18 @@
commit 17807066bc04cd28bba89fd176d4d0f69ead9728
Author: Stefan Saraev <stefan@saraev.ca>
Date: Sat Oct 12 16:18:50 2013 +0300
disable minimize
diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
index b5d40c0..18bea9d 100644
--- a/xbmc/Application.cpp
+++ b/xbmc/Application.cpp
@@ -5448,7 +5448,6 @@ bool CApplication::SwitchToFullScreen()
void CApplication::Minimize()
{
- g_Windowing.Minimize();
}
PLAYERCOREID CApplication::GetCurrentPlayer()

View File

@ -0,0 +1,26 @@
From 25be1b385303a8114d7e227ffab52a22de42ccd1 Mon Sep 17 00:00:00 2001
From: Stefan Saraev <stefan@saraev.ca>
Date: Tue, 26 Nov 2013 20:53:08 +0200
Subject: [PATCH] run tzdata-setup on timezone change
---
xbmc/linux/LinuxTimezone.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/xbmc/linux/LinuxTimezone.cpp b/xbmc/linux/LinuxTimezone.cpp
index be7bce6..4000181 100644
--- a/xbmc/linux/LinuxTimezone.cpp
+++ b/xbmc/linux/LinuxTimezone.cpp
@@ -158,6 +158,9 @@ void CLinuxTimezone::OnSettingChanged(const CSetting *setting)
const std::string &settingId = setting->GetId();
if (settingId == "locale.timezone")
{
+ const std::string cmd = std::string("sh /usr/lib/openelec/tzdata-setup ") + ((CSettingString*)setting)->GetValue().c_str();
+ system(cmd.c_str());
+
SetTimezone(((CSettingString*)setting)->GetValue());
CDateTime::ResetTimezoneBias();
--
1.8.3.2

View File

@ -0,0 +1,97 @@
From 9c1dea43c9b9b66c48d057d3c0e44cd4a807e4dc Mon Sep 17 00:00:00 2001
From: Stefan Saraev <stefan@saraev.ca>
Date: Fri, 20 Dec 2013 00:36:34 +0200
Subject: [PATCH] service addons: use a wrapper to setup systemd
---
xbmc/addons/AddonDatabase.cpp | 3 +++
xbmc/addons/AddonInstaller.cpp | 10 ++++++++++
xbmc/addons/AddonInstaller.h | 2 ++
3 files changed, 15 insertions(+)
diff --git a/xbmc/addons/AddonDatabase.cpp b/xbmc/addons/AddonDatabase.cpp
index 4202363..105749f 100644
--- a/xbmc/addons/AddonDatabase.cpp
+++ b/xbmc/addons/AddonDatabase.cpp
@@ -20,6 +20,7 @@
#include "AddonDatabase.h"
#include "addons/AddonManager.h"
+#include "addons/AddonInstaller.h"
#include "utils/log.h"
#include "utils/Variant.h"
#include "utils/StringUtils.h"
@@ -581,6 +582,7 @@ bool CAddonDatabase::DisableAddon(const CStdString &addonID, bool disable /* = t
boost::shared_ptr<CService> service = boost::dynamic_pointer_cast<CService>(addon);
if (service)
service->Stop();
+ CAddonInstaller::Get().CallOEWrapper(addonID, true);
}
// restart the pvr manager when disabling a pvr add-on with the pvr manager enabled
else if (CAddonMgr::Get().GetAddon(addonID, addon, ADDON_PVRDLL, false) && addon &&
@@ -601,6 +603,7 @@ bool CAddonDatabase::DisableAddon(const CStdString &addonID, bool disable /* = t
// If the addon is a service, start it
if (CAddonMgr::Get().GetAddon(addonID, addon, ADDON_SERVICE, false) && addon && disabled)
{
+ CAddonInstaller::Get().CallOEWrapper(addonID, false);
boost::shared_ptr<CService> service = boost::dynamic_pointer_cast<CService>(addon);
if (service)
service->Start();
diff --git a/xbmc/addons/AddonInstaller.cpp b/xbmc/addons/AddonInstaller.cpp
index 8c9f241..d2f4610 100644
--- a/xbmc/addons/AddonInstaller.cpp
+++ b/xbmc/addons/AddonInstaller.cpp
@@ -70,6 +70,13 @@ CAddonInstaller &CAddonInstaller::Get()
return addonInstaller;
}
+void CAddonInstaller::CallOEWrapper(const std::string& ID, bool disable)
+{
+ char cmd[255];
+ snprintf(cmd, sizeof(cmd), "/usr/lib/openelec/systemd-addon-wrapper %s %d", ID.c_str(), disable);
+ system(cmd);
+}
+
void CAddonInstaller::OnJobComplete(unsigned int jobID, bool success, CJob* job)
{
if (success)
@@ -586,6 +593,7 @@ bool CAddonInstallJob::OnPreInstall()
boost::shared_ptr<CService> service = boost::dynamic_pointer_cast<CService>(addon);
if (service)
service->Stop();
+ CAddonInstaller::Get().CallOEWrapper(m_addon->ID(), true);
CAddonMgr::Get().RemoveAddon(m_addon->ID()); // remove it
return running;
}
@@ -713,6 +721,7 @@ void CAddonInstallJob::OnPostInstall(bool reloadAddon)
AddonPtr addon;
CAddonMgr::Get().GetAddon(m_addon->ID(), addon);
boost::shared_ptr<CService> service = boost::dynamic_pointer_cast<CService>(addon);
+ CAddonInstaller::Get().CallOEWrapper(m_addon->ID(), false);
if (service)
service->Start();
}
@@ -794,6 +803,7 @@ bool CAddonUnInstallJob::DoWork()
boost::shared_ptr<CService> service = boost::dynamic_pointer_cast<CService>(m_addon);
if (service)
service->Stop();
+ CAddonInstaller::Get().CallOEWrapper(m_addon->ID(), true);
}
AddonPtr repoPtr = CAddonInstallJob::GetRepoForAddon(m_addon);
diff --git a/xbmc/addons/AddonInstaller.h b/xbmc/addons/AddonInstaller.h
index 39cab93..2938c7f 100644
--- a/xbmc/addons/AddonInstaller.h
+++ b/xbmc/addons/AddonInstaller.h
@@ -29,6 +29,8 @@ class CAddonInstaller : public IJobCallback
public:
static CAddonInstaller &Get();
+ void CallOEWrapper(const std::string& ID, bool disable);
+
bool IsDownloading() const;
void GetInstallList(ADDON::VECADDONS &addons) const;
bool GetProgress(const CStdString &addonID, unsigned int &percent) const;
--
1.8.3.2

View File

@ -0,0 +1,62 @@
From 6a926768eba981c6498f852fe26dfa6644da82ac Mon Sep 17 00:00:00 2001
From: "Chris \"Koying\" Browet" <cbro@semperpax.com>
Date: Wed, 23 Apr 2014 16:33:19 +0200
Subject: [PATCH] FIX: [linux] fix & optimize input device checking
---
xbmc/input/linux/LinuxInputDevices.cpp | 12 +++++++++++-
xbmc/input/linux/LinuxInputDevices.h | 1 +
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/xbmc/input/linux/LinuxInputDevices.cpp b/xbmc/input/linux/LinuxInputDevices.cpp
index 4b642ae..f11ec01 100644
--- a/xbmc/input/linux/LinuxInputDevices.cpp
+++ b/xbmc/input/linux/LinuxInputDevices.cpp
@@ -936,6 +936,11 @@ char* CLinuxInputDevice::GetDeviceName()
return m_deviceName;
}
+std::string CLinuxInputDevice::GetFileName()
+{
+ return m_fileName;
+}
+
bool CLinuxInputDevice::IsUnplugged()
{
return m_bUnplugged;
@@ -945,6 +950,11 @@ bool CLinuxInputDevices::CheckDevice(const char *device)
{
int fd;
+ // Does the device exists?
+ struct stat buffer;
+ if (stat(device, &buffer) != 0)
+ return false;
+
/* Check if we are able to open the device */
fd = open(device, O_RDWR);
if (fd < 0)
@@ -1016,7 +1026,7 @@ void CLinuxInputDevices::CheckHotplugged()
for (size_t j = 0; j < m_devices.size(); j++)
{
- if (strcmp(m_devices[j]->GetDeviceName(),buf) == 0)
+ if (m_devices[j]->GetFileName().compare(buf) == 0)
{
ispresent = true;
break;
diff --git a/xbmc/input/linux/LinuxInputDevices.h b/xbmc/input/linux/LinuxInputDevices.h
index c385ed7..a406d9c 100644
--- a/xbmc/input/linux/LinuxInputDevices.h
+++ b/xbmc/input/linux/LinuxInputDevices.h
@@ -42,6 +42,7 @@ class CLinuxInputDevice
~CLinuxInputDevice();
XBMC_Event ReadEvent();
char* GetDeviceName();
+ std::string GetFileName();
bool IsUnplugged();
private:
--
1.9.1

View File

@ -0,0 +1,31 @@
From 3fae42dcad347a3a3b6d1a2ed0ba8c0d7f172de0 Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de>
Date: Wed, 30 Apr 2014 15:29:51 +0200
Subject: [PATCH] paplayer: dvdplayercodec - check if seek is possible before
trying to seek
---
xbmc/cores/paplayer/DVDPlayerCodec.cpp | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/xbmc/cores/paplayer/DVDPlayerCodec.cpp b/xbmc/cores/paplayer/DVDPlayerCodec.cpp
index c60abc8..89e9dbe 100644
--- a/xbmc/cores/paplayer/DVDPlayerCodec.cpp
+++ b/xbmc/cores/paplayer/DVDPlayerCodec.cpp
@@ -202,8 +202,11 @@ bool DVDPlayerCodec::Init(const CStdString &strFile, unsigned int filecache)
}
else
{
- m_pInputStream->Seek(0, SEEK_SET);
- m_pDemuxer->Reset();
+ if (m_pInputStream->Seek(0, SEEK_POSSIBLE))
+ {
+ m_pInputStream->Seek(0, SEEK_SET);
+ m_pDemuxer->Reset();
+ }
m_bCanSeek = false;
}
--
1.9.1

View File

@ -0,0 +1,12 @@
diff -Naur xbmc-13.alpha-536cf62/system/settings/settings.xml xbmc-13.alpha-536cf62.patch/system/settings/settings.xml
--- xbmc-13.alpha-536cf62/system/settings/settings.xml 2014-01-29 18:31:46.000000000 +0100
+++ xbmc-13.alpha-536cf62.patch/system/settings/settings.xml 2014-01-31 13:12:46.789297639 +0100
@@ -91,7 +91,7 @@
</group>
<group id="2">
<setting id="lookandfeel.enablerssfeeds" type="boolean" label="13305" help="36111">
- <level>1</level>
+ <level>0</level>
<default>true</default>
<control type="toggle" />
</setting>

View File

@ -0,0 +1,29 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC 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.
#
# OpenELEC 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 OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
# PATH
for addon in /storage/.xbmc/addons/*/bin /usr/lib/xbmc/addons/*/bin; do
[ -d "$addon" ] && PATH="$PATH:$addon"
done
export PATH
# LD_LIBRARY_PATH
for addon in /storage/.xbmc/addons/*/lib /usr/lib/xbmc/addons/*/lib; do
[ -d "$addon" ] && LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$addon"
done
export LD_LIBRARY_PATH

View File

@ -0,0 +1,40 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC 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.
#
# OpenELEC 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 OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
oe_setup_addon() {
if [ ! -z $1 ] ; then
DEF="/storage/.xbmc/addons/$1/settings-default.xml"
CUR="/storage/.xbmc/userdata/addon_data/$1/settings.xml"
# copy defaults
if [ -f "$DEF" -a ! -f "$CUR" ] ; then
cp "$DEF" "$CUR"
fi
# parse config
[ -f "$DEF" ] && eval $(cat "$DEF" | awk -F\" '{print $2"=\""$4"\""}' | sed '/^=/d')
[ -f "$CUR" ] && eval $(cat "$CUR" | awk -F\" '{print $2"=\""$4"\""}' | sed '/^=/d')
# export some useful variables
ADDON_DIR="$HOME/.xbmc/addons/$1"
ADDON_HOME="$HOME/.xbmc/userdata/addon_data/$1"
ADDON_LOG_FILE="$ADDON_HOME/service.log"
[ ! -d $ADDON_HOME ] && mkdir -p $ADDON_HOME
fi
}

View File

@ -0,0 +1,67 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC 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.
#
# OpenELEC 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 OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
# inspired by
# https://github.com/xtranophilist/gnome-shell-extension-cpu-temperature/blob/master/extension.js
TEMP=0
if [ $(basename "$0") = "gputemp" -o "$1" = "gpu" ]; then
if which lspci >/dev/null; then
if lspci -n | grep 0300 | grep -q 10de; then
[ -x /usr/bin/nvidia-smi ] && TEMP=`/usr/bin/nvidia-smi -q -x | grep 'gpu_temp' | awk '{ print $1 }' | sed 's,<gpu_temp>,,g'`
fi
fi
fi
if [ "$1" = "cpu" -o "$TEMP" = "0" ]; then
if [ -f /sys/class/hwmon/hwmon1/temp1_input ]; then
# used on Asus systems (ie. AT5IONT-I)
TEMP=`cat /sys/class/hwmon/hwmon1/temp1_input`
elif [ -f /sys/devices/platform/coretemp.0/temp1_input ]; then
# used with coretemp
TEMP=`cat /sys/devices/platform/coretemp.0/temp1_input`
elif [ -f /sys/devices/platform/coretemp.0/temp2_input ]; then
# used with coretemp
TEMP=`cat /sys/devices/platform/coretemp.0/temp2_input`
elif [ -f /sys/bus/acpi/devices/LNXTHERM\:00/thermal_zone/temp ]; then
# used on some intel systems
TEMP=`cat /sys/bus/acpi/devices/LNXTHERM\:00/thermal_zone/temp`
elif [ -f /sys/devices/virtual/thermal/thermal_zone0/temp ]; then
# used on some intel systems
TEMP=`cat /sys/devices/virtual/thermal/thermal_zone0/temp`
elif [ -f /sys/class/hwmon/hwmon0/temp1_input ]; then
# hwmon for new 2.6.39, 3.0 linux kernels
TEMP=`cat /sys/class/hwmon/hwmon0/temp1_input`
elif [ -f /sys/class/hwmon/hwmon0/device/temp1_input ]; then
# used on AMD systems
TEMP=`cat /sys/class/hwmon/hwmon0/device/temp1_input`
elif [ -f /sys/class/hwmon/hwmon0/device/temp2_input ]; then
# used on ION systems
TEMP=`cat /sys/class/hwmon/hwmon0/device/temp2_input`
elif [ -f /sys/class/thermal/thermal_zone0/temp ]; then
# used on RaspberryPi
TEMP=`cat /sys/class/thermal/thermal_zone0/temp`
fi
TEMP="$(( $TEMP / 1000 ))"
fi
echo "${TEMP} C"

View File

@ -0,0 +1,26 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC 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.
#
# OpenELEC 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 OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
if [ -f /sys/class/rtc/rtc0/wakealarm ]; then
logger -t setwakeup.sh "### Setting system wakeup time ###"
echo 0 > /sys/class/rtc/rtc0/wakealarm
echo $1 > /sys/class/rtc/rtc0/wakealarm
logger -t setwakeup.sh "### $(cat /proc/driver/rtc) ###"
fi

View File

@ -0,0 +1,34 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC 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.
#
# OpenELEC 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 OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
if [ ! -d /storage/.config/system.d ] ; then
mkdir -p /storage/.config/system.d
fi
if [ -f "/storage/.xbmc/addons/$1/system.d/$1.service" ] ; then
if [ $2 -eq 1 ] ; then
# disable = true: cleanup
systemctl stop "$1.service"
systemctl disable "/storage/.xbmc/addons/$1/system.d/$1.service"
else
# disable = false: setup
systemctl enable "/storage/.xbmc/addons/$1/system.d/$1.service"
systemctl start "$1.service"
fi
fi

View File

@ -0,0 +1,26 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC 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.
#
# OpenELEC 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 OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
if [ -e /run/lirc/lircd.irtrans ]; then
XBMC_ARGS="--lircdev /run/lirc/lircd.irtrans"
else
XBMC_ARGS="--lircdev /run/lirc/lircd"
fi
echo "XBMC_ARGS=\"$XBMC_ARGS\"" > /run/openelec/xbmc.conf

View File

@ -0,0 +1,27 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC 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.
#
# OpenELEC 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 OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
# hack: make addon-bins executable
chmod +x /storage/.xbmc/addons/*/bin/*
# hack: update RSSnews.xml in userdata
if [ -f /storage/.xbmc/userdata/RssFeeds.xml ]; then
sed -e "s,http://openelec.tv/news?format=feed&type=rss,http://feeds.openelec.tv/news,g" \
-i /storage/.xbmc/userdata/RssFeeds.xml
fi

View File

@ -0,0 +1,85 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC 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.
#
# OpenELEC 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 OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
. /etc/profile
#
# setup XBMC sources
#
if [ ! -f $HOME/.xbmc/userdata/sources.xml ]; then
if [ -f /usr/share/xbmc/config/sources.xml ]; then
# include project specific sources
cp /usr/share/xbmc/config/sources.xml $HOME/.xbmc/userdata
else
cat > $HOME/.xbmc/userdata/sources.xml << EOF
<sources>
<video>
<default pathversion="1"></default>
<source>
<name>Videos</name>
<path pathversion="1">$HOME/videos/</path>
</source>
<source>
<name>TV Shows</name>
<path pathversion="1">$HOME/tvshows/</path>
</source>
</video>
<music>
<default pathversion="1"></default>
<source>
<name>Music</name>
<path pathversion="1">$HOME/music/</path>
</source>
</music>
<pictures>
<default pathversion="1"></default>
<source>
<name>Pictures</name>
<path pathversion="1">$HOME/pictures/</path>
</source>
</pictures>
</sources>
EOF
fi
fi
#
# common setup guisettings
#
if [ ! -f $HOME/.xbmc/userdata/guisettings.xml ] ; then
echo "<settings>" > $HOME/.xbmc/userdata/guisettings.xml
cat >> $HOME/.xbmc/userdata/guisettings.xml << EOF
<debug>
<screenshotpath pathversion="1">$HOME/screenshots/</screenshotpath>
</debug>
EOF
#
# include project specific options
#
if [ -f /usr/share/xbmc/config/guisettings.xml ]; then
cat /usr/share/xbmc/config/guisettings.xml >> $HOME/.xbmc/userdata/guisettings.xml
fi
echo "</settings>" >> $HOME/.xbmc/userdata/guisettings.xml
fi

View File

@ -0,0 +1,30 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC 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.
#
# OpenELEC 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 OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
. /etc/profile
# see https://wiki.archlinux.org/index.php/Power_Management#Hooks_in_.2Fusr.2Flib.2Fsystemd.2Fsystem-sleep
for script in $HOME/.xbmc/addons/*/sleep.d/*.power; do
progress "running addon sleep script $script ($@)..."
sh $script $@
done
exit 0

View File

@ -0,0 +1,32 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2013 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC 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.
#
# OpenELEC 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 OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
. /etc/profile
# see https://wiki.archlinux.org/index.php/Power_Management#Hooks_in_.2Fusr.2Flib.2Fsystemd.2Fsystem-sleep
for script in $HOME/.config/sleep.d/*.power; do
if [ -f $script ]; then
progress "running custom sleep script $script ($@)..."
sh $script $@
fi
done
exit 0

View File

@ -0,0 +1,46 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC 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.
#
# OpenELEC 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 OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
. /etc/profile
run_scripts()
{
list_scripts $1
for script in $SCRIPTS ; do
progress "running sleep script $script ($1)..."
sh /usr/lib/systemd/system-sleep.serial/$script $1
done
}
list_scripts()
{
case $1 in
pre)
SCRIPTS=$(ls /usr/lib/systemd/system-sleep.serial/ | sort)
;;
post)
SCRIPTS=$(ls /usr/lib/systemd/system-sleep.serial/ | sort -r)
;;
esac
}
run_scripts $1
exit 0

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

View File

@ -0,0 +1,13 @@
[Unit]
Description=XBMC user autostart script
Before=xbmc.service
After=graphical.target
[Service]
Type=oneshot
Environment=HOME=/storage
ExecStart=-/bin/sh -c ". /etc/profile; exec /bin/sh /storage/.config/autostart.sh"
RemainAfterExit=yes
[Install]
WantedBy=xbmc.service

View File

@ -0,0 +1,13 @@
[Unit]
Description=XBMC clean debug logs
ConditionKernelCommandLine=!debugging
ConditionPathExists=!/storage/.cache/debug.openelec
Before=xbmc.service
[Service]
Type=oneshot
ExecStart=-/bin/sh -c 'rm -rf /storage/.xbmc/userdata/addon_data/*/*.log /storage/.xbmc/userdata/addon_data/*/log/*'
RemainAfterExit=yes
[Install]
WantedBy=xbmc.service

View File

@ -0,0 +1,12 @@
[Unit]
Description=XBMC configfile writer
Before=xbmc.service
[Service]
Type=oneshot
Environment=HOME=/storage
ExecStart=/usr/lib/xbmc/xbmc-config
RemainAfterExit=yes
[Install]
WantedBy=xbmc.service

View File

@ -0,0 +1,12 @@
[Unit]
Description=XBMC hacks
Before=xbmc.service
[Service]
Type=oneshot
Environment=HOME=/storage
ExecStart=/usr/lib/xbmc/xbmc-hacks
RemainAfterExit=yes
[Install]
WantedBy=xbmc.service

View File

@ -0,0 +1,14 @@
[Unit]
Description=XBMC halt script
After=xbmc.service
Before=systemd-halt.service
DefaultDependencies=no
[Service]
Type=oneshot
Environment=HOME=/storage
ExecStart=-/bin/sh /storage/.config/shutdown.sh halt
RemainAfterExit=yes
[Install]
WantedBy=halt.target

View File

@ -0,0 +1,13 @@
[Unit]
Description=LIRC sleep hook
Before=sleep.target
StopWhenUnneeded=yes
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=-/usr/bin/xbmc-send --host=127.0.0.1 -a "LIRC.Stop"
ExecStop=-/usr/bin/xbmc-send --host=127.0.0.1 -a "LIRC.Start"
[Install]
WantedBy=sleep.target

View File

@ -0,0 +1,14 @@
[Unit]
Description=XBMC poweroff script
After=xbmc.service
Before=systemd-poweroff.service
DefaultDependencies=no
[Service]
Type=oneshot
Environment=HOME=/storage
ExecStart=-/bin/sh /storage/.config/shutdown.sh poweroff
RemainAfterExit=yes
[Install]
WantedBy=poweroff.target

View File

@ -0,0 +1,14 @@
[Unit]
Description=XBMC reboot script
After=xbmc.service
Before=systemd-reboot.service
DefaultDependencies=no
[Service]
Type=oneshot
Environment=HOME=/storage
ExecStart=-/bin/sh /storage/.config/shutdown.sh reboot
RemainAfterExit=yes
[Install]
WantedBy=reboot.target

View File

@ -0,0 +1,12 @@
[Unit]
Description=XBMC sources Setup
Before=xbmc.service
[Service]
Type=oneshot
Environment=HOME=/storage
ExecStart=/usr/lib/xbmc/xbmc-sources
RemainAfterExit=yes
[Install]
WantedBy=xbmc.service

View File

@ -0,0 +1,17 @@
[Unit]
Description=Wait on network
After=connman.service
Before=xorg.service fbset.service
ConditionPathExists=/storage/.cache/openelec/network_wait
[Service]
Type=oneshot
EnvironmentFile=/storage/.cache/openelec/network_wait
ExecStartPre=/bin/sh -c 'echo "waiting on Network to come online ... (max. $WAIT_NETWORK_TIME sec.)"
ExecStart=/usr/bin/cm-online ${WAIT_NETWORK_TIME}
StandardOutput=tty
RemainAfterExit=yes
[Install]
WantedBy=xbmc.service

View File

@ -0,0 +1,21 @@
[Unit]
Description=XBMC Media Center
After=graphical.target
Requires=graphical.target
[Service]
Environment=DISPLAY=:0.0
Environment=SDL_MOUSE_RELATIVE=0
Environment=HOME=/storage
EnvironmentFile=-/run/openelec/xbmc.conf
EnvironmentFile=-/run/openelec/debug/xbmc.conf
ExecStart=/bin/sh -c ". /etc/profile; exec /usr/lib/xbmc/xbmc.bin --standalone -fs $XBMC_ARGS $XBMC_DEBUG"
# keep KillMode=process unless there is no good reason to switch to cgroup
KillMode=process
TimeoutStopSec=5
Restart=always
RestartSec=2
StartLimitInterval=0
[Install]
WantedBy=xbmc.target

View File

@ -0,0 +1,9 @@
[Unit]
Description=XBMC Mediacenter Interface
Requires=multi-user.target graphical.target
After=graphical.target
Conflicts=rescue.target
AllowIsolate=yes
[Install]
Alias=default.target

View File

@ -0,0 +1,24 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC 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.
#
# OpenELEC 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 OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
d /storage/.xbmc/userdata 0755 root root - -
d /storage/music 0755 root root - -
d /storage/pictures 0755 root root - -
d /storage/tvshows 0755 root root - -
d /storage/videos 0755 root root - -
d /storage/screenshots 0755 root root - -

View File

@ -0,0 +1,19 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC 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.
#
# OpenELEC 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 OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
d /run/xbmc 0755 root root - -

File diff suppressed because it is too large Load Diff

View File

@ -19,10 +19,10 @@
# http://www.gnu.org/copyleft/gpl.html
################################################################################
PKG_NAME="xbmc"
PKG_NAME="xbmc-master"
PKG_VERSION=""
GIT_REPO="-b master git://github.com/xbmc/xbmc.git"
DEST_DIR="$PKG_NAME-master"
DEST_DIR="$PKG_NAME"
echo "getting sources..."
if [ ! -d $DEST_DIR-latest ]; then