patch/patch.spec

88 lines
2.6 KiB
RPMSpec
Raw Normal View History

#
# spec file for package patch
#
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: patch
Version: 2.7.6
Release: 0
Summary: GNU patch
License: GPL-3.0-or-later
Group: Productivity/Text/Utilities
URL: http://ftp.gnu.org/gnu/patch/
Source: http://ftp.gnu.org/gnu/patch/%{name}-%{version}.tar.xz
Source2: http://ftp.gnu.org/gnu/patch/%{name}-%{version}.tar.xz.sig
Source3: http://savannah.gnu.org/project/memberlist-gpgkeys.php?group=patch&download=1#/patch.keyring
Patch1: fix-segfault-mangled-rename.patch
Patch2: ed-style-01-missing-input-files.patch
Patch3: ed-style-02-fix-arbitrary-command-execution.patch
Patch4: ed-style-03-update-test-Makefile.patch
Patch5: ed-style-04-invoke-ed-directly.patch
Patch6: ed-style-05-minor-cleanups.patch
Patch7: ed-style-06-fix-test-failure.patch
Patch8: ed-style-07-dont-leak-tmp-file.patch
Patch9: ed-style-08-dont-leak-tmp-file-multi.patch
Patch10: fix-swapping-fake-lines-in-pch_swap.patch
Patch11: abort-when-cleaning-up-fails.patch
Patch12: dont-follow-symlinks-unless-asked.patch
Patch13: pass-the-correct-stat-to-backup-files.patch
# See bnc#662957. The fix for CVE-2010-4651 breaks the way interdiff was
# invoking patch, so interdiff had to be fixed too.
Conflicts: patchutils < 0.3.2
BuildRequires: ed
%if 0%{?suse_version} < 1220
BuildRequires: xz
%endif
%description
The GNU patch program is used to apply diffs between original and
changed files (generated by the diff command) to the original files.
%prep
- Version 2.7.1 + Patch no longer gets a failed assertion for certain mangled patches. + Ignore destination file names that are absolute or that contain a component of "..", except when working in the root directory. This addresses CVE-2010-4651. + Support for most features of the "diff --git" format, including renames and copies, permission changes, and symlink diffs. Binary diffs are not supported yet; patch will complain and skip them. + Support for double-quoted filenames: when a filename starts with a double quote, it is interpreted as a C string literal. The escape sequences \\, \", \a, \b, \f, \n, \r, \t, \v, and \ooo (a three-digit octal number between 0 and 255) are recognized. + Refuse to apply a normal patch to a symlink. (Previous versions of patch were replacing the symlink with a regular file.) + New --follow-symlinks option to allow to treat symlinks as files: this was patch's behavior before version 2.7. + When trying to modify a read-only file, warn about the potential problem by default. The --read-only command line option allows to change this behavior. + Files to be deleted are deleted once the entire input has been processed, not immediately. This fixes a bug with numbered backup files. + When a timestamp specifies a time zone, honor that instead of assuming the local time zone (--set-date) or Universal Coordinated Time (--set-utc). + Support for nanosecond precision timestamps. + Many bug fixes. + Clarify the message printed when a patch is expected to empty out and delete a file, but the file does not become empty. + Various improvements to messages when applying a patch to a file of different type (regular file vs. symlink), when there are line ending differences (LF vs. CRLF), and when in --dry-run mode. + Ignore when extended attributes cannot be preserved because they are unsupported or because permission to set them is denied. - patch-revert-e0f70752.patch: Dropped, original bug fixed upstream. - patch-stdio.in.patch: Dropped, merged upstream. OBS-URL: https://build.opensuse.org/package/show/devel:tools/patch?expand=0&rev=35
2012-12-06 15:43:28 +01:00
%setup -q
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%build
export CFLAGS="%{optflags} -Wall -O2 -pipe"
%configure
make %{?_smp_mflags}
%check
make %{?_smp_mflags} check
%install
make install DESTDIR=%{buildroot}
%files
%doc AUTHORS NEWS README
%license COPYING
%{_bindir}/patch
%{_mandir}/man1/patch.1%{ext_man}
%changelog