commit quilt for openSUSE:Factory
Hello community, here is the log from the commit of package quilt for openSUSE:Factory checked in at 2014-10-31 18:27:05 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/quilt (Old) and /work/SRC/openSUSE:Factory/.quilt.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "quilt" Changes: -------- --- /work/SRC/openSUSE:Factory/quilt/quilt.changes 2014-10-11 19:25:56.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.quilt.new/quilt.changes 2014-10-31 18:27:07.000000000 +0100 @@ -1,0 +2,15 @@ +Tue Oct 14 13:07:53 CEST 2014 - jdelvare@suse.de + +- quilt-check-modified-series.patch: Check for series file + consistency. +- setup-fix-tar-with-long-options.patch, + inspect-skip-version-check.patch: Update upstream status. + +------------------------------------------------------------------- +Thu Oct 9 15:00:35 CEST 2014 - jdelvare@suse.de + +- inspect-skip-version-check.patch: Skip version check when + running "quilt setup" on a spec file. The previous fix only + worked when running "quilt setup" on a series file. + +------------------------------------------------------------------- New: ---- inspect-skip-version-check.patch quilt-check-modified-series.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ quilt.spec ++++++ --- /var/tmp/diff_new_pack.zqlETh/_old 2014-10-31 18:27:08.000000000 +0100 +++ /var/tmp/diff_new_pack.zqlETh/_new 2014-10-31 18:27:08.000000000 +0100 @@ -49,6 +49,8 @@ Patch8: quilt-format-options-pass-through.patch Patch9: pop-add-auto-refresh.patch Patch10: push-add-auto-refresh.patch +Patch11: inspect-skip-version-check.patch +Patch12: quilt-check-modified-series.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch Recommends: procmail @@ -78,6 +80,8 @@ %patch8 -p1 %patch9 -p1 %patch10 -p1 +%patch11 -p1 +%patch12 -p1 %build # --with-rpmbuild=/usr/lib/rpm/rpmb: ++++++ inspect-skip-version-check.patch ++++++ From: Jean Delvare <jdelvare@suse.de> Subject: inspect: Skip version check Upstream: Committed (6a5fcdc24dc47419da4cd688fe7fbfa189c91976) Commit a626fcf8b95f2ff51701a00d65043b9f65207514 (setup: Skip version check) is insufficient for spec file-based setup commands. inspect itself also sources patchfns, so it must also skip the version check explicitly. --- quilt/scripts/inspect.in | 3 +++ 1 file changed, 3 insertions(+) --- a/quilt/scripts/inspect.in +++ b/quilt/scripts/inspect.in @@ -8,6 +8,9 @@ : ${QUILT_DIR=@QUILT_DIR@} +# Version check is irrelevant to this script. +skip_version_check=1 + if ! [ -r $QUILT_DIR/scripts/patchfns ] then echo "Cannot read library $QUILT_DIR/scripts/patchfns" >&2 ++++++ quilt-check-modified-series.patch ++++++ From: Jean Delvare <jdelvare@suse.de> Subject: Check for series file consistency Upstream: Submitted (2014-10-14) Quilt allows manual changes to the series file to some degree. For example, adding comments or reordering patches in the unapplied section of the series file is OK. However, changing the order of applied patches breaks a number of assumptions and can cause quilt to produce unexpected or confusing results. For example, starting from this: + patches/01.patch = patches/02.patch patches/03.patch patches/04.patch and moving the last patch at the beginning of the series file, "quilt series -v" will print: + patches/04.patch + patches/01.patch = patches/02.patch patches/03.patch That is, it will claim that 04.patch is applied, while it it not. Likewise, 04.patch would be listed by neither "quilt applied" nor "quilt unapplied". While addressing all such cases would certainly be possible, that would require a significant amount of work, and would come with performance penalties. It would also be difficult to be certain that all issues have been found and addressed. So it seems more reasonable to simply spot such manual changes to the series file and ask the user to pop all patches to start from a clean state as needed. --- quilt/scripts/patchfns.in | 35 ++++++++++++++++++++++++++++++++--- test/altered-series.test | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+), 3 deletions(-) --- a/quilt/scripts/patchfns.in +++ b/quilt/scripts/patchfns.in @@ -948,6 +948,24 @@ version_check() return 1 } +consistency_check() +{ + local top applied patches + + top=$(top_patch) + applied=$(applied_before "$top") + patches=$(patches_before "$top") + + if [ "$applied" != "$patches" ] + then + return 1 + else + # Skip check until series file is modified again + touch "$DB" + return 0 + fi +} + print_patch() { echo "${QUILT_PATCHES_PREFIX:+$SUBDIR_DOWN$QUILT_PATCHES/}$1" @@ -1094,10 +1112,21 @@ fi DB="$QUILT_PC/applied-patches" -if [ -z "$skip_version_check" ] && ! version_check +if [ -z "$skip_version_check" ] then - printf $"The working tree was created by an older version of quilt. Please run 'quilt upgrade'.\n" >&2 - exit 1 + if ! version_check + then + printf $"The working tree was created by an older version of quilt. Please run 'quilt upgrade'.\n" >&2 + exit 1 + fi + + # Check if series file was modified manually, and if this is the case, + # make sure it is still consistent with the applied patches + if [ -s "$DB" -a ! "$DB" -nt "$SERIES" ] && [ "$QUILT_COMMAND" != pop ] && ! consistency_check + then + printf $"The series file no longer matches the applied patches. Please run 'quilt pop -a'.\n" >&2 + exit 1 + fi fi ### Local Variables: ### mode: shell-script --- /dev/null +++ b/test/altered-series.test @@ -0,0 +1,44 @@ +# Check that manual changes to the series file are detected + +$ mkdir patches +$ cat > patches/series +< 01.patch +< 02.patch +< 03.patch + +$ quilt push -q +> Applying patch patches/01.patch +> Patch patches/01.patch does not exist; applied empty patch +> Now at patch patches/01.patch + +$ quilt series -v +> = patches/01.patch +> patches/02.patch +> patches/03.patch + +# Touch the series file but preserve the order -> OK +$ touch patches/series + +$ quilt series -v +> = patches/01.patch +> patches/02.patch +> patches/03.patch + +# Change the order of the patch series -> complain +$ cat > patches/series +< 03.patch +< 01.patch +< 02.patch + +$ quilt series -v +> The series file no longer matches the applied patches. Please run 'quilt pop -a'. + +$ quilt pop -a +> Patch patches/01.patch appears to be empty, removing +> +> No patches applied + +$ quilt series -v +> patches/03.patch +> patches/01.patch +> patches/02.patch ++++++ setup-fix-tar-with-long-options.patch ++++++ --- /var/tmp/diff_new_pack.zqlETh/_old 2014-10-31 18:27:08.000000000 +0100 +++ /var/tmp/diff_new_pack.zqlETh/_new 2014-10-31 18:27:08.000000000 +0100 @@ -1,6 +1,6 @@ From: Jean Delvare <jdelvare@suse.de> Subject: inspect: Handle long options passed to tar -Upstream: Submitted +Upstream: Committed (1e9f433f693b4ee09ebf3267222b11694448e81f) The command line interface to tar is complex and sometimes confusing, but we should still do our best to figure out where the file name is -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de