rpmrebuild/backport-use-RPMREBUILD_NOQUOTE-on-some-distribution-if-filenames-contains-meta-car.patch

129 lines
2.9 KiB
Diff
Raw Normal View History

2024-11-21 17:01:36 +08:00
From fb7fd3d6bbaf90c46240f156cc7e52111858a5cf Mon Sep 17 00:00:00 2001
From: Eric Gerbier <gerbier@users.sourceforge.net>
Date: Sat, 2 Nov 2024 10:59:53 +0100
Subject: [PATCH] you can use RPMREBUILD_NOQUOTE on some distribution if
filenames contains meta-car
---
processing_func.src | 21 ++++++++++++++-------
rpmrebuild_files.sh | 21 ++++++++++++++-------
rpmrebuild_lib.src | 40 +++++++++++++++++++++++-----------------
3 files changed, 51 insertions(+), 31 deletions(-)
diff --git a/processing_func.src b/processing_func.src
index a7016cc..09f8a0f 100755
--- a/processing_func.src
+++ b/processing_func.src
@@ -418,13 +418,20 @@ function CheckMissing {
# quote meta characters
# see also in rpmrebuild_files.sh
- case "$line" in
- # replace * by \*
- *\**) line=${line//\*/\\*} ;;
- # replace \ by \\
- *\\*) line=${line//\\/\\\\} ;;
- *) ;;
- esac
+ #file=$( quote $file )
+ if [ -n "$RPMREBUILD_NOQUOTE" ]
+ then
+ # no quote
+ echo
+ else
+ case "$line" in
+ # replace * by \*
+ *\**) line=${line//\*/\\*} ;;
+ # replace \ by \\
+ *\\*) line=${line//\\/\\\\} ;;
+ *) ;;
+ esac
+ fi
if [ -n "$is_ghost" ]
then
diff --git a/rpmrebuild_files.sh b/rpmrebuild_files.sh
index 71274d8..4a4b6eb 100755
--- a/rpmrebuild_files.sh
+++ b/rpmrebuild_files.sh
@@ -101,13 +101,20 @@ while :; do
#[ -n "$wild" ] && file=$(echo "$file"|sed 's/\*/\\*/')
# quick and portable
# quote metacharacters, see also CheckMissing (processing_func.src)
- case "$file" in
- # replace * by \*
- *\**) file=${file//\*/\\*} ;;
- # replace \ by \\
- *\\*) file=${file//\\/\\\\} ;;
- *) ;;
- esac
+# file=$( quote $file )
+ if [ -n "$RPMREBUILD_NOQUOTE" ]
+ then
+ # do not quote
+ echo
+ else
+ case "$file" in
+ # replace * by \*
+ *\**) file=${file//\*/\\*} ;;
+ # replace \ by \\
+ *\\*) file=${file//\\/\\\\} ;;
+ *) ;;
+ esac
+ fi
# comment missing files is now done after in CheckMissing func (processing_func.src)
# to be able to work also on rpm files (not expanded yet in this state)
diff --git a/rpmrebuild_lib.src b/rpmrebuild_lib.src
index 811acac..e1021e1 100755
--- a/rpmrebuild_lib.src
+++ b/rpmrebuild_lib.src
@@ -139,21 +139,27 @@ function TestAwk
# todo : quote meta characters is used in 2 subs
# rpmrebuild_files.sh
# processing_func.src : CheckMissing
-# function Quote
-# {
-# local x
-# x="$1"
-# case "$x" in
-# # replace * by \*
-# *\**) x=${x//\*/\\*} ;;
-#
-# # replace \ by \\
-# *\\*) x=${x//\\/\\\\} ;;
-#
-# *) ;;
-# esac
-# echo "$x"
-#
-# return
-# }
+function Quote
+{
+ local x
+ x="$1"
+ if [ -n "$RPMREBUILD_NOQUOTE" ]
+ then
+ # do not quote
+ echo
+ else
+ case "$x" in
+ # replace * by \*
+ *\**) x=${x//\*/\\*} ;;
+
+ # replace \ by \\
+ *\\*) x=${x//\\/\\\\} ;;
+
+ *) ;;
+ esac
+ fi
+ echo -E "$x"
+
+ return
+}
###############################################################################
--
2.46.0