summaryrefslogtreecommitdiff
path: root/backend/updater.py
diff options
context:
space:
mode:
authorParty Wumpus <48649272+PartyWumpus@users.noreply.github.com>2023-07-29 09:05:39 +0100
committerGitHub <noreply@github.com>2023-07-29 09:05:39 +0100
commit2ba9bce3dea82261f01ee73ae68ce49553da3b9a (patch)
tree0e601b7c0a52a8d45a1ecd0d2fa49ced7520e372 /backend/updater.py
parentd4a76da78c63bfddebf93cebd8dafc7677d193f3 (diff)
downloaddecky-loader-2ba9bce3dea82261f01ee73ae68ce49553da3b9a.tar.gz
decky-loader-2ba9bce3dea82261f01ee73ae68ce49553da3b9a.zip
Make the updater work properly on SELinux (#518)v2.10.4-pre6
* Add DECKY_SELINUX env var * if on selinux make binary executable with chcon * No need to recursively change one file
Diffstat (limited to 'backend/updater.py')
-rw-r--r--backend/updater.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/backend/updater.py b/backend/updater.py
index 61124a72..170cfa40 100644
--- a/backend/updater.py
+++ b/backend/updater.py
@@ -6,7 +6,7 @@ from ensurepip import version
from json.decoder import JSONDecodeError
from logging import getLogger
from os import getcwd, path, remove
-from localplatform import chmod, service_restart, ON_LINUX, get_keep_systemd_service
+from localplatform import chmod, service_restart, ON_LINUX, get_keep_systemd_service, get_selinux
from aiohttp import ClientSession, web
@@ -208,6 +208,9 @@ class Updater:
remove(path.join(getcwd(), download_filename))
shutil.move(path.join(getcwd(), download_temp_filename), path.join(getcwd(), download_filename))
chmod(path.join(getcwd(), download_filename), 777, False)
+ if get_selinux():
+ from subprocess import call
+ call(["chcon", "-t", "bin_t", path.join(getcwd(), download_filename)])
logger.info("Updated loader installation.")
await tab.evaluate_js("window.DeckyUpdater.finish()", False, False)