From cf25249a9d4b2ee0efb406a9cd05d774cfb07b5c Mon Sep 17 00:00:00 2001 From: Zedifus Date: Fri, 24 Jun 2022 02:28:05 +0100 Subject: [PATCH 1/3] Fix path issue with `update-alternatives` Sometimes it can be in /sbin, if it is we return `None` which broke upstream frontend. Returning an empty list to resolve this. --- app/classes/shared/helpers.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/app/classes/shared/helpers.py b/app/classes/shared/helpers.py index 4273c38f..fa3f6aab 100644 --- a/app/classes/shared/helpers.py +++ b/app/classes/shared/helpers.py @@ -124,17 +124,24 @@ class Helpers: # If we get here we're linux so we will use 'update-alternatives' # (If distro does not have update-alternatives then manual input.) + + # Sometimes u-a will be in /sbin on some distros (which is annoying.) + ua_path = "/usr/bin/update-alternatives" + if not os.path.exists(ua_path): + logger.warning("update-alternatives not found! Trying /sbin") + ua_path = "/usr/sbin/update-alternatives" + try: paths = subprocess.check_output( - ["/usr/bin/update-alternatives", "--list", "java"], encoding="utf8" + [ua_path, "--list", "java"], encoding="utf8" ) if re.match("^(/[^/ ]*)+/?$", paths): return paths.split("\n") except Exception as e: - print("Java Detect Error: ", e) logger.error(f"Java Detect Error: {e}") + return [] @staticmethod def float_to_string(gbs: float): @@ -511,7 +518,7 @@ class Helpers: logger.critical(f"Unable to write to {self.root_dir} directory!") sys.exit(1) - # ensure the log directory is there + # the log directory is there try: with suppress(FileExistsError): os.makedirs(os.path.join(self.root_dir, "logs")) From 6dfaacc3061622ce4cb015e25668d32f8ba9407c Mon Sep 17 00:00:00 2001 From: Zedifus Date: Fri, 24 Jun 2022 03:46:44 +0100 Subject: [PATCH 2/3] Update changelog !387 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9a6b3565..dff3c9d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ None - Fix cannot delete backup on page 2 ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/382)) - Fix server starting up without stats monitoring after backup shutdown. ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/386)) - Fix pathing issue when launching with just "java" ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/386)) +- Fix path issue with update-alternatives ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/387)) ### Tweaks - Rework server list on status page display for use on small screens ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/383)) - Add clone server confirmation ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/384)) From 48cd5916ed5a251293461834084f88b808ed1906 Mon Sep 17 00:00:00 2001 From: Zedifus Date: Fri, 24 Jun 2022 03:56:31 +0100 Subject: [PATCH 3/3] Revert internal comment Must've changed this accidentally --- app/classes/shared/helpers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/classes/shared/helpers.py b/app/classes/shared/helpers.py index fa3f6aab..e1d9c3c0 100644 --- a/app/classes/shared/helpers.py +++ b/app/classes/shared/helpers.py @@ -518,7 +518,7 @@ class Helpers: logger.critical(f"Unable to write to {self.root_dir} directory!") sys.exit(1) - # the log directory is there + # ensure the log directory is there try: with suppress(FileExistsError): os.makedirs(os.path.join(self.root_dir, "logs"))