Yocto 2.4

Move OpenBMC to Yocto 2.4(rocko)

Tested: Built and verified Witherspoon and Palmetto images
Change-Id: I12057b18610d6fb0e6903c60213690301e9b0c67
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-addon-pvr-hts/0001-Update-to-p8-platform.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-addon-pvr-hts/0001-Update-to-p8-platform.patch
deleted file mode 100644
index c4a6ae7..0000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-addon-pvr-hts/0001-Update-to-p8-platform.patch
+++ /dev/null
@@ -1,427 +0,0 @@
-From 06a8224c99282ac1a606edd9e8ea3f591112942d Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Thu, 18 Feb 2016 14:04:31 +0100
-Subject: [PATCH] Update to p8-platform
-
----
- CMakeLists.txt                         |  6 +++---
- pvr.hts/changelog.txt                  |  4 ++--
- src/AutoRecordings.cpp                 |  2 +-
- src/HTSPConnection.cpp                 |  8 +++----
- src/HTSPDemuxer.cpp                    |  2 +-
- src/HTSPVFS.cpp                        |  6 +++---
- src/TimeRecordings.cpp                 |  2 +-
- src/Tvheadend.cpp                      |  4 ++--
- src/Tvheadend.h                        | 38 +++++++++++++++++-----------------
- src/client.cpp                         |  4 ++--
- src/client.h                           |  4 ++--
- src/tvheadend/Subscription.cpp         |  2 +-
- src/tvheadend/Subscription.h           |  4 ++--
- src/tvheadend/utilities/AsyncState.cpp |  4 ++--
- src/tvheadend/utilities/AsyncState.h   |  6 +++---
- 15 files changed, 48 insertions(+), 48 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 0842682..cb04942 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -6,10 +6,10 @@ enable_language(CXX)
- 
- find_package(kodi REQUIRED)
- find_package(kodiplatform REQUIRED)
--find_package(platform REQUIRED)
-+find_package(p8-platform REQUIRED)
- 
- include_directories(${kodiplatform_INCLUDE_DIRS}
--                    ${platform_INCLUDE_DIRS}
-+                    ${p8-platform_INCLUDE_DIRS}
-                     ${KODI_INCLUDE_DIR}
-                     ${PROJECT_SOURCE_DIR}/lib)
- 
-@@ -95,7 +95,7 @@ list(APPEND HTS_SOURCES
- 
- add_subdirectory(lib/libhts)
- 
--set(DEPLIBS ${platform_LIBRARIES} hts)
-+set(DEPLIBS ${p8-platform_LIBRARIES} hts)
- if(WIN32)
-   list(APPEND DEPLIBS ws2_32)
- endif()
-diff --git a/pvr.hts/changelog.txt b/pvr.hts/changelog.txt
-index 9ffa33c..1e7fe30 100644
---- a/pvr.hts/changelog.txt
-+++ b/pvr.hts/changelog.txt
-@@ -49,7 +49,7 @@
- - fixed: Autorec: Start and stop time handling.
- - fixed: LocaltimeToUTC conversion (timer settings clock display incorrect).
- - fixed: Several issues with predictive tuning.
--- added: build: Automatically fill in platform and library name.
-+- added: build: Automatically fill in p8-platform and library name.
- - fixed: Use epg data only for creation of epg-based timers.
- - improved: Do not try to reconnect to tvh while suspending or not fully awake again.
- 
-@@ -97,7 +97,7 @@
- - added: support for creating repeating timers, aka time schedules
- - fixed: conditions for addon restart after settings changes
- - internal: fixed build system regressions introduced with move to cmake
--- internal: updated to use libplatform
-+- internal: updated to use libp8-platform
- 
- 2.1.7
- - added: support for radio channel groups
-diff --git a/src/AutoRecordings.cpp b/src/AutoRecordings.cpp
-index 5fa60a0..d9e5e1d 100644
---- a/src/AutoRecordings.cpp
-+++ b/src/AutoRecordings.cpp
-@@ -26,7 +26,7 @@
- #include "tvheadend/utilities/Utilities.h"
- #include "tvheadend/utilities/Logger.h"
- 
--using namespace PLATFORM;
-+using namespace P8PLATFORM;
- using namespace tvheadend;
- using namespace tvheadend::entity;
- using namespace tvheadend::utilities;
-diff --git a/src/HTSPConnection.cpp b/src/HTSPConnection.cpp
-index aec1296..86f5004 100644
---- a/src/HTSPConnection.cpp
-+++ b/src/HTSPConnection.cpp
-@@ -19,9 +19,9 @@
-  *
-  */
- 
--#include "platform/threads/mutex.h"
--#include "platform/util/StringUtils.h"
--#include "platform/sockets/tcp.h"
-+#include "p8-platform/threads/mutex.h"
-+#include "p8-platform/util/StringUtils.h"
-+#include "p8-platform/sockets/tcp.h"
- 
- extern "C" {
- #include "libhts/htsmsg_binary.h"
-@@ -33,7 +33,7 @@ extern "C" {
- 
- using namespace std;
- using namespace ADDON;
--using namespace PLATFORM;
-+using namespace P8PLATFORM;
- using namespace tvheadend;
- using namespace tvheadend::utilities;
- 
-diff --git a/src/HTSPDemuxer.cpp b/src/HTSPDemuxer.cpp
-index a6e1f12..7f45345 100644
---- a/src/HTSPDemuxer.cpp
-+++ b/src/HTSPDemuxer.cpp
-@@ -27,7 +27,7 @@
- 
- using namespace std;
- using namespace ADDON;
--using namespace PLATFORM;
-+using namespace P8PLATFORM;
- using namespace tvheadend;
- using namespace tvheadend::utilities;
- 
-diff --git a/src/HTSPVFS.cpp b/src/HTSPVFS.cpp
-index 0463f56..0404bab 100644
---- a/src/HTSPVFS.cpp
-+++ b/src/HTSPVFS.cpp
-@@ -19,8 +19,8 @@
-  *
-  */
- 
--#include "platform/threads/mutex.h"
--#include "platform/util/StringUtils.h"
-+#include "p8-platform/threads/mutex.h"
-+#include "p8-platform/util/StringUtils.h"
- #include "tvheadend/utilities/Logger.h"
- 
- extern "C" {
-@@ -30,7 +30,7 @@ extern "C" {
- #include "Tvheadend.h"
- 
- using namespace std;
--using namespace PLATFORM;
-+using namespace P8PLATFORM;
- using namespace tvheadend::utilities;
- 
- /*
-diff --git a/src/TimeRecordings.cpp b/src/TimeRecordings.cpp
-index 5d34938..97aae09 100644
---- a/src/TimeRecordings.cpp
-+++ b/src/TimeRecordings.cpp
-@@ -25,7 +25,7 @@
- #include "tvheadend/utilities/Utilities.h"
- #include "tvheadend/utilities/Logger.h"
- 
--using namespace PLATFORM;
-+using namespace P8PLATFORM;
- using namespace tvheadend;
- using namespace tvheadend::entity;
- using namespace tvheadend::utilities;
-diff --git a/src/Tvheadend.cpp b/src/Tvheadend.cpp
-index 2057241..14c3bd4 100644
---- a/src/Tvheadend.cpp
-+++ b/src/Tvheadend.cpp
-@@ -23,7 +23,7 @@
- #include <ctime>
- #include <memory>
- 
--#include "platform/util/StringUtils.h"
-+#include "p8-platform/util/StringUtils.h"
- 
- #include "Tvheadend.h"
- #include "tvheadend/utilities/Utilities.h"
-@@ -31,7 +31,7 @@
- 
- using namespace std;
- using namespace ADDON;
--using namespace PLATFORM;
-+using namespace P8PLATFORM;
- using namespace tvheadend;
- using namespace tvheadend::entity;
- using namespace tvheadend::utilities;
-diff --git a/src/Tvheadend.h b/src/Tvheadend.h
-index 2ce4552..e794716 100644
---- a/src/Tvheadend.h
-+++ b/src/Tvheadend.h
-@@ -22,10 +22,10 @@
-  */
- 
- #include "client.h"
--#include "platform/sockets/tcp.h"
--#include "platform/threads/threads.h"
--#include "platform/threads/mutex.h"
--#include "platform/util/buffer.h"
-+#include "p8-platform/sockets/tcp.h"
-+#include "p8-platform/threads/threads.h"
-+#include "p8-platform/threads/mutex.h"
-+#include "p8-platform/util/buffer.h"
- #include "kodi/xbmc_codec_types.h"
- #include "kodi/xbmc_stream_utils.hpp"
- #include "kodi/libXBMC_addon.h"
-@@ -88,7 +88,7 @@ class CHTSPMessage;
- 
- /* Typedefs */
- typedef std::map<uint32_t,CHTSPResponse*> CHTSPResponseList;
--typedef PLATFORM::SyncedBuffer<CHTSPMessage> CHTSPMessageQueue;
-+typedef P8PLATFORM::SyncedBuffer<CHTSPMessage> CHTSPMessageQueue;
- 
- /*
-  * HTSP Response handler
-@@ -98,10 +98,10 @@ class CHTSPResponse
- public:
-   CHTSPResponse();
-   ~CHTSPResponse();
--  htsmsg_t *Get ( PLATFORM::CMutex &mutex, uint32_t timeout );
-+  htsmsg_t *Get ( P8PLATFORM::CMutex &mutex, uint32_t timeout );
-   void      Set ( htsmsg_t *m );
- private:
--  PLATFORM::CCondition<volatile bool> m_cond;
-+  P8PLATFORM::CCondition<volatile bool> m_cond;
-   bool                                m_flag;
-   htsmsg_t                           *m_msg;
- };
-@@ -146,7 +146,7 @@ public:
-  * HTSP Connection registration thread
-  */
- class CHTSPRegister
--  : public PLATFORM::CThread
-+  : public P8PLATFORM::CThread
- {
-   friend class CHTSPConnection;
- 
-@@ -163,7 +163,7 @@ private:
-  * HTSP Connection
-  */
- class CHTSPConnection
--  : public PLATFORM::CThread
-+  : public P8PLATFORM::CThread
- {
-   friend class CHTSPRegister;
- 
-@@ -190,7 +190,7 @@ public:
-   inline bool IsConnected       ( void ) const { return m_ready; }
-   bool        WaitForConnection ( void );
- 
--  inline PLATFORM::CMutex& Mutex ( void ) { return m_mutex; }
-+  inline P8PLATFORM::CMutex& Mutex ( void ) { return m_mutex; }
- 
-   void        OnSleep ( void );
-   void        OnWake  ( void );
-@@ -202,10 +202,10 @@ private:
-   bool        SendHello        ( void );
-   bool        SendAuth         ( const std::string &u, const std::string &p );
- 
--  PLATFORM::CTcpSocket               *m_socket;
--  PLATFORM::CMutex                    m_mutex;
-+  P8PLATFORM::CTcpSocket               *m_socket;
-+  P8PLATFORM::CMutex                    m_mutex;
-   CHTSPRegister                       m_regThread;
--  PLATFORM::CCondition<volatile bool> m_regCond;
-+  P8PLATFORM::CCondition<volatile bool> m_regCond;
-   bool                                m_ready;
-   uint32_t                            m_seq;
-   std::string                         m_serverName;
-@@ -273,13 +273,13 @@ public:
-   void SetStreamingProfile(const std::string &profile);
- 
- private:
--  PLATFORM::CMutex                        m_mutex;
-+  P8PLATFORM::CMutex                        m_mutex;
-   CHTSPConnection                        &m_conn;
--  PLATFORM::SyncedBuffer<DemuxPacket*>    m_pktBuffer;
-+  P8PLATFORM::SyncedBuffer<DemuxPacket*>    m_pktBuffer;
-   ADDON::XbmcStreamProperties             m_streams;
-   std::map<int,int>                       m_streamStat;
-   int64_t                                 m_seekTime;
--  PLATFORM::CCondition<volatile int64_t>  m_seekCond;
-+  P8PLATFORM::CCondition<volatile int64_t>  m_seekCond;
-   bool                                    m_seeking;
-   bool                                    m_speedChange;
-   tvheadend::status::SourceInfo           m_sourceInfo;
-@@ -350,7 +350,7 @@ private:
-  * Root object for Tvheadend connection
-  */
- class CTvheadend
--  : public PLATFORM::CThread
-+  : public P8PLATFORM::CThread
- {
- public:
-   CTvheadend();
-@@ -422,7 +422,7 @@ private:
-    */
-   tvheadend::Profiles         m_profiles;
- 
--  PLATFORM::CMutex            m_mutex;
-+  P8PLATFORM::CMutex            m_mutex;
- 
-   CHTSPConnection             m_conn;
- 
-@@ -519,7 +519,7 @@ public:
-    */
-   bool WaitForConnection ( void )
-   {
--    PLATFORM::CLockObject lock(m_conn.Mutex());
-+    P8PLATFORM::CLockObject lock(m_conn.Mutex());
-     return m_conn.WaitForConnection();
-   }
-   std::string GetServerName    ( void )
-diff --git a/src/client.cpp b/src/client.cpp
-index 94d2db9..3295914 100644
---- a/src/client.cpp
-+++ b/src/client.cpp
-@@ -22,14 +22,14 @@
- #include "client.h"
- #include "kodi/xbmc_pvr_dll.h"
- #include "kodi/libKODI_guilib.h"
--#include "platform/util/util.h"
-+#include "p8-platform/util/util.h"
- #include "Tvheadend.h"
- #include "tvheadend/Settings.h"
- #include "tvheadend/utilities/Logger.h"
- 
- using namespace std;
- using namespace ADDON;
--using namespace PLATFORM;
-+using namespace P8PLATFORM;
- using namespace tvheadend;
- using namespace tvheadend::utilities;
- 
-diff --git a/src/client.h b/src/client.h
-index 3a5f950..a10659b 100644
---- a/src/client.h
-+++ b/src/client.h
-@@ -20,8 +20,8 @@
-  *
-  */
- 
--#include "platform/os.h"
--#include "platform/threads/mutex.h"
-+#include "p8-platform/os.h"
-+#include "p8-platform/threads/mutex.h"
- #include "kodi/libXBMC_addon.h"
- #include "kodi/libXBMC_pvr.h"
- #include "kodi/libXBMC_codec.h"
-diff --git a/src/tvheadend/Subscription.cpp b/src/tvheadend/Subscription.cpp
-index 182ca7f..e18af1e 100644
---- a/src/tvheadend/Subscription.cpp
-+++ b/src/tvheadend/Subscription.cpp
-@@ -23,7 +23,7 @@
- #include "utilities/Logger.h"
- #include "../Tvheadend.h"
- 
--using namespace PLATFORM;
-+using namespace P8PLATFORM;
- using namespace tvheadend;
- using namespace tvheadend::utilities;
- 
-diff --git a/src/tvheadend/Subscription.h b/src/tvheadend/Subscription.h
-index b03bcce..363e5ef 100644
---- a/src/tvheadend/Subscription.h
-+++ b/src/tvheadend/Subscription.h
-@@ -22,7 +22,7 @@
-  */
- 
- #include <string>
--#include "platform/threads/mutex.h"
-+#include "p8-platform/threads/mutex.h"
- 
- extern "C"
- {
-@@ -146,6 +146,6 @@ namespace tvheadend
-     std::string       m_profile;
-     CHTSPConnection   &m_conn;
- 
--    mutable PLATFORM::CMutex  m_mutex;
-+    mutable P8PLATFORM::CMutex  m_mutex;
-   };
- }
-diff --git a/src/tvheadend/utilities/AsyncState.cpp b/src/tvheadend/utilities/AsyncState.cpp
-index 0c30a93..1f4fdf3 100644
---- a/src/tvheadend/utilities/AsyncState.cpp
-+++ b/src/tvheadend/utilities/AsyncState.cpp
-@@ -22,7 +22,7 @@
- #include "AsyncState.h"
- 
- using namespace tvheadend::utilities;
--using namespace PLATFORM;
-+using namespace P8PLATFORM;
- 
- struct Param {
-   eAsyncState state;
-@@ -37,7 +37,7 @@ AsyncState::AsyncState(int timeout)
- 
- eAsyncState AsyncState::GetState()
- {
--  PLATFORM::CLockObject lock(m_mutex);
-+  P8PLATFORM::CLockObject lock(m_mutex);
-   return m_state;
- }
- 
-diff --git a/src/tvheadend/utilities/AsyncState.h b/src/tvheadend/utilities/AsyncState.h
-index 1d672da..0819cd8 100644
---- a/src/tvheadend/utilities/AsyncState.h
-+++ b/src/tvheadend/utilities/AsyncState.h
-@@ -22,7 +22,7 @@
- #ifndef ASYNCSTATE_H
- #define	ASYNCSTATE_H
- 
--#include "platform/threads/mutex.h"
-+#include "p8-platform/threads/mutex.h"
- 
- namespace tvheadend {
-   namespace utilities {
-@@ -75,8 +75,8 @@ namespace tvheadend {
-       static bool PredicateCallback ( void *param );
- 
-       eAsyncState m_state;
--      PLATFORM::CMutex m_mutex;
--      PLATFORM::CCondition<bool> m_condition;
-+      P8PLATFORM::CMutex m_mutex;
-+      P8PLATFORM::CCondition<bool> m_condition;
-       int m_timeout;
- 
-     };
--- 
-2.0.1
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-addon-pvr-hts_git.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-addon-pvr-hts_git.bb
deleted file mode 100644
index 7cafebf..0000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-addon-pvr-hts_git.bb
+++ /dev/null
@@ -1,57 +0,0 @@
-SUMMARY = "Kodi Media Center PVR plugins"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://src/client.cpp;md5=c8f6b73c5bc1048a3d6506700a7a91d2"
-
-DEPENDS = " \
-            zip-native \
-            p8platform \
-            kodi-platform \
-          "
-
-SRCREV_pvrhts = "7f75b70527922aef953123ff97ebaa22d9fb7cb4"
-
-SRCREV_FORMAT = "pvrhts"
-
-PV = "2.2.13+gitr${SRCPV}"
-SRC_URI = "git://github.com/kodi-pvr/pvr.hts.git;branch=Jarvis;destsuffix=pvr.hts;name=pvrhts \
-           file://0001-Update-to-p8-platform.patch \
-          "
-
-inherit cmake pkgconfig gettext
-
-S = "${WORKDIR}/pvr.hts"
-
-EXTRA_OECMAKE = " \
-	  -DADDONS_TO_BUILD=pvr.hts \
-	  -DADDON_SRC_PREFIX=${WORKDIR}/git \
-	  -DCMAKE_BUILD_TYPE=Debug \
-	  -DCMAKE_INSTALL_PREFIX=${datadir}/kodi/addons \
-          -DCMAKE_MODULE_PATH=${STAGING_DIR_HOST}${libdir}/kodi \
-          -DCMAKE_PREFIX_PATH=${STAGING_DIR_HOST}${prefix} \
-          -DPACKAGE_ZIP=1 \
-        "
-
-do_compile_prepend() {
-	sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' \
-	       -e 's:-pipe:${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} -pipe:g' \
-	          ${B}/CMakeFiles/*/flags.make
-	sed -i -e 's:-pipe:${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} -pipe:g'\
-	          ${B}/CMakeFiles/*/link.txt
-}
-
-# Make zip package for manual installation
-do_install_append() {
-	install -d ${D}${datadir}/kodi/addons/packages/
-	( cd ${D}${datadir}/kodi/addons
-	  zip -r ${D}${datadir}/kodi/addons/packages/pvr.hts-${PV}.zip pvr.hts -x '*.debug*' )
-}
-
-# Doesn't get added automagically, dlopen()?
-RDEPENDS_${PN} = "libkodiplatform"
-
-INSANE_SKIP_${PN} = "dev-so"
-FILES_${PN} += "${datadir}/kodi"
-FILES_${PN}-dbg += "${datadir}/kodi/addons/*/.debug/"
-
-PNBLACKLIST[kodi-addon-pvr-hts] ?= "Depends on blacklisted kodi - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-platform/0001-fix-cross-compile-badness.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-platform/0001-fix-cross-compile-badness.patch
deleted file mode 100644
index 27e9d21..0000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-platform/0001-fix-cross-compile-badness.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 3136317f096ea7fda4fb907e775a01952c4aae3d Mon Sep 17 00:00:00 2001
-From: Stefan Saraev <stefan@saraev.ca>
-Date: Fri, 19 Feb 2016 10:33:00 +0100
-Subject: [PATCH] fix cross compile badness
-
-From https://github.com/OpenELEC/OpenELEC.tv/blob/master/packages/mediacenter/kodi-platform/patches/kodi-platform-01_crosscompile-badness.patch
----
- CMakeLists.txt               | 2 +-
- kodiplatform-config.cmake.in | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index bf6b659..9abe773 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -22,7 +22,7 @@ if(NOT WIN32)
-   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
- endif()
- 
--set(kodiplatform_INCLUDE_DIRS ${TINYXML_INCLUDE_DIR} "${CMAKE_INSTALL_PREFIX}/include/kodi")
-+set(kodiplatform_INCLUDE_DIRS ${TINYXML_INCLUDE_DIR} "${CMAKE_INSTALL_PREFIX_TOOLCHAIN}/include/kodi")
- IF(WIN32)
-   LIST(APPEND kodiplatform_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/include/kodi/windows")
- ENDIF(WIN32)
-diff --git a/kodiplatform-config.cmake.in b/kodiplatform-config.cmake.in
-index 3fc5273..60bdf1b 100644
---- a/kodiplatform-config.cmake.in
-+++ b/kodiplatform-config.cmake.in
-@@ -10,7 +10,7 @@
- #
- # propagate these properties from one build system to the other
- set (kodiplatform_VERSION "@kodiplatform_VERSION_MAJOR@.@kodiplatform_VERSION_MINOR@")
--set (kodiplatform_INCLUDE_DIRS @kodiplatform_INCLUDE_DIRS@ @CMAKE_INSTALL_PREFIX@/include)
-+set (kodiplatform_INCLUDE_DIRS @kodiplatform_INCLUDE_DIRS@ @CMAKE_INSTALL_PREFIX_TOOLCHAIN@/include)
- set (kodiplatform_LIBRARY_DIRS "@CMAKE_LIBRARY_OUTPUT_DIRECTORY@")
- set (kodiplatform_LINKER_FLAGS "@kodiplatform_LINKER_FLAGS@")
- set (kodiplatform_CONFIG_VARS "@kodiplatform_CONFIG_VARS@")
--- 
-2.0.1
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-platform/kodi-platform-02_no-multi-lib.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-platform/kodi-platform-02_no-multi-lib.patch
deleted file mode 100644
index a13c53b..0000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-platform/kodi-platform-02_no-multi-lib.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 9abe773..ae433fc 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -9,7 +9,6 @@ find_package(kodi REQUIRED)
- find_package(TinyXML REQUIRED)
- find_package(Threads REQUIRED)
- find_package(p8-platform REQUIRED)
--include(UseMultiArch.cmake)
- include(CheckAtomic.cmake)
- 
- set(kodiplatform_NAME kodiplatform)
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-platform_git.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-platform_git.bb
deleted file mode 100644
index 0b554ef..0000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-platform_git.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "Platform support library used by libCEC and binary add-ons for Kodi"
-HOMEPAGE = "http://libcec.pulse-eight.com/"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://src/util/XMLUtils.cpp;beginline=2;endline=18;md5=dae8e846500e70dd8ecee55f3f018c30"
-
-DEPENDS = "libtinyxml kodi"
-
-PV = "16.0.0"
-
-SRCREV = "c8188d82678fec6b784597db69a68e74ff4986b5"
-SRC_URI = "git://github.com/xbmc/kodi-platform.git \
-           file://0001-fix-cross-compile-badness.patch \
-           file://kodi-platform-02_no-multi-lib.patch \
-          "
-
-S = "${WORKDIR}/git"
-
-inherit cmake pkgconfig
-
-EXTRA_OECMAKE = " -DCMAKE_INSTALL_PREFIX_TOOLCHAIN=${STAGING_DIR_TARGET} \
-                  -DCMAKE_INSTALL_LIBDIR=${libdir} \
-                  -DCMAKE_INSTALL_LIBDIR_NOARCH=${libdir} \
-                  -DKODI_INCLUDE_DIR=${STAGING_LIBDIR}/kodi \
-                  -DKODI_INCLUDE_DIR=${STAGING_INCDIR}/kodi \
-                "
-
-do_compile_prepend() {
-	sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' \
-	       -e 's:-pipe:${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} -pipe:g' \
-	          ${B}/CMakeFiles/kodiplatform.dir/flags.make
-	sed -i -e 's:-pipe:${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} -pipe:g'\
-	          ${B}/CMakeFiles/kodiplatform.dir/link.txt
-}
-
-RPROVIDES_${PN} += "libkodiplatform"
-FILES_${PN}-dev += "${libdir}/*platform"
-
-PNBLACKLIST[kodi-platform] ?= "Depends on blacklisted kodi - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-startup.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-startup.bb
deleted file mode 100644
index 47e8f38..0000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-startup.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Systemd service for kodi startup"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
-
-PV = "1.0"
-
-SRC_URI = "file://kodi.service"
-
-inherit systemd
-
-do_install() {
-	install -d ${D}/lib/systemd/system
-	install -m 0644 ${WORKDIR}/kodi.service ${D}/lib/systemd/system/ 
-}
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "kodi.service"
-
-RDEPENDS_${PN} += "xinit kodi"
-
-PNBLACKLIST[kodi-startup] ?= "Runtime depends on blacklisted kodi - the recipe will be removed on 2017-09-01 unless the issue is fixed"
-
-PNBLACKLIST[kodi-startup] ?= "Runtime depends on blacklisted kodi-startup-dev - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb
index 43c32fb..5158f05 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb
@@ -18,6 +18,7 @@
             avahi \
             boost \
             bzip2 \
+            crossguid \
             curl \
             dcadec \
             enca \
@@ -62,11 +63,11 @@
 
 PROVIDES = "xbmc"
 
-SRCREV = "661dd08d221f5b2bf509a696a6aca5ee7d45bb27"
-BASEPV = "17.1"
-PV = "${BASEPV}+gitr${SRCPV}"
+SRCREV = "6abeebd5ba371547c8f04272296433f5e4e28e86"
+PV = "17.3+gitr${SRCPV}"
+ADDONSPV = "17.1"
 SRC_URI = "git://github.com/xbmc/xbmc.git;branch=Krypton \
-           https://repo.voidlinux.eu/distfiles/${BPN}-${BASEPV}-generated-addons.tar.xz;name=addons;unpack=0 \
+           https://repo.voidlinux.eu/distfiles/${BPN}-${ADDONSPV}-generated-addons.tar.xz;name=addons;unpack=0 \
            file://0003-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch \
            file://0004-handle-SIGTERM.patch \
            file://0005-add-support-to-read-frequency-output-if-using-intel-.patch \
@@ -131,6 +132,11 @@
 FULL_OPTIMIZATION_armv7ve = "-fexpensive-optimizations -fomit-frame-pointer -O3 -ffast-math"
 BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}"
 
+LDFLAGS_append_mips = " -latomic"
+LDFLAGS_append_mipsel = " -latomic"
+LDFLAGS_append_powerpc = " -latomic"
+LDFLAGS_append_arm = " -latomic"
+
 EXTRA_OECONF_append = " LIBTOOL=${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool"
 
 # for python modules
@@ -146,15 +152,14 @@
     return ""
 
 do_configure() {
-    tar xf ${WORKDIR}/${BPN}-${BASEPV}-generated-addons.tar.xz -C ${S}/
+    tar xf ${WORKDIR}/${BPN}-${ADDONSPV}-generated-addons.tar.xz -C ${S}/
 
-    ( for i in $(find ${S} -name "configure.*" ) ; do
+    ( for i in $(find ${S} -name configure.ac -or -name configure.in|grep -v ".pc") ; do
        cd $(dirname $i) && gnu-configize --force || true
     done )
     ( for f in ${S}/xbmc/interfaces/python/generated/*.cpp; do
        touch `echo $f|sed -e 's/.cpp$/.xml/g'`
     done )
-    make -C tools/depends/target/crossguid PREFIX=${STAGING_DIR_HOST}${prefix}
 
     BOOTSTRAP_STANDALONE=1 make -f bootstrap.mk JSON_BUILDER="${STAGING_BINDIR_NATIVE}/JsonSchemaBuilder"
     BOOTSTRAP_STANDALONE=1 make JAVA=/bin/true -f codegenerator.mk JSON_BUILDER="${STAGING_BINDIR_NATIVE}/JsonSchemaBuilder"