summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/quilt/quilt
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/quilt/quilt')
-rw-r--r--meta/recipes-devtools/quilt/quilt/0001-tests-Allow-different-output-from-mv.patch29
-rw-r--r--meta/recipes-devtools/quilt/quilt/Makefile13
-rw-r--r--meta/recipes-devtools/quilt/quilt/aclocal.patch128
-rw-r--r--meta/recipes-devtools/quilt/quilt/faildiff-order.patch41
-rw-r--r--meta/recipes-devtools/quilt/quilt/fix-grep-3.8.patch144
-rw-r--r--meta/recipes-devtools/quilt/quilt/install.patch13
-rwxr-xr-xmeta/recipes-devtools/quilt/quilt/run-ptest9
-rwxr-xr-xmeta/recipes-devtools/quilt/quilt/test.sh25
8 files changed, 242 insertions, 160 deletions
diff --git a/meta/recipes-devtools/quilt/quilt/0001-tests-Allow-different-output-from-mv.patch b/meta/recipes-devtools/quilt/quilt/0001-tests-Allow-different-output-from-mv.patch
new file mode 100644
index 0000000000..6d0f4aedfd
--- /dev/null
+++ b/meta/recipes-devtools/quilt/quilt/0001-tests-Allow-different-output-from-mv.patch
@@ -0,0 +1,29 @@
+From e9fa816677993e520adff8bba26cb3e71f5a6665 Mon Sep 17 00:00:00 2001
+From: Jussi Kukkonen <jussi.kukkonen@intel.com>
+Date: Wed, 29 Mar 2017 15:11:59 +0300
+Subject: [PATCH] tests: Allow different output from mv
+
+busybox mv has different error messages: fix the test
+
+Upstream-Status: Inappropriate [embedded]
+Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
+---
+ test/failbackup.test | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/failbackup.test b/test/failbackup.test
+index 5f0f54f..0902b12 100644
+--- a/test/failbackup.test
++++ b/test/failbackup.test
+@@ -16,7 +16,7 @@ What happens when refresh fails because of a permission error?
+ $ cat > test.txt
+ < This is updated test.txt.
+ $ quilt refresh --backup
+- >~ mv: cannot move [`']?patches/test.diff'? to [`']?patches/test.diff~'?: Permission denied
++ >~ mv: .*: Permission denied
+ $ echo %{?}
+ > 1
+
+--
+2.17.1
+
diff --git a/meta/recipes-devtools/quilt/quilt/Makefile b/meta/recipes-devtools/quilt/quilt/Makefile
deleted file mode 100644
index 7b3ac8a492..0000000000
--- a/meta/recipes-devtools/quilt/quilt/Makefile
+++ /dev/null
@@ -1,13 +0,0 @@
-PATH := $(CURDIR)/bin:$(CURDIR)/compat:$(PATH)
-QUILT_DIR := $(CURDIR)/quilt
-QUILTRC := $(CURDIR)/test/test.quiltrc
-export QUILT_DIR QUILTRC
-CHECK_ENV := P=patches/; _P=../patches/; export P _P
--include test/.depend
-
-check-% : test/%.test
- @LANG=C; LC_ALL=C; \
- export LANG LC_ALL; \
- $(CHECK_ENV); \
- cd $(<D); \
- ./run -q $(<F)
diff --git a/meta/recipes-devtools/quilt/quilt/aclocal.patch b/meta/recipes-devtools/quilt/quilt/aclocal.patch
deleted file mode 100644
index daf44295ec..0000000000
--- a/meta/recipes-devtools/quilt/quilt/aclocal.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-Upstream-Status: Pending
-
-Add the aclocal.m4 as acinclude.m4
-
-Index: quilt-0.47/acinclude.m4
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ quilt-0.47/acinclude.m4 2006-10-10 17:05:56.000000000 +0100
-@@ -0,0 +1,119 @@
-+dnl Allow configure to specify a specific binary
-+dnl 1: Environment variable
-+dnl 2: binary name
-+dnl 3: optional list of alternative binary names
-+dnl 4: optional list of additional search directories
-+AC_DEFUN([QUILT_COMPAT_PROG_PATH],[
-+ m4_define([internal_$2_cmd],[esyscmd(ls compat/$2.in 2>/dev/null)])
-+
-+ AC_ARG_WITH($2, AC_HELP_STRING(
-+ [--with-$2], [name of the $2 executable to use]
-+ m4_if(internal_$2_cmd,[],[],[ (use --without-$2
-+ to use an internal mechanism)])),
-+ [
-+ if test x"$withval" = xnone; then
-+ AC_MSG_ERROR([Invalid configure argument. use --without-$2])
-+ fi
-+ if test x"$withval" != xno; then
-+ AC_MSG_CHECKING(for $2)
-+ $1="$withval"
-+ if test -e "$$1"; then
-+ if test ! -f "$$1" -a ! -h "$$1" || test ! -x "$$1"; then
-+ AC_MSG_ERROR([$$1 is not an executable file])
-+ fi
-+ fi
-+ AC_MSG_RESULT([$$1])
-+ if test ! -e "$$1"; then
-+ AC_MSG_WARN([$$1 does not exist])
-+ fi
-+ COMPAT_SYMLINKS="$COMPAT_SYMLINKS $2"
-+ fi
-+ ],[
-+ m4_if([$3],[],[
-+ AC_PATH_PROG($1,$2,,$PATH:$4)
-+ ],[
-+ AC_PATH_PROGS($1,$3,,$PATH:$4)
-+ if test -n "$$1" -a "`expr "$$1" : '.*/\([[^/]]*\)$'`" != "$2"; then
-+ COMPAT_SYMLINKS="$COMPAT_SYMLINKS $2"
-+ fi
-+ ])
-+ m4_if([$4],[],[],[
-+ if test -n "$$1"; then
-+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+ for dir in "$4"; do
-+ if test "`dirname $$1`" = "$dir"; then
-+ COMPAT_SYMLINKS="$COMPAT_SYMLINKS $2"
-+ break
-+ fi
-+ done
-+ IFS="$as_save_IFS"
-+ fi
-+ ])
-+ ])
-+ if test -z "$$1"; then
-+ m4_if(internal_$2_cmd,[],[
-+ AC_MSG_ERROR([Please specify the location of $2 with the option '--with-$2'])
-+ ],[
-+ AC_MSG_WARN([Using internal $2 mechanism. Use option '--with-$2' to override])
-+ COMPAT_PROGRAMS="$COMPAT_PROGRAMS $2"
-+ $1=$2
-+ INTERNAL_$1=1
-+ ])
-+ fi
-+ AC_SUBST($1)
-+])
-+
-+dnl Allow configure to specify a specific binary
-+dnl This variant is for optional binaries.
-+dnl 1: Environment variable
-+dnl 2: binary name
-+dnl 3: optional list of alternative binary names
-+dnl 4: optional list of additional search directories
-+AC_DEFUN([QUILT_COMPAT_PROG_PATH_OPT],[
-+ AC_ARG_WITH($2, AC_HELP_STRING(
-+ [--with-$2], [name of the $2 executable to use]),
-+ [
-+ if test x"$withval" != xno; then
-+ AC_MSG_CHECKING(for $2)
-+ $1="$withval"
-+ if test -e "$$1"; then
-+ if test ! -f "$$1" -a ! -h "$$1" || test ! -x "$$1"; then
-+ AC_MSG_ERROR([$$1 is not an executable file])
-+ fi
-+ fi
-+ AC_MSG_RESULT([$$1])
-+ if test ! -e "$$1"; then
-+ AC_MSG_WARN([$$1 does not exist])
-+ fi
-+ COMPAT_SYMLINKS="$COMPAT_SYMLINKS $2"
-+ fi
-+ ],[
-+ m4_if([$3],[],[
-+ AC_PATH_PROG($1,$2,,$PATH:$4)
-+ ],[
-+ AC_PATH_PROGS($1,$3,,$PATH:$4)
-+ if test -n "$$1" -a "`expr "$$1" : '.*/\([[^/]]*\)$'`" != "$2"; then
-+ COMPAT_SYMLINKS="$COMPAT_SYMLINKS $2"
-+ fi
-+ ])
-+ m4_if([$4],[],[],[
-+ if test -n "$$1"; then
-+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+ for dir in "$4"; do
-+ if test "`dirname $$1`" = "$dir"; then
-+ COMPAT_SYMLINKS="$COMPAT_SYMLINKS $2"
-+ break
-+ fi
-+ done
-+ IFS="$as_save_IFS"
-+ fi
-+ ])
-+ if test -z "$$1"; then
-+ AC_MSG_WARN([$2 not found, some optional functionalities will be missing])
-+ fi
-+ ])
-+ if test -z "$$1"; then
-+ $1=$2
-+ fi
-+ AC_SUBST($1)
-+])
diff --git a/meta/recipes-devtools/quilt/quilt/faildiff-order.patch b/meta/recipes-devtools/quilt/quilt/faildiff-order.patch
new file mode 100644
index 0000000000..f22065a250
--- /dev/null
+++ b/meta/recipes-devtools/quilt/quilt/faildiff-order.patch
@@ -0,0 +1,41 @@
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+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.34.1
+
diff --git a/meta/recipes-devtools/quilt/quilt/fix-grep-3.8.patch b/meta/recipes-devtools/quilt/quilt/fix-grep-3.8.patch
new file mode 100644
index 0000000000..68a4b4c195
--- /dev/null
+++ b/meta/recipes-devtools/quilt/quilt/fix-grep-3.8.patch
@@ -0,0 +1,144 @@
+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: 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>
+Upstream-Status: Backport [https://git.savannah.nongnu.org/cgit/quilt.git/commit/?id=f73f8d7f71de2878d3f92881a5fcb8eafd78cb5f]
+Signed-off-by: Alexander Kanavin <alex@linutronix.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 \
+--
+cgit v1.1
+
diff --git a/meta/recipes-devtools/quilt/quilt/install.patch b/meta/recipes-devtools/quilt/quilt/install.patch
deleted file mode 100644
index e2a7af6550..0000000000
--- a/meta/recipes-devtools/quilt/quilt/install.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Upstream-Status: Pending
-
---- quilt-0.47/Makefile.in 2008-12-31 19:09:13.000000000 +0000
-+++ quilt-0.47/Makefile.in.orig 2008-08-21 13:21:32.000000000 +0100
-@@ -13,7 +13,7 @@
- mandir := @mandir@
- localedir := $(datadir)/locale
- emacsdir := $(datadir)/emacs/site-lisp
--etcdir := $(subst /usr/etc,/etc,$(prefix)/etc)
-+etcdir := @sysconfdir@
-
- INSTALL := @INSTALL@
- POD2MAN := @POD2MAN@
diff --git a/meta/recipes-devtools/quilt/quilt/run-ptest b/meta/recipes-devtools/quilt/quilt/run-ptest
index 4b808aee4f..322508cbe2 100755
--- a/meta/recipes-devtools/quilt/quilt/run-ptest
+++ b/meta/recipes-devtools/quilt/quilt/run-ptest
@@ -1,8 +1,7 @@
#!/bin/sh
-THIS_SH=/bin/sh
-ln -sf /bin/ed /usr/bin/ed
-/usr/sbin/adduser --disabled-password quilttest
-su -c "${THIS_SH} ./test.sh" quilttest
+/usr/sbin/adduser --disabled-password --gecos "" quilttest
+
+su -c ./test.sh quilttest
+
/usr/sbin/deluser quilttest
-rm -f /usr/bin/ed
diff --git a/meta/recipes-devtools/quilt/quilt/test.sh b/meta/recipes-devtools/quilt/quilt/test.sh
index 6563e4a2fb..7dac8f4423 100755
--- a/meta/recipes-devtools/quilt/quilt/test.sh
+++ b/meta/recipes-devtools/quilt/quilt/test.sh
@@ -1 +1,24 @@
-for i in `ls test/*.test |awk -F. '{print $1}' |awk -F/ '{print $2}'`; do make check-$i; if [ $? -eq 0 ]; then echo PASS: $i.test; else echo FAIL: $i.test; fi; done
+#! /bin/sh
+
+set -e -u
+
+export LANG=C
+export LC_ALL=C
+export P=patches/
+export _P=../patches/
+export QUILTRC=$(pwd)/test/test.quiltrc
+export QUILT_PC=.pc
+export QUILT_DIR=/usr/share/quilt/
+
+# Specify on the commandline, else runs all of the tests
+TESTS=${@:-test/*.test}
+
+for FILENAME in $TESTS; do
+ TESTNAME=$(basename $FILENAME .test)
+ ./test/run $FILENAME
+ if [ $? -eq 0 ];
+ then echo PASS: $TESTNAME
+ else
+ echo FAIL: $TESTNAME
+ fi
+done