forked from pool/quilt
- avoid-warnings-with-grep-3.8.patch: Avoid warnings with grep
3.8. GNU grep version 3.8 became more strict about needless quoting in patterns. There was an occurrence of that in quilt, which broke the test suite (boo#203230). OBS-URL: https://build.opensuse.org/package/show/devel:tools:scm/quilt?expand=0&rev=125
This commit is contained in:
parent
ace087fa09
commit
5e946fb24d
135
avoid-warnings-with-grep-3.8.patch
Normal file
135
avoid-warnings-with-grep-3.8.patch
Normal file
@ -0,0 +1,135 @@
|
||||
From: Jean Delvare <jdelvare@suse.de>
|
||||
Date: Fri, 9 Sep 2022 10:10:37 +0200
|
||||
Subject: Avoid warnings with grep 3.8
|
||||
Patch-mainline: yes
|
||||
Git-commit: f73f8d7f71de2878d3f92881a5fcb8eafd78cb5f
|
||||
References: boo#1203230
|
||||
|
||||
GNU grep version 3.8 became more strict about needless quoting in
|
||||
patterns. We have one occurrence of that in quilt, where "/"
|
||||
characters are being quoted by default. There are cases where they
|
||||
indeed need to be quoted (typically when used in a sed s/// command)
|
||||
but most of the time they do not, and this results in the following
|
||||
warning:
|
||||
|
||||
grep: warning: stray \ before /
|
||||
|
||||
So rename quote_bre() to quote_sed_re(), and introduce
|
||||
quote_grep_re() which does not quote "/".
|
||||
|
||||
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
||||
|
||||
diff --git a/quilt/diff.in b/quilt/diff.in
|
||||
index e90dc33db36a..07788ffc5e75 100644
|
||||
--- a/quilt/diff.in
|
||||
+++ b/quilt/diff.in
|
||||
@@ -255,7 +255,7 @@ then
|
||||
# Add all files in the snapshot into the file list (they may all
|
||||
# have changed).
|
||||
files=( $(find $QUILT_PC/$snap_subdir -type f \
|
||||
- | sed -e "s/^$(quote_bre $QUILT_PC/$snap_subdir/)//" \
|
||||
+ | sed -e "s/^$(quote_sed_re $QUILT_PC/$snap_subdir/)//" \
|
||||
| sort) )
|
||||
printf "%s\n" "${files[@]}" >&4
|
||||
unset files
|
||||
diff --git a/quilt/patches.in b/quilt/patches.in
|
||||
index bb17a463a613..eac45a9c9635 100644
|
||||
--- a/quilt/patches.in
|
||||
+++ b/quilt/patches.in
|
||||
@@ -60,7 +60,7 @@ scan_unapplied()
|
||||
# Quote each file name only once
|
||||
for file in "${opt_files[@]}"
|
||||
do
|
||||
- files_bre[${#files_bre[@]}]=$(quote_bre "$file")
|
||||
+ files_bre[${#files_bre[@]}]=$(quote_grep_re "$file")
|
||||
done
|
||||
|
||||
# "Or" all files in a single pattern
|
||||
diff --git a/quilt/scripts/patchfns.in b/quilt/scripts/patchfns.in
|
||||
index c2d5f9dbe946..1bd723315e2c 100644
|
||||
--- a/quilt/scripts/patchfns.in
|
||||
+++ b/quilt/scripts/patchfns.in
|
||||
@@ -78,8 +78,14 @@ array_join()
|
||||
done
|
||||
}
|
||||
|
||||
-# Quote a string for use in a basic regular expression.
|
||||
-quote_bre()
|
||||
+# Quote a string for use in a regular expression for a grep pattern.
|
||||
+quote_grep_re()
|
||||
+{
|
||||
+ echo "$1" | sed -e 's:\([][^$.*\\]\):\\\1:g'
|
||||
+}
|
||||
+
|
||||
+# Quote a string for use in a regular expression for a sed s/// command.
|
||||
+quote_sed_re()
|
||||
{
|
||||
echo "$1" | sed -e 's:\([][^$/.*\\]\):\\\1:g'
|
||||
}
|
||||
@@ -215,7 +221,7 @@ patch_in_series()
|
||||
|
||||
if [ -e "$SERIES" ]
|
||||
then
|
||||
- grep -q "^$(quote_bre $patch)\([ \t]\|$\)" "$SERIES"
|
||||
+ grep -q "^$(quote_grep_re $patch)\([ \t]\|$\)" "$SERIES"
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
@@ -365,7 +371,7 @@ is_applied()
|
||||
{
|
||||
local patch=$1
|
||||
[ -e $DB ] || return 1
|
||||
- grep -q "^$(quote_bre $patch)\$" $DB
|
||||
+ grep -q "^$(quote_grep_re $patch)\$" $DB
|
||||
}
|
||||
|
||||
applied_patches()
|
||||
@@ -465,7 +471,7 @@ remove_from_db()
|
||||
local tmpfile
|
||||
if tmpfile=$(gen_tempfile)
|
||||
then
|
||||
- grep -v "^$(quote_bre $patch)\$" $DB > $tmpfile
|
||||
+ grep -v "^$(quote_grep_re $patch)\$" $DB > $tmpfile
|
||||
cat $tmpfile > $DB
|
||||
rm -f $tmpfile
|
||||
[ -s $DB ] || rm -f $DB
|
||||
@@ -520,7 +526,7 @@ find_patch()
|
||||
fi
|
||||
|
||||
local patch=${1#$SUBDIR_DOWN$QUILT_PATCHES/}
|
||||
- local bre=$(quote_bre "$patch")
|
||||
+ local bre=$(quote_sed_re "$patch")
|
||||
set -- $(sed -e "/^$bre\(\|\.patch\|\.diff\?\)\(\|\.gz\|\.bz2\|\.xz\|\.lzma\|\.lz\)\([ "$'\t'"]\|$\)/!d" \
|
||||
-e 's/[ '$'\t''].*//' "$SERIES")
|
||||
if [ $# -eq 1 ]
|
||||
@@ -631,7 +637,7 @@ files_in_patch()
|
||||
then
|
||||
find "$path" -type f \
|
||||
-a ! -path "$(quote_glob "$path")/.timestamp" |
|
||||
- sed -e "s/$(quote_bre "$path")\///"
|
||||
+ sed -e "s/$(quote_sed_re "$path")\///"
|
||||
fi
|
||||
}
|
||||
|
||||
diff --git a/quilt/upgrade.in b/quilt/upgrade.in
|
||||
index dbf7d05bd2b7..866aa339d41e 100644
|
||||
--- a/quilt/upgrade.in
|
||||
+++ b/quilt/upgrade.in
|
||||
@@ -74,7 +74,7 @@ printf $"Converting meta-data to version %s\n" "$DB_VERSION"
|
||||
|
||||
for patch in $(applied_patches)
|
||||
do
|
||||
- proper_name="$(grep "^$(quote_bre $patch)"'\(\|\.patch\|\.diff?\)\(\|\.gz\|\.bz2\)\([ \t]\|$\)' $SERIES)"
|
||||
+ proper_name="$(grep "^$(quote_grep_re $patch)"'\(\|\.patch\|\.diff?\)\(\|\.gz\|\.bz2\)\([ \t]\|$\)' $SERIES)"
|
||||
proper_name=${proper_name#$QUILT_PATCHES/}
|
||||
proper_name=${proper_name%% *}
|
||||
if [ -z "$proper_name" ]
|
||||
@@ -84,7 +84,7 @@ do
|
||||
fi
|
||||
|
||||
if [ "$patch" != "$proper_name" -a -d $QUILT_PC/$patch ] \
|
||||
- && grep -q "^$(quote_bre $patch)\$" \
|
||||
+ && grep -q "^$(quote_grep_re $patch)\$" \
|
||||
$QUILT_PC/applied-patches
|
||||
then
|
||||
mv $QUILT_PC/$patch $QUILT_PC/$proper_name \
|
@ -1,3 +1,11 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 9 08:18:31 UTC 2022 - Jean Delvare <jdelvare@suse.com>
|
||||
|
||||
- avoid-warnings-with-grep-3.8.patch: Avoid warnings with grep
|
||||
3.8. GNU grep version 3.8 became more strict about needless
|
||||
quoting in patterns. There was an occurrence of that in quilt,
|
||||
which broke the test suite (boo#203230).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Feb 15 14:07:30 UTC 2022 - Jean Delvare <jdelvare@suse.com>
|
||||
|
||||
|
16
quilt.spec
16
quilt.spec
@ -38,10 +38,11 @@ Requires: perl
|
||||
URL: http://savannah.nongnu.org/projects/quilt
|
||||
Source: %{name}-%{version}.tar.bz2
|
||||
Source1: suse-start-quilt-mode.el
|
||||
Patch1: expand.diff
|
||||
Patch2: quilt-support-vimdiff.patch
|
||||
Patch3: test-faildiff-workaround-order-bug.patch
|
||||
Patch4: suse-workaround-pseudo-release.patch
|
||||
Patch1: avoid-warnings-with-grep-3.8.patch
|
||||
Patch81: expand.diff
|
||||
Patch82: quilt-support-vimdiff.patch
|
||||
Patch83: test-faildiff-workaround-order-bug.patch
|
||||
Patch84: suse-workaround-pseudo-release.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
BuildArch: noarch
|
||||
%if 0%{?suse_version}
|
||||
@ -62,9 +63,10 @@ un-applied, refreshed, and more.
|
||||
%prep
|
||||
%setup -q
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch81 -p1
|
||||
%patch82 -p1
|
||||
%patch83 -p1
|
||||
%patch84 -p1
|
||||
|
||||
%build
|
||||
# --with-rpmbuild=/usr/lib/rpm/rpmb:
|
||||
|
Loading…
Reference in New Issue
Block a user