summaryrefslogtreecommitdiff
path: root/raveos-app-installer/raveos-app-installer.py
diff options
context:
space:
mode:
Diffstat (limited to 'raveos-app-installer/raveos-app-installer.py')
-rw-r--r--raveos-app-installer/raveos-app-installer.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/raveos-app-installer/raveos-app-installer.py b/raveos-app-installer/raveos-app-installer.py
index 166268e..526e1ba 100644
--- a/raveos-app-installer/raveos-app-installer.py
+++ b/raveos-app-installer/raveos-app-installer.py
@@ -464,10 +464,12 @@ def plan_commands(apps: list, install: bool, gui: bool) -> list:
if not src.is_dir():
continue
dest = cdest.replace("{HOME}", _home)
+ cp_flag = "-rf" if a.get("config_overwrite") else "-rn"
steps.append((f"config: {a['name']}",
["bash", "-c",
f"mkdir -p {shlex.quote(dest)} && "
- f"cp -rn {shlex.quote(str(src))}/. {shlex.quote(dest)}/"]))
+ f"cp {cp_flag} {shlex.quote(str(src))}/. {shlex.quote(dest)}/ && "
+ f"rm -f {shlex.quote(dest)}/Singleton*"]))
# Config seedelés (több-utas változat): olyan appoknal, ahol tobb kulon
# forras/cel par van (pl. PhotoGIMP: GIMP config + .desktop + ikonok
@@ -487,10 +489,12 @@ def plan_commands(apps: list, install: bool, gui: bool) -> list:
if not src.is_dir():
continue
dest = mdest.replace("{HOME}", _home)
+ cp_flag = "-rf" if a.get("config_overwrite") else "-rn"
steps.append((f"config: {a['name']} ({msrc})",
["bash", "-c",
f"mkdir -p {shlex.quote(dest)} && "
- f"cp -rn {shlex.quote(str(src))}/. {shlex.quote(dest)}/"]))
+ f"cp {cp_flag} {shlex.quote(str(src))}/. {shlex.quote(dest)}/ && "
+ f"rm -f {shlex.quote(dest)}/Singleton*"]))
# Script env: a szkript tudja ki a tényleges user (sudo után root fut)
_caller = os.environ.get("USER") or os.environ.get("LOGNAME") or ""