summaryrefslogtreecommitdiff
path: root/devel/patch
diff options
context:
space:
mode:
authorryoon <ryoon>2014-01-01 05:32:27 +0000
committerryoon <ryoon>2014-01-01 05:32:27 +0000
commit5957187986ad7f8438272d2dc673f7b5333e961c (patch)
treefb2171a69f7291f58b478416103c9d7d414ee1e8 /devel/patch
parent1a919bd6cbf66727e148ac1a23b4896426da30d9 (diff)
downloadpkgsrc-5957187986ad7f8438272d2dc673f7b5333e961c.tar.gz
Update to 2.7.1
Changelog: Changes in version 2.7.1: * Two critical bug fixes in the "diff --git" format support. * 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. * When in the root directory, allow file names that are absolute or that contain a component of "..". * New --follow-symlinks option to allow to treat symlinks as files: this was patch's behavior before version 2.7. * Ignore when extended attributes cannot be preserved because they are unsupported or because permission to set them is denied. * License clarifications in NEWS and README. * Portability bug fixes. Changes in version 2.7: * Patch no longer gets a failed assertion for certain mangled patches. * Ignore destination file names that are absolute or that contain a component of "..". 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.) * 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 portability and bug fixes. Changes in version 2.6.1: * Support for diff3(1) style merges which show the old, original, and new lines of a conflict has been added (--merge=diff3). The default still is the merge(1) format (--merge or --merge=merge). * Bug and portability fixes. Changes in version 2.6: * A regression test suite has been added ("make check"). * A --merge option has been added which will merge a patch file into the original files similar to merge(1). See the patch(1) manual page for documentation. * Unless a filename has been specified on the command line, look only for filenames in the patch until one has been found. This prevents patch from tripping over garbage that isn't a patch. When conforming to POSIX, this behavior is turned off and patch will ask for a filename if none is found. * All reject files have file name headers, which allows them to be used as regular patches. * When a patch file modifies the same file more than once, patch makes sure it backs up the original version of the file rather than any intermediary versions. * In the above situation, if there are rejects in more than one of those patches, they all go into the same reject file. * When the file to be patched is specified on the command line, all patches are applied to that file. (Previously, the first patch was applied to the file specified on the command line, and the names of additional files to patch were taken from header lines in the patch file.) * The -r option now works correctly even if there are rejects in more than one file. Use the - argument to discard rejects. * Rejected hunks come out in unified diff format if the input patch was of that format, otherwise in ordinary context diff form. Use the --reject-format option to enforce either "context" or "unified" format. Timestamps and the "diff -p" (--show-c-function) output are preserved. Changed lines in context format reject files are correctly indicated with '!' markers as the format defines. Added and removed lines are still marked with '+' and '-', respectively. * The file permissions of reject files are no longer set to match the files they modify. Instead, they retain the default permissions. This is consistent with reject files produced with the -r option. * The --binary option disables the heuristic for stripping CRs from line endings in patches. This allows to preserve CRs even in mangled patches, or in patches generated on non-POSIX systems and without the --binary option. * Backup files for nonexisting files are now created with default permissions rather than with mode 0: backup files with mode 0 were causing problems with applications which do not expect unreadable files. * The -B, -Y, and -z options (--prefix, --basename-prefix, --suffix) now imply the simple version control mode, and can be combined. * Patch rejects more malformed normal format commands and checks for trailing garbage. It now recognizes ed commands without addresses. * Change the default value of PATCH_GET to 0. (Previously, the default was 0 under POSIXLY_CORRECT and negative otherwise; this is causing problems particularly with Perforce.) * Handle missing timestamps better. * Various bug fixes. * Switch to GNU General Public License version 3.
Diffstat (limited to 'devel/patch')
-rw-r--r--devel/patch/Makefile17
-rw-r--r--devel/patch/distinfo8
2 files changed, 11 insertions, 14 deletions
diff --git a/devel/patch/Makefile b/devel/patch/Makefile
index 55edae24bd4..122ebf2bcf2 100644
--- a/devel/patch/Makefile
+++ b/devel/patch/Makefile
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.37 2012/12/31 00:27:36 sbd Exp $
+# $NetBSD: Makefile,v 1.38 2014/01/01 05:32:27 ryoon Exp $
-DISTNAME= patch-2.5.9
-PKGREVISION= 2
+DISTNAME= patch-2.7.1
CATEGORIES= devel
# We keep an uncompressed tar archive of the sources on
# ${MASTER_SITE_LOCAL} so that we won't need gzcat to extract the
@@ -15,29 +14,27 @@ EXTRACT_SUFX= .tar
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.gnu.org/software/patch/patch.html
COMMENT= Patch files using diff output
-LICENSE= gnu-gpl-v2
+LICENSE= gnu-gpl-v3
PKG_INSTALLATION_TYPES= overwrite pkgviews
GNU_CONFIGURE= yes
+USE_TOOLS+= awk
.include "../../mk/bsd.prefs.mk"
CONFIGURE_ARGS+= --program-prefix=g
-INSTALL_MAKE_FLAGS= bindir=${DESTDIR}${PREFIX}/bin \
- man1dir=${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
-
INSTALLATION_DIRS= ${PKGGNUDIR}bin ${PKGGNUDIR}${PKGMANDIR}/man1
do-patch:
- ${MV} ${WRKSRC}/pch.c ${WRKSRC}/pch.c.orig
+ ${MV} ${WRKSRC}/src/pch.c ${WRKSRC}/src/pch.c.orig
${AWK} '/#include <pch.h>/{print $$0 "\n#include <sys/param.h>";next;}\
/^#if HAVE_SETMODE_DOS/ \
{gsub(/^#if HAVE_SETMODE_DOS/,"#if defined(HAVE_SETMODE_DOS) \\&\\& !(defined(BSD) \\&\\& BSD >= 199306) \\&\\& !defined(__INTERIX)");print $$0; next; } \
{print $$0;}' \
- < ${WRKSRC}/pch.c.orig \
- > ${WRKSRC}/pch.c
+ < ${WRKSRC}/src/pch.c.orig \
+ > ${WRKSRC}/src/pch.c
SYMLINKS = bin/gpatch ${PKGGNUDIR}bin/patch \
man/man1/gpatch.1 ${PKGGNUDIR}${PKGMANDIR}/man1/patch.1
diff --git a/devel/patch/distinfo b/devel/patch/distinfo
index 337441a3785..6043f90934b 100644
--- a/devel/patch/distinfo
+++ b/devel/patch/distinfo
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.6 2011/07/09 10:32:17 tron Exp $
+$NetBSD: distinfo,v 1.7 2014/01/01 05:32:27 ryoon Exp $
-SHA1 (patch-2.5.9.tar) = cef413b13e514344bab923f5addb286a574d86a7
-RMD160 (patch-2.5.9.tar) = 47f611840f16a4482af4742e63f24da5cd7ab5ee
-Size (patch-2.5.9.tar) = 950784 bytes
+SHA1 (patch-2.7.1.tar) = abf70cd7798af8421388a68139756f851d1e8e76
+RMD160 (patch-2.7.1.tar) = 70aa4f9590a7a63740c6af2355c7c2cb1560fbaa
+Size (patch-2.7.1.tar) = 4536320 bytes