From 3d2beea872324cbad66f23a66f05663f7eab7ede Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Tue, 1 Nov 2016 09:14:19 -0700 Subject: kodi: Add krypton/17.0 recipe remove obsoleted xbmc recipes rename to recipes-mediacenter Signed-off-by: Koen Kooi Signed-off-by: Khem Raj (cherry picked from commit ab4369c5841e7f87bdc52aa8a67363c4e6524211) Signed-off-by: Andreas Oberritter --- ...re-don-t-try-to-run-stuff-to-find-tinyxml.patch | 25 ++++ .../kodi/kodi-17/0002-handle-SIGTERM.patch | 163 +++++++++++++++++++++ ...-to-read-frequency-output-if-using-intel-.patch | 26 ++++ .../kodi/kodi-17/0004-Disable-DVD-support.patch | 35 +++++ 4 files changed, 249 insertions(+) create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-17/0001-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-17/0002-handle-SIGTERM.patch create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-17/0003-add-support-to-read-frequency-output-if-using-intel-.patch create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-17/0004-Disable-DVD-support.patch (limited to 'meta-multimedia/recipes-mediacenter/kodi/kodi-17') diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0001-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0001-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch new file mode 100644 index 0000000000..b3780db893 --- /dev/null +++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0001-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch @@ -0,0 +1,25 @@ +From 53c7b1667a41b25775d1dc009d8ced61f383da0b Mon Sep 17 00:00:00 2001 +From: Koen Kooi +Date: Sat, 6 Feb 2016 15:43:01 +0100 +Subject: [PATCH 1/3] configure: don't try to run stuff to find tinyxml + +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 5a41fb4..243c7e5 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1043,7 +1043,7 @@ fi + AC_LANG_PUSH([C++]) + PKG_CHECK_MODULES([TINYXML], [tinyxml >= 2.6.2], + [INCLUDES="$INCLUDES $TINYXML_CFLAGS"; LIBS="$LIBS $TINYXML_LIBS"], +- [AC_RUN_IFELSE( ++ [AC_COMPILE_IFELSE( + [AC_LANG_SOURCE([[ + #include + #include +-- +2.10.1 + diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0002-handle-SIGTERM.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0002-handle-SIGTERM.patch new file mode 100644 index 0000000000..b2af5deb25 --- /dev/null +++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0002-handle-SIGTERM.patch @@ -0,0 +1,163 @@ +From 1c1484303a055bfde655ffae3829554aaefc2e07 Mon Sep 17 00:00:00 2001 +From: Stefan Saraev +Date: Wed, 2 Nov 2016 11:28:34 -0700 +Subject: [PATCH 2/3] handle SIGTERM + +0. CApplication::Stop cant be trusted. (deadlocks crashes and boo) + +so, when shutdown/reboot is requested: + +1. save an exit code (for CEC...) +2. call CPowerManager::{Reboot,PowerDown} +3. ... then systemd sends TERM and waits xx seconds before sending KILL +4. CApplication::Stop has xx seconds to save guisettings.xml and boo +5. CEC thread has xx seconds to switch off after it received OnQuit +6. addons / pvrmanager / cec / everything else.. are free to deadlock / crash now, we dont care +7. KILL + +Signed-off-by: Stefan Saraev +Signed-off-by: Khem Raj +--- + xbmc/Application.cpp | 17 ++++++++++++----- + xbmc/Application.h | 1 + + xbmc/XBApplicationEx.cpp | 1 + + xbmc/XBApplicationEx.h | 1 + + xbmc/platform/posix/main.cpp | 15 +++++++++++++++ + 5 files changed, 30 insertions(+), 5 deletions(-) + +diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp +index 4c118e0..58b151a 100644 +--- a/xbmc/Application.cpp ++++ b/xbmc/Application.cpp +@@ -2428,12 +2428,12 @@ void CApplication::OnApplicationMessage(ThreadMessage* pMsg) + switch (pMsg->dwMessage) + { + case TMSG_POWERDOWN: +- Stop(EXITCODE_POWERDOWN); ++ SetExitCode(EXITCODE_POWERDOWN); + g_powerManager.Powerdown(); + break; + + case TMSG_QUIT: +- Stop(EXITCODE_QUIT); ++ SetExitCode(EXITCODE_QUIT); + break; + + case TMSG_SHUTDOWN: +@@ -2454,12 +2454,13 @@ void CApplication::OnApplicationMessage(ThreadMessage* pMsg) + + case TMSG_RESTART: + case TMSG_RESET: +- Stop(EXITCODE_REBOOT); ++ SetExitCode(EXITCODE_REBOOT); + g_powerManager.Reboot(); + break; + + case TMSG_RESTARTAPP: + #if defined(TARGET_WINDOWS) || defined(TARGET_LINUX) ++ SetExitCode(EXITCODE_RESTARTAPP); + Stop(EXITCODE_RESTARTAPP); + #endif + break; +@@ -2883,6 +2884,13 @@ bool CApplication::Cleanup() + } + } + ++void CApplication::SetExitCode(int exitCode) ++{ ++ // save it for CEC ++ m_ExitCode = exitCode; ++ m_ExitCodeSet = true; ++} ++ + void CApplication::Stop(int exitCode) + { + try +@@ -2890,7 +2898,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 +@@ -2924,7 +2932,6 @@ void CApplication::Stop(int exitCode) + + m_bStop = true; + 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 22aca81..9992677 100644 +--- a/xbmc/Application.h ++++ b/xbmc/Application.h +@@ -160,6 +160,7 @@ public: + void StopPVRManager(); + void ReinitPVRManager(); + 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 035aed2..34102f5 100644 +--- a/xbmc/XBApplicationEx.cpp ++++ b/xbmc/XBApplicationEx.cpp +@@ -46,6 +46,7 @@ CXBApplicationEx::CXBApplicationEx() + m_bStop = false; + m_AppFocused = true; + m_ExitCode = EXITCODE_QUIT; ++ m_ExitCodeSet = false; + m_renderGUI = false; + } + +diff --git a/xbmc/XBApplicationEx.h b/xbmc/XBApplicationEx.h +index 9bc14fa..f696b89 100644 +--- a/xbmc/XBApplicationEx.h ++++ b/xbmc/XBApplicationEx.h +@@ -42,6 +42,7 @@ public: + // Variables for timing + bool m_bStop; + int m_ExitCode; ++ bool m_ExitCodeSet; + bool m_AppFocused; + bool m_renderGUI; + +diff --git a/xbmc/platform/posix/main.cpp b/xbmc/platform/posix/main.cpp +index a8b64e5..3d80032 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; + +-- +2.10.1 + diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0003-add-support-to-read-frequency-output-if-using-intel-.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0003-add-support-to-read-frequency-output-if-using-intel-.patch new file mode 100644 index 0000000000..d638550e9b --- /dev/null +++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0003-add-support-to-read-frequency-output-if-using-intel-.patch @@ -0,0 +1,26 @@ +From 4ef1e9dab9193f1a5305d25c8eda97f8f06ea154 Mon Sep 17 00:00:00 2001 +From: Stephan Raue +Date: Mon, 1 Sep 2014 03:16:37 +0200 +Subject: [PATCH 3/3] add support to read frequency output if using intel's + pstate driver + +--- + xbmc/utils/CPUInfo.cpp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/xbmc/utils/CPUInfo.cpp b/xbmc/utils/CPUInfo.cpp +index 5e2ebbd..fd04d5a 100644 +--- a/xbmc/utils/CPUInfo.cpp ++++ b/xbmc/utils/CPUInfo.cpp +@@ -274,6 +274,8 @@ CCPUInfo::CCPUInfo(void) + m_fProcTemperature = fopen("/sys/class/thermal/thermal_zone0/temp", "r"); // On Raspberry PIs + + m_fCPUFreq = fopen ("/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq", "r"); ++ if (m_fCPUFreq == NULL) ++ m_fCPUFreq = fopen ("/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq", "r"); + if (!m_fCPUFreq) + { + m_cpuInfoForFreq = true; +-- +2.10.1 + diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0004-Disable-DVD-support.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0004-Disable-DVD-support.patch new file mode 100644 index 0000000000..6f5f9a2324 --- /dev/null +++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0004-Disable-DVD-support.patch @@ -0,0 +1,35 @@ +From 191cf3f084b4d34846711034a7fe3078f8243c82 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 2 Nov 2016 12:39:20 -0700 +Subject: [PATCH 4/4] Disable DVD support + +Signed-off-by: Khem Raj +--- + Makefile.in | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index 58b3a17..b7c3fce 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -10,8 +10,7 @@ EC_DIRS= \ + tools/EventClients + + DVDPCODECS_DIRS= \ +- lib \ +- lib/libdvd ++ lib + + VideoPlayer_ARCHIVES=xbmc/cores/VideoPlayer/VideoPlayer.a \ + xbmc/cores/VideoPlayer/DVDCodecs/DVDCodecs.a \ +@@ -343,7 +342,6 @@ libaddon: exports + $(MAKE) -C lib/addons/library.xbmc.pvr + $(MAKE) -C lib/addons/library.kodi.inputstream + dvdpcodecs: dllloader +- $(MAKE) -C lib/libdvd + + dvdpextcodecs: + +-- +2.10.1 + -- cgit 1.2.3-korg