diff --git a/quilt-0.68.tar.xz b/quilt-0.68.tar.xz deleted file mode 100644 index 897d263..0000000 --- a/quilt-0.68.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:aa4f3f1ddcdbd135bfd99df26159a1fe65a1d6b571afb5b063995184c490eaa3 -size 468692 diff --git a/quilt-0.69.tar.xz b/quilt-0.69.tar.xz new file mode 100644 index 0000000..570e7ce --- /dev/null +++ b/quilt-0.69.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:000ec454d659d09d98e4847ec1448140ba8cc14f2f9028d1ee95ea31e7683c51 +size 469476 diff --git a/quilt.changes b/quilt.changes index 2524248..1fc4f1c 100644 --- a/quilt.changes +++ b/quilt.changes @@ -1,3 +1,46 @@ +------------------------------------------------------------------- +Tue Apr 29 12:28:28 UTC 2025 - Jean Delvare + +- Update to version 0.69: + * Fix escaping of % and backslash in patch names + * new: Stop claiming support of option -p ab + * patches: Several performance optimizations + * series: Simplify the code + * Obsoletes fix-two-exit-values.patch + * Obsoletes guards-fix-exit-operator-precedence-error.patch + * Obsoletes inspect-wrapper-fix-rpm-4.20.patch + * Obsoletes setup-implement-a-spec-filter-library.patch + * Obsoletes setup-new-option-spec-filter.patch + * Obsoletes setup-pass-define-to-rpmbuild-instead-of-eval-define.patch +- setup-deal-with-ExclusiveArch.patch: Make it possible to run + "quilt setup" on a spec file which excludes the local + architecture (boo#1238516). + +------------------------------------------------------------------- +Mon Mar 17 15:27:54 UTC 2025 - Jean Delvare + +- Drop obsolete suse version checks (reported by rpmlint). + +------------------------------------------------------------------- +Mon Mar 17 14:34:07 UTC 2025 - Jean Delvare + +- guards-fix-exit-operator-precedence-error.patch, + fix-two-exit-values.patch: Avoid a perl warning due to missing + parentheses when using the ?: operator to compute an exit value. +- setup-pass-define-to-rpmbuild-instead-of-eval-define.patch: Fix + building noarch packages with rpm >= 4.20 (boo#1236907). +- setup-new-option-spec-filter.patch, + setup-implement-a-spec-filter-library.patch: Make it possible to + preprocess spec files which do not comply with the standard. Most + notably multibuild OBS spec files need to be preprocessed. Use + option "--spec-filter=obs" for these (boo#1236907). +- inspect-wrapper-fix-rpm-4.20.patch: Detect the change of build + root path hierarchy introduced by rpm 4.20 (boo#1236907). +- Drop suse-workaround-pseudo-release.patch, superseded by new + option --spec-filter. +- Install the bash completion file to the right directory (reported + by rpmlint). + ------------------------------------------------------------------- Thu Mar 28 13:37:03 UTC 2024 - Jean Delvare diff --git a/quilt.spec b/quilt.spec index cde1582..3feba9a 100644 --- a/quilt.spec +++ b/quilt.spec @@ -1,7 +1,7 @@ # # spec file for package quilt # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,14 +17,16 @@ Name: quilt -Version: 0.68 +Version: 0.69 Release: 0 Summary: A Tool for Working with Many Patches License: GPL-2.0-or-later Group: Development/Tools/Version Control +BuildRequires: bash-completion-devel BuildRequires: diffstat BuildRequires: ed BuildRequires: emacs-nox +BuildRequires: pkg-config BuildRequires: xz Requires: coreutils Requires: diffstat @@ -39,8 +41,8 @@ Requires: perl URL: http://savannah.nongnu.org/projects/quilt Source: %{name}-%{version}.tar.xz Source1: suse-start-quilt-mode.el +Patch1: setup-deal-with-ExclusiveArch.patch Patch82: quilt-support-vimdiff.patch -Patch84: suse-workaround-pseudo-release.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch %if 0%{?suse_version} @@ -49,11 +51,7 @@ Recommends: bzip2 Recommends: ed Recommends: procmail Recommends: unzip -%endif -%if 0%{?suse_version} > 1120 Recommends: xz -%endif -%if 0%{?suse_version} > 1210 Recommends: zstd %endif @@ -98,7 +96,9 @@ export NO_BRP_STALE_LINK_ERROR=yes make install BUILD_ROOT=%{buildroot} install -m 644 lib/quilt.elc \ %{buildroot}%{_datadir}/emacs/site-lisp/ -mv %{buildroot}%{_sysconfdir}/bash_completion.d/quilt{,.sh} +%define completionsdir %(pkg-config --variable completionsdir bash-completion) +install -m 755 -d %{buildroot}%{completionsdir} +mv %{buildroot}%{_sysconfdir}/bash_completion.d/quilt %{buildroot}%{completionsdir}/quilt # We only needed the /usr/bin/patch compatibility symlink for the # test suite. [ %{buildroot}%{_datadir}/quilt/compat/patch -ef /usr/bin/patch ] \ @@ -118,8 +118,8 @@ install -m 644 %_sourcedir/suse-start-quilt-mode.el \ %{_bindir}/quilt %{_datadir}/quilt/ %{_datadir}/emacs/ +%{completionsdir}/quilt %config %{_sysconfdir}/quilt.quiltrc -%config %{_sysconfdir}/bash_completion.d/quilt.sh %doc %{_mandir}/man1/guards.1.gz %doc %{_mandir}/man1/quilt.1.gz %doc doc/README diff --git a/setup-deal-with-ExclusiveArch.patch b/setup-deal-with-ExclusiveArch.patch new file mode 100644 index 0000000..29be28c --- /dev/null +++ b/setup-deal-with-ExclusiveArch.patch @@ -0,0 +1,71 @@ +From: Jean Delvare +Subject: Let quilt setup deal with ExclusiveArch +References: boo#1238516 + +If the spec file includes an ExclusiveArch statement and the local +architecture isn't part of the list, rpmbuild will fail. Check for +the presence of this statement before calling rpmbuild, and if it +would fail, pass option --target to set the architecture to a +supported one. +--- + quilt/setup.in | 35 ++++++++++++++++++++++++++++++++++- + 1 file changed, 34 insertions(+), 1 deletion(-) + +--- a/quilt/setup.in ++++ b/quilt/setup.in +@@ -270,6 +270,7 @@ inspect() + --define "__unzip $tmpdir/bin/unzip" \ + --define "__7zip $tmpdir/bin/7z" \ + "${DEFINE_FUZZ[@]}" \ ++ "${FORCE_ARCH[@]}" \ + --nodeps \ + -bp "$specdir/$specfile" < /dev/null >&5 2>&5 + status=$? +@@ -343,7 +344,36 @@ eval set -- "$options" + export QUILT_SETUP_FAST=1 + prefix= + sourcedir= +-declare -a DEFINE_FUZZ ++declare -a DEFINE_FUZZ FORCE_ARCH ++ ++# Sets FORCE_ARCH if needed ++check_exclusivearch() ++{ ++ local spec_file=$1 our_arch a ++ local -a archs ++ ++ archs=( $(sed -ne 's/^ExclusiveArch:[[:space:]]*\(.*\)$/\1/p' "$spec_file") ) ++ if [ ${#archs[@]} -eq 0 ] ++ then ++ return ++ fi ++ ++ # ExclusiveArch statement is present ++ our_arch=$(arch 2>/dev/null) ++ for a in "${archs[@]}" ++ do ++ if [ "$a" == "$our_arch" ] ++ then ++ # We are in the list, so no problem ++ return ++ fi ++ done ++ ++ # We are not in the exclusive arch list. Force the target to the ++ # first listed architecture to make rpmbuild happy. ++ ++ FORCE_ARCH=( "--target" "${archs[0]}" ) ++} + + while true + do +@@ -417,6 +447,9 @@ case "$1" in + # check if rpmbuild is installed before running inspect + check_external_tool rpmbuild rpm-build + ++ # check if ExclusiveArch statement would block rpmbuild ++ check_exclusivearch "$spec_file" ++ + if [ -n "$QUILT_SETUP_FAST" ] + then + if [ "${prefix:0:1}" = / ] diff --git a/suse-workaround-pseudo-release.patch b/suse-workaround-pseudo-release.patch deleted file mode 100644 index 94e686a..0000000 --- a/suse-workaround-pseudo-release.patch +++ /dev/null @@ -1,27 +0,0 @@ -Upstream: Never - -Old Suse spec files have a pseudo release string which uses characters -newer versions of rpmbuild don't like. Filter them out to make rpmbuild -happy again. Packages in openSUSE 11.4 and later no longer need this. - ---- - quilt/setup.in | 8 ++++++++ - 1 file changed, 8 insertions(+) - ---- a/quilt/setup.in -+++ b/quilt/setup.in -@@ -213,6 +213,14 @@ inspect() - ln -s $QUILT_DIR/scripts/inspect-wrapper $tmpdir/bin/unzip - ln -s $QUILT_DIR/scripts/inspect-wrapper $tmpdir/bin/7z - -+ # Older versions of Suse packages have a symbolic release number, and -+ # rpmbuild won't like that, so change it to something compliant. -+ if grep -q '^Release:.*[<>]' "$specdir/$specfile" -+ then -+ sed -e '/^Release:/s/[<>]//g' < "$specdir/$specfile" > $tmpdir/"$specfile" -+ specdir=$tmpdir -+ fi -+ - # Redirect file descriptors - # 5 is used in verbose mode, 4 in non-verbose mode, and 2 for both (real errors) - if [ -n "$verbose" ]