From 50926608a55be6eadf739a40b14cbc5327205e0a Mon Sep 17 00:00:00 2001 From: mglae Date: Sat, 26 Dec 2020 18:51:11 +0100 Subject: [PATCH 1/5] kodi-waitonnetwork: enabled by default with 10s --- packages/mediacenter/kodi/config/network_wait | 3 +++ packages/mediacenter/kodi/package.mk | 3 +++ packages/mediacenter/kodi/system.d/kodi-waitonnetwork.service | 3 ++- 3 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 packages/mediacenter/kodi/config/network_wait diff --git a/packages/mediacenter/kodi/config/network_wait b/packages/mediacenter/kodi/config/network_wait new file mode 100644 index 0000000000..c796cb1af4 --- /dev/null +++ b/packages/mediacenter/kodi/config/network_wait @@ -0,0 +1,3 @@ +WAIT_NETWORK="true" +WAIT_NETWORK_TIME="10" +WAIT_NETWORK_DEFAULT="true" diff --git a/packages/mediacenter/kodi/package.mk b/packages/mediacenter/kodi/package.mk index f88610ddca..5b9bdd7ca3 100644 --- a/packages/mediacenter/kodi/package.mk +++ b/packages/mediacenter/kodi/package.mk @@ -315,6 +315,9 @@ post_makeinstall_target() { $PROJECT_DIR/$PROJECT/devices/$DEVICE/kodi/appliance.xml \ > $INSTALL/usr/share/kodi/system/settings/appliance.xml + mkdir -p $INSTALL/usr/cache/libreelec + cp $PKG_DIR/config/network_wait $INSTALL/usr/cache/libreelec + # update addon manifest ADDON_MANIFEST=$INSTALL/usr/share/kodi/system/addon-manifest.xml xmlstarlet ed -L -d "/addons/addon[text()='service.xbmc.versioncheck']" $ADDON_MANIFEST diff --git a/packages/mediacenter/kodi/system.d/kodi-waitonnetwork.service b/packages/mediacenter/kodi/system.d/kodi-waitonnetwork.service index 1c5a15e2c3..66f3fb2c24 100644 --- a/packages/mediacenter/kodi/system.d/kodi-waitonnetwork.service +++ b/packages/mediacenter/kodi/system.d/kodi-waitonnetwork.service @@ -4,8 +4,9 @@ After=connman.service Before=network-online.target DefaultDependencies=no Conflicts=shutdown.target -ConditionPathExists=/storage/.cache/libreelec/network_wait +ConditionFileNotEmpty=/storage/.cache/libreelec/network_wait ConditionPathExists=!/dev/.kernel_ipconfig +ConditionPathExists=/storage/.kodi/userdata/addon_data/service.libreelec.settings/oe_settings.xml [Service] Type=oneshot From c8c692f4ba3cd6a1103827b9a31eba4d63921223 Mon Sep 17 00:00:00 2001 From: mglae Date: Sat, 26 Dec 2020 19:11:12 +0100 Subject: [PATCH 2/5] wait-time-sync: add optional -t/--timeout parameter --- .../wait-time-sync/sources/wait-time-sync.c | 37 +++++++++++++++++-- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/packages/sysutils/wait-time-sync/sources/wait-time-sync.c b/packages/sysutils/wait-time-sync/sources/wait-time-sync.c index 52cd5d780a..da7cff182d 100644 --- a/packages/sysutils/wait-time-sync/sources/wait-time-sync.c +++ b/packages/sysutils/wait-time-sync/sources/wait-time-sync.c @@ -2,14 +2,43 @@ /* Copyright (C) 2020-present Team LibreELEC (https://libreelec.tv) */ #include +#include +#include #include +#include #include +#include -int main() +void usage(char *name) { - int rc; + if (!name) + name = "wait-time-sync"; - for (;;) + printf("Usage: %s [-t seconds | --timeout seconds]\n", name); + exit(2); +} + +int main(int argc, char** argv) +{ + unsigned timeout = UINT_MAX; + int rc = 0; + + if (argc == 3) + { + unsigned long val; + char *p; + + if (strcmp(argv[1], "-t") && strcmp(argv[1], "--timeout")) + usage(argv[0]); + val = strtoul(argv[2], &p, 0); + if (*p || val == 0 || val >= UINT_MAX/3) + usage(argv[0]); + timeout = (unsigned)val * 3; + } + else if (argc != 1) + usage(argv[0]); + + for ( ; timeout; --timeout) { struct timex tx = {}; @@ -19,5 +48,5 @@ int main() usleep(1000000U/3); } - return rc == -1 ? errno : 0; + return rc == -1 ? errno : !timeout; } From 9671a658cb5e3f610ec9703b90c2896e08555eb3 Mon Sep 17 00:00:00 2001 From: mglae Date: Tue, 29 Dec 2020 19:22:56 +0100 Subject: [PATCH 3/5] wait-time-sync: use poll frequency of 10 Hz --- packages/sysutils/wait-time-sync/sources/wait-time-sync.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/sysutils/wait-time-sync/sources/wait-time-sync.c b/packages/sysutils/wait-time-sync/sources/wait-time-sync.c index da7cff182d..8744e94f95 100644 --- a/packages/sysutils/wait-time-sync/sources/wait-time-sync.c +++ b/packages/sysutils/wait-time-sync/sources/wait-time-sync.c @@ -9,6 +9,8 @@ #include #include +#define POLL_FREQ 10 + void usage(char *name) { if (!name) @@ -31,9 +33,9 @@ int main(int argc, char** argv) if (strcmp(argv[1], "-t") && strcmp(argv[1], "--timeout")) usage(argv[0]); val = strtoul(argv[2], &p, 0); - if (*p || val == 0 || val >= UINT_MAX/3) + if (*p || val == 0 || val >= UINT_MAX / POLL_FREQ) usage(argv[0]); - timeout = (unsigned)val * 3; + timeout = (unsigned)val * POLL_FREQ; } else if (argc != 1) usage(argv[0]); @@ -45,7 +47,7 @@ int main(int argc, char** argv) rc = adjtimex(&tx); if (rc != TIME_ERROR) break; - usleep(1000000U/3); + usleep(1000000U / POLL_FREQ); } return rc == -1 ? errno : !timeout; From 240f54be137e8504ef3c698606a391f88074af64 Mon Sep 17 00:00:00 2001 From: mglae Date: Tue, 29 Dec 2020 19:39:30 +0100 Subject: [PATCH 4/5] kodi-waitonnetwork.service: don't show delay message, work silent --- packages/mediacenter/kodi/system.d/kodi-waitonnetwork.service | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/mediacenter/kodi/system.d/kodi-waitonnetwork.service b/packages/mediacenter/kodi/system.d/kodi-waitonnetwork.service index 66f3fb2c24..cad4091213 100644 --- a/packages/mediacenter/kodi/system.d/kodi-waitonnetwork.service +++ b/packages/mediacenter/kodi/system.d/kodi-waitonnetwork.service @@ -11,7 +11,6 @@ ConditionPathExists=/storage/.kodi/userdata/addon_data/service.libreelec.setting [Service] Type=oneshot EnvironmentFile=/storage/.cache/libreelec/network_wait -ExecStartPre=/bin/sh -c 'echo "waiting on Network to come online ... (max. $WAIT_NETWORK_TIME sec.)"' ExecStart=/usr/sbin/connmand-wait-online --timeout=${WAIT_NETWORK_TIME} StandardOutput=tty RemainAfterExit=yes From 41b4fc69bb55e63e5f8632686562314000ae6170 Mon Sep 17 00:00:00 2001 From: mglae Date: Wed, 6 Jan 2021 18:20:59 +0100 Subject: [PATCH 5/5] LibreELEC-settings: update to 248e787 --- packages/mediacenter/LibreELEC-settings/package.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/mediacenter/LibreELEC-settings/package.mk b/packages/mediacenter/LibreELEC-settings/package.mk index f1c4044c42..ce9dec633d 100644 --- a/packages/mediacenter/LibreELEC-settings/package.mk +++ b/packages/mediacenter/LibreELEC-settings/package.mk @@ -3,8 +3,8 @@ # Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv) PKG_NAME="LibreELEC-settings" -PKG_VERSION="e7559693978aa2adc9854f968bf955eeeab62de4" -PKG_SHA256="3135fecfcd78f0fc7760735eff17ebdffe603de7ba4f1c3230633c11a3237d3a" +PKG_VERSION="248e7874586966ed1f7177dc8f85e3b3eec95a7a" +PKG_SHA256="a64a187dc61dc1c5c127b21549a1e548fbe3acada616f23b35a7a7a260357870" PKG_LICENSE="GPL" PKG_SITE="https://libreelec.tv" PKG_URL="https://github.com/LibreELEC/service.libreelec.settings/archive/${PKG_VERSION}.tar.gz"