From 1601193e120083c3ef59d018f6ca8c060bcf3498 Mon Sep 17 00:00:00 2001 From: Christian Heusel <christian@heusel.eu> Date: Tue, 18 Feb 2025 21:18:03 +0100 Subject: [PATCH] likwid: Fix the perms script (#48666) * likwid: Fix the perms script The script loops over the path (which includes the prefix), but additionally adds the prefix up front which results in duplicate paths and a double "/" in the command like in the following one: chown root:root /opt/csg/spack/opt/spack/linux-debian12-zen2/gcc-12.2.0/likwid-5.4.1-xfc6quebnf2kosydl3ospaeoskxnxwhn//opt/csg/spack/opt/spack/linux-debian12-zen2/gcc-12.2.0/likwid-5.4.1-xfc6quebnf2kosydl3ospaeoskxnxwhn/sbin/likwid-accessD Additionally the path is currently not quoted which can potentially result in word splitting for weird paths. Signed-off-by: Christian Heusel <christian@heusel.eu> * likwid: Make the perm scripts' name unique Also move it into the proper binary folder as per the Filesystem Hierarchy Standard. Signed-off-by: Christian Heusel <christian@heusel.eu> --------- Signed-off-by: Christian Heusel <christian@heusel.eu> --- var/spack/repos/builtin/packages/likwid/package.py | 4 ++-- .../{spack_perms_fix.sh.j2 => spack_likwid_fix_perms.sh.j2} | 6 ++---- 2 files changed, 4 insertions(+), 6 deletions(-) rename var/spack/repos/builtin/packages/likwid/{spack_perms_fix.sh.j2 => spack_likwid_fix_perms.sh.j2} (53%) diff --git a/var/spack/repos/builtin/packages/likwid/package.py b/var/spack/repos/builtin/packages/likwid/package.py index c3f297445fa..b9b7b45a971 100644 --- a/var/spack/repos/builtin/packages/likwid/package.py +++ b/var/spack/repos/builtin/packages/likwid/package.py @@ -260,8 +260,8 @@ def install(self, spec, prefix): @run_after("install") def caveats(self): if self.spec.satisfies("accessmode=accessdaemon"): - perm_script = "spack_perms_fix.sh" - perm_script_path = join_path(self.spec.prefix, perm_script) + perm_script = "spack_likwid_fix_perms.sh.j2" + perm_script_path = join_path(self.spec.prefix.bin, perm_script) daemons = glob.glob(join_path(self.spec.prefix, "sbin", "*")) with open(perm_script_path, "w") as f: env = spack.tengine.make_environment(dirs=self.package_dir) diff --git a/var/spack/repos/builtin/packages/likwid/spack_perms_fix.sh.j2 b/var/spack/repos/builtin/packages/likwid/spack_likwid_fix_perms.sh.j2 similarity index 53% rename from var/spack/repos/builtin/packages/likwid/spack_perms_fix.sh.j2 rename to var/spack/repos/builtin/packages/likwid/spack_likwid_fix_perms.sh.j2 index a3413d4d292..4db0f75d0ae 100755 --- a/var/spack/repos/builtin/packages/likwid/spack_perms_fix.sh.j2 +++ b/var/spack/repos/builtin/packages/likwid/spack_likwid_fix_perms.sh.j2 @@ -1,11 +1,9 @@ #!/bin/sh -eu {% for cf in chowns %} -chown root:root {{ prefix }}/{{ cf }} +chown root:root "{{ cf }}" {% endfor %} {% for sf in chmods %} -chmod 4755 {{ prefix }}/{{ sf }} +chmod 4755 "{{ sf }}" {% endfor %} - -# end -- GitLab