diff --git a/packages/mediacenter/kodi/scripts/kodi-config b/packages/mediacenter/kodi/scripts/kodi-config index f0ce394bc1..78f9c8f232 100755 --- a/packages/mediacenter/kodi/scripts/kodi-config +++ b/packages/mediacenter/kodi/scripts/kodi-config @@ -22,6 +22,23 @@ # done in kodi on addon install. but just in case.. chmod +x /storage/.kodi/addons/*/bin/* +# Nasty hack to work around OE to LE migration - Addons*.db needs to forget all about OE addons +ADDONSDB=$(ls -1 /storage/.kodi/userdata/Database/Addons20.db 2>/dev/null) +if [ -n "${ADDONSDB}" ]; then + OEREPO="'repository.openelec.tv'" + + if [ -n "$(sqlite3 $ADDONSDB "SELECT id FROM repo WHERE addonID IN (${OEREPO})")" ]; then + + [ -f ${ADDONSDB}.OE2LE_Backup ] || cp ${ADDONSDB} ${ADDONSDB}.OE2LE_Backup + + sqlite3 $ADDONSDB "DELETE FROM addon WHERE id IN (SELECT idAddon FROM addonlinkrepo a JOIN repo b ON (a.idRepo = b.id) WHERE b.addonID in (${OEREPO}))" + sqlite3 $ADDONSDB "DELETE FROM addonextra WHERE id IN (SELECT idAddon FROM addonlinkrepo a JOIN repo b ON (a.idRepo = b.id) WHERE b.addonID in (${OEREPO}))" + sqlite3 $ADDONSDB "DELETE FROM dependencies WHERE id IN (SELECT idAddon FROM addonlinkrepo a JOIN repo b ON (a.idRepo = b.id) WHERE b.addonID in (${OEREPO}))" + sqlite3 $ADDONSDB "DELETE FROM addonlinkrepo WHERE idRepo in (SELECT id FROM repo WHERE addonID IN (${OEREPO}))" + sqlite3 $ADDONSDB "DELETE FROM repo WHERE addonID IN (${OEREPO})" + fi +fi + # hack: update RSSnews.xml in userdata if [ -f /storage/.kodi/userdata/RssFeeds.xml ]; then sed -e "s,http://libreelec.tv/news?format=feed&type=rss,http://feeds.libreelec.tv/news,g" \