mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-08-01 15:07:49 +00:00
Merge pull request #1758 from MilhouseVH/kodi18a1jun17v2
kodi: update to kodi-734cda1 (latest kodi 18a1 master)
This commit is contained in:
commit
e28ed50403
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="libiconv"
|
||||
PKG_VERSION="1.14"
|
||||
PKG_VERSION="1.15"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://savannah.gnu.org/projects/libiconv/"
|
||||
|
@ -1,16 +0,0 @@
|
||||
from
|
||||
http://www.itkb.ro/kb/linux/patch-libiconv-pentru-glibc-216
|
||||
|
||||
--- a/srclib/stdio.in.h.orig 2011-08-07 16:42:06.000000000 +0300
|
||||
+++ b/srclib/stdio.in.h 2013-01-10 15:53:03.000000000 +0200
|
||||
@@ -695,7 +695,9 @@
|
||||
/* It is very rare that the developer ever has full control of stdin,
|
||||
so any use of gets warrants an unconditional warning. Assume it is
|
||||
always declared, since it is required by C89. */
|
||||
-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
|
||||
+#if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)
|
||||
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
|
||||
+#endif
|
||||
#endif
|
||||
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="libfmt"
|
||||
PKG_VERSION="3.0.1"
|
||||
PKG_VERSION="3.0.2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="BSD"
|
||||
PKG_SITE="https://github.com/fmtlib/fmt"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="adsp.freesurround"
|
||||
PKG_VERSION="79fa039"
|
||||
PKG_VERSION="03ec089"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="audiodecoder.2sf"
|
||||
PKG_VERSION="36ebc05"
|
||||
PKG_VERSION="2bc20c5"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="audiodecoder.gme"
|
||||
PKG_VERSION="7458853"
|
||||
PKG_VERSION="a7d64dd"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="audiodecoder.gsf"
|
||||
PKG_VERSION="d56eafc"
|
||||
PKG_VERSION="6af240a"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="audiodecoder.usf"
|
||||
PKG_VERSION="ce4b75c"
|
||||
PKG_VERSION="c7fa708"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="audioencoder.flac"
|
||||
PKG_VERSION="bd1a353"
|
||||
PKG_VERSION="d93774a"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="audioencoder.lame"
|
||||
PKG_VERSION="d75255b"
|
||||
PKG_VERSION="6a250f9"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="audioencoder.vorbis"
|
||||
PKG_VERSION="507a34d"
|
||||
PKG_VERSION="6bd0b65"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="audioencoder.wav"
|
||||
PKG_VERSION="8a1fed5"
|
||||
PKG_VERSION="2700ba0"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="imagedecoder.raw"
|
||||
PKG_VERSION="1ab2416"
|
||||
PKG_VERSION="22427d6"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="inputstream.adaptive"
|
||||
PKG_VERSION="f1f5539"
|
||||
PKG_VERSION="db9b6a1"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.kodi.tv"
|
||||
PKG_URL="https://github.com/liberty-developer/inputstream.adaptive/archive/$PKG_VERSION.tar.gz"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="inputstream.rtmp"
|
||||
PKG_VERSION="d93d32d"
|
||||
PKG_VERSION="6db3697"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.kodi.tv"
|
||||
PKG_URL="https://github.com/notspiff/inputstream.rtmp/archive/$PKG_VERSION.tar.gz"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="peripheral.joystick"
|
||||
PKG_VERSION="f49fa33"
|
||||
PKG_VERSION="1b7ba07"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="peripheral.steamcontroller"
|
||||
PKG_VERSION="6842e35"
|
||||
PKG_VERSION="4eb972a"
|
||||
PKG_REV="101"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="pvr.dvbviewer"
|
||||
PKG_VERSION="3f05af6"
|
||||
PKG_VERSION="a5db9dd"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="pvr.hts"
|
||||
PKG_VERSION="7f998e0"
|
||||
PKG_VERSION="c2ca2db"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="pvr.mythtv"
|
||||
PKG_VERSION="f2da22c"
|
||||
PKG_VERSION="6e88cbb"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="pvr.octonet"
|
||||
PKG_VERSION="ff2d4a7"
|
||||
PKG_VERSION="020dd98"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="pvr.vdr.vnsi"
|
||||
PKG_VERSION="40dc17d"
|
||||
PKG_VERSION="7d6b52e"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="screensaver.asteroids"
|
||||
PKG_VERSION="d30d588"
|
||||
PKG_VERSION="d606895"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="screensaver.asterwave"
|
||||
PKG_VERSION="aea811d"
|
||||
PKG_VERSION="4326ddc"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="screensaver.biogenesis"
|
||||
PKG_VERSION="5d0a8db"
|
||||
PKG_VERSION="c1ea27c"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="screensaver.cpblobs"
|
||||
PKG_VERSION="2ec8294"
|
||||
PKG_VERSION="6acb909"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="screensaver.greynetic"
|
||||
PKG_VERSION="e75b536"
|
||||
PKG_VERSION="8b7b810"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="screensaver.matrixtrails"
|
||||
PKG_VERSION="55bac2c"
|
||||
PKG_VERSION="3323406"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="screensaver.pingpong"
|
||||
PKG_VERSION="76a9739"
|
||||
PKG_VERSION="cfd0a05"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="screensaver.pyro"
|
||||
PKG_VERSION="2eaaa39"
|
||||
PKG_VERSION="97e997e"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="screensaver.stars"
|
||||
PKG_VERSION="d05afc5"
|
||||
PKG_VERSION="e0da61c"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="screensavers.rsxs"
|
||||
PKG_VERSION="219f5ab"
|
||||
PKG_VERSION="e302833"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
@ -42,7 +42,9 @@ addon() {
|
||||
|
||||
mkdir -p $ADDON_BUILD/$_ADDON_ID/
|
||||
cp -PR $PKG_BUILD/.install_pkg/usr/share/$MEDIACENTER/addons/$_ADDON_ID/* $ADDON_BUILD/$_ADDON_ID/
|
||||
cp -PL $PKG_BUILD/.install_pkg/usr/lib/$MEDIACENTER/addons/$_ADDON_ID/*.so $ADDON_BUILD/$_ADDON_ID/
|
||||
|
||||
ADDONSO=$(xmlstarlet sel -t -v "/addon/extension/@library_linux" $ADDON_BUILD/$_ADDON_ID/addon.xml)
|
||||
cp -PL $PKG_BUILD/.install_pkg/usr/lib/$MEDIACENTER/addons/$_ADDON_ID/$ADDONSO $ADDON_BUILD/$_ADDON_ID/
|
||||
|
||||
MULTI_ADDONS="$MULTI_ADDONS $_ADDON_ID"
|
||||
done
|
||||
|
@ -1,16 +1,17 @@
|
||||
diff -Naur screensavers.rsxs-3241d29.orig/CMakeLists.txt screensavers.rsxs-3241d29/CMakeLists.txt
|
||||
--- screensavers.rsxs-3241d29.orig/CMakeLists.txt 2015-10-22 23:59:38.187280475 -0700
|
||||
+++ screensavers.rsxs-3241d29/CMakeLists.txt 2015-10-23 00:00:27.228113829 -0700
|
||||
@@ -17,7 +17,7 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index ed0f308..74fc6bf 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -17,7 +17,7 @@ set(rsxs_dir lib/rsxs-1.0)
|
||||
include_directories(${OpenGL_INCLUDE_DIR}
|
||||
${PNG_INCLUDE_DIR}
|
||||
${KODI_INCLUDE_DIR}
|
||||
${KODI_INCLUDE_DIR}/.. # Hack way with "/..", need bigger Kodi cmake rework to match right include ways
|
||||
- ${X_INCLUDE_DIRS}
|
||||
+ ${X_INCLUDE_DIR}
|
||||
${CMAKE_BINARY_DIR}/rsxs-prefix/src/rsxs-build
|
||||
${PROJECT_SOURCE_DIR}/${rsxs_dir}/src
|
||||
${PROJECT_SOURCE_DIR}/${rsxs_dir}/lib
|
||||
@@ -67,7 +67,7 @@
|
||||
@@ -67,7 +67,7 @@ externalproject_add(rsxs SOURCE_DIR ${PROJECT_SOURCE_DIR}/${rsxs_dir}
|
||||
--disable-skyrocket
|
||||
--disable-solarwinds
|
||||
--disable-sound
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="visualization.fishbmc"
|
||||
PKG_VERSION="c5835e0"
|
||||
PKG_VERSION="ccc919c"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="visualization.goom"
|
||||
PKG_VERSION="89ae55a"
|
||||
PKG_VERSION="0c93889"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="visualization.projectm"
|
||||
PKG_VERSION="5f1c7bb"
|
||||
PKG_VERSION="a39f73b"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="visualization.shadertoy"
|
||||
PKG_VERSION="9419ec1"
|
||||
PKG_VERSION="1717f36"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="visualization.spectrum"
|
||||
PKG_VERSION="9ff9d71"
|
||||
PKG_VERSION="2b78ea0"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="visualization.waveform"
|
||||
PKG_VERSION="d0caa05"
|
||||
PKG_VERSION="0e78a14"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="kodi-platform"
|
||||
PKG_VERSION="c8188d8"
|
||||
PKG_VERSION="36fb493"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.kodi.tv"
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<settings>
|
||||
<settings version="1">
|
||||
|
||||
<section id="system">
|
||||
<category id="display">
|
||||
@ -46,7 +46,7 @@
|
||||
|
||||
<section id="pvr">
|
||||
<category id="pvrmanager">
|
||||
<group id="2">
|
||||
<group id="1">
|
||||
<setting id="pvrmanager.syncchannelgroups">
|
||||
<default>false</default>
|
||||
</setting>
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="kodi"
|
||||
PKG_VERSION="423072a"
|
||||
PKG_VERSION="734cda1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.kodi.tv"
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 416981e6bbcf81443e3ca8f35ca26042e174c971 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <stefan@saraev.ca>
|
||||
Date: Mon, 2 Mar 2015 23:50:40 +0200
|
||||
Subject: [PATCH 05/13] make binary addons executable
|
||||
From 3e1f7d098726e4af7eac9c83c70cf8196e4e9e3e Mon Sep 17 00:00:00 2001
|
||||
From: MilhouseVH <milhouseVH.github@nmacleod.com>
|
||||
Date: Wed, 5 Jul 2017 15:46:51 +0100
|
||||
Subject: [PATCH] make binary addons executable
|
||||
|
||||
add executable mode to all files in addon's bin folder
|
||||
|
||||
@ -11,24 +11,24 @@ credits to vpeter4 for the patch
|
||||
1 file changed, 26 insertions(+)
|
||||
|
||||
diff --git a/xbmc/addons/Addon.cpp b/xbmc/addons/Addon.cpp
|
||||
index 77c2db8..6c21c87 100644
|
||||
index 07fd5bf..639ee5c 100644
|
||||
--- a/xbmc/addons/Addon.cpp
|
||||
+++ b/xbmc/addons/Addon.cpp
|
||||
@@ -46,6 +46,10 @@
|
||||
#include <string.h>
|
||||
#include <ostream>
|
||||
@@ -26,6 +26,10 @@
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
+#include <iostream>
|
||||
+#include <dirent.h>
|
||||
+#include <sys/stat.h>
|
||||
+
|
||||
using XFILE::CDirectory;
|
||||
using XFILE::CFile;
|
||||
|
||||
@@ -694,6 +698,28 @@ void OnPostInstall(const AddonPtr& addon, bool update, bool modal)
|
||||
if (CAddonMgr::GetInstance().GetAddon(addon->ID(), localAddon, ADDON_REPOSITORY))
|
||||
CRepositoryUpdater::GetInstance().ScheduleUpdate(); //notify updater there is a new addon or version
|
||||
#include "AddonManager.h"
|
||||
#include "addons/Service.h"
|
||||
#include "filesystem/Directory.h"
|
||||
@@ -417,6 +421,28 @@ void OnPreInstall(const AddonPtr& addon)
|
||||
|
||||
void OnPostInstall(const AddonPtr& addon, bool update, bool modal)
|
||||
{
|
||||
+ // OE: make binary addons executable, creddits to vpeter4
|
||||
+ std::string addonDirPath;
|
||||
+ std::string chmodFilePath;
|
||||
@ -55,5 +55,5 @@ index 77c2db8..6c21c87 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.5.0
|
||||
2.7.4
|
||||
|
||||
|
@ -11,10 +11,10 @@ tz-data.service
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
diff --git a/xbmc/linux/LinuxTimezone.cpp b/xbmc/linux/LinuxTimezone.cpp
|
||||
index 7de8f8c..e278c6a 100644
|
||||
index 372c119..0759a3b 100644
|
||||
--- a/xbmc/linux/LinuxTimezone.cpp
|
||||
+++ b/xbmc/linux/LinuxTimezone.cpp
|
||||
@@ -42,6 +42,8 @@
|
||||
@@ -43,6 +43,8 @@
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
@ -23,23 +23,23 @@ index 7de8f8c..e278c6a 100644
|
||||
CLinuxTimezone::CLinuxTimezone() : m_IsDST(0)
|
||||
{
|
||||
char* line = NULL;
|
||||
@@ -159,6 +161,16 @@ void CLinuxTimezone::OnSettingChanged(const CSetting *setting)
|
||||
@@ -160,6 +162,16 @@ void CLinuxTimezone::OnSettingChanged(std::shared_ptr<const CSetting> setting)
|
||||
const std::string &settingId = setting->GetId();
|
||||
if (settingId == CSettings::SETTING_LOCALE_TIMEZONE)
|
||||
{
|
||||
+ std::ofstream out("/storage/.cache/timezone");
|
||||
+ if (out)
|
||||
+ {
|
||||
+ const std::string tz = std::string("TIMEZONE=") + ((CSettingString*)setting)->GetValue().c_str();
|
||||
+ const std::string tz = std::string("TIMEZONE=") + (std::static_pointer_cast<const CSettingString>(setting)->GetValue().c_str());
|
||||
+ out << tz << std::endl;
|
||||
+ out.flush();
|
||||
+ out.close();
|
||||
+ system("systemctl restart tz-data.service");
|
||||
+ }
|
||||
+
|
||||
SetTimezone(((CSettingString*)setting)->GetValue());
|
||||
SetTimezone(std::static_pointer_cast<const CSettingString>(setting)->GetValue());
|
||||
|
||||
CDateTime::ResetTimezoneBias();
|
||||
--
|
||||
2.5.0
|
||||
2.7.4
|
||||
|
||||
|
@ -1,14 +1,18 @@
|
||||
commit 07c96988b65becae0141d71d40481bcf916bee68
|
||||
Author: Stefan Saraev <stefan@saraev.ca>
|
||||
Date: Sun Dec 18 11:30:39 2016 -0800
|
||||
From faebee708dc7c24d177fa6b8874b3f1374a08e25 Mon Sep 17 00:00:00 2001
|
||||
From: MilhouseVH <milhouseVH.github@nmacleod.com>
|
||||
Date: Wed, 5 Jul 2017 15:58:57 +0100
|
||||
Subject: [PATCH] use a wrapper to setup systemd services
|
||||
|
||||
use a wrapper to setup systemd services
|
||||
---
|
||||
xbmc/addons/Addon.cpp | 35 +++++++++++++++++++++++++++++++++++
|
||||
xbmc/addons/Addon.h | 2 ++
|
||||
2 files changed, 37 insertions(+)
|
||||
|
||||
diff --git a/xbmc/addons/Addon.cpp b/xbmc/addons/Addon.cpp
|
||||
index 8f62079..a54682a 100644
|
||||
index 639ee5c..7f205a7 100644
|
||||
--- a/xbmc/addons/Addon.cpp
|
||||
+++ b/xbmc/addons/Addon.cpp
|
||||
@@ -348,6 +348,13 @@ AddonVersion CAddon::GetDependencyVersion(const std::string &dependencyID) const
|
||||
@@ -396,18 +396,36 @@ AddonVersion CAddon::GetDependencyVersion(const std::string &dependencyID) const
|
||||
return AddonVersion("0.0.0");
|
||||
}
|
||||
|
||||
@ -22,34 +26,34 @@ index 8f62079..a54682a 100644
|
||||
void OnEnabled(const std::string& id)
|
||||
{
|
||||
// If the addon is a special, call enabled handler
|
||||
@@ -356,6 +363,11 @@ void OnEnabled(const std::string& id)
|
||||
CAddonMgr::GetInstance().GetAddon(id, addon, ADDON_ADSPDLL))
|
||||
AddonPtr addon;
|
||||
if (CAddonMgr::GetInstance().GetAddon(id, addon, ADDON_PVRDLL))
|
||||
return addon->OnEnabled();
|
||||
|
||||
+
|
||||
+ // OE: systemctl enable & start on addon enable
|
||||
+ if (CAddonMgr::GetInstance().GetAddon(id, addon, ADDON_SERVICE))
|
||||
+ CallOEWrapper(addon->ID(), false);
|
||||
+ // OE
|
||||
+
|
||||
if (CAddonMgr::GetInstance().ServicesHasStarted())
|
||||
{
|
||||
if (CAddonMgr::GetInstance().GetAddon(id, addon, ADDON_SERVICE))
|
||||
@@ -379,6 +391,11 @@ void OnDisabled(const std::string& id)
|
||||
if (CAddonMgr::GetInstance().GetAddon(id, addon, ADDON_SERVICE, false))
|
||||
std::static_pointer_cast<CService>(addon)->Stop();
|
||||
}
|
||||
}
|
||||
|
||||
void OnDisabled(const std::string& id)
|
||||
{
|
||||
|
||||
AddonPtr addon;
|
||||
+
|
||||
+ // OE: systemctl stop & disable on addon disable
|
||||
+ if (CAddonMgr::GetInstance().GetAddon(id, addon, ADDON_SERVICE, false))
|
||||
+ CallOEWrapper(addon->ID(), true);
|
||||
+ // OE
|
||||
+
|
||||
if (CAddonMgr::GetInstance().GetAddon(id, addon, ADDON_PVRDLL, false))
|
||||
return addon->OnDisabled();
|
||||
}
|
||||
@@ -443,11 +461,28 @@ void OnPostInstall(const AddonPtr& addon, bool update, bool modal)
|
||||
}
|
||||
// OE
|
||||
|
||||
void OnPreInstall(const AddonPtr& addon)
|
||||
@@ -401,6 +418,15 @@ void OnPreInstall(const AddonPtr& addon)
|
||||
void OnPostInstall(const AddonPtr& addon, bool update, bool modal)
|
||||
{
|
||||
AddonPtr localAddon;
|
||||
+ AddonPtr localAddon;
|
||||
+
|
||||
+ // OE: systemctl stop & disable / enable & start on addon upgrade
|
||||
+ if (CAddonMgr::GetInstance().GetAddon(addon->ID(), localAddon, ADDON_SERVICE))
|
||||
@ -59,31 +63,34 @@ index 8f62079..a54682a 100644
|
||||
+ }
|
||||
+ // OE
|
||||
+
|
||||
if (CAddonMgr::GetInstance().ServicesHasStarted())
|
||||
{
|
||||
if (CAddonMgr::GetInstance().GetAddon(addon->ID(), localAddon, ADDON_SERVICE))
|
||||
@@ -439,6 +465,11 @@ void OnPreUnInstall(const AddonPtr& addon)
|
||||
{
|
||||
AddonPtr localAddon;
|
||||
addon->OnPostInstall(update, modal);
|
||||
}
|
||||
|
||||
void OnPreUnInstall(const AddonPtr& addon)
|
||||
{
|
||||
+ AddonPtr localAddon;
|
||||
+
|
||||
+ // OE: systemctl stop & disable on addon uninstall
|
||||
+ if (CAddonMgr::GetInstance().GetAddon(addon->ID(), localAddon, ADDON_SERVICE))
|
||||
+ CallOEWrapper(addon->ID(), true);
|
||||
+ // OE
|
||||
+
|
||||
if (CAddonMgr::GetInstance().ServicesHasStarted())
|
||||
{
|
||||
if (CAddonMgr::GetInstance().GetAddon(addon->ID(), localAddon, ADDON_SERVICE))
|
||||
addon->OnPreUnInstall();
|
||||
}
|
||||
|
||||
diff --git a/xbmc/addons/Addon.h b/xbmc/addons/Addon.h
|
||||
index 515afe1..36287d6 100644
|
||||
index 35203a2..8e4b95e 100644
|
||||
--- a/xbmc/addons/Addon.h
|
||||
+++ b/xbmc/addons/Addon.h
|
||||
@@ -121,6 +121,8 @@ public:
|
||||
const InfoMap& ExtraInfo() const override { return m_props.extrainfo; }
|
||||
const ADDONDEPS& GetDeps() const override { return m_props.dependencies; }
|
||||
@@ -84,6 +84,8 @@ public:
|
||||
const InfoMap& ExtraInfo() const override { return m_addonInfo.ExtraInfo(); }
|
||||
const ADDONDEPS& GetDeps() const override { return m_addonInfo.GetDeps(); }
|
||||
|
||||
+ void CallOEWrapper(const std::string& ID, bool disable);
|
||||
+
|
||||
/*! \brief Check whether the this addon can be configured or not
|
||||
\return true if the addon has settings, false otherwise
|
||||
\sa LoadSettings, LoadUserSettings, SaveSettings, HasUserSettings, GetSetting, UpdateSetting
|
||||
std::string FanArt() const override
|
||||
{
|
||||
auto it = m_addonInfo.Art().find("fanart");
|
||||
--
|
||||
2.7.4
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 66fa8d82238e001dc81b0a266e323c6a2f8b11b2 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <stefan@saraev.ca>
|
||||
Date: Mon, 15 Dec 2014 21:28:54 +0200
|
||||
Subject: [PATCH 10/13] handle SIGTERM
|
||||
From f7b15b94254a0af6009ed38cc45bcf63cb1b510d Mon Sep 17 00:00:00 2001
|
||||
From: MilhouseVH <milhouseVH.github@nmacleod.com>
|
||||
Date: Tue, 4 Jul 2017 20:51:08 +0100
|
||||
Subject: [PATCH] handle SIGTERM
|
||||
|
||||
0. CApplication::Stop cant be trusted. (deadlocks crashes and boo)
|
||||
|
||||
@ -15,18 +15,18 @@ so, when shutdown/reboot is requested:
|
||||
6. addons / pvrmanager / cec / everything else.. are free to deadlock / crash now, we dont care
|
||||
7. KILL
|
||||
---
|
||||
xbmc/Application.cpp | 17 ++++++++++++-----
|
||||
xbmc/Application.h | 1 +
|
||||
xbmc/XBApplicationEx.cpp | 1 +
|
||||
xbmc/XBApplicationEx.h | 1 +
|
||||
xbmc/main/main.cpp | 15 +++++++++++++++
|
||||
5 files changed, 30 insertions(+), 5 deletions(-)
|
||||
xbmc/Application.cpp | 21 ++++++++++++++++-----
|
||||
xbmc/Application.h | 1 +
|
||||
xbmc/XBApplicationEx.cpp | 1 +
|
||||
xbmc/XBApplicationEx.h | 1 +
|
||||
xbmc/platform/posix/main.cpp | 2 +-
|
||||
5 files changed, 20 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
|
||||
index 1c906a2..99ca567 100644
|
||||
index ee50f37..28034c8 100644
|
||||
--- a/xbmc/Application.cpp
|
||||
+++ b/xbmc/Application.cpp
|
||||
@@ -2490,12 +2490,12 @@ void CApplication::OnApplicationMessage(ThreadMessage* pMsg)
|
||||
@@ -2355,12 +2355,12 @@ void CApplication::OnApplicationMessage(ThreadMessage* pMsg)
|
||||
switch (pMsg->dwMessage)
|
||||
{
|
||||
case TMSG_POWERDOWN:
|
||||
@ -39,9 +39,9 @@ index 1c906a2..99ca567 100644
|
||||
- Stop(EXITCODE_QUIT);
|
||||
+ SetExitCode(EXITCODE_QUIT);
|
||||
break;
|
||||
|
||||
|
||||
case TMSG_SHUTDOWN:
|
||||
@@ -2539,12 +2539,13 @@ void CApplication::OnApplicationMessage(ThreadMessage* pMsg)
|
||||
@@ -2381,12 +2381,13 @@ void CApplication::OnApplicationMessage(ThreadMessage* pMsg)
|
||||
|
||||
case TMSG_RESTART:
|
||||
case TMSG_RESET:
|
||||
@ -56,54 +56,58 @@ index 1c906a2..99ca567 100644
|
||||
Stop(EXITCODE_RESTARTAPP);
|
||||
#endif
|
||||
break;
|
||||
@@ -2890,14 +2891,21 @@ bool CApplication::Cleanup()
|
||||
@@ -2805,6 +2806,17 @@ bool CApplication::Cleanup()
|
||||
}
|
||||
}
|
||||
|
||||
+void CApplication::SetExitCode(int exitCode)
|
||||
+{
|
||||
+ // save it for CEC
|
||||
+ m_ExitCode = exitCode;
|
||||
+ m_ExitCodeSet = true;
|
||||
+ if (!m_ExitCodeSet)
|
||||
+ {
|
||||
+ CLog::Log(LOGINFO, "Saving exitCode %d", exitCode);
|
||||
+ // save it for CEC
|
||||
+ m_ExitCode = exitCode;
|
||||
+ m_ExitCodeSet = true;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
void CApplication::Stop(int exitCode)
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -2812,7 +2824,7 @@ void CApplication::Stop(int exitCode)
|
||||
m_frameMoveGuard.unlock();
|
||||
|
||||
|
||||
CVariant vExitCode(CVariant::VariantTypeObject);
|
||||
- vExitCode["exitcode"] = exitCode;
|
||||
+ vExitCode["exitcode"] = m_ExitCode;
|
||||
CAnnouncementManager::GetInstance().Announce(System, "xbmc", "OnQuit", vExitCode);
|
||||
|
||||
// Abort any active screensaver
|
||||
@@ -2922,7 +2930,6 @@ void CApplication::Stop(int exitCode)
|
||||
|
||||
m_bStop = true;
|
||||
@@ -2846,7 +2858,6 @@ void CApplication::Stop(int exitCode)
|
||||
// Needs cleaning up
|
||||
CApplicationMessenger::GetInstance().Stop();
|
||||
m_AppFocused = false;
|
||||
- m_ExitCode = exitCode;
|
||||
CLog::Log(LOGNOTICE, "stop all");
|
||||
|
||||
// cancel any jobs from the jobmanager
|
||||
diff --git a/xbmc/Application.h b/xbmc/Application.h
|
||||
index f1dfe0d..200abee 100644
|
||||
index 1402787..c21ab93 100644
|
||||
--- a/xbmc/Application.h
|
||||
+++ b/xbmc/Application.h
|
||||
@@ -154,6 +154,7 @@ public:
|
||||
void StartPVRManager();
|
||||
void StopPVRManager();
|
||||
@@ -147,6 +147,7 @@ public:
|
||||
bool StartServer(enum ESERVERS eServer, bool bStart, bool bWait = false);
|
||||
|
||||
bool IsCurrentThread() const;
|
||||
+ void SetExitCode(int exitCode);
|
||||
void Stop(int exitCode);
|
||||
void RestartApp();
|
||||
void UnloadSkin(bool forReload = false);
|
||||
diff --git a/xbmc/XBApplicationEx.cpp b/xbmc/XBApplicationEx.cpp
|
||||
index 048a6c1..fa99ac1 100644
|
||||
index 035aed2..34102f5 100644
|
||||
--- a/xbmc/XBApplicationEx.cpp
|
||||
+++ b/xbmc/XBApplicationEx.cpp
|
||||
@@ -40,6 +40,7 @@ CXBApplicationEx::CXBApplicationEx()
|
||||
@@ -46,6 +46,7 @@ CXBApplicationEx::CXBApplicationEx()
|
||||
m_bStop = false;
|
||||
m_AppFocused = true;
|
||||
m_ExitCode = EXITCODE_QUIT;
|
||||
@ -112,10 +116,10 @@ index 048a6c1..fa99ac1 100644
|
||||
}
|
||||
|
||||
diff --git a/xbmc/XBApplicationEx.h b/xbmc/XBApplicationEx.h
|
||||
index c46cba1..ed3f35f 100644
|
||||
index 3c8dffd..e96bd5e 100644
|
||||
--- a/xbmc/XBApplicationEx.h
|
||||
+++ b/xbmc/XBApplicationEx.h
|
||||
@@ -40,6 +40,7 @@ public:
|
||||
@@ -42,6 +42,7 @@ public:
|
||||
// Variables for timing
|
||||
bool m_bStop;
|
||||
int m_ExitCode;
|
||||
@ -124,37 +128,18 @@ index c46cba1..ed3f35f 100644
|
||||
bool m_renderGUI;
|
||||
|
||||
diff --git a/xbmc/platform/posix/main.cpp b/xbmc/platform/posix/main.cpp
|
||||
index 01027f8..4cfb04e 100644
|
||||
index bee93da..e36af76 100644
|
||||
--- a/xbmc/platform/posix/main.cpp
|
||||
+++ b/xbmc/platform/posix/main.cpp
|
||||
@@ -41,12 +41,27 @@
|
||||
#include "input/linux/LIRC.h"
|
||||
#endif
|
||||
#include "platform/XbmcContext.h"
|
||||
+#include "Application.h"
|
||||
+
|
||||
+void xbmc_term_handler(int signum)
|
||||
+{
|
||||
+ CLog::Log(LOGINFO, "Received SIGTERM...");
|
||||
+ if (!g_application.m_ExitCodeSet)
|
||||
+ g_application.SetExitCode(EXITCODE_RESTARTAPP);
|
||||
+ g_application.Stop(EXITCODE_RESTARTAPP);
|
||||
+}
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
+ // SIGTERM handler
|
||||
+ struct sigaction action;
|
||||
+ memset(&action, 0, sizeof(struct sigaction));
|
||||
+ action.sa_handler = xbmc_term_handler;
|
||||
+ sigaction(SIGTERM, &action, NULL);
|
||||
+
|
||||
// set up some xbmc specific relationships
|
||||
XBMC::Context context;
|
||||
@@ -63,7 +63,7 @@ protected:
|
||||
void Process() override
|
||||
{
|
||||
CMessagePrinter::DisplayMessage("Exiting application");
|
||||
- KODI::MESSAGING::CApplicationMessenger::GetInstance().PostMsg(TMSG_QUIT);
|
||||
+ KODI::MESSAGING::CApplicationMessenger::GetInstance().PostMsg(TMSG_RESTARTAPP);
|
||||
}
|
||||
};
|
||||
|
||||
--
|
||||
2.5.0
|
||||
2.7.4
|
||||
|
||||
|
@ -22,7 +22,7 @@ index 9940b6a..d7575f0 100644
|
||||
@@ -914,8 +915,24 @@ void CSettings::InitializeDefaults()
|
||||
|
||||
if (g_application.IsStandAlone())
|
||||
((CSettingInt*)m_settingsManager->GetSetting(CSettings::SETTING_POWERMANAGEMENT_SHUTDOWNSTATE))->SetDefault(POWERSTATE_SHUTDOWN);
|
||||
std::static_pointer_cast<CSettingInt>(GetSettingsManager()->GetSetting(CSettings::SETTING_POWERMANAGEMENT_SHUTDOWNSTATE))->SetDefault(POWERSTATE_SHUTDOWN);
|
||||
+
|
||||
+
|
||||
+// LibreELEC integration patch. We ship a special limited range intel kernel patch
|
||||
@ -35,9 +35,9 @@ index 9940b6a..d7575f0 100644
|
||||
+ SysfsUtils::GetString("/proc/fb", gpuvendor);
|
||||
+ bool isIntel = StringUtils::EndsWith(gpuvendor, "inteldrmfb");
|
||||
+ // Intel driver is operating in passthrough mode so use limited range by default
|
||||
+ ((CSettingBool*)GetSetting(CSettings::SETTING_VIDEOSCREEN_LIMITEDRANGE))->SetDefault(isIntel);
|
||||
+ ((CSettingBool*)GetSetting(CSettings::SETTING_VIDEOPLAYER_USEVAAPI))->SetDefault(isIntel);
|
||||
+ ((CSettingBool*)GetSetting(CSettings::SETTING_VIDEOPLAYER_USEVDPAU))->SetDefault(!isIntel);
|
||||
+ std::static_pointer_cast<CSettingBool>(GetSettingsManager()->GetSetting(CSettings::SETTING_VIDEOSCREEN_LIMITEDRANGE))->SetDefault(isIntel);
|
||||
+ std::static_pointer_cast<CSettingBool>(GetSettingsManager()->GetSetting(CSettings::SETTING_VIDEOPLAYER_USEVAAPI))->SetDefault(isIntel);
|
||||
+ std::static_pointer_cast<CSettingBool>(GetSettingsManager()->GetSetting(CSettings::SETTING_VIDEOPLAYER_USEVDPAU))->SetDefault(!isIntel);
|
||||
+#endif
|
||||
|
||||
g_powerManager.SetDefaults();
|
||||
|
@ -1,27 +0,0 @@
|
||||
From b1a9fcaf87add539888bdb592d42262e770eda46 Mon Sep 17 00:00:00 2001
|
||||
From: MilhouseVH <milhouseVH.github@nmacleod.com>
|
||||
Date: Sat, 6 May 2017 04:25:16 +0100
|
||||
Subject: [PATCH] libmicrohttpd: use MHD_USE_INTERNAL_POLLING_THREAD with
|
||||
version >= 0.9.54
|
||||
|
||||
---
|
||||
xbmc/network/WebServer.cpp | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/xbmc/network/WebServer.cpp b/xbmc/network/WebServer.cpp
|
||||
index 6e70d3e..c35f009 100644
|
||||
--- a/xbmc/network/WebServer.cpp
|
||||
+++ b/xbmc/network/WebServer.cpp
|
||||
@@ -1130,6 +1130,9 @@ struct MHD_Daemon* CWebServer::StartMHD(unsigned int flags, int port)
|
||||
// WARNING: set MHD_OPTION_CONNECTION_TIMEOUT to something higher than 1
|
||||
// otherwise on libmicrohttpd 0.4.4-1 it spins a busy loop
|
||||
MHD_USE_THREAD_PER_CONNECTION
|
||||
+#if (MHD_VERSION >= 0x00095400)
|
||||
+ | MHD_USE_INTERNAL_POLLING_THREAD /* MHD_USE_THREAD_PER_CONNECTION must be used only with MHD_USE_INTERNAL_POLLING_THREAD since 0.9.54 */
|
||||
+#endif
|
||||
#endif
|
||||
#if (MHD_VERSION >= 0x00040001)
|
||||
| MHD_USE_DEBUG /* Print MHD error messages to log */
|
||||
--
|
||||
2.7.4
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="p8-platform"
|
||||
PKG_VERSION="38343e0"
|
||||
PKG_VERSION="3219004"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.kodi.tv"
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
PKG_NAME="ffmpeg"
|
||||
# Current branch is: release/3.3-kodi
|
||||
PKG_VERSION="eb0819c"
|
||||
PKG_VERSION="30554d7"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="LGPLv2.1+"
|
||||
PKG_SITE="https://ffmpeg.org"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="libmicrohttpd"
|
||||
PKG_VERSION="0.9.54"
|
||||
PKG_VERSION="0.9.55"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="LGPLv2.1"
|
||||
PKG_SITE="http://www.gnu.org/software/libmicrohttpd/"
|
||||
|
@ -109,6 +109,7 @@ git_clone $REPO master $PKG_NAME.git $GIT_HASH
|
||||
if [ -f ../../packages/mediacenter/p8-platform/package.mk ] ; then
|
||||
# update package.mk
|
||||
RESOLVED_HASH=$(resolve_hash $PKG_NAME.git $GIT_HASH)
|
||||
echo "Resolving hash for ${PKG_NAME}: ${GIT_HASH} => ${RESOLVED_HASH}"
|
||||
sed -i "s|PKG_VERSION=.*|PKG_VERSION=\"$RESOLVED_HASH\"|g" ../../packages/mediacenter/p8-platform/package.mk
|
||||
fi
|
||||
rm -rf $PKG_NAME.git
|
||||
@ -122,6 +123,7 @@ git_clone $REPO master $PKG_NAME.git $GIT_HASH
|
||||
if [ -f ../../packages/mediacenter/kodi-platform/package.mk ] ; then
|
||||
# update package.mk
|
||||
RESOLVED_HASH=$(resolve_hash $PKG_NAME.git $GIT_HASH)
|
||||
echo "Resolving hash for ${PKG_NAME}: ${GIT_HASH} => ${RESOLVED_HASH}"
|
||||
sed -e "s|PKG_VERSION=.*|PKG_VERSION=\"$RESOLVED_HASH\"|g" \
|
||||
-e "s|PKG_GIT_URL=.*|PKG_GIT_URL=\"$REPO\"|g" \
|
||||
-i ../../packages/mediacenter/kodi-platform/package.mk
|
||||
@ -158,6 +160,7 @@ for addontxt in $KODI_DIR/cmake/addons/bootstrap/repositories/*-addons.txt ; do
|
||||
|
||||
# update package.mk
|
||||
RESOLVED_HASH=$(resolve_hash $PKG_NAME.git $GIT_HASH)
|
||||
echo "Resolving hash for ${PKG_NAME}: ${GIT_HASH} => ${RESOLVED_HASH}"
|
||||
sed -e "s|PKG_VERSION=.*|PKG_VERSION=\"$RESOLVED_HASH\"|g" \
|
||||
-e "s|PKG_GIT_URL=.*|PKG_GIT_URL=\"$REPO\"|g" \
|
||||
-i ../../packages/mediacenter/kodi-binary-addons/$ADDON/package.mk
|
||||
@ -189,6 +192,7 @@ for ADDON in $(ls -1 ../../packages/mediacenter/kodi-binary-addons); do
|
||||
|
||||
# update package.mk for stale github.com packages
|
||||
RESOLVED_HASH=$(resolve_hash ${ADDON}.git HEAD) || continue
|
||||
echo "Resolving hash for ${ADDON}: HEAD => ${RESOLVED_HASH}"
|
||||
|
||||
sed -e "s|PKG_VERSION=.*|PKG_VERSION=\"$RESOLVED_HASH\"|g" \
|
||||
-i ../../packages/mediacenter/kodi-binary-addons/$ADDON/package.mk
|
||||
|
Loading…
x
Reference in New Issue
Block a user