From ac6b75e15abf75c492c906e148ae0a762184560e Mon Sep 17 00:00:00 2001 From: wiz Date: Mon, 16 Jan 2017 11:45:14 +0000 Subject: Updated gsed to 4.3. * Noteworthy changes in release 4.3 (2016-12-30) [stable] ** Improvements sed's regular expression matching is now typically 10x faster sed now uses unlocked-io where available, resulting in faster I/O operations. ** Bug fixes sed no longer mishandles anchors ^/$ in multiline regex (s///mg) with -z option (NUL terminated lines). [Bug introducted in sed-4.2.2 with the initial implementation of -z] sed no longer accepts a ":" command without a label; before, it would treat that as defining a label whose name is empty, and subsequent label-free "t" and "b" commands would use that label. Now, sed emits a diagnostic and fails for that invalid construct. sed no longer accesses uninitialized memory when processing certain invalid multibyte sequences. Demonstrate with this: echo a | LC_ALL=ja_JP.eucJP valgrind sed/sed 's/a/b\U\xb2c/' The error appears to have been introduced with the sed-4.0a release. The 'y' (transliterate) operator once again works with a NUL byte on the RHS. E.g., sed 'y/b/\x00/' now works like tr b '\0'. GNU sed has never before recognized \x00 in this context. However, sed-3.02 and prior did accept a literal NUL byte in the RHS, which was possible only when reading a script from a file. For example, this: echo abc|sed -f <(printf 'y/b/\x00/\n')|cat -A is what stopped working. [bug introduced some time after sed-3.02 and prior to the first sed-4* test release] When the closed-above line number ranges of N editing commands overlap (N>1), sed would apply commands 2..N to the line just beyond the largest range endpoint. [bug introduced some time after sed-4.09 and prior to release in sed-4.1] Before, this command would mistakenly modify line 5: $ seq 6|sed '2,4d;2,3s/^/x/;3,4s/^/y/' 1 yx5 6 Now, it does not: $ seq 6|sed '2,4d;2,3s/^/x/;3,4s/^/y/' 1 5 6 An erroneous sed invocation like "echo > F; sed -i s//b/ F" no longer leaves behind a temporary file. Before, that command would create a file alongside F with a name matching /^sed......$/ and fail to remove it. sed --follow-symlinks now works again for stdin. [bug introduced in sed-4.2.2] sed no longer elides invalid bytes in a substitution RHS. Now, sed copies such bytes into the output, just as Perl does. [bug introduced in sed-4.1 -- it was also present prior to 4.0.6] sed no longer prints extraneous character when a backslash follows \c. '\c\\' generates control character ^\ (ASCII 0x1C). Other characters after the second backslash are rejected (e.g. '\c\d'). [bug introduced in the sed-4.0.* releases] sed no longer mishandles incomplete multibyte sequences in s,y commands and valid multibyte SHIFT-JIS characters in character classes. Previously, the following commands would fail: LC_ALL=en_US.UTF-8 sed $'s/\316/X/' LC_ALL=ja_JP.shiftjis sed $'/[\203]/]/p' [bug introduced some time after sed-4.1.5 and before sed-4.2.1] ** Feature removal The "L" command (format a paragraph like the fmt(1) command would) has been listed in the documentation as a failed experiment for at least 10 years. That command is now removed. ** Build-related "make dist" now builds .tar.xz files, rather than .tar.gz ones. xz is portable enough and in wide-enough use that distributing only .tar.xz files is enough. It has been fine for coreutils, grep, diffutils and parted for a few years. ** New Features new --sandbox option rejects programs with r/w/e commands. * Noteworthy changes in release 4.2.2 (2012-12-22) [stable] * don't misbehave (truncate input) for lines of length 2^31 and longer * fix endless loop on incomplete multibyte sequences * -u also does unbuffered input, rather than unbuffered output only * New command `F' to print current input file name * sed -i, s///w, and the `w' and `W' commands also obey the --binary option (and create CR/LF-terminated files if the option is absent) * --posix fails for scripts (or fragments as passed to the -e option) that end in a backslash, as they are not portable. * New option -z (--null-data) to separate lines by ASCII NUL characters. * \x26 (and similar escaped sequences) produces a literal & in the replacement argument of the s/// command, rather than including the matched text. --- textproc/gsed/Makefile | 7 +++---- textproc/gsed/PLIST | 3 ++- textproc/gsed/distinfo | 13 +++++++------ textproc/gsed/patches/patch-Makefile.in | 16 ++++++++++++++++ textproc/gsed/patches/patch-sed_utils.c | 8 ++++---- 5 files changed, 32 insertions(+), 15 deletions(-) create mode 100644 textproc/gsed/patches/patch-Makefile.in (limited to 'textproc/gsed') diff --git a/textproc/gsed/Makefile b/textproc/gsed/Makefile index 8cade634df8..66791a29444 100644 --- a/textproc/gsed/Makefile +++ b/textproc/gsed/Makefile @@ -1,11 +1,10 @@ -# $NetBSD: Makefile,v 1.48 2014/10/09 14:07:01 wiz Exp $ +# $NetBSD: Makefile,v 1.49 2017/01/16 11:45:14 wiz Exp $ -DISTNAME= sed-4.2.2 +DISTNAME= sed-4.3 PKGNAME= g${DISTNAME} -PKGREVISION= 4 CATEGORIES= textproc editors MASTER_SITES= ${MASTER_SITE_GNU:=sed/} -EXTRACT_SUFX= .tar.bz2 +EXTRACT_SUFX= .tar.xz MAINTAINER= pkgsrc-users@NetBSD.org HOMEPAGE= http://www.gnu.org/software/sed/sed.html diff --git a/textproc/gsed/PLIST b/textproc/gsed/PLIST index 843fe20d26d..214cbd44b86 100644 --- a/textproc/gsed/PLIST +++ b/textproc/gsed/PLIST @@ -1,4 +1,4 @@ -@comment $NetBSD: PLIST,v 1.16 2013/01/06 00:35:40 wiz Exp $ +@comment $NetBSD: PLIST,v 1.17 2017/01/16 11:45:14 wiz Exp $ bin/gsed gnu/bin/sed gnu/man/man1/sed.1 @@ -6,6 +6,7 @@ info/sed.info man/man1/gsed.1 share/locale/af/LC_MESSAGES/sed.mo share/locale/ast/LC_MESSAGES/sed.mo +share/locale/bg/LC_MESSAGES/sed.mo share/locale/ca/LC_MESSAGES/sed.mo share/locale/cs/LC_MESSAGES/sed.mo share/locale/da/LC_MESSAGES/sed.mo diff --git a/textproc/gsed/distinfo b/textproc/gsed/distinfo index 0e4e4a30931..40075b82d04 100644 --- a/textproc/gsed/distinfo +++ b/textproc/gsed/distinfo @@ -1,7 +1,8 @@ -$NetBSD: distinfo,v 1.21 2015/11/04 01:59:30 agc Exp $ +$NetBSD: distinfo,v 1.22 2017/01/16 11:45:14 wiz Exp $ -SHA1 (sed-4.2.2.tar.bz2) = f17ab6b1a7bcb2ad4ed125ef78948092d070de8f -RMD160 (sed-4.2.2.tar.bz2) = 24797695f49c6bfd73236d1764f69fd3f9352202 -SHA512 (sed-4.2.2.tar.bz2) = dbbb0bb348fac54612d29182c09c88bda7096dea03bd94f03c580c24146e65a06db12808c6a1a9adc94548fa3843511e3e80b251cb07142110cf149eab23f573 -Size (sed-4.2.2.tar.bz2) = 1059414 bytes -SHA1 (patch-sed_utils.c) = b84197d9286406b60a7f222d2d1a84aeb13e720a +SHA1 (sed-4.3.tar.xz) = 8f9f142bf836caa8b167898d5f0f7f4d96d29d28 +RMD160 (sed-4.3.tar.xz) = 59debef6dd7bb13898ae55edd8aff7db84dd2db1 +SHA512 (sed-4.3.tar.xz) = 4d76a099cf7115763b79b45be5c96338750baa47e34c36075f714e022614397aa9240099d6d009e69aa4d06b6cfc14dcc0f8313442a1465f448b36fb6874a26d +Size (sed-4.3.tar.xz) = 1167168 bytes +SHA1 (patch-Makefile.in) = d0e17522fb2306c10b18e16d3b75140206f5e280 +SHA1 (patch-sed_utils.c) = a4d0c5aaadc6a0fac1100e949f2d8a63eb16d427 diff --git a/textproc/gsed/patches/patch-Makefile.in b/textproc/gsed/patches/patch-Makefile.in new file mode 100644 index 00000000000..0693b6e6070 --- /dev/null +++ b/textproc/gsed/patches/patch-Makefile.in @@ -0,0 +1,16 @@ +$NetBSD: patch-Makefile.in,v 1.1 2017/01/16 11:45:14 wiz Exp $ + +Avoid regenerating man page, which needs perl and leads +to dependency loop. + +--- Makefile.in.orig 2017-01-16 11:30:35.688633285 +0000 ++++ Makefile.in +@@ -5769,7 +5769,7 @@ sed/version.h: Makefile + $(AM_V_at)chmod a-w $@t + $(AM_V_at)mv $@t $@ + +-doc/sed.1: sed/sed$(EXEEXT) .version $(srcdir)/doc/sed.x ++doc/sed.1: .version $(srcdir)/doc/sed.x + $(AM_V_GEN)$(MKDIR_P) doc + $(AM_V_at)rm -rf $@ $@-t + $(AM_V_at)$(HELP2MAN) \ diff --git a/textproc/gsed/patches/patch-sed_utils.c b/textproc/gsed/patches/patch-sed_utils.c index c361050ca88..65cb0c13a4c 100644 --- a/textproc/gsed/patches/patch-sed_utils.c +++ b/textproc/gsed/patches/patch-sed_utils.c @@ -1,9 +1,9 @@ -$NetBSD: patch-sed_utils.c,v 1.1 2014/07/17 12:24:34 ryoon Exp $ +$NetBSD: patch-sed_utils.c,v 1.2 2017/01/16 11:45:14 wiz Exp $ ---- sed/utils.c.orig 2012-03-16 09:13:31.000000000 +0000 +--- sed/utils.c.orig 2016-12-11 19:37:01.000000000 +0000 +++ sed/utils.c -@@ -32,6 +32,16 @@ - #include "pathmax.h" +@@ -31,6 +31,16 @@ + #include "utils.h" #include "fwriting.h" +/* -- cgit v1.2.3