minigalaxy: support usr merge
Fix crash for `/bin/minigalaxy` Close: #21347 See: https://github.com/sharkwouter/minigalaxy/pull/149
This commit is contained in:
parent
573caab78e
commit
7cd73b9abb
2 changed files with 66 additions and 1 deletions
|
@ -0,0 +1,65 @@
|
|||
From 332f3e06f457ea63cddf5e266dfd1c220a6ecb88 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
|
||||
<congdanhqx@gmail.com>
|
||||
Date: Sat, 2 May 2020 18:40:10 +0700
|
||||
Subject: [PATCH] paths: support merged /usr directory
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
In the Linux world, some distribution started to merge:
|
||||
- /bin into /usr/bin
|
||||
- /sbin into /usr/sbin
|
||||
- /lib into /usr/lib
|
||||
- /lib64 into /usr/lib64
|
||||
|
||||
Some distro go with more extreme approach, merge `/bin`, `/sbin`,
|
||||
`/usr/sbin` into `/usr/bin`.
|
||||
|
||||
See: https://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge/
|
||||
|
||||
If minigalaxy was invoked as:
|
||||
|
||||
/bin/galaxy
|
||||
|
||||
We'll see this error:
|
||||
|
||||
> Traceback (most recent call last):
|
||||
> File "/bin/minigalaxy", line 66, in <module>
|
||||
> main()
|
||||
> File "/bin/minigalaxy", line 57, in main
|
||||
> from minigalaxy.ui import Window
|
||||
> File "/usr/lib/python3.8/site-packages/minigalaxy/ui/__init__.py", line 2, in <module>
|
||||
> from minigalaxy.ui.window import Window
|
||||
> File "/usr/lib/python3.8/site-packages/minigalaxy/ui/window.py", line 5, in <module>
|
||||
> from minigalaxy.ui.login import Login
|
||||
> File "/usr/lib/python3.8/site-packages/minigalaxy/ui/login.py", line 13, in <module>
|
||||
> class Login(Gtk.Dialog):
|
||||
> File "/usr/lib/python3.8/site-packages/gi/_gtktemplate.py", line 226, in __call__
|
||||
> bytes_ = GLib.Bytes.new(file_.load_contents()[1])
|
||||
> gi.repository.GLib.Error: g-io-error-quark: Error opening file /share/minigalaxy/ui/login.ui: No such file or directory
|
||||
|
||||
Fix this problem by explicit checking if LAUNCH_DIR is `/bin` or
|
||||
`/sbin`.
|
||||
|
||||
Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
|
||||
---
|
||||
minigalaxy/paths.py | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git minigalaxy/paths.py minigalaxy/paths.py
|
||||
index 16dd48d..525fa7a 100644
|
||||
--- minigalaxy/paths.py
|
||||
+++ minigalaxy/paths.py
|
||||
@@ -2,6 +2,8 @@ import os
|
||||
import sys
|
||||
|
||||
LAUNCH_DIR = os.path.abspath(os.path.dirname(sys.argv[0]))
|
||||
+if LAUNCH_DIR == "/bin" or LAUNCH_DIR == "/sbin":
|
||||
+ LAUNCH_DIR = "/usr" + LAUNCH_DIR
|
||||
|
||||
CONFIG_DIR = os.path.join(os.getenv('XDG_CONFIG_HOME', os.path.expanduser('~/.config')), "minigalaxy")
|
||||
CONFIG_FILE_PATH = os.path.join(CONFIG_DIR, "config.json")
|
||||
--
|
||||
2.26.2.526.g744177e7f7
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
# Template file for 'minigalaxy'
|
||||
pkgname=minigalaxy
|
||||
version=0.9.4
|
||||
revision=1
|
||||
revision=2
|
||||
archs=noarch
|
||||
build_style=python3-module
|
||||
hostmakedepends="gettext python3-setuptools"
|
||||
|
|
Loading…
Reference in a new issue