diff options
Diffstat (limited to 'meta/recipes-devtools/quilt/quilt')
-rw-r--r-- | meta/recipes-devtools/quilt/quilt/0001-tests-Allow-different-output-from-mv.patch | 29 | ||||
-rw-r--r-- | meta/recipes-devtools/quilt/quilt/Makefile | 13 | ||||
-rw-r--r-- | meta/recipes-devtools/quilt/quilt/aclocal.patch | 128 | ||||
-rw-r--r-- | meta/recipes-devtools/quilt/quilt/faildiff-order.patch | 41 | ||||
-rw-r--r-- | meta/recipes-devtools/quilt/quilt/fix-grep-3.8.patch | 144 | ||||
-rw-r--r-- | meta/recipes-devtools/quilt/quilt/install.patch | 13 | ||||
-rwxr-xr-x | meta/recipes-devtools/quilt/quilt/run-ptest | 9 | ||||
-rwxr-xr-x | meta/recipes-devtools/quilt/quilt/test.sh | 25 |
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 |