]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
man: fix @BUILD_ROOT@ insertion
authorYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 24 Jun 2025 17:31:48 +0000 (02:31 +0900)
committerLuca Boccassi <luca.boccassi@gmail.com>
Mon, 4 Aug 2025 16:37:22 +0000 (17:37 +0100)
@BUILD_ROOT@ is replaced with the _quoted_ build path. Hence, if
@BUILD_ROOT@ is quoted, the result is doubly quoted, and the script does
not work if the path contains spaces.

Fixes #37953.

(cherry picked from commit aecb6eaed7d39d73f296c86a882c644b18b7e634)

man/html.in
man/man.in

index aaff9d138382f4c38ac1d367e3e2d892ba24aed4..d6822c03e081aa1de436d9eab3f52712127b14dd 100755 (executable)
@@ -8,21 +8,21 @@ if [ -z "$1" ]; then
 fi
 
 # make sure the rules have been regenerated (in case update-man-rules was just run)
-ninja -C "@BUILD_ROOT@" version.h
+ninja -C @BUILD_ROOT@ version.h
 
 target="man/$1.html"
-ninja -C "@BUILD_ROOT@" "$target"
+ninja -C @BUILD_ROOT@ "$target"
 
-fullname="@BUILD_ROOT@/$target"
+fullname=@BUILD_ROOT@/"$target"
 if [ -f "$fullname" ]; then
     redirect="$(readlink "$fullname" || :)"
 else
     redirect=""
 fi
 if [ -n "$redirect" ]; then
-    ninja -C "@BUILD_ROOT@" "man/$redirect"
+    ninja -C @BUILD_ROOT@ "man/$redirect"
 
-    fullname="@BUILD_ROOT@/man/$redirect"
+    fullname=@BUILD_ROOT@/man/"$redirect"
 fi
 
 set -x
index 201c32dae2538b039f387f662a1c2494ed58d505..a7fee984a02678d0855190c8fbaa6366fbee2f8f 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # SPDX-License-Identifier: LGPL-2.1-or-later
 
-set -e
+set -ex
 
 if [ -z "$1" ]; then
     echo "Use: $0 page-name (with no section suffix)"
@@ -9,22 +9,22 @@ if [ -z "$1" ]; then
 fi
 
 # make sure the rules have been regenerated (in case update-man-rules was just run)
-ninja -C "@BUILD_ROOT@" version.h
+ninja -C @BUILD_ROOT@ version.h
 
 page="$(echo "$1" | sed 's/\./\\./')"
-target=$(ninja -C "@BUILD_ROOT@" -t query man/man | grep -E -m1 "man/$page\.[0-9]$" | awk '{print $2}')
+target=$(ninja -C @BUILD_ROOT@ -t query man/man | grep -E -m1 "man/$page\.[0-9]$" | awk '{print $2}')
 if [ -z "$target" ]; then
     echo "Cannot find page $1"
     exit 1
 fi
-ninja -C "@BUILD_ROOT@" "$target"
+ninja -C @BUILD_ROOT@ "$target"
 
-fullname="@BUILD_ROOT@/$target"
+fullname=@BUILD_ROOT@/"$target"
 redirect="$(sed -n -r '1 s|^\.so man[0-9]/(.*)|\1|p' "$fullname")"
 if [ -n "$redirect" ]; then
-    ninja -C "@BUILD_ROOT@" "man/$redirect"
+    ninja -C @BUILD_ROOT@ "man/$redirect"
 
-    fullname="@BUILD_ROOT@/man/$redirect"
+    fullname=@BUILD_ROOT@/man/"$redirect"
 fi
 
 exec man "$fullname"