mirror of
https://github.com/void-linux/void-packages.git
synced 2025-06-05 06:33:50 +02:00
quilt: update to 0.67.
This commit is contained in:
parent
c4d06b22e6
commit
2e07cc2ddc
5 changed files with 257 additions and 8 deletions
45
srcpkgs/quilt/patches/awk-portable-syntax.patch
Normal file
45
srcpkgs/quilt/patches/awk-portable-syntax.patch
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
From ce9c68abb7cee0b4fb0d5a7ff7048d0ab3b726f8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jean Delvare <jdelvare@suse.de>
|
||||||
|
Date: Thu, 23 Jun 2022 14:36:58 +0200
|
||||||
|
Subject: [PATCH] patchfns: Compatibility fix for BSD awk
|
||||||
|
|
||||||
|
"+" needs to be quoted to be considered as a literal "+" by BSD awk.
|
||||||
|
|
||||||
|
Without this fix, patch_header() fails to find the beginning of the
|
||||||
|
changes and treats the whole patch as a header, subsequently causing
|
||||||
|
"quilt refresh" to append the refreshed patch after the original one
|
||||||
|
instead of replacing it.
|
||||||
|
|
||||||
|
Bug reported and fix suggested by Dominic Evans.
|
||||||
|
|
||||||
|
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
||||||
|
Fixes: 1d94980dbdd4 ("Tighten the patch format parsing")
|
||||||
|
---
|
||||||
|
quilt/scripts/patchfns.in | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/quilt/scripts/patchfns.in b/quilt/scripts/patchfns.in
|
||||||
|
index 75cee52..c2d5f9d 100644
|
||||||
|
--- a/quilt/scripts/patchfns.in
|
||||||
|
+++ b/quilt/scripts/patchfns.in
|
||||||
|
@@ -848,7 +848,7 @@ patch_header()
|
||||||
|
MAYBE_CONTEXT=0
|
||||||
|
}
|
||||||
|
MAYBE_UNIFIED {
|
||||||
|
- if (/^+++[ \t][^ \t]/)
|
||||||
|
+ if (/^\+\+\+[ \t][^ \t]/)
|
||||||
|
exit
|
||||||
|
print eaten
|
||||||
|
MAYBE_UNIFIED=0
|
||||||
|
@@ -881,7 +881,7 @@ patch_body()
|
||||||
|
MAYBE_CONTEXT=0
|
||||||
|
}
|
||||||
|
MAYBE_UNIFIED {
|
||||||
|
- if (/^+++[ \t][^ \t]/) {
|
||||||
|
+ if (/^\+\+\+[ \t][^ \t]/) {
|
||||||
|
print eaten
|
||||||
|
body=1
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.39.2
|
||||||
|
|
38
srcpkgs/quilt/patches/faildiff.test.patch
Normal file
38
srcpkgs/quilt/patches/faildiff.test.patch
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
From 4dfe7f9e702c85243a71e4de267a13e434b6d6c2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jean Delvare <jdelvare@suse.de>
|
||||||
|
Date: Fri, 20 Jan 2023 12:56:08 +0100
|
||||||
|
Subject: [PATCH] test: Fix a race condition
|
||||||
|
|
||||||
|
The test suite does not differentiate between stdout and stderr. When
|
||||||
|
messages are printed to both, the order in which they will reach us
|
||||||
|
is apparently not guaranteed. Ideally this would be deterministic, but
|
||||||
|
until then, explicitly test stdout and stderr separately in the test
|
||||||
|
case itself. Otherwise the test suite fails randomly, which is a pain
|
||||||
|
for distribution package maintainers.
|
||||||
|
|
||||||
|
This fixes bug #63651 reported by Ross Burton:
|
||||||
|
https://savannah.nongnu.org/bugs/index.php?63651
|
||||||
|
|
||||||
|
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
||||||
|
---
|
||||||
|
test/faildiff.test | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/test/faildiff.test b/test/faildiff.test
|
||||||
|
index 5afb8e3..0444c15 100644
|
||||||
|
--- a/test/faildiff.test
|
||||||
|
+++ b/test/faildiff.test
|
||||||
|
@@ -27,8 +27,9 @@ What happens on binary files?
|
||||||
|
> File test.bin added to patch %{P}test.diff
|
||||||
|
|
||||||
|
$ printf "\\003\\000\\001" > test.bin
|
||||||
|
- $ quilt diff -pab --no-index
|
||||||
|
+ $ quilt diff -pab --no-index 2>/dev/null
|
||||||
|
>~ (Files|Binary files) a/test\.bin and b/test\.bin differ
|
||||||
|
+ $ quilt diff -pab --no-index >/dev/null
|
||||||
|
> Diff failed on file 'test.bin', aborting
|
||||||
|
$ echo %{?}
|
||||||
|
> 1
|
||||||
|
--
|
||||||
|
2.39.2
|
||||||
|
|
142
srcpkgs/quilt/patches/grep-stray-backslash-slash.patch
Normal file
142
srcpkgs/quilt/patches/grep-stray-backslash-slash.patch
Normal file
|
@ -0,0 +1,142 @@
|
||||||
|
From f73f8d7f71de2878d3f92881a5fcb8eafd78cb5f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jean Delvare <jdelvare@suse.de>
|
||||||
|
Date: Fri, 9 Sep 2022 10:10:37 +0200
|
||||||
|
Subject: [PATCH] Avoid warnings with grep 3.8
|
||||||
|
|
||||||
|
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>
|
||||||
|
---
|
||||||
|
quilt/diff.in | 2 +-
|
||||||
|
quilt/patches.in | 2 +-
|
||||||
|
quilt/scripts/patchfns.in | 20 +++++++++++++-------
|
||||||
|
quilt/upgrade.in | 4 ++--
|
||||||
|
4 files changed, 17 insertions(+), 11 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/quilt/diff.in b/quilt/diff.in
|
||||||
|
index e90dc33..07788ff 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 bb17a46..eac45a9 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 c2d5f9d..1bd7233 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 dbf7d05..866aa33 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 \
|
||||||
|
--
|
||||||
|
2.39.2
|
||||||
|
|
24
srcpkgs/quilt/patches/merge.test-race.patch
Normal file
24
srcpkgs/quilt/patches/merge.test-race.patch
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
--- a/test/merge.test
|
||||||
|
+++ b/test/merge.test
|
||||||
|
@@ -39,8 +39,9 @@ Test the patch merging functionality of
|
||||||
|
> Applying patch %{P}c.diff
|
||||||
|
> Now at patch %{P}c.diff
|
||||||
|
|
||||||
|
- $ quilt diff -P b.diff | grep -v "^\\(---\\|+++\\)"
|
||||||
|
+ $ quilt diff -P b.diff >/dev/null
|
||||||
|
> Warning: more recent patches modify files in patch %{P}b.diff
|
||||||
|
+ $ quilt diff -P b.diff 2>/dev/null | grep -v "^\\(---\\|+++\\)"
|
||||||
|
>~ Index: [^/]+/abc\.txt
|
||||||
|
> ===================================================================
|
||||||
|
> @@ -1,3 +1,3 @@
|
||||||
|
@@ -49,8 +50,9 @@ Test the patch merging functionality of
|
||||||
|
> +b+
|
||||||
|
> c
|
||||||
|
|
||||||
|
- $ quilt diff --combine a.diff -P b.diff | grep -v "^\\(---\\|+++\\)"
|
||||||
|
+ $ quilt diff --combine a.diff -P b.diff >/dev/null
|
||||||
|
> Warning: more recent patches modify files in patch %{P}b.diff
|
||||||
|
+ $ quilt diff --combine a.diff -P b.diff 2>/dev/null | grep -v "^\\(---\\|+++\\)"
|
||||||
|
>~ Index: [^/]+/abc\.txt
|
||||||
|
> ===================================================================
|
||||||
|
> @@ -1,3 +1,3 @@
|
|
@ -1,25 +1,25 @@
|
||||||
# Template file for 'quilt'
|
# Template file for 'quilt'
|
||||||
pkgname=quilt
|
pkgname=quilt
|
||||||
version=0.66
|
version=0.67
|
||||||
revision=3
|
revision=1
|
||||||
build_style=gnu-configure
|
build_style=gnu-configure
|
||||||
configure_args="--without-rpmbuild --with-bash=/bin/bash"
|
configure_args="--without-rpmbuild --with-bash=/bin/bash
|
||||||
hostmakedepends="perl"
|
--with-date=/bin/date --with-awk=/bin/awk --with-sed=/bin/sed
|
||||||
|
--with-column=/usr/bin/column"
|
||||||
|
hostmakedepends="perl ed tar"
|
||||||
# quilt is a bash script.
|
# quilt is a bash script.
|
||||||
# All quilt's users use quilt-refresh, which requires perl
|
# All quilt's users use quilt-refresh, which requires perl
|
||||||
depends="patch perl bash"
|
depends="patch perl bash"
|
||||||
short_desc="Tool for Working with Many Patches"
|
short_desc="Tool for Working with Many Patches"
|
||||||
maintainer="Orphaned <orphan@voidlinux.org>"
|
maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
|
||||||
license="GPL-2.0-only"
|
license="GPL-2.0-only"
|
||||||
homepage="http://savannah.nongnu.org/projects/quilt"
|
homepage="http://savannah.nongnu.org/projects/quilt"
|
||||||
distfiles="http://download.savannah.gnu.org/releases/quilt/quilt-${version}.tar.gz"
|
distfiles="http://download.savannah.gnu.org/releases/quilt/quilt-${version}.tar.gz"
|
||||||
checksum=314b319a6feb13bf9d0f9ffa7ce6683b06919e734a41275087ea457cc9dc6e07
|
checksum=3be3be0987e72a6c364678bb827e3e1fcc10322b56bc5f02b576698f55013cc2
|
||||||
|
|
||||||
do_install() {
|
do_install() {
|
||||||
make BUILD_ROOT=\"$DESTDIR\" install
|
make BUILD_ROOT=\"$DESTDIR\" install
|
||||||
|
|
||||||
vmkdir usr/share/bash-completion/completions
|
vmkdir usr/share/bash-completion/completions
|
||||||
mv ${DESTDIR}/etc/bash_completion.d/* ${DESTDIR}/usr/share/bash-completion/completions
|
mv ${DESTDIR}/etc/bash_completion.d/* ${DESTDIR}/usr/share/bash-completion/completions
|
||||||
# For sanity
|
|
||||||
rm -f ${DESTDIR}/usr/share/quilt/compat/{awk,bash,column}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue