Skip to content

Commit 6d88840

Browse files
author
MochiOS Team
committed
add pid lock to prevent double installer + kde trust fix
1 parent 2108271 commit 6d88840

2 files changed

Lines changed: 25 additions & 13 deletions

File tree

‎archiso-mochios/airootfs/home/mochi/Desktop/mochiinstall.desktop‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,5 @@ Exec=mochiinstall
66
Icon=system-software-install
77
Terminal=false
88
Categories=System;
9+
X-KDE-Authorize=true
910

‎mochiinstall_wrapper‎

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
#!/usr/bin/env python3
22
import os, sys
33

4+
LOCK = "/tmp/mochiinstall.lock"
5+
if os.path.exists(LOCK):
6+
print("mochiinstall already running")
7+
sys.exit(0)
8+
9+
open(LOCK, "w").write(str(os.getpid()))
10+
411
sys.path.insert(0, '/usr/lib/mochiinstall')
512

613
args = list(sys.argv)
@@ -10,18 +17,22 @@ for flag in ('--nightly', '--tui'):
1017
if flag in args:
1118
args.remove(flag)
1219

13-
if os.geteuid() != 0:
14-
os.execvp("sudo", ["sudo", "-E", sys.executable] + sys.argv)
15-
elif tui:
16-
from mochiinstall_app import main as tui_main
17-
tui_main()
18-
else:
19-
try:
20-
from mochiinstall_gui import main as gui_main
21-
sys.argv = args
22-
if nightly:
23-
sys.argv.append('--nightly')
24-
gui_main()
25-
except ImportError:
20+
try:
21+
if os.geteuid() != 0:
22+
os.execvp("sudo", ["sudo", "-E", sys.executable] + sys.argv)
23+
elif tui:
2624
from mochiinstall_app import main as tui_main
2725
tui_main()
26+
else:
27+
try:
28+
from mochiinstall_gui import main as gui_main
29+
sys.argv = args
30+
if nightly:
31+
sys.argv.append('--nightly')
32+
gui_main()
33+
except ImportError:
34+
from mochiinstall_app import main as tui_main
35+
tui_main()
36+
finally:
37+
if os.path.exists(LOCK):
38+
os.unlink(LOCK)

0 commit comments

Comments
 (0)