Merge pull request #837 from awiouy/lcdd

lcdd: initial addon
This commit is contained in:
Christian Hewitt 2016-10-27 07:37:58 +04:00 committed by GitHub
commit 161b793c4a
27 changed files with 185 additions and 165 deletions

View File

@ -384,7 +384,6 @@ show_config() {
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 - Bluetooth support:\t\t\t $BLUETOOTH_SUPPORT"
config_message="$config_message\n - LCD drivers:\t\t\t\t $LCD_DRIVER"
for config_driver in $ADDITIONAL_DRIVERS; do
config_message="$config_message\n - Include driver:\t\t\t $config_driver"

View File

@ -153,19 +153,6 @@
# 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,glcd,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"

View File

@ -0,0 +1,2 @@
100
- Initial addon

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View File

@ -0,0 +1,80 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2016 Team LibreELEC
#
# LibreELEC 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.
#
# LibreELEC 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 LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="lcdd"
PKG_VERSION="0.5.7-cvs20140217"
PKG_REV="100"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://lcdproc.org/"
PKG_URL="$DISTRO_SRC/lcdproc-$PKG_VERSION.tar.xz"
PKG_SOURCE_DIR="lcdproc-$PKG_VERSION"
PKG_DEPENDS_TARGET="toolchain freetype libftdi1 libhid libusb netbsd-curses serdisplib"
PKG_SECTION="service"
PKG_SHORTDESC="LCDproc: Software to display system information from your Linux/*BSD box on a LCD"
PKG_LONGDESC="LCDproc ($PKG_VERSION) is a piece of software that displays real-time system information from your Linux/*BSD box on a LCD. The server supports several serial devices: Matrix Orbital, Crystal Fontz, Bayrad, LB216, LCDM001 (kernelconcepts.de), Wirz-SLI, Cwlinux(.com) and PIC-an-LCD; and some devices connected to the LPT port: HD44780, STV5730, T6963, SED1520 and SED1330. Various clients are available that display things like CPU load, system load, memory usage, uptime, and a lot more."
PKG_AUTORECONF="yes"
PKG_IS_ADDON="yes"
PKG_ADDON_NAME="LCDproc"
PKG_ADDON_TYPE="xbmc.service"
PKG_CONFIGURE_OPTS_TARGET="--with-ft-prefix=$SYSROOT_PREFIX/usr \
--enable-libusb \
--enable-libftdi \
--disable-libX11 \
--enable-libhid \
--disable-libpng \
--enable-drivers=all \
--enable-seamless-hbars"
pre_make_target() {
# dont build parallel
MAKEFLAGS=-j1
}
addon() {
drivers="none|$(cat $ROOT/$PKG_BUILD/.$TARGET_NAME/config.log | sed -n "s|^DRIVERS=' \(.*\)'|\1|p" | sed "s|.so||g" | tr ' ' '|')"
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config
cp -PR $PKG_DIR/resources $ADDON_BUILD/$PKG_ADDON_ID
cp -PR $PKG_BUILD/.install_pkg/etc/LCDd.conf $ADDON_BUILD/$PKG_ADDON_ID/config/
cp -PR $PKG_BUILD/.install_pkg/usr/lib $ADDON_BUILD/$PKG_ADDON_ID/lib/
cp -PR $PKG_BUILD/.install_pkg/usr/sbin $ADDON_BUILD/$PKG_ADDON_ID/bin/
cp -L $(get_build_dir serdisplib)/.install_pkg/usr/lib/libserdisp.so.1 $ADDON_BUILD/$PKG_ADDON_ID/lib/
sed -e "s|^DriverPath=.*$|DriverPath=/storage/.kodi/addons/service.lcdd/lib/lcdproc/|" \
-e "s|^#Foreground=.*$|Foreground=no|" \
-e "s|^#ServerScreen=.*$|ServerScreen=blank|" \
-e "s|^#Backlight=.*$|Backlight=open|" \
-e "s|^#Heartbeat=.*$|Heartbeat=open|" \
-e "s|^#TitleSpeed=.*$|TitleSpeed=4|" \
-e "s|^#Hello=\" Welcome to\"|Hello=\"Welcome to\"|" \
-e "s|^#Hello=\" LCDproc!\"|Hello=\"$DISTRONAME\"|" \
-e "s|^#GoodBye=\"Thanks for using\"|GoodBye=\"Thanks for using\"|" \
-e "s|^#GoodBye=\" LCDproc!\"|GoodBye=\"$DISTRONAME\"|" \
-e "s|^#normal_font=.*$|normal_font=/usr/share/fonts/liberation/LiberationMono-Bold.ttf|" \
-i $ADDON_BUILD/$PKG_ADDON_ID/config/LCDd.conf
sed -e "s/@DRIVERS@/$drivers/" \
-i $ADDON_BUILD/$PKG_ADDON_ID/resources/settings.xml
}

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<settings>
<category label="30000">
<setting label="30001" id="LCD_DRIVER" type="select" values="@DRIVERS@" default="none" />
</category>
</settings>

View File

@ -0,0 +1,37 @@
#!/bin/sh
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2016 Team LibreELEC
#
# LibreELEC 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.
#
# LibreELEC 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 LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
. /etc/profile
oe_setup_addon service.lcdd
if [ -z "$LCD_DRIVER" -o "$LCD_DRIVER" == "none" ]; then
exit 0
fi
LCDCONF=$ADDON_HOME/LCDd.conf
if [ ! -f $LCDCONF ]; then
if [ -f /storage/.cache/LCDd.conf ]; then
mv /storage/.cache/LCDd.conf $LCDCONF
else
cp $ADDON_DIR/config/LCDd.conf $LCDCONF
fi
fi
LCDd -f -c $LCDCONF -d $LCD_DRIVER

View File

@ -0,0 +1,35 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2016 Team LibreELEC
#
# LibreELEC 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.
#
# LibreELEC 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 LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
import subprocess
import xbmc
import xbmcaddon
class Monitor(xbmc.Monitor):
def __init__(self, *args, **kwargs):
xbmc.Monitor.__init__(self)
self.id = xbmcaddon.Addon().getAddonInfo('id')
def onSettingsChanged(self):
subprocess.call(['systemctl', 'restart', self.id])
if __name__ == '__main__':
Monitor().waitForAbort()

View File

@ -0,0 +1,11 @@
# Kodi Media Center language file
msgid ""
msgstr ""
msgctxt "#30000"
msgid "Configuration"
msgstr ""
msgctxt "#30001"
msgid "LCD driver"
msgstr ""

View File

@ -0,0 +1,14 @@
[Unit]
Description=LCDProc
After=multi-user.target
[Service]
ExecStart=/bin/sh /storage/.kodi/addons/service.lcdd/bin/lcdd.start
TimeoutStopSec=1s
Restart=on-failure
RestartSec=5
StartLimitInterval=30
StartLimitBurst=5
[Install]
WantedBy=multi-user.target

View File

@ -1,76 +0,0 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# OpenELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="lcdproc"
PKG_VERSION="0.5.7-cvs20140217"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://lcdproc.org/"
# PKG_URL="$SOURCEFORGE_SRC/lcdproc/lcdproc/$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.gz"
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS_TARGET="toolchain libusb libhid libftdi1"
PKG_SECTION="system"
PKG_SHORTDESC="lcdproc: Software to display system information from your Linux/*BSD box on a LCD"
PKG_LONGDESC="LCDproc is a piece of software that displays real-time system information from your Linux/*BSD box on a LCD. The server supports several serial devices: Matrix Orbital, Crystal Fontz, Bayrad, LB216, LCDM001 (kernelconcepts.de), Wirz-SLI, Cwlinux(.com) and PIC-an-LCD; and some devices connected to the LPT port: HD44780, STV5730, T6963, SED1520 and SED1330. Various clients are available that display things like CPU load, system load, memory usage, uptime, and a lot more."
PKG_IS_ADDON="no"
PKG_AUTORECONF="yes"
IFS=$','
for i in $LCD_DRIVER; do
case $i in
glcd) PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET freetype serdisplib"
;;
*)
esac
done
unset IFS
PKG_CONFIGURE_OPTS_TARGET="--with-ft-prefix=$SYSROOT_PREFIX/usr --enable-libusb --enable-drivers=$LCD_DRIVER,!curses,!svga --enable-seamless-hbars"
pre_make_target() {
# dont build parallel
MAKEFLAGS=-j1
}
post_makeinstall_target() {
rm -rf $INSTALL/etc/lcd*.conf
rm -rf $INSTALL/usr/bin
sed -e "s|^DriverPath=.*$|DriverPath=/usr/lib/lcdproc/|" \
-e "s|^#Foreground=.*$|Foreground=no|" \
-e "s|^#ServerScreen=.*$|ServerScreen=blank|" \
-e "s|^#Backlight=.*$|Backlight=open|" \
-e "s|^#Heartbeat=.*$|Heartbeat=open|" \
-e "s|^#TitleSpeed=.*$|TitleSpeed=4|" \
-e "s|^#Hello=\" Welcome to\"|Hello=\"Welcome to\"|" \
-e "s|^#Hello=\" LCDproc!\"|Hello=\"$DISTRONAME\"|" \
-e "s|^#GoodBye=\"Thanks for using\"|GoodBye=\"Thanks for using\"|" \
-e "s|^#GoodBye=\" LCDproc!\"|GoodBye=\"$DISTRONAME\"|" \
-e "s|^#normal_font=.*$|normal_font=/usr/share/fonts/liberation/LiberationMono-Bold.ttf|" \
-i $INSTALL/etc/LCDd.conf
mkdir -p $INSTALL/usr/lib/libreelec
cp $PKG_DIR/scripts/lcd-wrapper $INSTALL/usr/lib/libreelec
}
post_install() {
enable_service lcdd.service
}

View File

@ -1,32 +0,0 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# OpenELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
if [ -f /storage/.cache/services/lcdd.conf ]; then
. /storage/.cache/services/lcdd.conf
if [ "$LCD_DRIVER" == "none" ]; then
exit 0
fi
LCDCONF=/etc/LCDd.conf
if [ -f /storage/.config/LCDd.conf ]; then
LCDCONF=/storage/.config/LCDd.conf
fi
exec /usr/sbin/LCDd -f -c $LCDCONF -d $LCD_DRIVER
fi

View File

@ -1,16 +0,0 @@
[Unit]
Description=LCDProc
ConditionPathExists=|/storage/.cache/services/lcdd.conf
After=multi-user.target
[Service]
EnvironmentFile=-/storage/.cache/services/lcdd.conf
ExecStart=/bin/sh -c 'exec /usr/lib/libreelec/lcd-wrapper'
TimeoutStopSec=1s
Restart=always
RestartSec=5
StartLimitInterval=30
StartLimitBurst=5
[Install]
WantedBy=multi-user.target

View File

@ -109,9 +109,6 @@
# build and install ATV IR remote support (yes / no)
ATVCLIENT_SUPPORT="no"
# "none" for disable LCD support
LCD_DRIVER="none"
# Amlogic IR remote support (yes / no)
AMREMOTE_SUPPORT="no"

View File

@ -117,9 +117,6 @@
# build and install ATV IR remote support (yes / no)
ATVCLIENT_SUPPORT="no"
# "none" for disable LCD support
LCD_DRIVER="none"
# build with swap support (yes / no)
SWAP_SUPPORT="yes"

View File

@ -117,9 +117,6 @@
# build and install ATV IR remote support (yes / no)
ATVCLIENT_SUPPORT="no"
# "none" for disable LCD support
LCD_DRIVER="none"
# build with swap support (yes / no)
SWAP_SUPPORT="yes"

View File

@ -127,9 +127,6 @@
# build and install ATV IR remote support (yes / no)
ATVCLIENT_SUPPORT="no"
# "none" for disable LCD support
LCD_DRIVER="none"
# Amlogic IR remote support (yes / no)
AMREMOTE_SUPPORT="yes"

View File

@ -115,9 +115,6 @@
# build and install ATV IR remote support (yes / no)
ATVCLIENT_SUPPORT="no"
# "none" for disable LCD support
LCD_DRIVER="none"
# Amlogic IR remote support (yes / no)
AMREMOTE_SUPPORT="yes"

View File

@ -121,9 +121,6 @@
# build and install ATV IR remote support (yes / no)
ATVCLIENT_SUPPORT="no"
# "none" for disable LCD support
LCD_DRIVER="none"
# Amlogic IR remote support (yes / no)
AMREMOTE_SUPPORT="yes"

View File

@ -115,9 +115,6 @@
# build and install ATV IR remote support (yes / no)
ATVCLIENT_SUPPORT="no"
# "none" for disable LCD support
LCD_DRIVER="none"
# Amlogic IR remote support (yes / no)
AMREMOTE_SUPPORT="yes"

View File

@ -136,9 +136,6 @@
# build and install ATV IR remote support (yes / no)
ATVCLIENT_SUPPORT="no"
# "none" for disable LCD support
LCD_DRIVER="none"
# build with swap support (yes / no)
SWAP_SUPPORT="no"

View File

@ -178,9 +178,6 @@ $SCRIPTS/install network
# Remote support
[ "$REMOTE_SUPPORT" = "yes" ] && $SCRIPTS/install remote
# LCD support
[ ! "$LCD_DRIVER" = "none" ] && $SCRIPTS/install lcdproc
# Virtual image creation support
[ "$PROJECT" = Virtual ] && $SCRIPTS/install virtual