mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-28 05:06:43 +00:00
Merge pull request #3505 from vpeter4/xbmc-bin
xbmc: make binary addons executable after installation
This commit is contained in:
commit
c54bd52f6f
@ -0,0 +1,54 @@
|
|||||||
|
From c572751d90ab26971d401819b146cf4daa64670c Mon Sep 17 00:00:00 2001
|
||||||
|
From: vpeter4 <peter.vicman@gmail.com>
|
||||||
|
Date: Wed, 1 Oct 2014 10:12:11 +0200
|
||||||
|
Subject: [PATCH] make binary addons executable
|
||||||
|
|
||||||
|
add executable mode to all files in addon's bin folder
|
||||||
|
---
|
||||||
|
xbmc/addons/AddonInstaller.cpp | 23 +++++++++++++++++++++++
|
||||||
|
1 file changed, 23 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/xbmc/addons/AddonInstaller.cpp b/xbmc/addons/AddonInstaller.cpp
|
||||||
|
index d358a23..6b55c3a 100644
|
||||||
|
--- a/xbmc/addons/AddonInstaller.cpp
|
||||||
|
+++ b/xbmc/addons/AddonInstaller.cpp
|
||||||
|
@@ -39,6 +39,9 @@
|
||||||
|
#include "dialogs/GUIDialogKaiToast.h"
|
||||||
|
#include "dialogs/GUIDialogProgress.h"
|
||||||
|
#include "URL.h"
|
||||||
|
+#include <iostream>
|
||||||
|
+#include <dirent.h>
|
||||||
|
+#include <sys/stat.h>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
using namespace XFILE;
|
||||||
|
@@ -715,6 +718,26 @@ bool CAddonInstallJob::Install(const std::string &installFrom, const AddonPtr& r
|
||||||
|
|
||||||
|
void CAddonInstallJob::OnPostInstall(bool reloadAddon)
|
||||||
|
{
|
||||||
|
+ std::string addonDirPath;
|
||||||
|
+ std::string chmodFilePath;
|
||||||
|
+ DIR *addonsDir;
|
||||||
|
+ struct dirent *fileDirent;
|
||||||
|
+ struct stat fileStat;
|
||||||
|
+ int statRet;
|
||||||
|
+
|
||||||
|
+ addonDirPath = "/storage/.xbmc/addons/" + m_addon->ID() + "/bin/";
|
||||||
|
+ if ((addonsDir = opendir(addonDirPath.c_str())) != NULL)
|
||||||
|
+ {
|
||||||
|
+ while ((fileDirent = readdir(addonsDir)) != NULL)
|
||||||
|
+ {
|
||||||
|
+ chmodFilePath = addonDirPath + fileDirent->d_name;
|
||||||
|
+ statRet = stat(chmodFilePath.c_str(), &fileStat);
|
||||||
|
+ if (statRet == 0 && (fileStat.st_mode & S_IFMT) != S_IFDIR)
|
||||||
|
+ chmod(chmodFilePath.c_str(), fileStat.st_mode | S_IXUSR | S_IXGRP | S_IXOTH);
|
||||||
|
+ }
|
||||||
|
+ closedir(addonsDir);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (CSettings::Get().GetBool("general.addonnotifications"))
|
||||||
|
{
|
||||||
|
CGUIDialogKaiToast::QueueNotification(m_addon->Icon(),
|
||||||
|
--
|
||||||
|
1.8.1.2
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user