From 81705f6afd777382bf5808319dcffcee77735cf1 Mon Sep 17 00:00:00 2001 From: jc Date: Thu, 28 Apr 2016 23:49:14 +0200 Subject: [PATCH] inadyn: initial addon --- packages/addons/service/inadyn/changelog.txt | 2 + packages/addons/service/inadyn/icon/icon.png | Bin 0 -> 28990 bytes packages/addons/service/inadyn/package.mk | 54 ++++++++++++++++++ .../service/inadyn/source/bin/inadyn-service | 43 ++++++++++++++ .../addons/service/inadyn/source/default.py | 36 ++++++++++++ .../resources/language/English/strings.po | 30 ++++++++++ .../inadyn/source/resources/settings.xml | 10 ++++ .../inadyn/source/settings-default.xml | 4 ++ .../system.d/service.system.inadyn.service | 12 ++++ 9 files changed, 191 insertions(+) create mode 100644 packages/addons/service/inadyn/changelog.txt create mode 100644 packages/addons/service/inadyn/icon/icon.png create mode 100644 packages/addons/service/inadyn/package.mk create mode 100644 packages/addons/service/inadyn/source/bin/inadyn-service create mode 100644 packages/addons/service/inadyn/source/default.py create mode 100644 packages/addons/service/inadyn/source/resources/language/English/strings.po create mode 100644 packages/addons/service/inadyn/source/resources/settings.xml create mode 100644 packages/addons/service/inadyn/source/settings-default.xml create mode 100644 packages/addons/service/inadyn/source/system.d/service.system.inadyn.service diff --git a/packages/addons/service/inadyn/changelog.txt b/packages/addons/service/inadyn/changelog.txt new file mode 100644 index 0000000000..9455e1f3c8 --- /dev/null +++ b/packages/addons/service/inadyn/changelog.txt @@ -0,0 +1,2 @@ +8.0.100 +- Initial addon diff --git a/packages/addons/service/inadyn/icon/icon.png b/packages/addons/service/inadyn/icon/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2e39354544874e4108263d87d6d8e7c2dd7bb63a GIT binary patch literal 28990 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 literal 0 HcmV?d00001 diff --git a/packages/addons/service/inadyn/package.mk b/packages/addons/service/inadyn/package.mk new file mode 100644 index 0000000000..9963bdef5b --- /dev/null +++ b/packages/addons/service/inadyn/package.mk @@ -0,0 +1,54 @@ +################################################################################ +# 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 . +################################################################################ + +PKG_NAME="inadyn" +PKG_VERSION="1.99.15" +PKG_REV="100" +PKG_ARCH="any" +PKG_LICENSE="GPLv2" +PKG_SITE="http://troglobit.com/inadyn.html" +PKG_URL="ftp://troglobit.com/$PKG_NAME/$PKG_NAME-$PKG_VERSION.tar.xz" +PKG_DEPENDS_TARGET="toolchain libressl" +PKG_PRIORITY="optional" +PKG_SECTION="service/system" +PKG_SHORTDESC="Inadyn, a small and simple DDNS client" +PKG_LONGDESC="Inadyn is a small and simple DDNS client with HTTPS support. It is commonly available in many GNU/Linux distributions, used in off-the-shelf routers and Internet gateways to automate the task of keeping your DNS record up to date with any IP address changes from your ISP. It can also be used in installations with redundant (backup) connections to the Internet." +PKG_MAINTAINER="Anton Voyl (awiouy at gmail.com)" + +PKG_IS_ADDON="yes" +PKG_ADDON_TYPE="xbmc.service" +PKG_ADDON_PROVIDES="" +PKG_ADDON_REPOVERSION="8.0" + +PKG_AUTORECONF="yes" +PKG_CONFIGURE_OPTS_TARGET="--enable-openssl" # --sysconfdir is ineffective + +pre_configure_target() { + # inadyn fails to build in subdirs + cd $ROOT/$PKG_BUILD + rm -rf .$TARGET_NAME +} + +makeinstall_target() { + : +} + +addon() { + mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin + cp $PKG_BUILD/src/inadyn $ADDON_BUILD/$PKG_ADDON_ID/bin +} diff --git a/packages/addons/service/inadyn/source/bin/inadyn-service b/packages/addons/service/inadyn/source/bin/inadyn-service new file mode 100644 index 0000000000..669ab29f93 --- /dev/null +++ b/packages/addons/service/inadyn/source/bin/inadyn-service @@ -0,0 +1,43 @@ +#!/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 . +################################################################################ + +. /etc/profile +oe_setup_addon service.system.inadyn + +config="$ADDON_HOME/inadyn.conf" + +options="-b" +if [ "$inadyn_S" == "inadyn.conf" ] +then + if [ -f "$config" ] && [ -s "$config" ] + then + options="$options -F $config" + else + exit 0 + fi +else + options="$options -S $inadyn_S -u $inadyn_u -p $inadyn_p -a $inadyn_a" + if [ "$inadyn_s" == "true" ] + then + options="$options -s" + fi +fi + +inadyn $options + diff --git a/packages/addons/service/inadyn/source/default.py b/packages/addons/service/inadyn/source/default.py new file mode 100644 index 0000000000..0a5065ba27 --- /dev/null +++ b/packages/addons/service/inadyn/source/default.py @@ -0,0 +1,36 @@ +################################################################################ +# 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 . +################################################################################ + +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() + diff --git a/packages/addons/service/inadyn/source/resources/language/English/strings.po b/packages/addons/service/inadyn/source/resources/language/English/strings.po new file mode 100644 index 0000000000..16a02364e8 --- /dev/null +++ b/packages/addons/service/inadyn/source/resources/language/English/strings.po @@ -0,0 +1,30 @@ +# Kodi Media Center language file +# Addon Name: syncthing +# Addon id: service.system.inadyn +# Addon Provider: awiouy at gmail dot com +msgid "" +msgstr "" + +msgctxt "#30000" +msgid "Configuration" +msgstr "" + +msgctxt "#30001" +msgid "Provider" +msgstr "" + +msgctxt "#30002" +msgid "Username" +msgstr "" + +msgctxt "#30003" +msgid "Password" +msgstr "" + +msgctxt "#30004" +msgid "Alias" +msgstr "" + +msgctxt "#30005" +msgid "SSL" +msgstr "" diff --git a/packages/addons/service/inadyn/source/resources/settings.xml b/packages/addons/service/inadyn/source/resources/settings.xml new file mode 100644 index 0000000000..8ae445241d --- /dev/null +++ b/packages/addons/service/inadyn/source/resources/settings.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/packages/addons/service/inadyn/source/settings-default.xml b/packages/addons/service/inadyn/source/settings-default.xml new file mode 100644 index 0000000000..17b76dcb0f --- /dev/null +++ b/packages/addons/service/inadyn/source/settings-default.xml @@ -0,0 +1,4 @@ + + + + diff --git a/packages/addons/service/inadyn/source/system.d/service.system.inadyn.service b/packages/addons/service/inadyn/source/system.d/service.system.inadyn.service new file mode 100644 index 0000000000..b5207906b2 --- /dev/null +++ b/packages/addons/service/inadyn/source/system.d/service.system.inadyn.service @@ -0,0 +1,12 @@ +[Unit] +Description=inadyn +After=network-online.target +Requires=network-online.target + +[Service] +Type=forking +ExecStart=/bin/sh /storage/.kodi/addons/service.system.inadyn/bin/inadyn-service +Restart=on-failure + +[Install] +WantedBy=kodi.target