]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
dashboard: fix the workaround for unpacking node sources
authorJohn Mulligan <jmulligan@redhat.com>
Wed, 21 May 2025 21:46:40 +0000 (17:46 -0400)
committerJohn Mulligan <phlogistonjohn@asynchrono.us>
Fri, 22 Aug 2025 15:09:14 +0000 (11:09 -0400)
My previous workaround in the dashboard for the unpacking of non-root
own tarball as the fake root of a container did not work because of the
strange quoting/escaping behavior of cmake (it tried to run `id -u` as a
single command, not a command and an argument).
Use single quoted string and old school backticks to work around this issue.

Fixes: 24dbfb5da4813c6588f9cd199b9f527bb67f1e88
Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 3a36180a373d91adcf9726660204f0cc1dcecba3)

src/pybind/mgr/dashboard/frontend/CMakeLists.txt

index 4ec009712ffda40ffb5215fa6ff8b3cffd8792d7..6c85e50716a7a858a51d2db7279d52f2c55cd905 100644 (file)
@@ -69,7 +69,7 @@ else(WITH_SYSTEM_NPM)
     # the current user. This can be an issue due to the node tarball using
     # uid 1000 and running the unpack in a id-mapped namespace (container)
     # that lets tar set the uid to a "bad" uid outside the namespace
-    COMMAND bash -c "chown -R $$(id -u):$$(id -g) ${mgr-dashboard-nodeenv-dir}/src"
+    COMMAND bash -c 'chown -R `id -u`:`id -g` ${mgr-dashboard-nodeenv-dir}/src'
     COMMAND mkdir ${mgr-dashboard-nodeenv-dir}/.npm
     WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
     COMMENT "dashboard nodeenv is being installed")