From aecb6eaed7d39d73f296c86a882c644b18b7e634 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Wed, 25 Jun 2025 02:31:48 +0900 Subject: [PATCH] man: fix @BUILD_ROOT@ insertion @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. --- man/html.in | 10 +++++----- man/man.in | 14 +++++++------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/man/html.in b/man/html.in index f11919b324e..63ad1809ecb 100755 --- a/man/html.in +++ b/man/html.in @@ -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@" src/version/version.h +ninja -C @BUILD_ROOT@ src/version/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 diff --git a/man/man.in b/man/man.in index f6d511ec035..b4fe39513b9 100755 --- a/man/man.in +++ b/man/man.in @@ -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@" src/version/version.h +ninja -C @BUILD_ROOT@ src/version/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" -- 2.47.3