mirror of
https://github.com/libretro/Lakka.git
synced 2026-11-07 18:33:57 -10:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4956be37c8 |
No files matched your search
@@ -35,12 +35,6 @@ Feature requests are great, but they usually end up lying around the issue
|
||||
tracker indefinitely. Sending a pull request is a much better way of getting a
|
||||
particular feature into OpenELEC.
|
||||
|
||||
Please dont ask us to add 3rdparty drivers unless you are the maintainer/developer of the driver,
|
||||
we have no manpower to support a non-mainlined kernel driver for your hardware.
|
||||
However, OpenELEC comes with minimal set of kernel drivers enabled, if you are sure that your hardware
|
||||
is supported in mainline kernel, feel free to send us a Pull Request to enable it in our
|
||||
kernel defconfigs. We are always happy to support known-working hardware.
|
||||
|
||||
### Reporting build failures
|
||||
|
||||
As buildsystem / core packages (toolchain) / random libraries change from time to time, it is required
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
Lakka is a lightweight Linux distribution that transforms a small computer into a full blown emulation console.
|
||||
|
||||
## Features
|
||||
|
||||
* **Powerful** - Built on top of the famous RetroArch emulator, Lakka is able to emulate a large range of hardware and has some usefull features such as Braid-like rewinding, joypad hotplug and video streaming.
|
||||
* **User friendly** - Lakka is easy to setup and use. Once installed to your SD card, you just have to put your rom on the card, plug your joypad and enjoy your favorite old games.
|
||||
* **Low cost** - The hardware required to run Lakka cost only $35. We also support PS3 and XBox360 controllers so you don't have to buy new ones. The power can be supplied by any micro USB adapter like the one of your smartphone.
|
||||
@@ -9,11 +11,10 @@ Lakka is a lightweight Linux distribution that transforms a small computer into
|
||||
|
||||
## Installation instructions
|
||||
|
||||
Please refer to our website http://www.lakka.tv/get on how to setup Lakka.
|
||||
Please refer to our website http://www.lakka.tv/getlakka on how to setup Lakka.
|
||||
|
||||
## Support
|
||||
|
||||
* [FAQ](https://github.com/lakkatv/Lakka/wiki/FAQ)
|
||||
* #lakkatv on irc.freenode.org
|
||||
* [Forums](http://libretro.com/forums/forumdisplay.php?f=26)
|
||||
* contact@lakka.tv
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<addon id="@PKG_ADDON_ID@"
|
||||
name="@ADDON_NAME@"
|
||||
name="@PKG_NAME@"
|
||||
version="@ADDON_VERSION@"
|
||||
provider-name="@PROVIDER_NAME@">
|
||||
<requires>
|
||||
@@ -8,7 +8,9 @@
|
||||
<import addon="xbmc.python" version="2.1.0"/>
|
||||
@REQUIRES@
|
||||
</requires>
|
||||
<extension point="xbmc.python.module" library="lib/">
|
||||
<extension point="@PKG_ADDON_TYPE@"
|
||||
library="default.py">
|
||||
<provides>executable</provides>
|
||||
</extension>
|
||||
<extension point="xbmc.addon.metadata">
|
||||
<summary>@PKG_SHORTDESC@</summary>
|
||||
@@ -1,24 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<addon id="@PKG_ADDON_ID@"
|
||||
name="@ADDON_NAME@"
|
||||
version="@ADDON_VERSION@"
|
||||
provider-name="@PROVIDER_NAME@">
|
||||
<requires>
|
||||
<import addon="os.openelec.tv" version="@OS_VERSION@"/>
|
||||
<import addon="xbmc.python" version="2.1.0"/>
|
||||
@REQUIRES@
|
||||
</requires>
|
||||
<extension point="xbmc.python.script" library="default.py">
|
||||
<provides>executable</provides>
|
||||
</extension>
|
||||
<extension point="xbmc.addon.metadata">
|
||||
<summary>@PKG_SHORTDESC@</summary>
|
||||
<description>
|
||||
@PKG_LONGDESC@
|
||||
</description>
|
||||
<disclaimer>
|
||||
@PKG_DISCLAIMER@
|
||||
</disclaimer>
|
||||
<platform>all</platform>
|
||||
</extension>
|
||||
</addon>
|
||||
@@ -1,24 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<addon id="@PKG_ADDON_ID@"
|
||||
name="@ADDON_NAME@"
|
||||
version="@ADDON_VERSION@"
|
||||
provider-name="@PROVIDER_NAME@">
|
||||
<requires>
|
||||
<import addon="os.openelec.tv" version="@OS_VERSION@"/>
|
||||
<import addon="xbmc.python" version="2.1.0"/>
|
||||
@REQUIRES@
|
||||
</requires>
|
||||
<extension point="xbmc.service" library="default.py">
|
||||
<provides>executable</provides>
|
||||
</extension>
|
||||
<extension point="xbmc.addon.metadata">
|
||||
<summary>@PKG_SHORTDESC@</summary>
|
||||
<description>
|
||||
@PKG_LONGDESC@
|
||||
</description>
|
||||
<disclaimer>
|
||||
@PKG_DISCLAIMER@
|
||||
</disclaimer>
|
||||
<platform>all</platform>
|
||||
</extension>
|
||||
</addon>
|
||||
@@ -1,32 +0,0 @@
|
||||
# determines TARGET_CPU, if not forced by user
|
||||
if [ -z "$TARGET_CPU" ]; then
|
||||
TARGET_CPU=generic
|
||||
fi
|
||||
|
||||
# TARGET_CPU:
|
||||
# cortex-a35 cortex-a53 cortex-a57 cortex-a72 exynos-m1
|
||||
# qdf24xx thunderx xgene1
|
||||
|
||||
# TARGET_FPU:
|
||||
# This specifies what floating point hardware (or hardware emulation) is
|
||||
# available on the target. Permissible names are:
|
||||
# fpa fpe2 fpe3 maverick vfp vfpv3 vfpv3-fp16 vfpv3-d16 vfpv3-d16-fp16
|
||||
# vfpv3xd vfpv3xd-fp16 neon neon-fp16 vfpv4 vfpv4-d16 fpv4-sp-d16
|
||||
# neon-vfpv4.
|
||||
|
||||
# determine architecture's family
|
||||
case $TARGET_CPU in
|
||||
*)
|
||||
TARGET_SUBARCH=aarch64
|
||||
TARGET_VARIANT=armv8-a
|
||||
TARGET_CPU_FLAGS="+crc+crypto"
|
||||
TARGET_EXTRA_FLAGS="-mcpu=$TARGET_CPU$TARGET_CPU_FLAGS"
|
||||
TARGET_FPU=neon
|
||||
SIMD_SUPPORT="yes"
|
||||
;;
|
||||
esac
|
||||
|
||||
# setup ARCH specific *FLAGS
|
||||
TARGET_CFLAGS="-march=$TARGET_VARIANT $TARGET_EXTRA_FLAGS"
|
||||
[ -n "$TARGET_FPU" ] && TARGET_CFLAGS="$TARGET_CFLAGS $TARGET_FPU_FLAGS"
|
||||
TARGET_LDFLAGS="-march=$TARGET_VARIANT -mcpu=$TARGET_CPU$TARGET_CPU_FLAGS"
|
||||
+6
-3
@@ -31,10 +31,13 @@
|
||||
TARGET_FPU_FLAGS="-mfloat-abi=$TARGET_FLOAT -mfpu=$TARGET_FPU"
|
||||
SIMD_SUPPORT="no"
|
||||
;;
|
||||
cortex-a7|cortex-a15|cortex-a15.cortex-a7)
|
||||
TARGET_SUBARCH=armv7ve
|
||||
cortex-a7|cortex-a15)
|
||||
TARGET_SUBARCH=armv7-a
|
||||
TARGET_ABI=eabi
|
||||
TARGET_EXTRA_FLAGS="-mcpu=$TARGET_CPU"
|
||||
# It's not currently possible to specify the exact architecture variant (-mcpu)
|
||||
# that A7/A15 supports in the command line so use -mtune here.
|
||||
# see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57907
|
||||
TARGET_EXTRA_FLAGS="-mtune=$TARGET_CPU"
|
||||
TARGET_FPU_FLAGS="-mfloat-abi=$TARGET_FLOAT -mfpu=$TARGET_FPU"
|
||||
SIMD_SUPPORT="yes"
|
||||
;;
|
||||
|
||||
+55
-82
@@ -1,9 +1,12 @@
|
||||
setup_toolchain() {
|
||||
if [ "$1" = "--optimize" ]; then
|
||||
OPTIMIZE=yes
|
||||
shift
|
||||
fi
|
||||
|
||||
if [ "$1" = target ]; then
|
||||
export DESTIMAGE="target"
|
||||
|
||||
unset CPP
|
||||
|
||||
export CC=$TARGET_CC
|
||||
export CXX=$TARGET_CXX
|
||||
export LD=$TARGET_LD
|
||||
@@ -28,8 +31,6 @@ setup_toolchain() {
|
||||
elif [ "$1" = host ]; then
|
||||
export DESTIMAGE="host"
|
||||
|
||||
unset CPP
|
||||
|
||||
export AWK=$HOST_AWK
|
||||
export CC=$HOST_CC
|
||||
export CXX=$HOST_CXX
|
||||
@@ -55,22 +56,12 @@ setup_toolchain() {
|
||||
}
|
||||
|
||||
kernel_path() {
|
||||
if [ -e $ROOT/projects/$PROJECT/packages/linux/package.mk ]; then
|
||||
. $ROOT/projects/$PROJECT/packages/linux/package.mk
|
||||
else
|
||||
. $ROOT/packages/linux/package.mk
|
||||
fi
|
||||
|
||||
. $ROOT/packages/linux/package.mk
|
||||
echo $ROOT/$BUILD/${PKG_NAME}-${PKG_VERSION}
|
||||
}
|
||||
|
||||
kernel_version() {
|
||||
if [ -e $ROOT/projects/$PROJECT/packages/linux/package.mk ]; then
|
||||
. $ROOT/projects/$PROJECT/packages/linux/package.mk
|
||||
else
|
||||
. $ROOT/packages/linux/package.mk
|
||||
fi
|
||||
|
||||
. $ROOT/packages/linux/package.mk
|
||||
echo ${PKG_VERSION}
|
||||
}
|
||||
|
||||
@@ -82,16 +73,10 @@ get_module_dir() {
|
||||
# get package's build dir
|
||||
get_build_dir() {
|
||||
if [ ! -z $1 ] ; then
|
||||
local _PKG_DIR=$(find $ROOT/projects/$PROJECT/packages -name $1 2>/dev/null)
|
||||
if [ -d "$_PKG_DIR" -a -f $_PKG_DIR/package.mk ] ; then
|
||||
local _PKG_DIR=$(find $ROOT/packages -name $1)
|
||||
if [ -d $_PKG_DIR -a -f $_PKG_DIR/package.mk ] ; then
|
||||
. $_PKG_DIR/package.mk
|
||||
else
|
||||
local _PKG_DIR=$(find $ROOT/packages -name $1 2>/dev/null)
|
||||
if [ -d "$_PKG_DIR" -a -f $_PKG_DIR/package.mk ] ; then
|
||||
. $_PKG_DIR/package.mk
|
||||
fi
|
||||
fi
|
||||
|
||||
echo $ROOT/$BUILD/${PKG_NAME}-${PKG_VERSION}
|
||||
fi
|
||||
}
|
||||
@@ -185,13 +170,14 @@ do_autoreconf() {
|
||||
|
||||
strip_lto() {
|
||||
# strip out LTO optimization from *FLAGS
|
||||
if [ -n "$GCC_OPTIM_LTO" ] ; then
|
||||
CFLAGS=`echo $CFLAGS | sed -e "s|$GCC_OPTIM_LTO||g"`
|
||||
CXXFLAGS=`echo $CXXFLAGS | sed -e "s|$GCC_OPTIM_LTO||g"`
|
||||
fi
|
||||
if [ -n "$LD_OPTIM_LTO" ] ; then
|
||||
LDFLAGS=`echo $LDFLAGS | sed -e "s|$LD_OPTIM_LTO||g"`
|
||||
fi
|
||||
CFLAGS=`echo $CFLAGS | sed -e "s|-flto||g"`
|
||||
CXXFLAGS=`echo $CXXFLAGS | sed -e "s|-flto||g"`
|
||||
LDFLAGS=`echo $LDFLAGS | sed -e "s|-flto||g"`
|
||||
}
|
||||
|
||||
strip_linker_plugin() {
|
||||
# strip out usage from linker plugin
|
||||
LDFLAGS=`echo $LDFLAGS | sed -e "s|-fuse-linker-plugin||g"`
|
||||
}
|
||||
|
||||
strip_gold() {
|
||||
@@ -277,9 +263,6 @@ dashes="==========================="
|
||||
}
|
||||
|
||||
show_config() {
|
||||
# load graphic configuration
|
||||
get_graphicdrivers
|
||||
|
||||
dashes="==========================="
|
||||
config_message="$config_message\n $dashes$dashes$dashes"
|
||||
config_message="$config_message\n Configuration for $DISTRONAME ($([ "$OFFICIAL" = "yes" ] && echo "official" || echo "unofficial"))"
|
||||
@@ -307,24 +290,24 @@ show_config() {
|
||||
config_message="$config_message\n\n Graphic configuration:"
|
||||
config_message="$config_message\n $dashes$dashes"
|
||||
|
||||
if [ "$DISPLAYSERVER" = "x11" ] ; then
|
||||
config_message="$config_message\n - Xorg Graphic Drivers:\t\t $GRAPHIC_DRIVERS"
|
||||
config_message="$config_message\n - XORG Composite support:\t\t $COMPOSITE_SUPPORT"
|
||||
config_message="$config_message\n - WindowManager:\t\t\t $WINDOWMANAGER"
|
||||
fi
|
||||
config_message="$config_message\n - XORG support:\t\t\t $XORG_SUPPORT"
|
||||
config_message="$config_message\n - XORG Composite support:\t\t $COMPOSITE_SUPPORT"
|
||||
config_message="$config_message\n - XORG Xinerama support:\t\t $XINERAMA_SUPPORT"
|
||||
config_message="$config_message\n - SDL support:\t\t\t\t $SDL_SUPPORT"
|
||||
config_message="$config_message\n - OpenGL (GLX) support (provider):\t $OPENGL_SUPPORT ($OPENGL)"
|
||||
config_message="$config_message\n - OpenGLES support (provider):\t\t $OPENGLES_SUPPORT ($OPENGLES)"
|
||||
config_message="$config_message\n - uvesafb support:\t\t\t $UVESAFB_SUPPORT"
|
||||
config_message="$config_message\n - WindowManager:\t\t\t $WINDOWMANAGER"
|
||||
config_message="$config_message\n - Xorg Graphic Drivers:\t\t $GRAPHIC_DRIVERS"
|
||||
|
||||
# Hardware decoder support
|
||||
|
||||
config_message="$config_message\n\n Hardware decoder configuration:"
|
||||
config_message="$config_message\n $dashes$dashes"
|
||||
|
||||
config_message="$config_message\n - Kodi Player driver:\t\t\t $KODIPLAYER_DRIVER"
|
||||
config_message="$config_message\n - VAAPI Support:\t\t\t $VAAPI_SUPPORT"
|
||||
config_message="$config_message\n - VDPAU Support:\t\t\t $VDPAU_SUPPORT"
|
||||
config_message="$config_message\n - Broadcom CrystalHD Decoder:\t\t $CRYSTALHD"
|
||||
config_message="$config_message\n - XBMC Player driver:\t\t\t $XBMCPLAYER_DRIVER"
|
||||
config_message="$config_message\n - VAAPI Support:\t\t\t $VAAPI"
|
||||
config_message="$config_message\n - VDPAU Support:\t\t\t $VDPAU"
|
||||
|
||||
# Input device configuration
|
||||
|
||||
@@ -335,7 +318,7 @@ show_config() {
|
||||
config_message="$config_message\n - ATV Remote support:\t\t\t $ATVCLIENT_SUPPORT"
|
||||
config_message="$config_message\n - CEC Adapter support:\t\t\t $CEC_SUPPORT"
|
||||
config_message="$config_message\n - IRTrans support:\t\t\t $IRSERVER_SUPPORT"
|
||||
config_message="$config_message\n - Kodi Joystick support:\t\t $JOYSTICK_SUPPORT"
|
||||
config_message="$config_message\n - XBMC Joystick support:\t\t $JOYSTICK_SUPPORT"
|
||||
|
||||
# Misc. hardware configuration
|
||||
|
||||
@@ -343,7 +326,10 @@ show_config() {
|
||||
config_message="$config_message\n $dashes$dashes"
|
||||
|
||||
config_message="$config_message\n - ALSA support:\t\t\t $ALSA_SUPPORT"
|
||||
config_message="$config_message\n - Pulseaudio support:\t\t\t $PULSEAUDIO_SUPPORT"
|
||||
config_message="$config_message\n - Blu-Ray support:\t\t\t $BLURAY_SUPPORT"
|
||||
config_message="$config_message\n - Bluetooth support:\t\t\t $BLUETOOTH_SUPPORT"
|
||||
config_message="$config_message\n - Hardware Sensors support:\t\t $SENSOR_SUPPORT"
|
||||
config_message="$config_message\n - LCD drivers:\t\t\t\t $LCD_DRIVER"
|
||||
|
||||
for config_driver in $ADDITIONAL_DRIVERS; do
|
||||
@@ -354,20 +340,22 @@ show_config() {
|
||||
config_message="$config_message\n - Include firmware:\t\t\t $config_firmware"
|
||||
done
|
||||
|
||||
for config_modules in $INITRAMFS_MODULES; do
|
||||
config_message="$config_message\n - Initramfs modules:\t\t\t $config_modules"
|
||||
done
|
||||
|
||||
# Network service configuration
|
||||
|
||||
config_message="$config_message\n\n Network service configuration:"
|
||||
config_message="$config_message\n $dashes$dashes"
|
||||
|
||||
config_message="$config_message\n - Avahi (Zeroconf) support:\t\t $AVAHI_DAEMON"
|
||||
config_message="$config_message\n - NFS mounting support:\t\t $NFS_SUPPORT"
|
||||
config_message="$config_message\n - SAMBA mounting support:\t\t $SAMBA_SUPPORT"
|
||||
config_message="$config_message\n - SAMBA server support:\t\t $SAMBA_SERVER"
|
||||
config_message="$config_message\n - SFTP server support:\t\t\t $SFTP_SERVER"
|
||||
config_message="$config_message\n - PPTP support:\t\t\t $PPTP_SUPPORT"
|
||||
config_message="$config_message\n - OpenVPN support:\t\t\t $OPENVPN_SUPPORT"
|
||||
config_message="$config_message\n - XBMC Airplay support:\t\t $AIRPLAY_SUPPORT"
|
||||
config_message="$config_message\n - XBMC Airtunes support:\t\t $AIRTUNES_SUPPORT"
|
||||
config_message="$config_message\n - XBMC AFP support:\t\t\t $AFP_SUPPORT"
|
||||
config_message="$config_message\n - XBMC NFS support:\t\t\t $NFS_SUPPORT"
|
||||
config_message="$config_message\n - XBMC SAMBA client support:\t\t $SAMBA_SUPPORT"
|
||||
config_message="$config_message\n - XBMC Webserver support:\t\t $WEBSERVER"
|
||||
|
||||
# OS configuration
|
||||
|
||||
@@ -377,10 +365,10 @@ show_config() {
|
||||
config_message="$config_message\n - OEM Support:\t\t\t\t $OEM_SUPPORT"
|
||||
config_message="$config_message\n - Default ROOT Password:\t\t $ROOT_PASSWORD"
|
||||
config_message="$config_message\n - Bootloader:\t\t\t\t $BOOTLOADER"
|
||||
if [ "$BOOTLOADER" = "u-boot" ]; then
|
||||
config_message="$config_message\n - U-Boot configuration:\t\t $UBOOT_CONFIG"
|
||||
config_message="$config_message\n - U-Boot config file:\t\t $UBOOT_CONFIGFILE"
|
||||
fi
|
||||
if [ "$BOOTLOADER" = "u-boot" ]; then
|
||||
config_message="$config_message\n - U-Boot configuration:\t\t $UBOOT_CONFIG"
|
||||
config_message="$config_message\n - U-Boot config file:\t\t\t $UBOOT_CONFIGFILE"
|
||||
fi
|
||||
config_message="$config_message\n - UDevil support:\t\t\t $UDEVIL"
|
||||
config_message="$config_message\n - Installer support:\t\t\t $INSTALLER_SUPPORT"
|
||||
|
||||
@@ -390,46 +378,31 @@ show_config() {
|
||||
config_message="$config_message\n $dashes$dashes"
|
||||
|
||||
config_message="$config_message\n - Swap Support:\t\t\t $SWAP_SUPPORT"
|
||||
if [ "$SWAP_SUPPORT" = "yes" ]; then
|
||||
config_message="$config_message\n - Swapfile default size:\t\t $SWAPFILESIZE"
|
||||
fi
|
||||
if [ "$SWAP_SUPPORT" = "yes" ]; then
|
||||
config_message="$config_message\n - Swapfile default size:\t\t $SWAPFILESIZE"
|
||||
fi
|
||||
config_message="$config_message\n - exFAT Support (via Fuse):\t\t $EXFAT"
|
||||
config_message="$config_message\n - NTFS Support (via Fuse):\t\t $NTFS3G"
|
||||
config_message="$config_message\n - Install HFS Tools:\t\t\t $HFSTOOLS"
|
||||
|
||||
# Kodi configuration
|
||||
# XBMC configuration
|
||||
|
||||
config_message="$config_message\n\n Kodi configuration:"
|
||||
config_message="$config_message\n\n XBMC configuration:"
|
||||
config_message="$config_message\n $dashes$dashes"
|
||||
|
||||
config_message="$config_message\n - Kodi version:\t\t\t $MEDIACENTER"
|
||||
config_message="$config_message\n - Kodi nonfree support:\t\t $KODI_NONFREE_SUPPORT"
|
||||
config_message="$config_message\n - Kodi Blu-Ray support:\t\t $KODI_BLURAY_SUPPORT"
|
||||
if [ "$KODI_BLURAY_SUPPORT" = "yes" ] ; then
|
||||
config_message="$config_message\n - Bluray BD+ support:\t\t $BLURAY_BDPLUS_SUPPORT"
|
||||
config_message="$config_message\n - Bluray AACS support:\t\t $BLURAY_AACS_SUPPORT"
|
||||
fi
|
||||
config_message="$config_message\n - Kodi DVDCSS support:\t\t\t $KODI_DVDCSS_SUPPORT"
|
||||
config_message="$config_message\n - Kodi Airplay support:\t\t $KODI_AIRPLAY_SUPPORT"
|
||||
config_message="$config_message\n - Kodi Airtunes support:\t\t $KODI_AIRTUNES_SUPPORT"
|
||||
config_message="$config_message\n - Kodi NFS support:\t\t\t $KODI_NFS_SUPPORT"
|
||||
config_message="$config_message\n - Kodi MySQL support:\t\t\t $KODI_MYSQL_SUPPORT"
|
||||
config_message="$config_message\n - Kodi Optical Drive support:\t\t $KODI_OPTICAL_SUPPORT"
|
||||
config_message="$config_message\n - Kodi SAMBA client support:\t\t $KODI_SAMBA_SUPPORT"
|
||||
config_message="$config_message\n - Kodi SSH client support:\t\t $KODI_SSHLIB_SUPPORT"
|
||||
config_message="$config_message\n - Kodi UPNP support:\t\t\t $KODI_UPNP_SUPPORT"
|
||||
config_message="$config_message\n - Kodi Webserver support:\t\t $KODI_WEBSERVER_SUPPORT"
|
||||
|
||||
config_message="$config_message\n - XBMC version:\t\t\t $MEDIACENTER"
|
||||
config_message="$config_message\n - XBMC nonfree support:\t\t $NONFREE_SUPPORT"
|
||||
config_message="$config_message\n - XBMC DVDCSS support:\t\t\t $DVDCSS_SUPPORT"
|
||||
|
||||
for config_skin in $SKINS; do
|
||||
config_message="$config_message\n - Include Skin:\t\t\t $config_skin"
|
||||
done
|
||||
|
||||
config_message="$config_message\n - Default Skin:\t\t\t $SKIN_DEFAULT"
|
||||
config_message="$config_message\n - Include extra fonts:\t\t\t $KODI_EXTRA_FONTS"
|
||||
config_message="$config_message\n - Include RSXS Screensaver:\t\t $KODI_SCR_RSXS"
|
||||
config_message="$config_message\n - Include ProjectM Visualization:\t $KODI_VIS_PROJECTM"
|
||||
config_message="$config_message\n - Include Goom Visualization:\t\t $KODI_VIS_GOOM"
|
||||
config_message="$config_message\n - Include extra fonts:\t\t\t $XBMC_EXTRA_FONTS"
|
||||
config_message="$config_message\n - Include RSXS Screensaver:\t\t $XBMC_SCR_RSXS"
|
||||
config_message="$config_message\n - Include ProjectM Visualization:\t $XBMC_VIS_PROJECTM"
|
||||
config_message="$config_message\n - Include Goom Visualization:\t\t $XBMC_VIS_GOOM"
|
||||
|
||||
config_message="$config_message\n"
|
||||
config_message="$config_message\n $dashes$dashes$dashes"
|
||||
@@ -437,5 +410,5 @@ show_config() {
|
||||
config_message="$config_message\n $dashes$dashes$dashes"
|
||||
config_message="$config_message\n\n\n"
|
||||
|
||||
echo -e "$config_message"
|
||||
echo -e $config_message
|
||||
}
|
||||
+10
-10
@@ -21,9 +21,9 @@ if [ "$SDL_SUPPORT" = no ]; then
|
||||
fi
|
||||
|
||||
if [ "$OPENGL_SUPPORT" = no ]; then
|
||||
KODI_SCR_RSXS="no"
|
||||
KODI_VIS_PROJECTM="no"
|
||||
KODI_VIS_GOOM="no"
|
||||
XBMC_SCR_RSXS="no"
|
||||
XBMC_VIS_PROJECTM="no"
|
||||
XBMC_VIS_GOOM="no"
|
||||
fi
|
||||
|
||||
get_graphicdrivers() {
|
||||
@@ -32,18 +32,22 @@ get_graphicdrivers() {
|
||||
fi
|
||||
|
||||
for drv in $GRAPHIC_DRIVERS; do
|
||||
if [ "$drv" = "dove" ]; then
|
||||
XORG_DRIVERS="$XORG_DRIVERS dove"
|
||||
fi
|
||||
|
||||
if [ "$drv" = "i915" ]; then
|
||||
DRI_DRIVERS="$DRI_DRIVERS,i915"
|
||||
XORG_DRIVERS="$XORG_DRIVERS intel"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
VAAPI_SUPPORT="yes"
|
||||
LIBVA="$LIBVA libva-intel-driver"
|
||||
fi
|
||||
|
||||
if [ "$drv" = "i965" ]; then
|
||||
DRI_DRIVERS="$DRI_DRIVERS,i965"
|
||||
XORG_DRIVERS="$XORG_DRIVERS intel"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
VAAPI_SUPPORT="yes"
|
||||
LIBVA="$LIBVA libva-intel-driver"
|
||||
fi
|
||||
|
||||
if [ "$drv" = "nouveau" ]; then
|
||||
@@ -54,16 +58,15 @@ get_graphicdrivers() {
|
||||
GALLIUM_DRIVERS="$GALLIUM_DRIVERS,nouveau"
|
||||
XORG_DRIVERS="$XORG_DRIVERS nouveau"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
# LLVM_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if [ "$drv" = "nvidia" ]; then
|
||||
XORG_DRIVERS="$XORG_DRIVERS nvidia"
|
||||
VDPAU_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if [ "$drv" = "nvidia-legacy" ]; then
|
||||
XORG_DRIVERS="$XORG_DRIVERS nvidia-legacy"
|
||||
VDPAU_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if [ "$drv" = "r200" ]; then
|
||||
@@ -77,7 +80,6 @@ get_graphicdrivers() {
|
||||
XORG_DRIVERS="$XORG_DRIVERS ati"
|
||||
LLVM_SUPPORT="yes"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
VDPAU_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if [ "$drv" = "r600" ]; then
|
||||
@@ -85,7 +87,6 @@ get_graphicdrivers() {
|
||||
XORG_DRIVERS="$XORG_DRIVERS ati"
|
||||
LLVM_SUPPORT="yes"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
VDPAU_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if [ "$drv" = "radeonsi" ]; then
|
||||
@@ -93,7 +94,6 @@ get_graphicdrivers() {
|
||||
XORG_DRIVERS="$XORG_DRIVERS ati"
|
||||
LLVM_SUPPORT="yes"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
VDPAU_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
Lakka - The DIY retro emulation console
|
||||
Welcome to OpenELEC - the powerful Mediacenter4you
|
||||
File renamed without changes.
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
@@ -1,10 +1,7 @@
|
||||
{
|
||||
"name": "@DISTRONAME@_@PROJECT@",
|
||||
"name": "@DISTRONAME@",
|
||||
"version": "@OPENELEC_VERSION@",
|
||||
"release_date": "@RELEASE_DATE@",
|
||||
"kernel": "@KERNEL_VERSION@",
|
||||
"description": "@DESCRIPTION@",
|
||||
"username": "root",
|
||||
"password": "@ROOT_PASSWORD@",
|
||||
"supported_hex_revisions": "@NOOBS_HEX@"
|
||||
"description": "@DESCRIPTION@"
|
||||
}
|
||||
@@ -1,15 +1,15 @@
|
||||
{
|
||||
"partitions": [
|
||||
{
|
||||
"label": "@DISTRONAME@_@PROJECT@_System",
|
||||
"label": "System",
|
||||
"filesystem_type": "FAT",
|
||||
"partition_size_nominal": 200,
|
||||
"partition_size_nominal": 160,
|
||||
"want_maximised": false,
|
||||
"uncompressed_tarball_size": 170,
|
||||
"uncompressed_tarball_size": 120,
|
||||
"mkfs_options": ""
|
||||
},
|
||||
{
|
||||
"label": "@DISTRONAME@_@PROJECT@_Storage",
|
||||
"label": "Storage",
|
||||
"filesystem_type": "ext4",
|
||||
"partition_size_nominal": 864,
|
||||
"want_maximised": true,
|
||||
|
||||
@@ -452,7 +452,7 @@ hCHKXQk7K9saByvnHQxUtj4O8Ofzv0U52nazcrnNJuVSm43KDXcblPPv1+MnrFMm7h/xA77Hd8qS
|
||||
sodipodi:role="line"
|
||||
x="512"
|
||||
y="958.36218"
|
||||
id="tspan3140">Lakka will appear in your home network</tspan><tspan
|
||||
id="tspan3140">Lakka will appear in you home network</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="512"
|
||||
y="1008.3622"
|
||||
|
||||
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
+1
-1
@@ -30,7 +30,7 @@ fi
|
||||
TARGET_CPPFLAGS=
|
||||
TARGET_CFLAGS="$TARGET_CFLAGS -Wall -pipe $GCC_OPTIM $GCC_OPTIM_LTO $PROJECT_CFLAGS"
|
||||
TARGET_CXXFLAGS="$TARGET_CFLAGS"
|
||||
TARGET_LDFLAGS="$TARGET_LDFLAGS $LD_OPTIM $LD_OPTIM_GOLD $LD_OPTIM_LTO"
|
||||
TARGET_LDFLAGS="$TARGET_LDFLAGS $LD_OPTIM $LD_OPTIM_GOLD $LD_OPTIM_LTO $GCC_OPTIM"
|
||||
TARGET_LIBDIR="$SYSROOT_PREFIX/lib $SYSROOT_PREFIX/usr/lib"
|
||||
TARGET_INCDIR="$SYSROOT_PREFIX/include $SYSROOT_PREFIX/usr/include"
|
||||
|
||||
|
||||
+7
-27
@@ -1,14 +1,6 @@
|
||||
# set default language for buildsystem
|
||||
export LC_ALL=C
|
||||
|
||||
# determines DISTRO, if not forced by user
|
||||
# default is OpenELEC
|
||||
if [ -z "$DISTRO" ]; then
|
||||
DISTRO="OpenELEC"
|
||||
else
|
||||
DISTRO="$DISTRO"
|
||||
fi
|
||||
|
||||
# determines PROJECT, if not forced by user
|
||||
# default is Generic
|
||||
if [ -z "$PROJECT" ]; then
|
||||
@@ -26,28 +18,23 @@ else
|
||||
fi
|
||||
|
||||
ROOT=`pwd`
|
||||
DISTRO_DIR="$ROOT/distributions"
|
||||
PROJECT_DIR="$ROOT/projects"
|
||||
LINUX_DEPENDS="$PROJECT_DIR/$PROJECT/linux/linux.$TARGET_ARCH.conf $ROOT/packages/linux/package.mk"
|
||||
|
||||
# include versioning
|
||||
. config/version
|
||||
|
||||
# read distro versioning if available
|
||||
if [ -f "$DISTRO_DIR/$DISTRO/version" ]; then
|
||||
. $DISTRO_DIR/$DISTRO/version
|
||||
fi
|
||||
|
||||
# read distro options if available
|
||||
if [ -f "$DISTRO_DIR/$DISTRO/options" ]; then
|
||||
. $DISTRO_DIR/$DISTRO/options
|
||||
fi
|
||||
|
||||
# read project options if available
|
||||
if [ -f "$PROJECT_DIR/$PROJECT/options" ]; then
|
||||
. $PROJECT_DIR/$PROJECT/options
|
||||
fi
|
||||
|
||||
# Target system library C (eglibc)
|
||||
TARGET_LIBC="eglibc"
|
||||
|
||||
# Library strip
|
||||
LIBSTRIP="yes"
|
||||
|
||||
# Need to point to your actual cc
|
||||
# If you have ccache installed, take care that LOCAL_CC don't point to it
|
||||
LOCAL_CC=`which gcc`
|
||||
@@ -65,9 +52,7 @@ LINUX_DEPENDS="$PROJECT_DIR/$PROJECT/linux/linux.$TARGET_ARCH.conf $ROOT/package
|
||||
# Concurrency make level (-j option)
|
||||
# Try value 1 (default) to 4 on single CPU computer, or more on
|
||||
# multi-processor computer (like hyperthreading SMP CPU)
|
||||
if test -z "${CONCURRENCY_MAKE_LEVEL}"; then
|
||||
CONCURRENCY_MAKE_LEVEL=`cat /proc/cpuinfo | grep -c '^processor[[:cntrl:]]*:'`
|
||||
fi
|
||||
CONCURRENCY_MAKE_LEVEL=`cat /proc/cpuinfo | grep -c '^processor[[:cntrl:]]*:'`
|
||||
|
||||
# cache size for ccache
|
||||
# Set the maximum size of the files stored in the cache. You can specify a
|
||||
@@ -92,10 +77,5 @@ LINUX_DEPENDS="$PROJECT_DIR/$PROJECT/linux/linux.$TARGET_ARCH.conf $ROOT/package
|
||||
. $HOME/.openelec/$PROJECT/options
|
||||
fi
|
||||
|
||||
# read distro options from $HOME if available
|
||||
if [ -f "$HOME/.openelec/options.$DISTRO" ]; then
|
||||
. $HOME/.openelec/options.$DISTRO
|
||||
fi
|
||||
|
||||
. config/graphic
|
||||
. config/path $1
|
||||
+14
-42
@@ -20,10 +20,6 @@ HOST_NAME=`$LOCAL_CC -dumpmachine`
|
||||
TARGET_NAME=$(echo $TARGET_SUBARCH | sed -e "s,-,,")-openelec-linux-gnu${TARGET_ABI}
|
||||
|
||||
BUILD=$BUILD_BASE.$DISTRONAME-$PROJECT.$TARGET_ARCH-$OPENELEC_VERSION
|
||||
if [ -n "$BUILD_SUFFIX" ]; then
|
||||
BUILD=$BUILD-$BUILD_SUFFIX
|
||||
fi
|
||||
|
||||
TARGET_IMG=$ROOT/$TARGET
|
||||
TARGET_ADDONS="$TARGET_IMG/$ADDONS/$ADDON_PATH"
|
||||
ADDON_BUILD="$BUILD/$ADDONS/$1"
|
||||
@@ -68,46 +64,26 @@ SED="sed -i"
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
if [ -n "$1" ]; then
|
||||
_PKG_ROOT_NAME=$(echo $1 | cut -d: -f1)
|
||||
_ALL_DIRS=""
|
||||
_FOUND=0
|
||||
PKG_DIR=""
|
||||
|
||||
# first check project folder for a package
|
||||
for DIR in $(find $ROOT/projects/$PROJECT/packages -type d -name $_PKG_ROOT_NAME 2>/dev/null); do
|
||||
if [ -r "$DIR/package.mk" ]; then
|
||||
# found first, set $PKG_DIR
|
||||
FOUND=0
|
||||
for DIR in $ROOT/`find $PACKAGES -type d -name $(echo $1| awk -F : '{print $1}') ! -wholename \*\/source\/\* 2>/dev/null` ; do
|
||||
# keep track of dirs with meta for debugging
|
||||
if [ -z "$ALL_DIRS" ] ; then
|
||||
ALL_DIRS="$DIR"
|
||||
else
|
||||
ALL_DIRS="$ALL_DIRS\\n$DIR"
|
||||
fi
|
||||
if [ -f "$DIR/package.mk" ] ; then
|
||||
FOUND=$((FOUND+1))
|
||||
# found first. set $PKG_DIR
|
||||
PKG_DIR="$DIR"
|
||||
# keep track of dirs with package.mk for detecting multiple folders
|
||||
_ALL_DIRS="${_ALL_DIRS}${DIR}\\n"
|
||||
_FOUND=$((_FOUND+1))
|
||||
if [ $_FOUND -gt 1 ]; then
|
||||
# _FOUND more ? fail
|
||||
if [ $FOUND -gt 1 ] ; then
|
||||
# found more ? fail
|
||||
echo "Error - multiple package folders:"
|
||||
echo -e "$_ALL_DIRS"
|
||||
echo -e "$ALL_DIRS"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# then check packages folder if not found already
|
||||
if [ $_FOUND -eq 0 ]; then
|
||||
for DIR in $(find $ROOT/$PACKAGES -type d -name $_PKG_ROOT_NAME 2>/dev/null); do
|
||||
if [ -r "$DIR/package.mk" ]; then
|
||||
# found first, set $PKG_DIR
|
||||
PKG_DIR="$DIR"
|
||||
# keep track of dirs with package.mk for detecting multiple folders
|
||||
_ALL_DIRS="${_ALL_DIRS}${DIR}\\n"
|
||||
_FOUND=$((_FOUND+1))
|
||||
if [ $_FOUND -gt 1 ]; then
|
||||
# found more ? fail
|
||||
echo "Error - multiple package folders:"
|
||||
echo -e "$_ALL_DIRS"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
done
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -r $PKG_DIR/package.mk ]; then
|
||||
@@ -132,8 +108,6 @@ SSL_CERTIFICATES="/etc/pki/tls"
|
||||
TOOLCHAIN_LANGUAGES=c
|
||||
[ "$TOOLCHAIN_CXX" = yes ] && TOOLCHAIN_LANGUAGES=${TOOLCHAIN_LANGUAGES},c++
|
||||
|
||||
unset TARGET_CPP
|
||||
|
||||
TARGET_CC=${TARGET_PREFIX}gcc
|
||||
TARGET_CXX=${TARGET_PREFIX}g++
|
||||
TARGET_LD=${TARGET_PREFIX}ld
|
||||
@@ -151,8 +125,6 @@ TARGET_PKG_CONFIG_PATH=""
|
||||
TARGET_PKG_CONFIG_LIBDIR="$SYSROOT_PREFIX/usr/lib/pkgconfig:$SYSROOT_PREFIX/usr/share/pkgconfig"
|
||||
TARGET_PKG_CONFIG_SYSROOT_DIR="$SYSROOT_PREFIX"
|
||||
|
||||
unset HOST_CPP
|
||||
|
||||
HOST_AWK=gawk
|
||||
HOST_CC=$ROOT/$TOOLCHAIN/bin/host-gcc
|
||||
HOST_CXX=$ROOT/$TOOLCHAIN/bin/host-g++
|
||||
|
||||
+2
-2
@@ -2,8 +2,8 @@
|
||||
OPENELEC_VERSION="devel"
|
||||
|
||||
# OS_VERSION: OS Version
|
||||
OS_VERSION="5.0"
|
||||
OS_VERSION="4.0"
|
||||
|
||||
# ADDON_VERSION: Addon version
|
||||
ADDON_VERSION="4.3"
|
||||
ADDON_VERSION="4.1"
|
||||
|
||||
@@ -1,243 +0,0 @@
|
||||
# Name of the Distro to build (full name, without special characters)
|
||||
DISTRONAME="Lakka"
|
||||
|
||||
# short project description
|
||||
DESCRIPTION="The DIY retro emulation console"
|
||||
|
||||
# Welcome Message for e.g. SSH Server (up to 5 Lines)
|
||||
GREETING0="###########################################"
|
||||
GREETING1="# Lakka - The DIY retro emulation console #"
|
||||
GREETING2="# ...... visit http://www.lakka.tv ...... #"
|
||||
GREETING3="###########################################"
|
||||
GREETING4=""
|
||||
|
||||
# Root password to integrate in the target system
|
||||
ROOT_PASSWORD="root"
|
||||
|
||||
# Mediacenter to use (kodi / no)
|
||||
MEDIACENTER="no"
|
||||
|
||||
# Skins to install (Confluence)
|
||||
# Space separated list is supported,
|
||||
# e.g. SKINS="Confluence"
|
||||
SKINS="Confluence"
|
||||
|
||||
# Default Skin (Confluence)
|
||||
SKIN_DEFAULT="Confluence"
|
||||
|
||||
# install extra subtitle Fonts for KODI (yes / no)
|
||||
KODI_EXTRA_FONTS="yes"
|
||||
|
||||
# build and install 'RSXS' Screensaver (yes / no)
|
||||
KODI_SCR_RSXS="yes"
|
||||
|
||||
# build and install 'ProjectM' Visualization (yes / no)
|
||||
KODI_VIS_PROJECTM="yes"
|
||||
|
||||
# build and install 'GOOM' Visualization (yes / no)
|
||||
KODI_VIS_GOOM="yes"
|
||||
|
||||
# build and install 'Waveform' Visualization (yes / no)
|
||||
KODI_VIS_WAVEFORM="yes"
|
||||
|
||||
# build and install 'Spectrum' Visualization (yes / no)
|
||||
KODI_VIS_SPECTRUM="yes"
|
||||
|
||||
# build and install 'FishBMC' Visualization (yes / no)
|
||||
# does not work on RPi
|
||||
KODI_VIS_FISHBMC="yes"
|
||||
|
||||
# build and install PulseAudio support (yes / no)
|
||||
PULSEAUDIO_SUPPORT="no"
|
||||
|
||||
# build and install espeak support (yes / no)
|
||||
ESPEAK_SUPPORT="yes"
|
||||
|
||||
# build and install with non-free support
|
||||
# (RAR compression support in KODI) (yes / no)
|
||||
KODI_NONFREE_SUPPORT="yes"
|
||||
|
||||
# build and install with BluRay support (yes / no)
|
||||
KODI_BLURAY_SUPPORT="yes"
|
||||
|
||||
# build and install with BD+ support
|
||||
# (BD+ decryption support in KODI) (yes / no)
|
||||
BLURAY_BDPLUS_SUPPORT="yes"
|
||||
|
||||
# build and install with AACS support
|
||||
# (BD decryption support in KODI) (yes / no)
|
||||
BLURAY_AACS_SUPPORT="yes"
|
||||
|
||||
# build and install with DVDCSS support
|
||||
# (DVD decryption support in KODI) (yes / no)
|
||||
KODI_DVDCSS_SUPPORT="yes"
|
||||
|
||||
# additional drivers to install:
|
||||
# for a list of additinoal drivers see packages/linux-drivers
|
||||
# Space separated list is supported,
|
||||
# e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2"
|
||||
ADDITIONAL_DRIVERS="RTL8192CU RTL8192DU RTL8188EU RTL8812AU"
|
||||
|
||||
# build and install bluetooth support (yes / no)
|
||||
BLUETOOTH_SUPPORT="yes"
|
||||
|
||||
# build and install with KODI webfrontend (yes / no)
|
||||
KODI_WEBSERVER_SUPPORT="yes"
|
||||
|
||||
# build and install Avahi (Zeroconf) daemon (yes / no)
|
||||
AVAHI_DAEMON="yes"
|
||||
|
||||
# build with UPnP support (yes / no)
|
||||
KODI_UPNP_SUPPORT="yes"
|
||||
|
||||
# build with MySQL support (yes / no)
|
||||
KODI_MYSQL_SUPPORT="yes"
|
||||
|
||||
# build xbmc with sshlib support (yes / no)
|
||||
KODI_SSHLIB_SUPPORT="yes"
|
||||
|
||||
# build xbmc with optical drive support (yes / no)
|
||||
KODI_OPTICAL_SUPPORT="yes"
|
||||
|
||||
# KODI Audio encoders for usage with optical drive support
|
||||
# Space separated list is supported,
|
||||
# e.g. KODI_AUDIOENCODER_ADDONS="ENCODER1 ENCODER2"
|
||||
KODI_AUDIOENCODER_ADDONS="flac lame vorbis wav"
|
||||
|
||||
# build with AirPlay support (stream videos from iDevices to KODI) (yes / no)
|
||||
KODI_AIRPLAY_SUPPORT="yes"
|
||||
|
||||
# build with AirTunes support (stream music from iDevices to KODI) (yes / no)
|
||||
KODI_AIRTUNES_SUPPORT="yes"
|
||||
|
||||
# build with libnfs support (mounting nfs shares with KODI) (yes / no)
|
||||
KODI_NFS_SUPPORT="yes"
|
||||
|
||||
# build with afpfs-ng support (mounting AFP shares with KODI) (yes / no)
|
||||
KODI_AFP_SUPPORT="no"
|
||||
|
||||
# build with Samba Client support (mounting SAMBA shares with KODI) (yes / no)
|
||||
KODI_SAMBA_SUPPORT="yes"
|
||||
|
||||
# build with NFS support (mounting nfs shares via the OS) (yes / no)
|
||||
NFS_SUPPORT="yes"
|
||||
|
||||
# build with Samba Client support (mounting samba shares via the OS) (yes / no)
|
||||
SAMBA_SUPPORT="yes"
|
||||
|
||||
# build and install Samba Server (yes / no)
|
||||
SAMBA_SERVER="yes"
|
||||
|
||||
# build and install SFTP Server (yes / no)
|
||||
SFTP_SERVER="yes"
|
||||
|
||||
# build and install PPP support (yes / no)
|
||||
PPTP_SUPPORT="yes"
|
||||
|
||||
# build and install OpenVPN support (yes / no)
|
||||
OPENVPN_SUPPORT="yes"
|
||||
|
||||
# build and install diskmounter support (udevil)
|
||||
# this service provide auto mounting support for external drives in the
|
||||
# mediacenter also automount internally drives at boottime via udev (yes / no)
|
||||
UDEVIL="yes"
|
||||
|
||||
# build and install exFAT fuse support (yes / no)
|
||||
EXFAT="yes"
|
||||
|
||||
# build and install NTFS-3G fuse support (yes / no)
|
||||
NTFS3G="yes"
|
||||
|
||||
# build and install hfs filesystem utilities (yes / no)
|
||||
HFSTOOLS="yes"
|
||||
|
||||
# Windowmanager to use (ratpoison / fluxbox / none)
|
||||
WINDOWMANAGER="none"
|
||||
|
||||
# Xorg Graphic drivers to use (all / i915,i965,r200,r300,r600,nvidia,nouveau)
|
||||
# Space separated list is supported,
|
||||
# e.g. GRAPHIC_DRIVERS="i915 i965 r300 r600 radeonsi nvidia nouveau"
|
||||
if [ "$TARGET_ARCH" = "i386" ]; then
|
||||
# TODO: create Legacy build with OpenELEC-4.2
|
||||
# install legacy drivers to i386 ARCH
|
||||
GRAPHIC_DRIVERS="r200 r300 r600 i915 i965 nouveau"
|
||||
elif [ "$TARGET_ARCH" = "x86_64" ]; then
|
||||
GRAPHIC_DRIVERS="r300 r600 radeonsi i915 i965 nouveau"
|
||||
fi
|
||||
|
||||
# build and install remote support (yes / no)
|
||||
REMOTE_SUPPORT="no"
|
||||
|
||||
# build and install ATV IR remote support (yes / no)
|
||||
ATVCLIENT_SUPPORT="no"
|
||||
|
||||
# build and install IRServer IR/LCD support (yes / no)
|
||||
IRSERVER_SUPPORT="no"
|
||||
|
||||
# build and install Joystick support (yes / no)
|
||||
JOYSTICK_SUPPORT="yes"
|
||||
|
||||
# build and install CEC adapter support (yes / no)
|
||||
CEC_SUPPORT="yes"
|
||||
|
||||
# build and install iSCSI support - iscsistart (yes / no)
|
||||
ISCSI_SUPPORT="yes"
|
||||
|
||||
# LCD driver to Use - Possible drivers are ( Comma seperated:
|
||||
# bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx,dm140,
|
||||
# ea65,EyeboxOne,g15,glcdlib,glk,hd44780,i2500vfd,
|
||||
# icp_a106,imon,imonlcd,IOWarrior,irman,irtrans,
|
||||
# joy,lb216,lcdm001,lcterm,lirc,lis,MD8800,mdm166a,
|
||||
# ms6931,mtc_s16209x,MtxOrb,mx5000,NoritakeVFD,
|
||||
# picolcd,pyramid,sed1330,sed1520,serialPOS,
|
||||
# serialVFD,shuttleVFD,sli,stv5730,SureElec,svga,vlsys_m428
|
||||
# 'all' compiles all drivers;
|
||||
# 'all,!xxx,!yyy' de-selects previously selected drivers
|
||||
# "none" for disable LCD support
|
||||
LCD_DRIVER="irtrans,imon,imonlcd,mdm166a,MtxOrb,lis,dm140,hd44780,CFontz,SureElec,vlsys_m428,serialVFD,shuttleVFD"
|
||||
|
||||
# Support for partitioning and formating disks in initramfs (yes / no)
|
||||
# This adds support for parted and mkfs.ext3/4 to initramfs for OEM usage
|
||||
INITRAMFS_PARTED_SUPPORT="no"
|
||||
|
||||
# build with swap support (yes / no)
|
||||
SWAP_SUPPORT="no"
|
||||
|
||||
# swap support enabled per default (yes / no)
|
||||
SWAP_ENABLED_DEFAULT="no"
|
||||
|
||||
# swapfile size if SWAP_SUPPORT=yes in MB
|
||||
SWAPFILESIZE="256"
|
||||
|
||||
# build with installer (yes / no)
|
||||
INSTALLER_SUPPORT="yes"
|
||||
|
||||
# Testpackages for development (yes / no)
|
||||
TESTING="no"
|
||||
|
||||
# OEM packages for OEM's (yes / no)
|
||||
OEM_SUPPORT="yes"
|
||||
|
||||
# build and install nano text editor (yes / no)
|
||||
NANO_EDITOR="yes"
|
||||
|
||||
# cron support (yes / no)
|
||||
CRON_SUPPORT="yes"
|
||||
|
||||
# Perf support in development builds (yes / no)
|
||||
PERF_SUPPORT="yes"
|
||||
|
||||
# Distribution Specific source location
|
||||
DISTRO_MIRROR="http://sources.openelec.tv/mirror"
|
||||
DISTRO_SRC="http://sources.openelec.tv/$OPENELEC_VERSION"
|
||||
|
||||
# Addon Server Url
|
||||
ADDON_SERVER_URL="http://addons.openelec.tv"
|
||||
|
||||
# set the addon dirs
|
||||
ADDON_PATH="$ADDON_VERSION/$PROJECT/$TARGET_ARCH"
|
||||
ADDON_URL="$ADDON_SERVER_URL/$ADDON_PATH"
|
||||
|
||||
LAKKA_MIRROR="http://sources.lakka.tv"
|
||||
RA_PLAYLIST_NAMES="Atari - 2600.lpl;Atari - 5200.lpl;Atari - 7800.lpl;Atari - Jaguar.lpl;Atari - Lynx.lpl;Atari - ST.lpl;Bandai - WonderSwan Color.lpl;Bandai - WonderSwan.lpl;Coleco - ColecoVision.lpl;DOOM.lpl;FB Alpha - Arcade Games.lpl;GCE - Vectrex.lpl;Magnavox - Odyssey2.lpl;MAME.lpl;Microsoft - MSX2.lpl;Microsoft - MSX.lpl;NEC - PC Engine SuperGrafx.lpl;NEC - PC Engine - TurboGrafx 16.lpl;Nintendo - Famicom Disk System.lpl;Nintendo - Game Boy Advance (e-Cards).lpl;Nintendo - Game Boy Advance.lpl;Nintendo - Game Boy Color.lpl;Nintendo - Game Boy.lpl;Nintendo - Nintendo 64.lpl;Nintendo - Nintendo DS Decrypted.lpl;Nintendo - Nintendo DS (Download Play) (BETA).lpl;Nintendo - Nintendo DSi Decrypted.lpl;Nintendo - Nintendo DSi (DLC).lpl;Nintendo - Nintendo Entertainment System.lpl;Nintendo - Satellaview.lpl;Nintendo - Super Nintendo Entertainment System.lpl;Nintendo - Virtual Boy.lpl;Quake1.lpl;ScummVM.lpl;Sega - 32X.lpl;Sega - Game Gear.lpl;Sega - Master System - Mark III.lpl;Sega - Mega Drive - Genesis.lpl;Sega - PICO.lpl;Sega - SG-1000.lpl;Sinclair - ZX Spectrum +3.lpl;SNK - Neo Geo Pocket Color.lpl;SNK - Neo Geo Pocket.lpl;Sony - PlayStation Portable.lpl;Sony - PlayStation.lpl"
|
||||
RA_PLAYLIST_CORES="/tmp/cores/stella_libretro.so;DETECT;/tmp/cores/prosystem_libretro.so;/tmp/cores/virtualjaguar_libretro.so;/tmp/cores/handy_libretro.so;/tmp/cores/hatari_libretro.so;/tmp/cores/mednafen_wswan_libretro.so;/tmp/cores/mednafen_wswan_libretro.so;/tmp/cores/bluemsx_libretro.so;/tmp/cores/prboom_libretro.so;/tmp/cores/fba_libretro.so;/tmp/cores/vecx_libretro.so;/tmp/cores/o2em_libretro.so;/tmp/cores/mame_libretro.so;/tmp/cores/bluemsx_libretro.so;/tmp/cores/bluemsx_libretro.so;/tmp/cores/mednafen_supergrafx_libretro.so;/tmp/cores/mednafen_pce_fast_libretro.so;/tmp/cores/nestopia_libretro.so;/tmp/cores/gpsp_libretro.so;/tmp/cores/gpsp_libretro.so;/tmp/cores/gambatte_libretro.so;/tmp/cores/gambatte_libretro.so;/tmp/cores/mupen64plus_libretro.so;/tmp/cores/desmume_libretro.so;/tmp/cores/desmume_libretro.so;/tmp/cores/desmume_libretro.so;/tmp/cores/desmume_libretro.so;/tmp/cores/nestopia_libretro.so;/tmp/cores/snes9x_next_libretro.so;/tmp/cores/snes9x_next_libretro.so;/tmp/cores/mednafen_vb_libretro.so;/tmp/cores/tyrquake_libretro.so;/tmp/cores/scummvm_libretro.so;/tmp/cores/picodrive_libretro.so;/tmp/cores/genesis_plus_gx_libretro.so;/tmp/cores/genesis_plus_gx_libretro.so;/tmp/cores/genesis_plus_gx_libretro.so;/tmp/cores/picodrive_libretro.so;/tmp/cores/genesis_plus_gx_libretro.so;/tmp/cores/fuse_libretro.so;/tmp/cores/mednafen_ngp_libretro.so;/tmp/cores/mednafen_ngp_libretro.so;/tmp/cores/ppsspp_libretro.so;/tmp/cores/pcsx_rearmed_libretro.so"
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 2.5 KiB |
@@ -1,224 +0,0 @@
|
||||
# Name of the Distro to build (full name, without special characters)
|
||||
DISTRONAME="OpenELEC"
|
||||
|
||||
# short project description
|
||||
DESCRIPTION="OpenELEC is a fast and userfriendly Kodi Entertainment Center distribution."
|
||||
|
||||
# Welcome Message for e.g. SSH Server (up to 5 Lines)
|
||||
GREETING0="##############################################"
|
||||
GREETING1="# OpenELEC - The living room PC for everyone #"
|
||||
GREETING2="# ...... visit http://www.openelec.tv ...... #"
|
||||
GREETING3="##############################################"
|
||||
GREETING4=""
|
||||
|
||||
# Root password to integrate in the target system
|
||||
ROOT_PASSWORD="openelec"
|
||||
|
||||
# Mediacenter to use (kodi / no)
|
||||
MEDIACENTER="kodi"
|
||||
|
||||
# Skins to install (Confluence)
|
||||
# Space separated list is supported,
|
||||
# e.g. SKINS="Confluence"
|
||||
SKINS="Confluence"
|
||||
|
||||
# Default Skin (Confluence)
|
||||
SKIN_DEFAULT="Confluence"
|
||||
|
||||
# install extra subtitle Fonts for KODI (yes / no)
|
||||
KODI_EXTRA_FONTS="yes"
|
||||
|
||||
# build and install 'RSXS' Screensaver (yes / no)
|
||||
KODI_SCR_RSXS="yes"
|
||||
|
||||
# build and install 'ProjectM' Visualization (yes / no)
|
||||
KODI_VIS_PROJECTM="yes"
|
||||
|
||||
# build and install 'GOOM' Visualization (yes / no)
|
||||
KODI_VIS_GOOM="yes"
|
||||
|
||||
# build and install 'Waveform' Visualization (yes / no)
|
||||
KODI_VIS_WAVEFORM="yes"
|
||||
|
||||
# build and install 'Spectrum' Visualization (yes / no)
|
||||
KODI_VIS_SPECTRUM="yes"
|
||||
|
||||
# build and install 'FishBMC' Visualization (yes / no)
|
||||
# does not work on RPi
|
||||
KODI_VIS_FISHBMC="yes"
|
||||
|
||||
# build and install espeak support (yes / no)
|
||||
ESPEAK_SUPPORT="yes"
|
||||
|
||||
# build and install with non-free support
|
||||
# (RAR compression support in KODI) (yes / no)
|
||||
KODI_NONFREE_SUPPORT="yes"
|
||||
|
||||
# build and install with BluRay support (yes / no)
|
||||
KODI_BLURAY_SUPPORT="yes"
|
||||
|
||||
# build and install with BD+ support
|
||||
# (BD+ decryption support in KODI) (yes / no)
|
||||
BLURAY_BDPLUS_SUPPORT="yes"
|
||||
|
||||
# build and install with AACS support
|
||||
# (BD decryption support in KODI) (yes / no)
|
||||
BLURAY_AACS_SUPPORT="yes"
|
||||
|
||||
# build and install with DVDCSS support
|
||||
# (DVD decryption support in KODI) (yes / no)
|
||||
KODI_DVDCSS_SUPPORT="yes"
|
||||
|
||||
# additional drivers to install:
|
||||
# for a list of additinoal drivers see packages/linux-drivers
|
||||
# Space separated list is supported,
|
||||
# e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2"
|
||||
ADDITIONAL_DRIVERS="RTL8192CU RTL8192DU RTL8188EU RTL8812AU dvbhdhomerun"
|
||||
|
||||
# build and install bluetooth support (yes / no)
|
||||
BLUETOOTH_SUPPORT="yes"
|
||||
|
||||
# build and install with KODI webfrontend (yes / no)
|
||||
KODI_WEBSERVER_SUPPORT="yes"
|
||||
|
||||
# build and install Avahi (Zeroconf) daemon (yes / no)
|
||||
AVAHI_DAEMON="yes"
|
||||
|
||||
# build with UPnP support (yes / no)
|
||||
KODI_UPNP_SUPPORT="yes"
|
||||
|
||||
# build with MySQL support (yes / no)
|
||||
KODI_MYSQL_SUPPORT="yes"
|
||||
|
||||
# build xbmc with sshlib support (yes / no)
|
||||
KODI_SSHLIB_SUPPORT="yes"
|
||||
|
||||
# build xbmc with optical drive support (yes / no)
|
||||
KODI_OPTICAL_SUPPORT="yes"
|
||||
|
||||
# KODI Audio encoders for usage with optical drive support
|
||||
# Space separated list is supported,
|
||||
# e.g. KODI_AUDIOENCODER_ADDONS="ENCODER1 ENCODER2"
|
||||
KODI_AUDIOENCODER_ADDONS="flac lame vorbis wav"
|
||||
|
||||
# build with AirPlay support (stream videos from iDevices to KODI) (yes / no)
|
||||
KODI_AIRPLAY_SUPPORT="yes"
|
||||
|
||||
# build with AirTunes support (stream music from iDevices to KODI) (yes / no)
|
||||
KODI_AIRTUNES_SUPPORT="yes"
|
||||
|
||||
# build with libnfs support (mounting nfs shares with KODI) (yes / no)
|
||||
KODI_NFS_SUPPORT="yes"
|
||||
|
||||
# build with Samba Client support (mounting SAMBA shares with KODI) (yes / no)
|
||||
KODI_SAMBA_SUPPORT="yes"
|
||||
|
||||
# build with NFS support (mounting nfs shares via the OS) (yes / no)
|
||||
NFS_SUPPORT="yes"
|
||||
|
||||
# build with Samba Client support (mounting samba shares via the OS) (yes / no)
|
||||
SAMBA_SUPPORT="yes"
|
||||
|
||||
# build and install Samba Server (yes / no)
|
||||
SAMBA_SERVER="yes"
|
||||
|
||||
# build and install SFTP Server (yes / no)
|
||||
SFTP_SERVER="yes"
|
||||
|
||||
# build and install diskmounter support (udevil)
|
||||
# this service provide auto mounting support for external drives in the
|
||||
# mediacenter also automount internally drives at boottime via udev (yes / no)
|
||||
UDEVIL="yes"
|
||||
|
||||
# build and install exFAT fuse support (yes / no)
|
||||
EXFAT="yes"
|
||||
|
||||
# build and install NTFS-3G fuse support (yes / no)
|
||||
NTFS3G="yes"
|
||||
|
||||
# build and install hfs filesystem utilities (yes / no)
|
||||
HFSTOOLS="yes"
|
||||
|
||||
# Windowmanager to use (ratpoison / fluxbox / none)
|
||||
WINDOWMANAGER="fluxbox"
|
||||
|
||||
# Xorg Graphic drivers to use (all / i915,i965,r200,r300,r600,nvidia,nouveau)
|
||||
# Space separated list is supported,
|
||||
# e.g. GRAPHIC_DRIVERS="i915 i965 r300 r600 radeonsi nvidia nouveau"
|
||||
if [ "$TARGET_ARCH" = "i386" ]; then
|
||||
# TODO: create Legacy build with OpenELEC-4.2
|
||||
# install legacy drivers to i386 ARCH
|
||||
GRAPHIC_DRIVERS="r200 r300 r600 i915 i965 nvidia-legacy"
|
||||
elif [ "$TARGET_ARCH" = "x86_64" ]; then
|
||||
GRAPHIC_DRIVERS="r300 r600 radeonsi i915 i965 nvidia"
|
||||
fi
|
||||
|
||||
# build and install remote support (yes / no)
|
||||
REMOTE_SUPPORT="yes"
|
||||
|
||||
# build and install ATV IR remote support (yes / no)
|
||||
ATVCLIENT_SUPPORT="yes"
|
||||
|
||||
# build and install IRServer IR/LCD support (yes / no)
|
||||
IRSERVER_SUPPORT="yes"
|
||||
|
||||
# build and install Joystick support (yes / no)
|
||||
JOYSTICK_SUPPORT="yes"
|
||||
|
||||
# build and install CEC adapter support (yes / no)
|
||||
CEC_SUPPORT="yes"
|
||||
|
||||
# build and install iSCSI support - iscsistart (yes / no)
|
||||
ISCSI_SUPPORT="yes"
|
||||
|
||||
# LCD driver to Use - Possible drivers are ( Comma seperated:
|
||||
# bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx,dm140,
|
||||
# ea65,EyeboxOne,g15,glcdlib,glk,hd44780,i2500vfd,
|
||||
# icp_a106,imon,imonlcd,IOWarrior,irman,irtrans,
|
||||
# joy,lb216,lcdm001,lcterm,lirc,lis,MD8800,mdm166a,
|
||||
# ms6931,mtc_s16209x,MtxOrb,mx5000,NoritakeVFD,
|
||||
# picolcd,pyramid,sed1330,sed1520,serialPOS,
|
||||
# serialVFD,shuttleVFD,sli,stv5730,SureElec,svga,vlsys_m428
|
||||
# 'all' compiles all drivers;
|
||||
# 'all,!xxx,!yyy' de-selects previously selected drivers
|
||||
# "none" for disable LCD support
|
||||
LCD_DRIVER="irtrans,imon,imonlcd,mdm166a,MtxOrb,lis,dm140,hd44780,CFontz,SureElec,vlsys_m428,serialVFD,shuttleVFD"
|
||||
|
||||
# Support for partitioning and formating disks in initramfs (yes / no)
|
||||
# This adds support for parted and mkfs.ext3/4 to initramfs for OEM usage
|
||||
INITRAMFS_PARTED_SUPPORT="no"
|
||||
|
||||
# build with swap support (yes / no)
|
||||
SWAP_SUPPORT="no"
|
||||
|
||||
# swap support enabled per default (yes / no)
|
||||
SWAP_ENABLED_DEFAULT="no"
|
||||
|
||||
# swapfile size if SWAP_SUPPORT=yes in MB
|
||||
SWAPFILESIZE="256"
|
||||
|
||||
# build with installer (yes / no)
|
||||
INSTALLER_SUPPORT="yes"
|
||||
|
||||
# Testpackages for development (yes / no)
|
||||
TESTING="no"
|
||||
|
||||
# OEM packages for OEM's (yes / no)
|
||||
OEM_SUPPORT="no"
|
||||
|
||||
# build and install nano text editor (yes / no)
|
||||
NANO_EDITOR="yes"
|
||||
|
||||
# cron support (yes / no)
|
||||
CRON_SUPPORT="yes"
|
||||
|
||||
# Distribution Specific source location
|
||||
DISTRO_MIRROR="http://sources.openelec.tv/mirror"
|
||||
DISTRO_SRC="http://sources.openelec.tv/$OPENELEC_VERSION"
|
||||
|
||||
# Addon Server Url
|
||||
ADDON_SERVER_URL="http://addons.openelec.tv"
|
||||
|
||||
# set the addon dirs
|
||||
ADDON_PATH="$ADDON_VERSION/$PROJECT/$TARGET_ARCH"
|
||||
ADDON_URL="$ADDON_SERVER_URL/$ADDON_PATH"
|
||||
@@ -1,32 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
rm -rf target/
|
||||
|
||||
DISTRO=Lakka PROJECT=Generic ARCH=x86_64 make image -j9
|
||||
DISTRO=Lakka PROJECT=Generic ARCH=i386 make image -j9
|
||||
DISTRO=Lakka PROJECT=RPi ARCH=arm make image -j9
|
||||
DISTRO=Lakka PROJECT=RPi ARCH=arm make noobs -j9
|
||||
DISTRO=Lakka PROJECT=RPi2 ARCH=arm make image -j9
|
||||
DISTRO=Lakka PROJECT=RPi2 ARCH=arm make noobs -j9
|
||||
DISTRO=Lakka PROJECT=imx6 SYSTEM=cuboxi ARCH=arm make image -j9
|
||||
DISTRO=Lakka PROJECT=imx6 SYSTEM=udoo ARCH=arm make image -j9
|
||||
DISTRO=Lakka PROJECT=a20 ARCH=arm make image -j9
|
||||
DISTRO=Lakka PROJECT=a10 ARCH=arm make image -j9
|
||||
DISTRO=Lakka PROJECT=Bananapi ARCH=arm make image -j9
|
||||
DISTRO=Lakka PROJECT=OdroidC1 ARCH=arm make image -j9
|
||||
DISTRO=Lakka PROJECT=OdroidXU3 ARCH=arm make image -j9
|
||||
DISTRO=Lakka PROJECT=WeTek_Play ARCH=arm make image -j9
|
||||
DISTRO=Lakka PROJECT=WeTek_Core ARCH=arm make image -j9
|
||||
|
||||
for f in target/*; do
|
||||
md5sum $f > $f.md5
|
||||
sha256sum $f > $f.sha256
|
||||
done
|
||||
|
||||
for f in target/*; do
|
||||
dir=`echo $f | sed -e 's/target\/Lakka-\(.*\)-devel-\(.*\)/\1/'`
|
||||
mkdir -p target/$dir
|
||||
mv $f target/$dir/
|
||||
done
|
||||
|
||||
#scp -r target/* [email protected]:sources/nightly/
|
||||
+1
-1
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="cxxtools"
|
||||
PKG_VERSION="2.2.1"
|
||||
PKG_VERSION="2.2"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL-2"
|
||||
|
||||
File renamed without changes.
Vendored
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
+1
-1
@@ -22,7 +22,7 @@ PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.vdr-wiki.de/wiki/index.php/Dummydevice-plugin"
|
||||
PKG_URL="$DISTRO_MIRROR/$PKG_NAME/$PKG_NAME-$PKG_VERSION.tgz"
|
||||
PKG_URL="http://phivdr.dyndns.org/vdr/$PKG_NAME/$PKG_NAME-$PKG_VERSION.tgz"
|
||||
PKG_SOURCE_DIR="dummydevice-${PKG_VERSION}"
|
||||
PKG_DEPENDS_TARGET="toolchain vdr"
|
||||
PKG_PRIORITY="optional"
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
+1
-1
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="vdr-iptv"
|
||||
PKG_VERSION="2.2.0"
|
||||
PKG_VERSION="2.1.3"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
+2
-2
@@ -17,13 +17,13 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="vdr-plugin-dvbapi"
|
||||
PKG_VERSION="c0c7fa2"
|
||||
PKG_VERSION="bdcad3f"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/manio/vdr-plugin-dvbapi"
|
||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS_TARGET="toolchain vdr libdvbcsa"
|
||||
PKG_DEPENDS_TARGET="toolchain vdr openssl libdvbcsa"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="multimedia"
|
||||
PKG_SHORTDESC="TV"
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
+1
-1
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="vdr-plugin-eepg"
|
||||
PKG_VERSION="9cd9a75"
|
||||
PKG_VERSION="d7dc614"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
File renamed without changes.
+2
-2
@@ -17,13 +17,13 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="vdr-plugin-streamdev"
|
||||
PKG_VERSION="84c6f6b"
|
||||
PKG_VERSION="40704cd"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://projects.vdr-developer.org/projects/show/plg-streamdev"
|
||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS_TARGET="toolchain vdr libressl"
|
||||
PKG_DEPENDS_TARGET="toolchain vdr openssl"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="multimedia"
|
||||
PKG_SHORTDESC="TV"
|
||||
File renamed without changes.
File renamed without changes.
+3
-2
@@ -17,11 +17,11 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="vdr-plugin-vnsiserver"
|
||||
PKG_VERSION="9529e6d"
|
||||
PKG_VERSION="7d4aa81"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/FernetMenta/vdr-plugin-vnsiserver"
|
||||
PKG_SITE="https://github.com/opdenkamp/xbmc-pvr-addons/tree/master/addons/pvr.vdr.vnsi/vdr-plugin-vnsiserver"
|
||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS_TARGET="toolchain vdr"
|
||||
PKG_PRIORITY="optional"
|
||||
@@ -30,6 +30,7 @@ PKG_SHORTDESC="TV"
|
||||
PKG_LONGDESC="TV"
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
pre_configure_target() {
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
+1
-1
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="vdr-plugin-xvdr"
|
||||
PKG_VERSION="b300fc3"
|
||||
PKG_VERSION="7f49bfa"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
File renamed without changes.
Vendored
+1
-1
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="vdr-satip"
|
||||
PKG_VERSION="2.2.0"
|
||||
PKG_VERSION="0.3.3"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
File renamed without changes.
+1
-1
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="vdr-wirbelscan"
|
||||
PKG_VERSION="0.0.9"
|
||||
PKG_VERSION="0.0.7"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
Vendored
+25
@@ -0,0 +1,25 @@
|
||||
From f1923761486397809be88b3344d0c498afe1bf29 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <[email protected]>
|
||||
Date: Mon, 9 Jun 2014 22:02:58 +0300
|
||||
Subject: [PATCH] dont build i18n
|
||||
|
||||
---
|
||||
Makefile | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 87d274e..b9f4b29 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -74,7 +74,7 @@ UNCRUSTIFY_FILES = scanner.c scanner.h scanfilter.c scanfilter.h statemachine.h
|
||||
|
||||
### The main target:
|
||||
|
||||
-all: libvdr-$(PLUGIN).so i18n
|
||||
+all: libvdr-$(PLUGIN).so
|
||||
|
||||
### Implicit rules:
|
||||
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
Vendored
+51
@@ -0,0 +1,51 @@
|
||||
commit 64f969e39d18aefa263dc3a61172e33df33963fb
|
||||
Author: Stefan Saraev <[email protected]>
|
||||
Date: Thu Mar 29 20:22:11 2012 +0300
|
||||
|
||||
wirbelscan: receiver-api-fixes
|
||||
|
||||
diff --git a/statemachine.c b/statemachine.c
|
||||
index 48a212e..bc0c8e5 100644
|
||||
--- a/statemachine.c
|
||||
+++ b/statemachine.c
|
||||
@@ -36,12 +36,12 @@ protected:
|
||||
while (Running()) cCondWait::SleepMs(5);
|
||||
}; /*TODO: check here periodically for lock and wether we got any data!*/
|
||||
public:
|
||||
- cScanReceiver(tChannelID ChannelID, int AnyPid);
|
||||
+ cScanReceiver(const cChannel* chan, int AnyPid);
|
||||
virtual ~cScanReceiver() {cReceiver::Detach(); };
|
||||
};
|
||||
|
||||
-cScanReceiver::cScanReceiver(tChannelID ChannelID, int AnyPid) :
|
||||
- cReceiver(ChannelID, 99, AnyPid), cThread("dummy receiver") { }
|
||||
+cScanReceiver::cScanReceiver(const cChannel* chan, int AnyPid) :
|
||||
+ cReceiver(chan, 99), cThread("dummy receiver") { AddPid(AnyPid); }
|
||||
|
||||
///!-----------------------------------------------------------------
|
||||
///! v 0.0.5, store state in lastState if different and print state
|
||||
@@ -144,7 +144,7 @@ void cStateMachine::Action(void) {
|
||||
ScannedTransponders.Add(ScannedTransponder);
|
||||
|
||||
dev->SwitchChannel(Transponder, false);
|
||||
- aReceiver = new cScanReceiver(Transponder->GetChannelID(), 99);
|
||||
+ aReceiver = new cScanReceiver(Transponder, 99);
|
||||
dev->AttachReceiver(aReceiver);
|
||||
|
||||
cCondWait::SleepMs(1000);
|
||||
diff --git a/ttext.c b/ttext.c
|
||||
index 0053936..0864484 100644
|
||||
--- a/ttext.c
|
||||
+++ b/ttext.c
|
||||
@@ -374,9 +374,9 @@ void cSwReceiver::Action() {
|
||||
}
|
||||
}
|
||||
|
||||
-cSwReceiver::cSwReceiver(cChannel * Channel) : cReceiver(Channel->GetChannelID(),
|
||||
- 100, Channel->Tpid()), cThread("ttext") {
|
||||
+cSwReceiver::cSwReceiver(cChannel * Channel) : cReceiver(Channel, 100), cThread("ttext") {
|
||||
|
||||
+ AddPid(Channel->Tpid());
|
||||
stopped = fuzzy = false;
|
||||
channel = Channel;
|
||||
buffer = new cRingBufferLinear(MEGABYTE(1),184);
|
||||
File renamed without changes.
File renamed without changes.
+2
-2
@@ -18,12 +18,12 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="vdr"
|
||||
PKG_VERSION="2.2.0"
|
||||
PKG_VERSION="2.1.6"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.tvdr.de"
|
||||
PKG_URL="ftp://ftp.tvdr.de/vdr/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||
PKG_URL="ftp://ftp.tvdr.de/vdr/Developer/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||
PKG_DEPENDS_TARGET="toolchain fontconfig freetype libcap libjpeg-turbo bzip2"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="multimedia"
|
||||
File renamed without changes.
@@ -0,0 +1,12 @@
|
||||
diff -Nru vdr-1.7.15-vanilla/eitscan.c vdr-1.7.15-disable_eitscan/eitscan.c
|
||||
--- vdr-1.7.15-vanilla/eitscan.c 2010-06-06 19:11:14.000000000 +0300
|
||||
+++ vdr-1.7.15-disable_eitscan/eitscan.c 2010-06-06 20:44:07.000000000 +0300
|
||||
@@ -146,7 +146,7 @@
|
||||
if (Device) {
|
||||
for (cScanData *ScanData = scanList->First(); ScanData; ScanData = scanList->Next(ScanData)) {
|
||||
const cChannel *Channel = ScanData->GetChannel();
|
||||
- if (Channel) {
|
||||
+ if (Channel && !cSource::IsType(Channel->Source(), 'I')) {
|
||||
if (!Channel->Ca() || Channel->Ca() == Device->DeviceNumber() + 1 || Channel->Ca() >= CA_ENCRYPTED_MIN) {
|
||||
if (Device->ProvidesTransponder(Channel)) {
|
||||
if (!Device->Receiving()) {
|
||||
File renamed without changes.
+1
-1
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="tntnet"
|
||||
PKG_VERSION="2.2.1"
|
||||
PKG_VERSION="2.2"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL-2"
|
||||
|
||||
@@ -1,9 +1,3 @@
|
||||
4.3.2
|
||||
allow running scripts from addon settings
|
||||
4.3.1
|
||||
rebuild for addon api bump
|
||||
4.3.0
|
||||
rebuild for addon api bump
|
||||
4.1.2
|
||||
clean up
|
||||
4.1.0
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="hdhomerun"
|
||||
PKG_VERSION="4.3"
|
||||
PKG_VERSION="4.1"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
||||
@@ -32,8 +32,8 @@ unlock() { flock -u $HDHR_LOCKFD; flock -xn $HDHR_LOCKFD && rm -f "$HDHR_LOCKFIL
|
||||
# exclusive lock
|
||||
exlock
|
||||
|
||||
HDHR_ADDON_DIR="$HOME/.kodi/addons/driver.dvb.hdhomerun"
|
||||
HDHR_ADDON_HOME="$HOME/.kodi/userdata/addon_data/driver.dvb.hdhomerun"
|
||||
HDHR_ADDON_DIR="$HOME/.xbmc/addons/driver.dvb.hdhomerun"
|
||||
HDHR_ADDON_HOME="$HOME/.xbmc/userdata/addon_data/driver.dvb.hdhomerun"
|
||||
HDHR_ADDON_SETTINGS="$HDHR_ADDON_HOME/settings.xml"
|
||||
|
||||
# modules are not automatically loaded
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
# Copyright (C) 2009-2013 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -15,3 +15,18 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
import os
|
||||
import sys
|
||||
import xbmcaddon
|
||||
|
||||
__settings__ = xbmcaddon.Addon(id = 'driver.dvb.hdhomerun')
|
||||
__cwd__ = __settings__.getAddonInfo('path')
|
||||
__resources_lib__ = xbmc.translatePath(os.path.join(__cwd__, 'resources', 'lib'))
|
||||
__settings_xml__ = xbmc.translatePath(os.path.join(__cwd__, 'resources', 'settings.xml'))
|
||||
|
||||
if __name__ == "__main__" and len(sys.argv) == 2 and sys.argv[1] == 'refresh_tuners':
|
||||
sys.path.append(__resources_lib__)
|
||||
from functions import refresh_hdhomerun_tuners
|
||||
refresh_hdhomerun_tuners(__settings_xml__)
|
||||
__settings__.openSettings()
|
||||
@@ -1,32 +0,0 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# 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/>.
|
||||
################################################################################
|
||||
|
||||
import os
|
||||
import sys
|
||||
import xbmcaddon
|
||||
|
||||
__settings__ = xbmcaddon.Addon(id = 'driver.dvb.hdhomerun')
|
||||
__cwd__ = __settings__.getAddonInfo('path')
|
||||
__resources_lib__ = xbmc.translatePath(os.path.join(__cwd__, 'resources', 'lib'))
|
||||
__settings_xml__ = xbmc.translatePath(os.path.join(__cwd__, 'resources', 'settings.xml'))
|
||||
|
||||
if len(sys.argv) == 2 and sys.argv[1] == 'refresh_tuners':
|
||||
sys.path.append(__resources_lib__)
|
||||
from functions import refresh_hdhomerun_tuners
|
||||
refresh_hdhomerun_tuners(__settings_xml__)
|
||||
__settings__.openSettings()
|
||||
@@ -24,7 +24,7 @@ import shutil
|
||||
import xmlpp
|
||||
from xml.dom import minidom
|
||||
|
||||
__sundtek_userspace__ = '/storage/.kodi/userdata/addon_data/driver.dvb.sundtek-mediatv/'
|
||||
__sundtek_userspace__ = '/storage/.xbmc/userdata/addon_data/driver.dvb.sundtek-mediatv/'
|
||||
|
||||
######################################################################################################
|
||||
# backup setting.xml file only if backup doesn't exist
|
||||
|
||||
@@ -37,39 +37,36 @@ def _usage(this_file):
|
||||
return """SYNOPSIS: pretty print an XML document
|
||||
USAGE: python %s <filename> \n""" % this_file
|
||||
|
||||
def _pprint_line(indent_level, line, width=100, output=_sys.stdout, ignore_contents = False):
|
||||
def _pprint_line(indent_level, line, width=100, output=_sys.stdout):
|
||||
if line.strip():
|
||||
start = ""
|
||||
number_chars = 0
|
||||
for l in range(indent_level):
|
||||
start = start + " "
|
||||
number_chars = number_chars + 1
|
||||
if not ignore_contents:
|
||||
try:
|
||||
elem_start = _re.findall("(\<\W{0,1}\w+:\w+) ?", line)[0]
|
||||
elem_finished = _re.findall("([?|\]\]/|\-\-]*\>)", line)[0]
|
||||
#should not have *
|
||||
attrs = _re.findall("(\S*?\=\".*?\")", line)
|
||||
output.write(start + elem_start)
|
||||
number_chars = len(start + elem_start)
|
||||
for attr in attrs:
|
||||
if (attrs.index(attr) + 1) == len(attrs):
|
||||
number_chars = number_chars + len(elem_finished)
|
||||
if (number_chars + len(attr) + 1) > width:
|
||||
output.write("\n")
|
||||
for i in range(len(start + elem_start) + 1):
|
||||
output.write(" ")
|
||||
number_chars = len(start + elem_start) + 1
|
||||
else:
|
||||
try:
|
||||
elem_start = _re.findall("(\<\W{0,1}\w+:\w+) ?", line)[0]
|
||||
elem_finished = _re.findall("([?|\]\]/]*\>)", line)[0]
|
||||
#should not have *
|
||||
attrs = _re.findall("(\S*?\=\".*?\")", line)
|
||||
output.write(start + elem_start)
|
||||
number_chars = len(start + elem_start)
|
||||
for attr in attrs:
|
||||
if (attrs.index(attr) + 1) == len(attrs):
|
||||
number_chars = number_chars + len(elem_finished)
|
||||
if (number_chars + len(attr) + 1) > width:
|
||||
output.write("\n")
|
||||
for i in range(len(start + elem_start) + 1):
|
||||
output.write(" ")
|
||||
number_chars = number_chars + 1
|
||||
output.write(attr)
|
||||
number_chars = number_chars + len(attr)
|
||||
output.write(elem_finished + "\n")
|
||||
except IndexError:
|
||||
#give up pretty print this line
|
||||
output.write(start + line + "\n")
|
||||
else:
|
||||
number_chars = len(start + elem_start) + 1
|
||||
else:
|
||||
output.write(" ")
|
||||
number_chars = number_chars + 1
|
||||
output.write(attr)
|
||||
number_chars = number_chars + len(attr)
|
||||
output.write(elem_finished + "\n")
|
||||
except IndexError:
|
||||
#give up pretty print this line
|
||||
output.write(start + line + "\n")
|
||||
|
||||
|
||||
@@ -83,8 +80,7 @@ def _get_next_elem(data):
|
||||
start_pos = data.find("<")
|
||||
end_pos = data.find(">") + 1
|
||||
retval = data[start_pos:end_pos]
|
||||
stopper = retval.rfind("/")
|
||||
ignore_contents = False
|
||||
stopper = retval.rfind("/")
|
||||
if stopper < retval.rfind("\""):
|
||||
stopper = -1
|
||||
single = (stopper > -1 and ((retval.find(">") - stopper) < (stopper - retval.find("<"))))
|
||||
@@ -93,19 +89,11 @@ def _get_next_elem(data):
|
||||
ignore_question = retval.find("<?") > -1
|
||||
|
||||
if ignore_excl:
|
||||
ignore_contents = True
|
||||
cdata = retval.find("<![CDATA[") > -1
|
||||
if cdata:
|
||||
end_pos = data.find("]]>")
|
||||
if end_pos > -1:
|
||||
end_pos = end_pos + len("]]>")
|
||||
stopper = end_pos
|
||||
else:
|
||||
end_pos = data.find("-->")
|
||||
if end_pos > -1:
|
||||
end_pos = end_pos + len("-->")
|
||||
stopper = end_pos
|
||||
retval = data[start_pos:end_pos]
|
||||
|
||||
elif ignore_question:
|
||||
end_pos = data.find("?>") + len("?>")
|
||||
@@ -113,12 +101,11 @@ def _get_next_elem(data):
|
||||
|
||||
no_indent = ignore or single
|
||||
|
||||
|
||||
#print retval, end_pos, start_pos, stopper > -1, no_indent
|
||||
return start_pos, \
|
||||
end_pos, \
|
||||
stopper > -1, \
|
||||
no_indent, \
|
||||
ignore_contents
|
||||
no_indent
|
||||
|
||||
def get_pprint(xml, indent=4, width=80):
|
||||
"""Returns the pretty printed xml """
|
||||
@@ -129,8 +116,6 @@ def get_pprint(xml, indent=4, width=80):
|
||||
self.output += string
|
||||
out = out()
|
||||
pprint(xml, output=out, indent=indent, width=width)
|
||||
|
||||
|
||||
|
||||
return out.output
|
||||
|
||||
@@ -141,7 +126,7 @@ def pprint(xml, output=_sys.stdout, indent=4, width=80):
|
||||
Use indent to select indentation level. Default is 4 """
|
||||
data = xml
|
||||
indent_level = 0
|
||||
start_pos, end_pos, is_stop, no_indent, ignore_contents = _get_next_elem(data)
|
||||
start_pos, end_pos, is_stop, no_indent = _get_next_elem(data)
|
||||
while ((start_pos > -1 and end_pos > -1)):
|
||||
_pprint_elem_content(indent_level, data[:start_pos].strip(),
|
||||
output=output)
|
||||
@@ -151,8 +136,7 @@ def pprint(xml, output=_sys.stdout, indent=4, width=80):
|
||||
_pprint_line(indent_level,
|
||||
data[:end_pos - start_pos],
|
||||
width=width,
|
||||
output=output,
|
||||
ignore_contents=ignore_contents)
|
||||
output=output)
|
||||
data = data[end_pos - start_pos:]
|
||||
if not is_stop and not no_indent :
|
||||
indent_level = indent_level + indent
|
||||
@@ -160,7 +144,7 @@ def pprint(xml, output=_sys.stdout, indent=4, width=80):
|
||||
if not data:
|
||||
break
|
||||
else:
|
||||
start_pos, end_pos, is_stop, no_indent, ignore_contents = _get_next_elem(data)
|
||||
start_pos, end_pos, is_stop, no_indent = _get_next_elem(data)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
@@ -11,6 +11,6 @@
|
||||
<category label="9000">
|
||||
<setting type="sep" />
|
||||
<setting id="ENABLE_TUNER_TYPES" type="bool" label="9005" default="true" />
|
||||
<setting label="9010" option="close" type="action" id="refresh_tuners" action="RunScript($CWD/resources/actions.py, refresh_tuners)" />
|
||||
<setting label="9010" option="close" type="action" action="RunScript($ID, refresh_tuners)" />
|
||||
</category>
|
||||
</settings>
|
||||
@@ -1,21 +1,11 @@
|
||||
4.3.1
|
||||
fix keymaps path
|
||||
|
||||
4.3.0
|
||||
rebuild for addon api bump
|
||||
|
||||
4.1.0
|
||||
rebuild for addon api bump
|
||||
|
||||
4.0.1
|
||||
rebuild
|
||||
|
||||
4.0.0
|
||||
rebuild for OpenELEC-4.0
|
||||
|
||||
3.1.1
|
||||
rebuild for OpenELEC-3.2
|
||||
|
||||
3.0.1
|
||||
- bump addon version
|
||||
|
||||
|
||||
@@ -17,8 +17,8 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="imon-mce"
|
||||
PKG_VERSION="4.3"
|
||||
PKG_REV="1"
|
||||
PKG_VERSION="4.1"
|
||||
PKG_REV="0"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="OSS"
|
||||
PKG_SITE="http://www.openelec.tv"
|
||||
|
||||
@@ -21,4 +21,4 @@
|
||||
. /etc/profile
|
||||
|
||||
sleep 1 && \
|
||||
ir-keytable -p rc6 -w /usr/lib/udev/rc_keymaps/imon_mce &
|
||||
ir-keytable -p rc6 -w /etc/rc_keymaps/imon_mce &
|
||||
@@ -1,15 +1,3 @@
|
||||
4.3.4
|
||||
fixed xbmc/kodi rebranding error
|
||||
some fixes
|
||||
4.3.3
|
||||
addon transformed to service addon
|
||||
new addon settings option to enable to check for new driver at boot
|
||||
4.3.2
|
||||
new addon settings option to enable to update driver from web with latest version
|
||||
4.3.1
|
||||
update driver
|
||||
4.3.0
|
||||
rebuild for addon api bump
|
||||
4.1.5
|
||||
dont touch /storage/.profile
|
||||
4.1.4
|
||||
|
||||
@@ -17,19 +17,19 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="sundtek-mediatv"
|
||||
PKG_VERSION="4.3"
|
||||
PKG_REV="4"
|
||||
PKG_VERSION="4.1"
|
||||
PKG_REV="5"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="nonfree"
|
||||
PKG_SITE="http://support.sundtek.com/"
|
||||
PKG_URL=""
|
||||
PKG_DEPENDS_TARGET=""
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="driver/dvb"
|
||||
PKG_SHORTDESC="Sundtek USB Stick DVB userspace driver"
|
||||
PKG_LONGDESC="Driver for Sundtek MediaTV Pro (DVB-C, DVB-T, AnalogTV, Composite, S-Video, FM-Radio USB Stick) and Sundtek SkyTV Ultimate (DVB-S/S2 USB)."
|
||||
PKG_IS_ADDON="yes"
|
||||
PKG_ADDON_TYPE="xbmc.service"
|
||||
PKG_ADDON_TYPE="xbmc.python.script"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
make_target() {
|
||||
@@ -47,18 +47,11 @@ make_target() {
|
||||
INSTALLER_URL="http://sundtek.de/media/netinst/armsysvhf/installer.tar.gz"
|
||||
;;
|
||||
esac
|
||||
|
||||
wget -O installer.tar.gz $INSTALLER_URL
|
||||
|
||||
tar -xzf installer.tar.gz
|
||||
|
||||
chmod -R 755 opt/ etc/
|
||||
|
||||
rm -f opt/bin/getinput.sh
|
||||
rm -f opt/bin/lirc.sh
|
||||
rm -fr opt/lib/pm/
|
||||
|
||||
wget -O version.used http://sundtek.de/media/latest.phtml
|
||||
# we run this via wrapper
|
||||
mv opt/bin/mediaclient opt/bin/mediaclient.bin
|
||||
chmod 755 opt/bin/*
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
@@ -71,5 +64,4 @@ addon() {
|
||||
cp -P $PKG_DIR/settings-default.xml $ADDON_BUILD/$PKG_ADDON_ID/
|
||||
cp -Pa $PKG_BUILD/opt/bin $ADDON_BUILD/$PKG_ADDON_ID/
|
||||
cp -Pa $PKG_BUILD/opt/lib $ADDON_BUILD/$PKG_ADDON_ID/
|
||||
cp $PKG_BUILD/version.used $ADDON_BUILD/$PKG_ADDON_ID/
|
||||
}
|
||||
@@ -17,5 +17,4 @@
|
||||
<setting id="DEVICE4_NUM" value="1" />
|
||||
<setting id="DEVICE5_IP" value="" />
|
||||
<setting id="DEVICE5_NUM" value="1" />
|
||||
<setting id="CHECK_BOOT" value="false" />
|
||||
</settings>
|
||||
@@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
LD_PRELOAD=/storage/.xbmc/addons/driver.dvb.sundtek-mediatv/lib/libmediaclient.so exec mediaclient.bin "$@"
|
||||
@@ -1,247 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# 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
|
||||
|
||||
net_tuner_num_fix() {
|
||||
local num=$1
|
||||
|
||||
[ -z "$num" ] && num=1
|
||||
num=$(( $num *1 ))
|
||||
[ $num -lt 1 ] && num=1
|
||||
num=$(( $num -1 ))
|
||||
echo $num
|
||||
}
|
||||
|
||||
SUNDTEK_ADDON_DIR="$HOME/.kodi/addons/driver.dvb.sundtek-mediatv"
|
||||
SUNDTEK_ADDON_HOME="$HOME/.kodi/userdata/addon_data/driver.dvb.sundtek-mediatv"
|
||||
SUNDTEK_ADDON_SETTINGS="$SUNDTEK_ADDON_HOME/settings.xml"
|
||||
|
||||
mkdir -p $SUNDTEK_ADDON_HOME
|
||||
|
||||
if [ ! -f "$SUNDTEK_ADDON_HOME/sundtek.conf" ]; then
|
||||
cp $SUNDTEK_ADDON_DIR/config/* $SUNDTEK_ADDON_HOME/
|
||||
else
|
||||
# in case of missing entries in addon home's sundtek.conf
|
||||
entry_set="$(grep use_hwpidfilter $SUNDTEK_ADDON_HOME/sundtek.conf 2>/dev/null)"
|
||||
if [ -z "$entry_set" ]; then
|
||||
sed -i 's|^device_attach=.*|# device_attach not used anymore\n\n# enable HW PID filter\nuse_hwpidfilter=off\n\n# enable listening on network\nenablenetwork=off|g' $SUNDTEK_ADDON_HOME/sundtek.conf
|
||||
sed -i 's|^#first_adapter=.*|first_adapter=0|g' $SUNDTEK_ADDON_HOME/sundtek.conf
|
||||
|
||||
sed -i 's|.*network tuner IP address (OpenELEC specific).*||g' $SUNDTEK_ADDON_HOME/sundtek.conf
|
||||
sed -i 's|.*network_tuner_ip=.*||g' $SUNDTEK_ADDON_HOME/sundtek.conf
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -f "$SUNDTEK_ADDON_SETTINGS" ]; then
|
||||
cp $SUNDTEK_ADDON_DIR/settings-default.xml $SUNDTEK_ADDON_SETTINGS
|
||||
fi
|
||||
|
||||
[ ! -f $SUNDTEK_ADDON_HOME/rc_key_enter.map ] && mv $SUNDTEK_ADDON_HOME/rc_key_enter $SUNDTEK_ADDON_HOME/rc_key_enter.map
|
||||
[ ! -f $SUNDTEK_ADDON_HOME/rc_key_ok.map ] && mv $SUNDTEK_ADDON_HOME/rc_key_ok $SUNDTEK_ADDON_HOME/rc_key_ok.map
|
||||
|
||||
mkdir -p /var/config
|
||||
cat "$SUNDTEK_ADDON_SETTINGS" | awk -F\" '{print $2"=\""$4"\""}' | sed '/^=/d' > /var/config/sundtek-addon.conf
|
||||
. /var/config/sundtek-addon.conf
|
||||
|
||||
# check if there is new driver on web
|
||||
if [ "$CHECK_BOOT" = "true" ]; then
|
||||
if [ ! -f /var/run/sundtek.checked ]; then
|
||||
# only once after boot
|
||||
touch /var/run/sundtek.checked
|
||||
|
||||
(
|
||||
# wait some time before checking
|
||||
sleep 20
|
||||
cd $SUNDTEK_ADDON_DIR
|
||||
|
||||
wget -O version.latest http://sundtek.de/media/latest.phtml
|
||||
|
||||
version_used=$(cat version.used)
|
||||
version_latest=$(cat version.latest)
|
||||
if [ "$version_used" != "$version_latest" ]; then
|
||||
# new version exist
|
||||
kodi-send -a "Notification(Sundtek, \"New driver version exist, update manually\", 4000, $SUNDTEK_ADDON_DIR/icon.png)"
|
||||
fi
|
||||
)&
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z "$(pidof mediasrv)" ]; then
|
||||
rm -f /var/log/mediasrv.log
|
||||
rm -f /var/log/mediaclient.log
|
||||
|
||||
SUNDTEK_CONF_TMP=/tmp/sundtek.conf
|
||||
cp $SUNDTEK_ADDON_HOME/sundtek.conf $SUNDTEK_CONF_TMP
|
||||
|
||||
[ -z "$LOWEST_ADAPTER_NUM" ] && LOWEST_ADAPTER_NUM=0
|
||||
sed -i "s|^first_adapter=.*|first_adapter=$LOWEST_ADAPTER_NUM|g" $SUNDTEK_CONF_TMP
|
||||
|
||||
# enable HW PID filter
|
||||
if [ "$ENABLE_HW_PID_FILTER" = "true" ]; then
|
||||
sed -i 's|^use_hwpidfilter=.*|use_hwpidfilter=on|g' $SUNDTEK_CONF_TMP
|
||||
else
|
||||
sed -i 's|^use_hwpidfilter=.*|use_hwpidfilter=off|g' $SUNDTEK_CONF_TMP
|
||||
fi
|
||||
|
||||
# enable IR receiver
|
||||
if [ "$ENABLE_IR_RECEIVER" = "true" ]; then
|
||||
sed -i 's|^ir_disabled=.*|ir_disabled=0|g' $SUNDTEK_CONF_TMP
|
||||
else
|
||||
sed -i 's|^ir_disabled=.*|ir_disabled=1|g' $SUNDTEK_CONF_TMP
|
||||
fi
|
||||
|
||||
if [ "$ALLOW_NET_USE" = "true" ]; then
|
||||
sed -i 's|^enablenetwork=.*|enablenetwork=on|g' $SUNDTEK_CONF_TMP
|
||||
else
|
||||
sed -i 's|^enablenetwork=.*|enablenetwork=off|g' $SUNDTEK_CONF_TMP
|
||||
fi
|
||||
|
||||
[ "$DEVICE1_IP" = "0.0.0.0" ] && DEVICE1_IP=""
|
||||
[ "$DEVICE2_IP" = "0.0.0.0" ] && DEVICE2_IP=""
|
||||
[ "$DEVICE3_IP" = "0.0.0.0" ] && DEVICE3_IP=""
|
||||
[ "$DEVICE4_IP" = "0.0.0.0" ] && DEVICE4_IP=""
|
||||
[ "$DEVICE5_IP" = "0.0.0.0" ] && DEVICE5_IP=""
|
||||
DEVICE1_NUM=$(net_tuner_num_fix $DEVICE1_NUM)
|
||||
DEVICE2_NUM=$(net_tuner_num_fix $DEVICE2_NUM)
|
||||
DEVICE3_NUM=$(net_tuner_num_fix $DEVICE3_NUM)
|
||||
DEVICE4_NUM=$(net_tuner_num_fix $DEVICE4_NUM)
|
||||
DEVICE5_NUM=$(net_tuner_num_fix $DEVICE5_NUM)
|
||||
|
||||
if [ "$USE_NET_TUNERS" = "true" -a -n "$DEVICE1_IP" ]; then
|
||||
# delete all network tuner entries
|
||||
awk '/^\[NETWORK\]/{flag=1; next} /^device=|^#|^$/{if (flag==1) next} /.*/{flag=0; print}' $SUNDTEK_CONF_TMP >${SUNDTEK_CONF_TMP}-net
|
||||
mv ${SUNDTEK_CONF_TMP}-net $SUNDTEK_CONF_TMP
|
||||
echo "" >>$SUNDTEK_CONF_TMP
|
||||
# remove empty lines at the end of file
|
||||
sed -i -e ':a' -e '/^\n*$/{$d;N;};/\n$/ba' $SUNDTEK_CONF_TMP
|
||||
# add entries
|
||||
echo -e "\n[NETWORK]" >>$SUNDTEK_CONF_TMP
|
||||
for dev in $(seq 0 $DEVICE1_NUM); do
|
||||
echo "device=$DEVICE1_IP:$dev" >>$SUNDTEK_CONF_TMP
|
||||
done
|
||||
if [ -n "$DEVICE2_IP" ]; then
|
||||
for dev in $(seq 0 $DEVICE2_NUM); do
|
||||
echo "device=$DEVICE2_IP:$dev" >>$SUNDTEK_CONF_TMP
|
||||
done
|
||||
if [ -n "$DEVICE3_IP" ]; then
|
||||
for dev in $(seq 0 $DEVICE3_NUM); do
|
||||
echo "device=$DEVICE3_IP:$dev" >>$SUNDTEK_CONF_TMP
|
||||
done
|
||||
if [ -n "$DEVICE4_IP" ]; then
|
||||
for dev in $(seq 0 $DEVICE4_NUM); do
|
||||
echo "device=$DEVICE4_IP:$dev" >>$SUNDTEK_CONF_TMP
|
||||
done
|
||||
if [ -n "$DEVICE5_IP" ]; then
|
||||
for dev in $(seq 0 $DEVICE5_NUM); do
|
||||
echo "device=$DEVICE5_IP:$dev" >>$SUNDTEK_CONF_TMP
|
||||
done
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
else
|
||||
# delete all network tuner entries
|
||||
awk '/^\[NETWORK\]/{flag=1; next} /^device=|^#|^$/{if (flag==1) next} /.*/{flag=0; print}' $SUNDTEK_CONF_TMP >${SUNDTEK_CONF_TMP}-net
|
||||
mv ${SUNDTEK_CONF_TMP}-net $SUNDTEK_CONF_TMP
|
||||
echo "" >>$SUNDTEK_CONF_TMP
|
||||
# remove empty lines at the end of file
|
||||
sed -i -e ':a' -e '/^\n*$/{$d;N;};/\n$/ba' $SUNDTEK_CONF_TMP
|
||||
fi
|
||||
|
||||
if [ "$ENABLE_TUNER_TYPES" = "true" ]; then
|
||||
# get tuner serial numbers
|
||||
SERIALS=$(cat /var/config/sundtek-addon.conf | sed -n 's|^ATTACHED_TUNER_\(.*\)_DVBMODE=.*|\1|gp' | sort | uniq)
|
||||
. /var/config/sundtek-addon.conf
|
||||
|
||||
for SERIAL in $SERIALS; do
|
||||
DVBMODE=$(eval echo \$ATTACHED_TUNER_${SERIAL}_DVBMODE)
|
||||
IRPROT=$(eval echo \$ATTACHED_TUNER_${SERIAL}_IRPROT)
|
||||
KEYMAP=$(eval echo \$ATTACHED_TUNER_${SERIAL}_KEYMAP)
|
||||
|
||||
if [ "$DVBMODE" = "DVB-T" ]; then
|
||||
# only set DVB-T because default is DVB-C (and DVB-S is not set either)
|
||||
DVBMODE="DVBT"
|
||||
else
|
||||
DVBMODE=""
|
||||
fi
|
||||
|
||||
[ "$IRPROT" = "NEC" -o "$IRPROT" = "auto" ] && IRPROT=""
|
||||
|
||||
[ ! -f $KEYMAP ] && KEYMAP=""
|
||||
|
||||
# remove setttings for this tuner
|
||||
awk -v val="[$SERIAL]" '$0 == val {flag=1; next} /^ir_protocol=|^rcmap=|^initial_dvb_mode=|^#|^$/{if (flag==1) next} /.*/{flag=0; print}' $SUNDTEK_CONF_TMP >${SUNDTEK_CONF_TMP}-types
|
||||
mv ${SUNDTEK_CONF_TMP}-types $SUNDTEK_CONF_TMP
|
||||
echo "" >>$SUNDTEK_CONF_TMP
|
||||
# remove empty lines at the end of file
|
||||
sed -i -e ':a' -e '/^\n*$/{$d;N;};/\n$/ba' $SUNDTEK_CONF_TMP
|
||||
|
||||
ADDNEW=true
|
||||
if [ -n "$DVBMODE" ]; then
|
||||
[ $ADDNEW = true ] && ADDNEW=false && echo -e "\n[$SERIAL]" >>$SUNDTEK_CONF_TMP
|
||||
echo "initial_dvb_mode=$DVBMODE" >>$SUNDTEK_CONF_TMP
|
||||
fi
|
||||
if [ -n "$IRPROT" ]; then
|
||||
[ $ADDNEW = true ] && ADDNEW=false && echo -e "\n[$SERIAL]" >>$SUNDTEK_CONF_TMP
|
||||
echo "ir_protocol=$IRPROT" >>$SUNDTEK_CONF_TMP
|
||||
fi
|
||||
if [ -n "$KEYMAP" ]; then
|
||||
[ $ADDNEW = true ] && ADDNEW=false && echo -e "\n[$SERIAL]" >>$SUNDTEK_CONF_TMP
|
||||
echo "rcmap=$KEYMAP" >>$SUNDTEK_CONF_TMP
|
||||
fi
|
||||
|
||||
echo "" >>$SUNDTEK_CONF_TMP
|
||||
done
|
||||
fi
|
||||
|
||||
md5_1=$(md5sum -b $SUNDTEK_CONF_TMP | awk '{print $1}')
|
||||
md5_2=$(md5sum -b $SUNDTEK_ADDON_HOME/sundtek.conf | awk '{print $1}')
|
||||
if [ "$md5_1" != "$md5_2" ]; then
|
||||
# file changed - copy to addon home
|
||||
cp $SUNDTEK_CONF_TMP $SUNDTEK_ADDON_HOME/sundtek.conf
|
||||
fi
|
||||
|
||||
chmod +x $SUNDTEK_ADDON_DIR/bin/*
|
||||
mediasrv --wait-for-devices -p $SUNDTEK_ADDON_DIR/bin -c $SUNDTEK_ADDON_HOME/sundtek.conf -d
|
||||
|
||||
# wait few seconds
|
||||
[ -z "$SETTLE_TIME" ] && SETTLE_TIME=0
|
||||
SETTLE_TIME=$(( $SETTLE_TIME *1 ))
|
||||
if [ $SETTLE_TIME -gt 0 ]; then
|
||||
logger -t Sundtek "### Settle for $SETTLE_TIME sec ###"
|
||||
sleep $SETTLE_TIME
|
||||
fi
|
||||
|
||||
if [ "$RUN_USER_SCRIPT" = "true" -a -f "$SUNDTEK_ADDON_HOME/userscript.sh" ]; then
|
||||
logger -t Sundtek "### Running user script $SUNDTEK_ADDON_HOME/userscript.sh ###"
|
||||
cat $SUNDTEK_ADDON_HOME/userscript.sh | dos2unix >/var/run/sundtek-userscript.sh
|
||||
sh /var/run/sundtek-userscript.sh
|
||||
fi
|
||||
|
||||
# save adapter serial number
|
||||
serial_number_old=$(cat $SUNDTEK_ADDON_HOME/adapters.txt 2>/dev/null)
|
||||
serial_number_new=$(mediaclient -e | awk '/device / {print $0} /SERIAL/ {id=1} /ID:/ {if (id==1) print $2}')
|
||||
if [ "$serial_number_old" != "$serial_number_new" ]; then
|
||||
echo "$serial_number_new" >$SUNDTEK_ADDON_HOME/adapters.txt
|
||||
fi
|
||||
fi
|
||||
|
||||
logger -t Sundtek "### Sundtek ready ###"
|
||||
@@ -1,119 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# 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
|
||||
|
||||
SUNDTEK_ADDON_DIR="$HOME/.kodi/addons/driver.dvb.sundtek-mediatv"
|
||||
SUNDTEK_ADDON_HOME="$HOME/.kodi/userdata/addon_data/driver.dvb.sundtek-mediatv"
|
||||
SUNDTEK_ADDON_SETTINGS="$SUNDTEK_ADDON_HOME/settings.xml"
|
||||
|
||||
trap_exit_install() {
|
||||
kodi-send -a "Notification(Sundtek, Something went wrong. Cleaning..., 8000, $SUNDTEK_ADDON_DIR/icon.png)"
|
||||
cd "$SUNDTEK_ADDON_DIR"
|
||||
rm -fr tmp
|
||||
exit 5
|
||||
}
|
||||
|
||||
# kill process
|
||||
systemctl stop driver.dvb.sundtek-mediatv
|
||||
killall -9 mediaclient &>/dev/null
|
||||
killall -9 mediasrv &>/dev/null
|
||||
|
||||
# exit on errors
|
||||
set -e
|
||||
|
||||
trap trap_exit_install EXIT
|
||||
|
||||
cd "$SUNDTEK_ADDON_DIR"
|
||||
rm -fr tmp
|
||||
mkdir tmp
|
||||
cd tmp
|
||||
|
||||
logger -t Sundtek "### Starting updating driver ###"
|
||||
kodi-send -a "Notification(Sundtek, Starting updating driver, 2000, $SUNDTEK_ADDON_DIR/icon.png)"
|
||||
|
||||
wget -O ../version.used http://sundtek.de/media/latest.phtml
|
||||
if [ $? -ne 0 ]; then
|
||||
logger -t Sundtek "### Can't get latest version ###"
|
||||
kodi-send -a "Notification(Sundtek, Cant get latest version, 8000, $SUNDTEK_ADDON_DIR/icon.png)"
|
||||
cd ..
|
||||
rm -fr tmp/
|
||||
exit 1
|
||||
fi
|
||||
|
||||
ARCH=$(sed -n 's|.*\.\([^-]*\)-.*|\1|p' /etc/release | tr -d '\n')
|
||||
if [ "$ARCH" = "x86_64" ]; then
|
||||
INSTALLER_URL="http://sundtek.de/media/netinst/64bit/installer.tar.gz"
|
||||
elif [ "$ARCH" = "i386" ]; then
|
||||
INSTALLER_URL="http://sundtek.de/media/netinst/32bit/installer.tar.gz"
|
||||
elif [ "$ARCH" = "arm" ]; then
|
||||
INSTALLER_URL="http://sundtek.de/media/netinst/armsysvhf/installer.tar.gz"
|
||||
else
|
||||
logger -t Sundtek "### Unsupported architecture ###"
|
||||
kodi-send -a "Notification(Sundtek, Unsupported architecture, 8000, $SUNDTEK_ADDON_DIR/icon.png)"
|
||||
cd ..
|
||||
rm -fr tmp
|
||||
exit 2
|
||||
fi
|
||||
|
||||
logger -t Sundtek "### Downloading driver archive for $ARCH ###"
|
||||
kodi-send -a "Notification(Sundtek, Downloading driver archive for $ARCH, 2000, $SUNDTEK_ADDON_DIR/icon.png)"
|
||||
wget -O installer.tar.gz $INSTALLER_URL
|
||||
if [ $? -ne 0 ]; then
|
||||
logger -t Sundtek "### Archive damaged ###"
|
||||
kodi-send -a "Notification(Sundtek, Download failed, 8000, $SUNDTEK_ADDON_DIR/icon.png)"
|
||||
cd ..
|
||||
rm -fr tmp/
|
||||
exit 3
|
||||
fi
|
||||
|
||||
logger -t Sundtek "### Extracting archive ###"
|
||||
kodi-send -a "Notification(Sundtek, Extracting archive, 2000, $SUNDTEK_ADDON_DIR/icon.png)"
|
||||
tar -xzf installer.tar.gz
|
||||
if [ $? -ne 0 ]; then
|
||||
logger -t Sundtek "### Archive damaged ###"
|
||||
kodi-send -a "Notification(Sundtek, Archive damaged, 8000, $SUNDTEK_ADDON_DIR/icon.png)"
|
||||
cd ..
|
||||
rm -fr tmp/
|
||||
exit 4
|
||||
fi
|
||||
|
||||
# fix permissions
|
||||
chmod -R 755 opt/ etc/
|
||||
|
||||
rm -f opt/bin/getinput.sh
|
||||
rm -f opt/bin/lirc.sh
|
||||
rm -fr opt/lib/pm/
|
||||
|
||||
cp -Pa opt/bin/* ../bin/
|
||||
cp -Pa opt/lib/* ../lib/
|
||||
|
||||
cd ..
|
||||
rm -fr tmp
|
||||
|
||||
logger -t Sundtek "### Driver update finished ###"
|
||||
kodi-send -a "Notification(Sundtek, Driver update finished, 5000, $SUNDTEK_ADDON_DIR/icon.png)"
|
||||
kodi-send -a "Notification(Sundtek, Please reboot, 5000, $SUNDTEK_ADDON_DIR/icon.png)"
|
||||
|
||||
trap - EXIT
|
||||
|
||||
systemctl start driver.dvb.sundtek-mediatv
|
||||
|
||||
exit 0
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
# Copyright (C) 2009-2013 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -20,11 +20,223 @@
|
||||
|
||||
. /etc/profile
|
||||
|
||||
SUNDTEK_ADDON_DIR="$HOME/.kodi/addons/driver.dvb.sundtek-mediatv"
|
||||
# start locking mechanism - allows only one instance to be run at a time
|
||||
SUNDTEK_LOCKFILE="/var/lock/userspace-driver-sundtek.lck"
|
||||
SUNDTEK_LOCKFD=99
|
||||
# obtain an exclusive lock
|
||||
exlock() { eval "exec $SUNDTEK_LOCKFD>\"$SUNDTEK_LOCKFILE\""; flock -x $SUNDTEK_LOCKFD; }
|
||||
# drop a lock
|
||||
unlock() { flock -u $SUNDTEK_LOCKFD; flock -xn $SUNDTEK_LOCKFD && rm -f "$SUNDTEK_LOCKFILE"; }
|
||||
# end locking mechanism
|
||||
|
||||
if [ -f $SUNDTEK_ADDON_DIR/lib/libmediaclient.so ]; then
|
||||
logger -t Sundtek "### Preloading library ###"
|
||||
export LD_PRELOAD=$SUNDTEK_ADDON_DIR/lib/libmediaclient.so
|
||||
# exclusive lock
|
||||
exlock
|
||||
|
||||
net_tuner_num_fix() {
|
||||
local num=$1
|
||||
|
||||
[ -z "$num" ] && num=1
|
||||
num=$(( $num *1 ))
|
||||
[ $num -lt 1 ] && num=1
|
||||
num=$(( $num -1 ))
|
||||
echo $num
|
||||
}
|
||||
|
||||
SUNDTEK_ADDON_DIR="$HOME/.xbmc/addons/driver.dvb.sundtek-mediatv"
|
||||
SUNDTEK_ADDON_HOME="$HOME/.xbmc/userdata/addon_data/driver.dvb.sundtek-mediatv"
|
||||
SUNDTEK_ADDON_SETTINGS="$SUNDTEK_ADDON_HOME/settings.xml"
|
||||
|
||||
mkdir -p $SUNDTEK_ADDON_HOME
|
||||
|
||||
if [ ! -f "$SUNDTEK_ADDON_HOME/sundtek.conf" ]; then
|
||||
cp $SUNDTEK_ADDON_DIR/config/* $SUNDTEK_ADDON_HOME/
|
||||
else
|
||||
logger -t Sundtek "### Preloading library doesn't exist ###"
|
||||
# in case of missing entries in addon home's sundtek.conf
|
||||
entry_set="$(grep use_hwpidfilter $SUNDTEK_ADDON_HOME/sundtek.conf 2>/dev/null)"
|
||||
if [ -z "$entry_set" ]; then
|
||||
sed -i 's|^device_attach=.*|# device_attach not used anymore\n\n# enable HW PID filter\nuse_hwpidfilter=off\n\n# enable listening on network\nenablenetwork=off|g' $SUNDTEK_ADDON_HOME/sundtek.conf
|
||||
sed -i 's|^#first_adapter=.*|first_adapter=0|g' $SUNDTEK_ADDON_HOME/sundtek.conf
|
||||
|
||||
sed -i 's|.*network tuner IP address (OpenELEC specific).*||g' $SUNDTEK_ADDON_HOME/sundtek.conf
|
||||
sed -i 's|.*network_tuner_ip=.*||g' $SUNDTEK_ADDON_HOME/sundtek.conf
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -f "$SUNDTEK_ADDON_SETTINGS" ]; then
|
||||
cp $SUNDTEK_ADDON_DIR/settings-default.xml $SUNDTEK_ADDON_SETTINGS
|
||||
fi
|
||||
|
||||
[ ! -f $SUNDTEK_ADDON_HOME/rc_key_enter.map ] && mv $SUNDTEK_ADDON_HOME/rc_key_enter $SUNDTEK_ADDON_HOME/rc_key_enter.map
|
||||
[ ! -f $SUNDTEK_ADDON_HOME/rc_key_ok.map ] && mv $SUNDTEK_ADDON_HOME/rc_key_ok $SUNDTEK_ADDON_HOME/rc_key_ok.map
|
||||
|
||||
mkdir -p /var/config
|
||||
cat "$SUNDTEK_ADDON_SETTINGS" | awk -F\" '{print $2"=\""$4"\""}' | sed '/^=/d' > /var/config/sundtek-addon.conf
|
||||
. /var/config/sundtek-addon.conf
|
||||
|
||||
export LD_PRELOAD=$SUNDTEK_ADDON_DIR/lib/libmediaclient.so
|
||||
|
||||
if [ -z "$(pidof mediasrv)" ]; then
|
||||
rm -f /var/log/mediasrv.log
|
||||
rm -f /var/log/mediaclient.log
|
||||
|
||||
SUNDTEK_CONF_TMP=/tmp/sundtek.conf
|
||||
cp $SUNDTEK_ADDON_HOME/sundtek.conf $SUNDTEK_CONF_TMP
|
||||
|
||||
[ -z "$LOWEST_ADAPTER_NUM" ] && LOWEST_ADAPTER_NUM=0
|
||||
sed -i "s|^first_adapter=.*|first_adapter=$LOWEST_ADAPTER_NUM|g" $SUNDTEK_CONF_TMP
|
||||
|
||||
# enable HW PID filter
|
||||
if [ "$ENABLE_HW_PID_FILTER" = "true" ]; then
|
||||
sed -i 's|^use_hwpidfilter=.*|use_hwpidfilter=on|g' $SUNDTEK_CONF_TMP
|
||||
else
|
||||
sed -i 's|^use_hwpidfilter=.*|use_hwpidfilter=off|g' $SUNDTEK_CONF_TMP
|
||||
fi
|
||||
|
||||
# enable IR receiver
|
||||
if [ "$ENABLE_IR_RECEIVER" = "true" ]; then
|
||||
sed -i 's|^ir_disabled=.*|ir_disabled=0|g' $SUNDTEK_CONF_TMP
|
||||
else
|
||||
sed -i 's|^ir_disabled=.*|ir_disabled=1|g' $SUNDTEK_CONF_TMP
|
||||
fi
|
||||
|
||||
if [ "$ALLOW_NET_USE" = "true" ]; then
|
||||
sed -i 's|^enablenetwork=.*|enablenetwork=on|g' $SUNDTEK_CONF_TMP
|
||||
else
|
||||
sed -i 's|^enablenetwork=.*|enablenetwork=off|g' $SUNDTEK_CONF_TMP
|
||||
fi
|
||||
|
||||
[ "$DEVICE1_IP" = "0.0.0.0" ] && DEVICE1_IP=""
|
||||
[ "$DEVICE2_IP" = "0.0.0.0" ] && DEVICE2_IP=""
|
||||
[ "$DEVICE3_IP" = "0.0.0.0" ] && DEVICE3_IP=""
|
||||
[ "$DEVICE4_IP" = "0.0.0.0" ] && DEVICE4_IP=""
|
||||
[ "$DEVICE5_IP" = "0.0.0.0" ] && DEVICE5_IP=""
|
||||
DEVICE1_NUM=$(net_tuner_num_fix $DEVICE1_NUM)
|
||||
DEVICE2_NUM=$(net_tuner_num_fix $DEVICE2_NUM)
|
||||
DEVICE3_NUM=$(net_tuner_num_fix $DEVICE3_NUM)
|
||||
DEVICE4_NUM=$(net_tuner_num_fix $DEVICE4_NUM)
|
||||
DEVICE5_NUM=$(net_tuner_num_fix $DEVICE5_NUM)
|
||||
|
||||
if [ "$USE_NET_TUNERS" = "true" -a -n "$DEVICE1_IP" ]; then
|
||||
# delete all network tuner entries
|
||||
awk '/^\[NETWORK\]/{flag=1; next} /^device=|^#|^$/{if (flag==1) next} /.*/{flag=0; print}' $SUNDTEK_CONF_TMP >${SUNDTEK_CONF_TMP}-net
|
||||
mv ${SUNDTEK_CONF_TMP}-net $SUNDTEK_CONF_TMP
|
||||
echo "" >>$SUNDTEK_CONF_TMP
|
||||
# remove empty lines at the end of file
|
||||
sed -i -e ':a' -e '/^\n*$/{$d;N;};/\n$/ba' $SUNDTEK_CONF_TMP
|
||||
# add entries
|
||||
echo -e "\n[NETWORK]" >>$SUNDTEK_CONF_TMP
|
||||
for dev in $(seq 0 $DEVICE1_NUM); do
|
||||
echo "device=$DEVICE1_IP:$dev" >>$SUNDTEK_CONF_TMP
|
||||
done
|
||||
if [ -n "$DEVICE2_IP" ]; then
|
||||
for dev in $(seq 0 $DEVICE2_NUM); do
|
||||
echo "device=$DEVICE2_IP:$dev" >>$SUNDTEK_CONF_TMP
|
||||
done
|
||||
if [ -n "$DEVICE3_IP" ]; then
|
||||
for dev in $(seq 0 $DEVICE3_NUM); do
|
||||
echo "device=$DEVICE3_IP:$dev" >>$SUNDTEK_CONF_TMP
|
||||
done
|
||||
if [ -n "$DEVICE4_IP" ]; then
|
||||
for dev in $(seq 0 $DEVICE4_NUM); do
|
||||
echo "device=$DEVICE4_IP:$dev" >>$SUNDTEK_CONF_TMP
|
||||
done
|
||||
if [ -n "$DEVICE5_IP" ]; then
|
||||
for dev in $(seq 0 $DEVICE5_NUM); do
|
||||
echo "device=$DEVICE5_IP:$dev" >>$SUNDTEK_CONF_TMP
|
||||
done
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
else
|
||||
# delete all network tuner entries
|
||||
awk '/^\[NETWORK\]/{flag=1; next} /^device=|^#|^$/{if (flag==1) next} /.*/{flag=0; print}' $SUNDTEK_CONF_TMP >${SUNDTEK_CONF_TMP}-net
|
||||
mv ${SUNDTEK_CONF_TMP}-net $SUNDTEK_CONF_TMP
|
||||
echo "" >>$SUNDTEK_CONF_TMP
|
||||
# remove empty lines at the end of file
|
||||
sed -i -e ':a' -e '/^\n*$/{$d;N;};/\n$/ba' $SUNDTEK_CONF_TMP
|
||||
fi
|
||||
|
||||
if [ "$ENABLE_TUNER_TYPES" = "true" ]; then
|
||||
# get tuner serial numbers
|
||||
SERIALS=$(cat /var/config/sundtek-addon.conf | sed -n 's|^ATTACHED_TUNER_\(.*\)_DVBMODE=.*|\1|gp' | sort | uniq)
|
||||
. /var/config/sundtek-addon.conf
|
||||
|
||||
for SERIAL in $SERIALS; do
|
||||
DVBMODE=$(eval echo \$ATTACHED_TUNER_${SERIAL}_DVBMODE)
|
||||
IRPROT=$(eval echo \$ATTACHED_TUNER_${SERIAL}_IRPROT)
|
||||
KEYMAP=$(eval echo \$ATTACHED_TUNER_${SERIAL}_KEYMAP)
|
||||
|
||||
if [ "$DVBMODE" = "DVB-T" ]; then
|
||||
# only set DVB-T because default is DVB-C (and DVB-S is not set either)
|
||||
DVBMODE="DVBT"
|
||||
else
|
||||
DVBMODE=""
|
||||
fi
|
||||
|
||||
[ "$IRPROT" = "NEC" -o "$IRPROT" = "auto" ] && IRPROT=""
|
||||
|
||||
[ ! -f $KEYMAP ] && KEYMAP=""
|
||||
|
||||
# remove setttings for this tuner
|
||||
awk -v val="[$SERIAL]" '$0 == val {flag=1; next} /^ir_protocol=|^rcmap=|^initial_dvb_mode=|^#|^$/{if (flag==1) next} /.*/{flag=0; print}' $SUNDTEK_CONF_TMP >${SUNDTEK_CONF_TMP}-types
|
||||
mv ${SUNDTEK_CONF_TMP}-types $SUNDTEK_CONF_TMP
|
||||
echo "" >>$SUNDTEK_CONF_TMP
|
||||
# remove empty lines at the end of file
|
||||
sed -i -e ':a' -e '/^\n*$/{$d;N;};/\n$/ba' $SUNDTEK_CONF_TMP
|
||||
|
||||
ADDNEW=true
|
||||
if [ -n "$DVBMODE" ]; then
|
||||
[ $ADDNEW = true ] && ADDNEW=false && echo -e "\n[$SERIAL]" >>$SUNDTEK_CONF_TMP
|
||||
echo "initial_dvb_mode=$DVBMODE" >>$SUNDTEK_CONF_TMP
|
||||
fi
|
||||
if [ -n "$IRPROT" ]; then
|
||||
[ $ADDNEW = true ] && ADDNEW=false && echo -e "\n[$SERIAL]" >>$SUNDTEK_CONF_TMP
|
||||
echo "ir_protocol=$IRPROT" >>$SUNDTEK_CONF_TMP
|
||||
fi
|
||||
if [ -n "$KEYMAP" ]; then
|
||||
[ $ADDNEW = true ] && ADDNEW=false && echo -e "\n[$SERIAL]" >>$SUNDTEK_CONF_TMP
|
||||
echo "rcmap=$KEYMAP" >>$SUNDTEK_CONF_TMP
|
||||
fi
|
||||
|
||||
echo "" >>$SUNDTEK_CONF_TMP
|
||||
done
|
||||
fi
|
||||
|
||||
md5_1=$(md5sum -b $SUNDTEK_CONF_TMP | awk '{print $1}')
|
||||
md5_2=$(md5sum -b $SUNDTEK_ADDON_HOME/sundtek.conf | awk '{print $1}')
|
||||
if [ "$md5_1" != "$md5_2" ]; then
|
||||
# file changed - copy to addon home
|
||||
cp $SUNDTEK_CONF_TMP $SUNDTEK_ADDON_HOME/sundtek.conf
|
||||
fi
|
||||
|
||||
mediasrv --wait-for-devices -p $SUNDTEK_ADDON_DIR/bin -c $SUNDTEK_ADDON_HOME/sundtek.conf -d
|
||||
|
||||
# wait few seconds
|
||||
[ -z "$SETTLE_TIME" ] && SETTLE_TIME=0
|
||||
SETTLE_TIME=$(( $SETTLE_TIME *1 ))
|
||||
if [ $SETTLE_TIME -gt 0 ]; then
|
||||
logger -t Sundtek "### Settle for $SETTLE_TIME sec ###"
|
||||
sleep $SETTLE_TIME
|
||||
fi
|
||||
|
||||
if [ "$RUN_USER_SCRIPT" = "true" -a -f "$SUNDTEK_ADDON_HOME/userscript.sh" ]; then
|
||||
logger -t Sundtek "### Running user script $SUNDTEK_ADDON_HOME/userscript.sh ###"
|
||||
cat $SUNDTEK_ADDON_HOME/userscript.sh | dos2unix >/var/run/sundtek-userscript.sh
|
||||
sh /var/run/sundtek-userscript.sh
|
||||
fi
|
||||
(
|
||||
# save adapter serial number in background
|
||||
sleep 5
|
||||
serial_number_old=$(cat $SUNDTEK_ADDON_HOME/adapters.txt 2>/dev/null)
|
||||
serial_number_new=$(mediaclient.bin -e | awk '/device / {print $0} /ID:/ {print $2}')
|
||||
if [ "$serial_number_old" != "$serial_number_new" ]; then
|
||||
echo "$serial_number_new" >$SUNDTEK_ADDON_HOME/adapters.txt
|
||||
fi
|
||||
)&
|
||||
fi
|
||||
|
||||
logger -t Sundtek "### Sundtek ready ###"
|
||||
|
||||
# unlock the lock
|
||||
unlock
|
||||
@@ -15,3 +15,22 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
import os
|
||||
import sys
|
||||
import xbmcaddon
|
||||
|
||||
__settings__ = xbmcaddon.Addon(id = 'driver.dvb.sundtek-mediatv')
|
||||
__cwd__ = __settings__.getAddonInfo('path')
|
||||
__resources_lib__ = xbmc.translatePath(os.path.join(__cwd__, 'resources', 'lib'))
|
||||
__settings_xml__ = xbmc.translatePath(os.path.join(__cwd__, 'resources', 'settings.xml'))
|
||||
|
||||
__mediaclient__ = xbmc.translatePath(os.path.join(__cwd__, 'bin', 'mediaclient.bin'))
|
||||
__ld_preload__ = xbmc.translatePath(os.path.join(__cwd__, 'lib', 'libmediaclient.so'))
|
||||
__mediaclient_e__ = 'LD_PRELOAD=' + __ld_preload__ + ' ' + __mediaclient__ + ' -e'
|
||||
|
||||
if __name__ == "__main__" and len(sys.argv) == 2 and sys.argv[1] == 'refresh_tuners':
|
||||
sys.path.append(__resources_lib__)
|
||||
from functions import refresh_sundtek_tuners
|
||||
refresh_sundtek_tuners(__settings_xml__, __mediaclient_e__)
|
||||
__settings__.openSettings()
|
||||
@@ -1,45 +0,0 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# 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/>.
|
||||
################################################################################
|
||||
|
||||
import os
|
||||
import sys
|
||||
import subprocess
|
||||
import xbmcaddon
|
||||
|
||||
__settings__ = xbmcaddon.Addon(id = 'driver.dvb.sundtek-mediatv')
|
||||
__cwd__ = __settings__.getAddonInfo('path')
|
||||
__resources_lib__ = xbmc.translatePath(os.path.join(__cwd__, 'resources', 'lib'))
|
||||
__settings_xml__ = xbmc.translatePath(os.path.join(__cwd__, 'resources', 'settings.xml'))
|
||||
|
||||
__mediaclient__ = xbmc.translatePath(os.path.join(__cwd__, 'bin', 'mediaclient'))
|
||||
__mediaclient_e__ = __mediaclient__ + ' -e'
|
||||
__update_sh__ = xbmc.translatePath(os.path.join(__cwd__, 'bin', 'sundtek-update-driver.sh'))
|
||||
|
||||
if len(sys.argv) == 2:
|
||||
if sys.argv[1] == 'refresh_tuners':
|
||||
print "sundtek refresh tuners"
|
||||
sys.path.append(__resources_lib__)
|
||||
from functions import refresh_sundtek_tuners
|
||||
refresh_sundtek_tuners(__settings_xml__, __mediaclient_e__)
|
||||
__settings__.openSettings()
|
||||
elif sys.argv[1] == 'update_driver':
|
||||
print "sundtek update driver"
|
||||
proc = subprocess.Popen([__update_sh__], shell = True)
|
||||
return_code = proc.wait()
|
||||
print "sundtek update driver return value " + str(return_code)
|
||||
__settings__.openSettings()
|
||||
@@ -27,8 +27,4 @@
|
||||
<string id="9010">Refresh tuners... (press me)</string>
|
||||
<string id="9020"> IR protocol</string>
|
||||
<string id="9030"> keymap filename</string>
|
||||
|
||||
<string id="3000">Driver</string>
|
||||
<string id="3020">Check for new driver version at boot</string>
|
||||
<string id="3010">Update from web... (press me)</string>
|
||||
</strings>
|
||||
@@ -1,6 +1,6 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
# Copyright (C) 2009-2013 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -22,7 +22,7 @@ import shutil
|
||||
import xmlpp
|
||||
from xml.dom import minidom
|
||||
|
||||
__sundtek_userspace__ = '/storage/.kodi/userdata/addon_data/driver.dvb.sundtek-mediatv/'
|
||||
__sundtek_userspace__ = '/storage/.xbmc/userdata/addon_data/driver.dvb.sundtek-mediatv/'
|
||||
|
||||
######################################################################################################
|
||||
# backup setting.xml file only if backup doesn't exist
|
||||
|
||||
@@ -37,39 +37,36 @@ def _usage(this_file):
|
||||
return """SYNOPSIS: pretty print an XML document
|
||||
USAGE: python %s <filename> \n""" % this_file
|
||||
|
||||
def _pprint_line(indent_level, line, width=100, output=_sys.stdout, ignore_contents = False):
|
||||
def _pprint_line(indent_level, line, width=100, output=_sys.stdout):
|
||||
if line.strip():
|
||||
start = ""
|
||||
number_chars = 0
|
||||
for l in range(indent_level):
|
||||
start = start + " "
|
||||
number_chars = number_chars + 1
|
||||
if not ignore_contents:
|
||||
try:
|
||||
elem_start = _re.findall("(\<\W{0,1}\w+:\w+) ?", line)[0]
|
||||
elem_finished = _re.findall("([?|\]\]/|\-\-]*\>)", line)[0]
|
||||
#should not have *
|
||||
attrs = _re.findall("(\S*?\=\".*?\")", line)
|
||||
output.write(start + elem_start)
|
||||
number_chars = len(start + elem_start)
|
||||
for attr in attrs:
|
||||
if (attrs.index(attr) + 1) == len(attrs):
|
||||
number_chars = number_chars + len(elem_finished)
|
||||
if (number_chars + len(attr) + 1) > width:
|
||||
output.write("\n")
|
||||
for i in range(len(start + elem_start) + 1):
|
||||
output.write(" ")
|
||||
number_chars = len(start + elem_start) + 1
|
||||
else:
|
||||
try:
|
||||
elem_start = _re.findall("(\<\W{0,1}\w+:\w+) ?", line)[0]
|
||||
elem_finished = _re.findall("([?|\]\]/]*\>)", line)[0]
|
||||
#should not have *
|
||||
attrs = _re.findall("(\S*?\=\".*?\")", line)
|
||||
output.write(start + elem_start)
|
||||
number_chars = len(start + elem_start)
|
||||
for attr in attrs:
|
||||
if (attrs.index(attr) + 1) == len(attrs):
|
||||
number_chars = number_chars + len(elem_finished)
|
||||
if (number_chars + len(attr) + 1) > width:
|
||||
output.write("\n")
|
||||
for i in range(len(start + elem_start) + 1):
|
||||
output.write(" ")
|
||||
number_chars = number_chars + 1
|
||||
output.write(attr)
|
||||
number_chars = number_chars + len(attr)
|
||||
output.write(elem_finished + "\n")
|
||||
except IndexError:
|
||||
#give up pretty print this line
|
||||
output.write(start + line + "\n")
|
||||
else:
|
||||
number_chars = len(start + elem_start) + 1
|
||||
else:
|
||||
output.write(" ")
|
||||
number_chars = number_chars + 1
|
||||
output.write(attr)
|
||||
number_chars = number_chars + len(attr)
|
||||
output.write(elem_finished + "\n")
|
||||
except IndexError:
|
||||
#give up pretty print this line
|
||||
output.write(start + line + "\n")
|
||||
|
||||
|
||||
@@ -83,8 +80,7 @@ def _get_next_elem(data):
|
||||
start_pos = data.find("<")
|
||||
end_pos = data.find(">") + 1
|
||||
retval = data[start_pos:end_pos]
|
||||
stopper = retval.rfind("/")
|
||||
ignore_contents = False
|
||||
stopper = retval.rfind("/")
|
||||
if stopper < retval.rfind("\""):
|
||||
stopper = -1
|
||||
single = (stopper > -1 and ((retval.find(">") - stopper) < (stopper - retval.find("<"))))
|
||||
@@ -93,19 +89,11 @@ def _get_next_elem(data):
|
||||
ignore_question = retval.find("<?") > -1
|
||||
|
||||
if ignore_excl:
|
||||
ignore_contents = True
|
||||
cdata = retval.find("<![CDATA[") > -1
|
||||
if cdata:
|
||||
end_pos = data.find("]]>")
|
||||
if end_pos > -1:
|
||||
end_pos = end_pos + len("]]>")
|
||||
stopper = end_pos
|
||||
else:
|
||||
end_pos = data.find("-->")
|
||||
if end_pos > -1:
|
||||
end_pos = end_pos + len("-->")
|
||||
stopper = end_pos
|
||||
retval = data[start_pos:end_pos]
|
||||
|
||||
elif ignore_question:
|
||||
end_pos = data.find("?>") + len("?>")
|
||||
@@ -113,12 +101,11 @@ def _get_next_elem(data):
|
||||
|
||||
no_indent = ignore or single
|
||||
|
||||
|
||||
#print retval, end_pos, start_pos, stopper > -1, no_indent
|
||||
return start_pos, \
|
||||
end_pos, \
|
||||
stopper > -1, \
|
||||
no_indent, \
|
||||
ignore_contents
|
||||
no_indent
|
||||
|
||||
def get_pprint(xml, indent=4, width=80):
|
||||
"""Returns the pretty printed xml """
|
||||
@@ -129,8 +116,6 @@ def get_pprint(xml, indent=4, width=80):
|
||||
self.output += string
|
||||
out = out()
|
||||
pprint(xml, output=out, indent=indent, width=width)
|
||||
|
||||
|
||||
|
||||
return out.output
|
||||
|
||||
@@ -141,7 +126,7 @@ def pprint(xml, output=_sys.stdout, indent=4, width=80):
|
||||
Use indent to select indentation level. Default is 4 """
|
||||
data = xml
|
||||
indent_level = 0
|
||||
start_pos, end_pos, is_stop, no_indent, ignore_contents = _get_next_elem(data)
|
||||
start_pos, end_pos, is_stop, no_indent = _get_next_elem(data)
|
||||
while ((start_pos > -1 and end_pos > -1)):
|
||||
_pprint_elem_content(indent_level, data[:start_pos].strip(),
|
||||
output=output)
|
||||
@@ -151,8 +136,7 @@ def pprint(xml, output=_sys.stdout, indent=4, width=80):
|
||||
_pprint_line(indent_level,
|
||||
data[:end_pos - start_pos],
|
||||
width=width,
|
||||
output=output,
|
||||
ignore_contents=ignore_contents)
|
||||
output=output)
|
||||
data = data[end_pos - start_pos:]
|
||||
if not is_stop and not no_indent :
|
||||
indent_level = indent_level + indent
|
||||
@@ -160,7 +144,7 @@ def pprint(xml, output=_sys.stdout, indent=4, width=80):
|
||||
if not data:
|
||||
break
|
||||
else:
|
||||
start_pos, end_pos, is_stop, no_indent, ignore_contents = _get_next_elem(data)
|
||||
start_pos, end_pos, is_stop, no_indent = _get_next_elem(data)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
@@ -27,11 +27,6 @@
|
||||
<category label="9000">
|
||||
<setting type="sep" />
|
||||
<setting id="ENABLE_TUNER_TYPES" type="bool" label="9005" default="true" />
|
||||
<setting label="9010" option="close" type="action" id="refresh_tuners" action="RunScript($CWD/resources/actions.py, refresh_tuners)" />
|
||||
</category>
|
||||
<category label="3000">
|
||||
<setting type="sep" />
|
||||
<setting id="CHECK_BOOT" type="bool" label="3020" default="false" />
|
||||
<setting label="3010" option="close" type="action" id="update_driver" action="RunScript($CWD/resources/actions.py, update_driver)" />
|
||||
<setting label="9010" option="close" type="action" action="RunScript($ID, refresh_tuners)" />
|
||||
</category>
|
||||
</settings>
|
||||
@@ -25,10 +25,9 @@ oe_setup_addon driver.dvb.sundtek-mediatv
|
||||
if [ "$SUSPEND_DRIVER" = "true" ]; then
|
||||
case "$1" in
|
||||
pre)
|
||||
systemctl stop driver.dvb.sundtek-mediatv.service
|
||||
killall -9 mediasrv &>/dev/null
|
||||
;;
|
||||
post)
|
||||
systemctl start driver.dvb.sundtek-mediatv.service
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
-12
@@ -1,12 +0,0 @@
|
||||
[Unit]
|
||||
Description=Sundtek driver service
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=-/bin/sh -c "exec sh /storage/.kodi/addons/driver.dvb.sundtek-mediatv/bin/sundtek-mediatv.start"
|
||||
ExecStop=-/bin/sh -c "exec sh /storage/.kodi/addons/driver.dvb.sundtek-mediatv/bin/sundtek-mediatv.stop"
|
||||
RemainAfterExit=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=kodi.target
|
||||
Loaded 100 of 1758 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user