public inbox for ipfire-scm@lists.ipfire.org
 help / color / mirror / Atom feed
* [git.ipfire.org] IPFire 3.x development tree branch, master, updated. 47f1e602e25df9ded46e92c77ab8cd076cb42f01
@ 2016-09-07 10:40 git
  0 siblings, 0 replies; only message in thread
From: git @ 2016-09-07 10:40 UTC (permalink / raw)
  To: ipfire-scm

[-- Attachment #1: Type: text/plain, Size: 103158 bytes --]

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "IPFire 3.x development tree".

The branch, master has been updated
       via  47f1e602e25df9ded46e92c77ab8cd076cb42f01 (commit)
       via  9059d74c9a7a8b28bf61022bcbba5546fcd068f1 (commit)
       via  02021382dcd8ba66ea41827633bda1d3a5fe77e4 (commit)
       via  2ce1b647d3d78b1b3725736e7822052d740e629e (commit)
       via  67d97036e2bd677bb9eac83360161d72d04ad6a9 (commit)
       via  fca5c2d6fc092012c0a3832a7c29cbed298f9d54 (commit)
       via  898eb07ff062c4c4f9bd86280f4f832dd82d1de2 (commit)
       via  c9acb2fb3d1ea5ec60870eb07e154b4971e3bf92 (commit)
       via  4dfbc7afbc8aa5ebd67c7d94fefa02dd089726b2 (commit)
       via  4bb0f6b680d1f5d6aa4f349a51d4902aee6ce6c2 (commit)
       via  56c3ccb6dfb5cbaf2fa1b0e8c10b7a39b306c11e (commit)
       via  eb62ddf34bc87c9e33dcd313f0eddcc6a56a5251 (commit)
       via  043565a04491228af8f48645cdaded2bfa35be1f (commit)
       via  acf3f91c5e767d1098add1fc5e4a2816869a02ca (commit)
      from  9f4e560dc6e3af3740743580208c74ad3efc45fb (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 47f1e602e25df9ded46e92c77ab8cd076cb42f01
Author: Alexander Marx <alexander.marx(a)ipfire.org>
Date:   Sat Sep 3 10:13:28 2016 +0000

    sip: update to 4.18.1
    
    Signed-off-by: Alexander Marx <alexander.marx(a)ipfire.org>
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit 9059d74c9a7a8b28bf61022bcbba5546fcd068f1
Author: Alexander Marx <alexander.marx(a)ipfire.org>
Date:   Sat Sep 3 10:21:25 2016 +0000

    smartmontools: update to 6.5
    
    Signed-off-by: Alexander Marx <alexander.marx(a)ipfire.org>
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit 02021382dcd8ba66ea41827633bda1d3a5fe77e4
Author: Alexander Marx <alexander.marx(a)ipfire.org>
Date:   Sat Sep 3 10:56:58 2016 +0000

    sqlite: update to 3.14.1
    
    Signed-off-by: Alexander Marx <alexander.marx(a)ipfire.org>
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit 2ce1b647d3d78b1b3725736e7822052d740e629e
Author: Alexander Marx <alexander.marx(a)ipfire.org>
Date:   Sat Sep 3 12:21:28 2016 +0000

    strace: update to 4.13.1
    
    Signed-off-by: Alexander Marx <alexander.marx(a)ipfire.org>
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit 67d97036e2bd677bb9eac83360161d72d04ad6a9
Author: Alexander Marx <alexander.marx(a)ipfire.org>
Date:   Sat Sep 3 12:29:44 2016 +0000

    strongswan: update to 5.5.0
    
    Signed-off-by: Alexander Marx <alexander.marx(a)ipfire.org>
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit fca5c2d6fc092012c0a3832a7c29cbed298f9d54
Author: Stefan Schantl <stefan.schantl(a)ipfire.org>
Date:   Sat Sep 3 14:56:03 2016 +0200

    coreutils: Update to 8.25.
    
    This is an update to the latest stable version of coreutils.
    
    Signed-off-by: Stefan Schantl <stefan.schantl(a)ipfire.org>
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit 898eb07ff062c4c4f9bd86280f4f832dd82d1de2
Author: Alexander Marx <alexander.marx(a)ipfire.org>
Date:   Sun Sep 4 11:07:01 2016 +0000

    libtdb: Update to 1.3.11
    
    Signed-off-by: Alexander Marx <alexander.marx(a)ipfire.org>
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit c9acb2fb3d1ea5ec60870eb07e154b4971e3bf92
Author: Alexander Marx <alexander.marx(a)ipfire.org>
Date:   Mon Sep 5 06:43:53 2016 +0000

    swig: update to 3.0.10
    
    Signed-off-by: Alexander Marx <alexander.marx(a)ipfire.org>
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit 4dfbc7afbc8aa5ebd67c7d94fefa02dd089726b2
Author: Alexander Marx <alexander.marx(a)ipfire.org>
Date:   Mon Sep 5 08:00:32 2016 +0000

    tcpdump: Update to 4.7.4
    
    Signed-off-by: Alexander Marx <alexander.marx(a)ipfire.org>
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit 4bb0f6b680d1f5d6aa4f349a51d4902aee6ce6c2
Author: Alexander Marx <alexander.marx(a)ipfire.org>
Date:   Mon Sep 5 08:10:32 2016 +0000

    tinc: Update to 1.0.28
    
    Signed-off-by: Alexander Marx <alexander.marx(a)ipfire.org>
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit 56c3ccb6dfb5cbaf2fa1b0e8c10b7a39b306c11e
Author: Alexander Marx <alexander.marx(a)ipfire.org>
Date:   Mon Sep 5 08:14:15 2016 +0000

    tmux: Update to 2.2
    
    Signed-off-by: Alexander Marx <alexander.marx(a)ipfire.org>
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit eb62ddf34bc87c9e33dcd313f0eddcc6a56a5251
Author: Alexander Marx <alexander.marx(a)ipfire.org>
Date:   Mon Sep 5 08:17:30 2016 +0000

    traceroute: Update to 2.1
    
    The main significant change is new adaptive algorithm for waiting.
    Traditional traceroute implementation always waited the whole timeout (default 5.0 second) for any probe.
    But if we already have some replies from the same hop, or even from some next hop, we can use the round trip time of such a reply as a hint to determine the actual reasonable amount of time to wait.
    
    Signed-off-by: Alexander Marx <alexander.marx(a)ipfire.org>
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit 043565a04491228af8f48645cdaded2bfa35be1f
Author: Stefan Schantl <stefan.schantl(a)ipfire.org>
Date:   Mon Sep 5 13:11:04 2016 +0200

    perl-XML-Parser: Trigger rebuild to link against new perl ABI.
    
    Signed-off-by: Stefan Schantl <stefan.schantl(a)ipfire.org>
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit acf3f91c5e767d1098add1fc5e4a2816869a02ca
Author: Alexander Marx <alexander.marx(a)ipfire.org>
Date:   Mon Sep 5 08:27:36 2016 +0000

    tree: Update to 1.7.0
    
    Allow user/group names up to 32 characters before clipping.
        Made -i compress XML and JSON output as much as possible by eliminating extraneous whitespace.
        Added --caseinsensitive (renamed --ignore-case ala grep) flag so patterns match without regard to case, courtesy of Jason A Donenfeld.
        Added --matchdirs option courtesy of Brian Mattern & Jason A. Donenfeld <Jason(a)zx2c4.com>.
        Fixed possible buffer overflow on large uid/gids w/o user names/group names (Alexandre Wendling <alexandrerw(a)celepar.pr.gov.br>)
        Added JSON support courtesy of Florian Sesser <fs(a)it-agenten.com>.
        Fixed formatting error with HTML output when -L 1 specified. (Sascha Zorn <sascha.zorn(a)gmail.com>)
        Added file size sorting (Philipp M?ller <philippausmuensing(a)googlemail.com>)
        Added '--sort[=]<name>' option, ala ls.
        Fixed OS X makefile problems (Ryan Hollis <theryanhollis(a)gmail.com>)
        Fixed possible memory overflow in read_dir (path/lbuf not equal in size to pathsize/lbufsize.) (Han Hui <hanhui03(a)163.com>)
        Fix S_ISDOOR/S_IFDOOR spelling mistake for Solaris. (Tim Mooney <Tim.Mooney(a)ndsu.edu>)
        Make tree more reliably detect UTF-8 locales. (Mantas Mikulnas <grawity(a)gmail.com> and others.)
        Return non-zero exit status on option errors, print usage to stdout when not an error, add the posix '--' option terminator,
         Change -S description to mean CP437 (console) output codes, not ASCII. (Ivan Shmakov <oneingray(a)gmail.com>)
    
    Signed-off-by: Alexander Marx <alexander.marx(a)ipfire.org>
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

-----------------------------------------------------------------------

Summary of changes:
 coreutils/coreutils.nm                             |   5 +-
 coreutils/patches/coreutils-i18n.patch             | 666 ++++++++++++---------
 .../patches/coreutils-ipfire-disabled-tests.patch  |  23 +-
 libtdb/libtdb.nm                                   |   2 +-
 perl-XML-Parser/perl-XML-Parser.nm                 |   2 +-
 sip/sip.nm                                         |   8 +-
 smartmontools/smartmontools.nm                     |   4 +-
 sqlite/sqlite.nm                                   |   6 +-
 .../0001-linux-aarch64-add-missing-header.patch    |  25 -
 strace/strace.nm                                   |   2 +-
 strongswan/strongswan.nm                           |   2 +-
 swig/patches/swig-1.3.23-pylib.patch               |  29 -
 swig/patches/swig200-rh623854.patch                |  92 ---
 swig/swig.nm                                       |   2 +-
 tcpdump/tcpdump.nm                                 |   4 +-
 tinc/tinc.nm                                       |   2 +-
 tmux/tmux.nm                                       |   4 +-
 traceroute/traceroute.nm                           |   2 +-
 tree/patches/tree-args.patch                       |  12 -
 tree/patches/tree-no-color-by-default.patch        |  13 -
 tree/patches/tree-no-strip.patch                   |  21 -
 tree/patches/tree-preserve-timestamps.patch        |  15 -
 tree/tree.nm                                       |   2 +-
 23 files changed, 415 insertions(+), 528 deletions(-)
 delete mode 100644 strace/patches/0001-linux-aarch64-add-missing-header.patch
 delete mode 100644 swig/patches/swig-1.3.23-pylib.patch
 delete mode 100644 swig/patches/swig200-rh623854.patch
 delete mode 100644 tree/patches/tree-args.patch
 delete mode 100644 tree/patches/tree-no-color-by-default.patch
 delete mode 100644 tree/patches/tree-no-strip.patch
 delete mode 100644 tree/patches/tree-preserve-timestamps.patch

Difference in files:
diff --git a/coreutils/coreutils.nm b/coreutils/coreutils.nm
index af1dae7..3a102ac 100644
--- a/coreutils/coreutils.nm
+++ b/coreutils/coreutils.nm
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = coreutils
-version    = 8.23
+version    = 8.25
 release    = 1
 
 groups     = System/Base
@@ -54,6 +54,9 @@ build
 		autoreconf -vfi
 	end
 
+	make_build_targets += \
+		V=1
+
 	test
 		make check
 	end
diff --git a/coreutils/patches/coreutils-i18n.patch b/coreutils/patches/coreutils-i18n.patch
index eda68eb..ad984ec 100644
--- a/coreutils/patches/coreutils-i18n.patch
+++ b/coreutils/patches/coreutils-i18n.patch
@@ -1,26 +1,13 @@
-Submitted by:            Matt Burgess (matthew_at_linuxfromscratch_dot_org)
-Date:                    2013-12-16
-Initial Package Version: 8.22 (Rebased for version 8.23 by bdubbs(a)linuxfromscratch.org))
+Submitted by:            DJ Lucas (dj_AT_linuxfromscratch_DOT_org)
+Date:                    2016-02-09
+Initial Package Version: 8.25
 Upstream Status:         Rejected
-Origin:                  Based on Fedora's i18n patch at
-  http://pkgs.fedoraproject.org/cgit/coreutils.git/plain/coreutils-i18n.patch
+Origin:                  Based on Suse's i18n patches at https://build.opensuse.org/package/view_file/Base:System/coreutils/coreutils-i18n.patch
 Description:             Fixes several i18n issues with various Coreutils programs
 
-
-diff -Naur coreutils-8.23.orig/Makefile.in coreutils-8.23/Makefile.in
---- coreutils-8.23.orig/Makefile.in	2014-07-18 17:22:24.000000000 -0500
-+++ coreutils-8.23/Makefile.in	2014-07-18 22:36:17.404066931 -0500
-@@ -5057,6 +5057,7 @@
-   tests/misc/chcon.sh				\
-   tests/misc/chroot-credentials.sh		\
-   tests/misc/selinux.sh				\
-+  tests/misc/sort-mb-tests.sh			\
-   tests/misc/truncate-owned-by-other.sh		\
-   tests/mkdir/writable-under-readonly.sh	\
-   tests/mkdir/smack-root.sh			\
-diff -Naur coreutils-8.23.orig/lib/linebuffer.h coreutils-8.23/lib/linebuffer.h
---- coreutils-8.23.orig/lib/linebuffer.h	2014-05-29 07:05:50.000000000 -0500
-+++ coreutils-8.23/lib/linebuffer.h	2014-07-18 22:36:17.392067256 -0500
+diff -Naurp coreutils-8.25-orig/lib/linebuffer.h coreutils-8.25/lib/linebuffer.h
+--- coreutils-8.25-orig/lib/linebuffer.h	2016-01-01 07:45:55.000000000 -0600
++++ coreutils-8.25/lib/linebuffer.h	2016-02-08 19:07:10.298944609 -0600
 @@ -21,6 +21,11 @@
  
  # include <stdio.h>
@@ -33,7 +20,7 @@ diff -Naur coreutils-8.23.orig/lib/linebuffer.h coreutils-8.23/lib/linebuffer.h
  /* A 'struct linebuffer' holds a line of text. */
  
  struct linebuffer
-@@ -28,6 +33,9 @@
+@@ -28,6 +33,9 @@ struct linebuffer
    size_t size;                  /* Allocated. */
    size_t length;                /* Used. */
    char *buffer;
@@ -43,9 +30,9 @@ diff -Naur coreutils-8.23.orig/lib/linebuffer.h coreutils-8.23/lib/linebuffer.h
  };
  
  /* Initialize linebuffer LINEBUFFER for use. */
-diff -Naur coreutils-8.23.orig/src/cut.c coreutils-8.23/src/cut.c
---- coreutils-8.23.orig/src/cut.c	2014-07-11 06:00:07.000000000 -0500
-+++ coreutils-8.23/src/cut.c	2014-07-18 22:44:56.489482312 -0500
+diff -Naurp coreutils-8.25-orig/src/cut.c coreutils-8.25/src/cut.c
+--- coreutils-8.25-orig/src/cut.c	2016-01-13 05:08:59.000000000 -0600
++++ coreutils-8.25/src/cut.c	2016-02-08 19:07:10.300944616 -0600
 @@ -28,6 +28,11 @@
  #include <assert.h>
  #include <getopt.h>
@@ -58,9 +45,9 @@ diff -Naur coreutils-8.23.orig/src/cut.c coreutils-8.23/src/cut.c
  #include "system.h"
  
  #include "error.h"
-@@ -37,6 +42,18 @@
- #include "quote.h"
- #include "xstrndup.h"
+@@ -38,6 +43,18 @@
+ 
+ #include "set-fields.h"
  
 +/* MB_LEN_MAX is incorrectly defined to be 1 in at least one GCC
 +   installation; work around this configuration error.        */
@@ -77,7 +64,7 @@ diff -Naur coreutils-8.23.orig/src/cut.c coreutils-8.23/src/cut.c
  /* The official name of this program (e.g., no 'g' prefix).  */
  #define PROGRAM_NAME "cut"
  
-@@ -53,6 +70,52 @@
+@@ -54,6 +71,52 @@
      }									\
    while (0)
  
@@ -128,18 +115,19 @@ diff -Naur coreutils-8.23.orig/src/cut.c coreutils-8.23/src/cut.c
 +  while (0)
 +
  
- struct range_pair
-   {
-@@ -75,6 +138,8 @@
- /* Number of `struct range_pair's allocated. */
- static size_t n_rp_allocated;
+ /* Pointer inside RP.  When checking if a byte or field is selected
+    by a finite range, we check if it is between CURRENT_RP.LO
+@@ -61,6 +124,9 @@
+    CURRENT_RP.HI then we make CURRENT_RP to point to the next range pair. */
+ static struct field_range_pair *current_rp;
  
 +/* Length of the delimiter given as argument to -d.  */
 +size_t delimlen;
- 
- /* Append LOW, HIGH to the list RP of range pairs, allocating additional
-    space if necessary.  Update global variable N_RP.  When allocating,
-@@ -106,15 +171,25 @@
++
+ /* This buffer is used to support the semantics of the -s option
+    (or lack of same) when the specified field list includes (does
+    not include) the first field.  In both of those cases, the entire
+@@ -77,15 +143,25 @@ enum operating_mode
    {
      undefined_mode,
  
@@ -166,7 +154,7 @@ diff -Naur coreutils-8.23.orig/src/cut.c coreutils-8.23/src/cut.c
  /* If true do not output lines containing no delimiter characters.
     Otherwise, all such lines are printed.  This option is valid only
     with field mode.  */
-@@ -126,6 +201,9 @@
+@@ -97,6 +173,9 @@ static bool complement;
  
  /* The delimiter character for field mode. */
  static unsigned char delim;
@@ -174,9 +162,9 @@ diff -Naur coreutils-8.23.orig/src/cut.c coreutils-8.23/src/cut.c
 +static wchar_t wcdelim;
 +#endif
  
- /* True if the --output-delimiter=STRING option was specified.  */
- static bool output_delimiter_specified;
-@@ -188,7 +266,7 @@
+ /* The delimiter for each line/record. */
+ static unsigned char line_delim = '\n';
+@@ -164,7 +243,7 @@ Print selected parts of lines from each
    -f, --fields=LIST       select only these fields;  also print any line\n\
                              that contains no delimiter character, unless\n\
                              the -s option is specified\n\
@@ -185,17 +173,7 @@ diff -Naur coreutils-8.23.orig/src/cut.c coreutils-8.23/src/cut.c
  "), stdout);
        fputs (_("\
        --complement        complement the set of selected bytes, characters\n\
-@@ -381,6 +459,9 @@
-               if (operating_mode == byte_mode)
-                 error (0, 0,
-                        _("byte offset %s is too large"), quote (bad_num));
-+              else if (operating_mode == character_mode)
-+                error (0, 0,
-+                       _("character offset %s is too large"), quote (bad_num));
-               else
-                 error (0, 0,
-                        _("field number %s is too large"), quote (bad_num));
-@@ -505,6 +586,82 @@
+@@ -280,6 +359,82 @@ cut_bytes (FILE *stream)
      }
  }
  
@@ -229,7 +207,7 @@ diff -Naur coreutils-8.23.orig/src/cut.c coreutils-8.23/src/cut.c
 +  bufpos = buf;
 +  memset (&state, '\0', sizeof(mbstate_t));
 +
-+  current_rp = rp;
++  current_rp = frp;
 +
 +  while (1)
 +    {
@@ -241,15 +219,15 @@ diff -Naur coreutils-8.23.orig/src/cut.c coreutils-8.23/src/cut.c
 +      if (wc == WEOF)
 +        {
 +          if (idx > 0)
-+            putchar ('\n');
++            putchar (line_delim);
 +          break;
 +        }
-+      else if (wc == L'\n')
++      else if (wc == line_delim)
 +        {
-+          putchar ('\n');
++          putchar (line_delim);
 +          idx = 0;
 +          print_delimiter = false;
-+          current_rp = rp;
++          current_rp = frp;
 +        }
 +      else
 +        {
@@ -278,7 +256,7 @@ diff -Naur coreutils-8.23.orig/src/cut.c coreutils-8.23/src/cut.c
  /* Read from stream STREAM, printing to standard output any selected fields.  */
  
  static void
-@@ -649,13 +806,211 @@
+@@ -425,13 +580,211 @@ cut_fields (FILE *stream)
      }
  }
  
@@ -300,7 +278,7 @@ diff -Naur coreutils-8.23.orig/src/cut.c coreutils-8.23/src/cut.c
 +  mbstate_t state;        /* State of the stream. */
 +  bool convfail = false;  /* true, when conversion failed. Otherwise false. */
 +
-+  current_rp = rp;
++  current_rp = frp;
 +
 +  found_any_selected_field = 0;
 +  field_idx = 1;
@@ -348,7 +326,7 @@ diff -Naur coreutils-8.23.orig/src/cut.c coreutils-8.23/src/cut.c
 +              buflen -= mblength;
 +              bufpos += mblength;
 +
-+              if (!convfail && (wc == L'\n' || wc == wcdelim))
++              if (!convfail && (wc == line_delim || wc == wcdelim))
 +                break;
 +            }
 +
@@ -368,8 +346,8 @@ diff -Naur coreutils-8.23.orig/src/cut.c coreutils-8.23/src/cut.c
 +                {
 +                  fwrite (field_1_buffer, sizeof (char), len, stdout);
 +                  /* Make sure the output line is newline terminated.  */
-+                  if (convfail || (!convfail && wc != L'\n'))
-+                    putchar ('\n');
++                  if (convfail || (!convfail && wc != line_delim))
++                    putchar (line_delim);
 +                }
 +              continue;
 +            }
@@ -404,7 +382,7 @@ diff -Naur coreutils-8.23.orig/src/cut.c coreutils-8.23/src/cut.c
 +
 +              if (wc == WEOF)
 +                break;
-+              else if (!convfail && (wc == wcdelim || wc == L'\n'))
++              else if (!convfail && (wc == wcdelim || wc == line_delim))
 +                {
 +                  buflen -= mblength;
 +                  bufpos += mblength;
@@ -419,20 +397,20 @@ diff -Naur coreutils-8.23.orig/src/cut.c coreutils-8.23/src/cut.c
 +            }
 +        }
 +
-+      if ((!convfail || wc == L'\n') && buflen < 1)
++      if ((!convfail || wc == line_delim) && buflen < 1)
 +        wc = WEOF;
 +
 +      if (!convfail && wc == wcdelim)
 +        next_item (&field_idx);
-+      else if (wc == WEOF || (!convfail && wc == L'\n'))
++      else if (wc == WEOF || (!convfail && wc == line_delim))
 +        {
 +          if (found_any_selected_field
 +              || (!empty_input && !(suppress_non_delimited && field_idx == 1)))
-+            putchar ('\n');
++            putchar (line_delim);
 +          if (wc == WEOF)
 +            break;
 +          field_idx = 1;
-+          current_rp = rp;
++          current_rp = frp;
 +          found_any_selected_field = 0;
 +        }
 +    }
@@ -493,7 +471,7 @@ diff -Naur coreutils-8.23.orig/src/cut.c coreutils-8.23/src/cut.c
  }
  
  /* Process file FILE to standard output.
-@@ -707,6 +1062,7 @@
+@@ -483,6 +836,7 @@ main (int argc, char **argv)
    bool ok;
    bool delim_specified = false;
    char *spec_list_string IF_LINT ( = NULL);
@@ -501,7 +479,7 @@ diff -Naur coreutils-8.23.orig/src/cut.c coreutils-8.23/src/cut.c
  
    initialize_main (&argc, &argv);
    set_program_name (argv[0]);
-@@ -729,7 +1085,6 @@
+@@ -505,7 +859,6 @@ main (int argc, char **argv)
        switch (optc)
          {
          case 'b':
@@ -509,7 +487,7 @@ diff -Naur coreutils-8.23.orig/src/cut.c coreutils-8.23/src/cut.c
            /* Build the byte list. */
            if (operating_mode != undefined_mode)
              FATAL_ERROR (_("only one type of list may be specified"));
-@@ -737,6 +1092,14 @@
+@@ -513,6 +866,14 @@ main (int argc, char **argv)
            spec_list_string = optarg;
            break;
  
@@ -524,7 +502,7 @@ diff -Naur coreutils-8.23.orig/src/cut.c coreutils-8.23/src/cut.c
          case 'f':
            /* Build the field list. */
            if (operating_mode != undefined_mode)
-@@ -748,10 +1111,38 @@
+@@ -524,10 +885,38 @@ main (int argc, char **argv)
          case 'd':
            /* New delimiter. */
            /* Interpret -d '' to mean 'use the NUL byte as the delimiter.'  */
@@ -567,7 +545,7 @@ diff -Naur coreutils-8.23.orig/src/cut.c coreutils-8.23/src/cut.c
            break;
  
          case OUTPUT_DELIMITER_OPTION:
-@@ -764,6 +1155,7 @@
+@@ -540,6 +929,7 @@ main (int argc, char **argv)
            break;
  
          case 'n':
@@ -575,8 +553,8 @@ diff -Naur coreutils-8.23.orig/src/cut.c coreutils-8.23/src/cut.c
            break;
  
          case 's':
-@@ -803,15 +1195,34 @@
-     }
+@@ -579,15 +969,34 @@ main (int argc, char **argv)
+               | (complement ? SETFLD_COMPLEMENT : 0) );
  
    if (!delim_specified)
 -    delim = '\t';
@@ -616,9 +594,9 @@ diff -Naur coreutils-8.23.orig/src/cut.c coreutils-8.23/src/cut.c
      }
  
    if (optind == argc)
-diff -Naur coreutils-8.23.orig/src/expand.c coreutils-8.23/src/expand.c
---- coreutils-8.23.orig/src/expand.c	2014-07-11 06:00:07.000000000 -0500
-+++ coreutils-8.23/src/expand.c	2014-07-18 22:36:17.394067191 -0500
+diff -Naurp coreutils-8.25-orig/src/expand.c coreutils-8.25/src/expand.c
+--- coreutils-8.25-orig/src/expand.c	2016-01-01 07:48:50.000000000 -0600
++++ coreutils-8.25/src/expand.c	2016-02-08 19:07:10.301944619 -0600
 @@ -37,12 +37,34 @@
  #include <stdio.h>
  #include <getopt.h>
@@ -654,7 +632,7 @@ diff -Naur coreutils-8.23.orig/src/expand.c coreutils-8.23/src/expand.c
  /* The official name of this program (e.g., no 'g' prefix).  */
  #define PROGRAM_NAME "expand"
  
-@@ -357,6 +379,142 @@
+@@ -357,6 +379,142 @@ expand (void)
      }
  }
  
@@ -797,7 +775,7 @@ diff -Naur coreutils-8.23.orig/src/expand.c coreutils-8.23/src/expand.c
  int
  main (int argc, char **argv)
  {
-@@ -421,7 +579,12 @@
+@@ -421,7 +579,12 @@ main (int argc, char **argv)
  
    file_list = (optind < argc ? &argv[optind] : stdin_argv);
  
@@ -811,10 +789,10 @@ diff -Naur coreutils-8.23.orig/src/expand.c coreutils-8.23/src/expand.c
  
    if (have_read_stdin && fclose (stdin) != 0)
      error (EXIT_FAILURE, errno, "-");
-diff -Naur coreutils-8.23.orig/src/fold.c coreutils-8.23/src/fold.c
---- coreutils-8.23.orig/src/fold.c	2014-07-11 06:00:07.000000000 -0500
-+++ coreutils-8.23/src/fold.c	2014-07-18 22:36:17.394067191 -0500
-@@ -22,12 +22,34 @@
+diff -Naurp coreutils-8.25-orig/src/fold.c coreutils-8.25/src/fold.c
+--- coreutils-8.25-orig/src/fold.c	2016-01-01 07:48:50.000000000 -0600
++++ coreutils-8.25/src/fold.c	2016-02-08 19:07:10.302944622 -0600
+@@ -22,11 +22,33 @@
  #include <getopt.h>
  #include <sys/types.h>
  
@@ -831,8 +809,7 @@ diff -Naur coreutils-8.23.orig/src/fold.c coreutils-8.23/src/fold.c
  #include "system.h"
  #include "error.h"
  #include "fadvise.h"
- #include "quote.h"
- #include "xstrtol.h"
+ #include "xdectoint.h"
  
 +/* MB_LEN_MAX is incorrectly defined to be 1 in at least one GCC
 +      installation; work around this configuration error.  */
@@ -849,7 +826,7 @@ diff -Naur coreutils-8.23.orig/src/fold.c coreutils-8.23/src/fold.c
  #define TAB_WIDTH 8
  
  /* The official name of this program (e.g., no 'g' prefix).  */
-@@ -35,20 +57,41 @@
+@@ -34,20 +56,41 @@
  
  #define AUTHORS proper_name ("David MacKenzie")
  
@@ -895,7 +872,7 @@ diff -Naur coreutils-8.23.orig/src/fold.c coreutils-8.23/src/fold.c
    {"spaces", no_argument, NULL, 's'},
    {"width", required_argument, NULL, 'w'},
    {GETOPT_HELP_OPTION_DECL},
-@@ -76,6 +119,7 @@
+@@ -75,6 +118,7 @@ Wrap input lines in each FILE, writing t
  
        fputs (_("\
    -b, --bytes         count bytes rather than columns\n\
@@ -903,7 +880,7 @@ diff -Naur coreutils-8.23.orig/src/fold.c coreutils-8.23/src/fold.c
    -s, --spaces        break at spaces\n\
    -w, --width=WIDTH   use WIDTH columns instead of 80\n\
  "), stdout);
-@@ -93,7 +137,7 @@
+@@ -92,7 +136,7 @@ Wrap input lines in each FILE, writing t
  static size_t
  adjust_column (size_t column, char c)
  {
@@ -912,7 +889,7 @@ diff -Naur coreutils-8.23.orig/src/fold.c coreutils-8.23/src/fold.c
      {
        if (c == '\b')
          {
-@@ -116,30 +160,14 @@
+@@ -115,30 +159,14 @@ adjust_column (size_t column, char c)
     to stdout, with maximum line length WIDTH.
     Return true if successful.  */
  
@@ -939,13 +916,13 @@ diff -Naur coreutils-8.23.orig/src/fold.c coreutils-8.23/src/fold.c
 -
 -  if (istream == NULL)
 -    {
--      error (0, errno, "%s", filename);
+-      error (0, errno, "%s", quotef (filename));
 -      return false;
 -    }
  
    fadvise (istream, FADVISE_SEQUENTIAL);
  
-@@ -169,6 +197,15 @@
+@@ -168,6 +196,15 @@ fold_file (char const *filename, size_t
                bool found_blank = false;
                size_t logical_end = offset_out;
  
@@ -961,7 +938,7 @@ diff -Naur coreutils-8.23.orig/src/fold.c coreutils-8.23/src/fold.c
                /* Look for the last blank. */
                while (logical_end)
                  {
-@@ -215,11 +252,221 @@
+@@ -214,11 +251,221 @@ fold_file (char const *filename, size_t
        line_out[offset_out++] = c;
      }
  
@@ -1072,7 +1049,7 @@ diff -Naur coreutils-8.23.orig/src/fold.c coreutils-8.23/src/fold.c
 +                  fwrite (line_out, sizeof(char), offset_out, stdout);
 +                  START_NEW_LINE;
 +                  continue;
-+                  
++
 +                case L'\b':
 +                  increment = (column > 0) ? -1 : 0;
 +                  break;
@@ -1169,7 +1146,7 @@ diff -Naur coreutils-8.23.orig/src/fold.c coreutils-8.23/src/fold.c
 +
 +  if (istream == NULL)
 +    {
-+      error (0, errno, "%s", filename);
++      error (0, errno, "%s", quotef (filename));
 +      return 1;
 +    }
 +
@@ -1183,8 +1160,8 @@ diff -Naur coreutils-8.23.orig/src/fold.c coreutils-8.23/src/fold.c
 +
    if (ferror (istream))
      {
-       error (0, saved_errno, "%s", filename);
-@@ -252,7 +499,8 @@
+       error (0, saved_errno, "%s", quotef (filename));
+@@ -251,7 +498,8 @@ main (int argc, char **argv)
  
    atexit (close_stdout);
  
@@ -1194,7 +1171,7 @@ diff -Naur coreutils-8.23.orig/src/fold.c coreutils-8.23/src/fold.c
  
    while ((optc = getopt_long (argc, argv, shortopts, longopts, NULL)) != -1)
      {
-@@ -261,7 +509,15 @@
+@@ -260,7 +508,15 @@ main (int argc, char **argv)
        switch (optc)
          {
          case 'b':		/* Count bytes rather than columns. */
@@ -1211,9 +1188,9 @@ diff -Naur coreutils-8.23.orig/src/fold.c coreutils-8.23/src/fold.c
            break;
  
          case 's':		/* Break at word boundaries. */
-diff -Naur coreutils-8.23.orig/src/join.c coreutils-8.23/src/join.c
---- coreutils-8.23.orig/src/join.c	2014-07-11 06:00:07.000000000 -0500
-+++ coreutils-8.23/src/join.c	2014-07-18 22:36:17.394067191 -0500
+diff -Naurp coreutils-8.25-orig/src/join.c coreutils-8.25/src/join.c
+--- coreutils-8.25-orig/src/join.c	2016-01-13 05:08:59.000000000 -0600
++++ coreutils-8.25/src/join.c	2016-02-08 19:07:10.303944625 -0600
 @@ -22,18 +22,32 @@
  #include <sys/types.h>
  #include <getopt.h>
@@ -1248,7 +1225,7 @@ diff -Naur coreutils-8.23.orig/src/join.c coreutils-8.23/src/join.c
  /* The official name of this program (e.g., no 'g' prefix).  */
  #define PROGRAM_NAME "join"
  
-@@ -135,10 +149,12 @@
+@@ -135,10 +149,12 @@ static struct outlist outlist_head;
  /* Last element in 'outlist', where a new element can be added.  */
  static struct outlist *outlist_end = &outlist_head;
  
@@ -1265,7 +1242,7 @@ diff -Naur coreutils-8.23.orig/src/join.c coreutils-8.23/src/join.c
  
  /* If nonzero, check that the input is correctly ordered. */
  static enum
-@@ -269,13 +285,14 @@
+@@ -275,13 +291,14 @@ xfields (struct line *line)
    if (ptr == lim)
      return;
  
@@ -1282,8 +1259,8 @@ diff -Naur coreutils-8.23.orig/src/join.c coreutils-8.23/src/join.c
 +   else
      {
        /* Skip leading blanks before the first field.  */
-       while (isblank (to_uchar (*ptr)))
-@@ -299,6 +316,147 @@
+       while (field_sep (*ptr))
+@@ -305,6 +322,147 @@ xfields (struct line *line)
    extract_field (line, ptr, lim - ptr);
  }
  
@@ -1351,7 +1328,7 @@ diff -Naur coreutils-8.23.orig/src/join.c coreutils-8.23/src/join.c
 +          }
 +        mblength = (mblength < 1) ? 1 : mblength;
 +
-+        if (!iswblank(wc))
++        if (!iswblank(wc) && wc != '\n')
 +          break;
 +        ptr += mblength;
 +      }
@@ -1382,7 +1359,7 @@ diff -Naur coreutils-8.23.orig/src/join.c coreutils-8.23/src/join.c
 +		}
 +	      mblength = (mblength < 1) ? 1 : mblength;
 +
-+	      if (iswblank (wc))
++	      if (iswblank (wc) || wc == '\n')
 +		break;
 +
 +	      sep += mblength;
@@ -1415,7 +1392,7 @@ diff -Naur coreutils-8.23.orig/src/join.c coreutils-8.23/src/join.c
 +		}
 +	      mblength = (mblength < 1) ? 1 : mblength;
 +
-+	      if (!iswblank (wc))
++	      if (!iswblank (wc) && wc != '\n')
 +		break;
 +
 +	      ptr += mblength;
@@ -1427,11 +1404,11 @@ diff -Naur coreutils-8.23.orig/src/join.c coreutils-8.23/src/join.c
 +  extract_field (line, ptr, lim - ptr);
 +}
 +#endif
-+ 
++
  static void
  freeline (struct line *line)
  {
-@@ -320,56 +478,133 @@
+@@ -326,56 +484,133 @@ keycmp (struct line const *line1, struct
          size_t jf_1, size_t jf_2)
  {
    /* Start of field to compare in each file.  */
@@ -1588,7 +1565,7 @@ diff -Naur coreutils-8.23.orig/src/join.c coreutils-8.23/src/join.c
  }
  
  /* Check that successive input lines PREV and CURRENT from input file
-@@ -461,6 +696,11 @@
+@@ -467,6 +702,11 @@ get_line (FILE *fp, struct line **linep,
      }
    ++line_no[which - 1];
  
@@ -1600,7 +1577,7 @@ diff -Naur coreutils-8.23.orig/src/join.c coreutils-8.23/src/join.c
    xfields (line);
  
    if (prevline[which - 1])
-@@ -560,21 +800,28 @@
+@@ -566,21 +806,28 @@ prfield (size_t n, struct line const *li
  
  /* Output all the fields in line, other than the join field.  */
  
@@ -1632,7 +1609,7 @@ diff -Naur coreutils-8.23.orig/src/join.c coreutils-8.23/src/join.c
        prfield (i, line);
      }
  }
-@@ -585,7 +832,6 @@
+@@ -591,7 +838,6 @@ static void
  prjoin (struct line const *line1, struct line const *line2)
  {
    const struct outlist *outlist;
@@ -1640,7 +1617,7 @@ diff -Naur coreutils-8.23.orig/src/join.c coreutils-8.23/src/join.c
    size_t field;
    struct line const *line;
  
-@@ -619,7 +865,7 @@
+@@ -625,7 +871,7 @@ prjoin (struct line const *line1, struct
            o = o->next;
            if (o == NULL)
              break;
@@ -1649,7 +1626,7 @@ diff -Naur coreutils-8.23.orig/src/join.c coreutils-8.23/src/join.c
          }
        putchar (eolchar);
      }
-@@ -1097,21 +1343,46 @@
+@@ -1103,21 +1349,46 @@ main (int argc, char **argv)
  
          case 't':
            {
@@ -1706,10 +1683,10 @@ diff -Naur coreutils-8.23.orig/src/join.c coreutils-8.23/src/join.c
            break;
  
          case 'z':
-diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
---- coreutils-8.23.orig/src/pr.c	2014-07-11 06:00:07.000000000 -0500
-+++ coreutils-8.23/src/pr.c	2014-07-18 22:36:17.395067159 -0500
-@@ -312,6 +312,24 @@
+diff -Naurp coreutils-8.25-orig/src/pr.c coreutils-8.25/src/pr.c
+--- coreutils-8.25-orig/src/pr.c	2016-01-01 07:48:50.000000000 -0600
++++ coreutils-8.25/src/pr.c	2016-02-08 19:07:10.306944635 -0600
+@@ -311,6 +311,24 @@
  
  #include <getopt.h>
  #include <sys/types.h>
@@ -1735,8 +1712,8 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
  #include "error.h"
  #include "fadvise.h"
 @@ -323,6 +341,18 @@
- #include "strftime.h"
  #include "xstrtol.h"
+ #include "xdectoint.h"
  
 +/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t.  */
 +#if HAVE_MBRTOWC && defined mbstate_t
@@ -1753,7 +1730,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
  /* The official name of this program (e.g., no 'g' prefix).  */
  #define PROGRAM_NAME "pr"
  
-@@ -415,7 +445,20 @@
+@@ -415,7 +445,20 @@ struct COLUMN
  
  typedef struct COLUMN COLUMN;
  
@@ -1775,23 +1752,23 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
  static bool read_line (COLUMN *p);
  static bool print_page (void);
  static bool print_stored (COLUMN *p);
-@@ -425,6 +468,7 @@
- static void pad_across_to (int position);
- static void add_line_number (COLUMN *p);
+@@ -427,6 +470,7 @@ static void add_line_number (COLUMN *p);
+ static void getoptnum (const char *n_str, int min, int *num,
+                        const char *errfmt);
  static void getoptarg (char *arg, char switch_char, char *character,
 +                       int *character_length, int *character_width,
                         int *number);
  static void print_files (int number_of_files, char **av);
  static void init_parameters (int number_of_files);
-@@ -438,7 +482,6 @@
- static void pad_down (int lines);
+@@ -440,7 +484,6 @@ static void store_char (char c);
+ static void pad_down (unsigned int lines);
  static void read_rest_of_line (COLUMN *p);
  static void skip_read (COLUMN *p, int column_number);
 -static void print_char (char c);
  static void cleanup (void);
  static void print_sep_string (void);
  static void separator_string (const char *optarg_S);
-@@ -450,7 +493,7 @@
+@@ -452,7 +495,7 @@ static COLUMN *column_vector;
     we store the leftmost columns contiguously in buff.
     To print a line from buff, get the index of the first character
     from line_vector[i], and print up to line_vector[i + 1]. */
@@ -1800,7 +1777,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
  
  /* Index of the position in buff where the next character
     will be stored. */
-@@ -554,7 +597,7 @@
+@@ -556,7 +599,7 @@ static int chars_per_column;
  static bool untabify_input = false;
  
  /* (-e) The input tab character. */
@@ -1809,7 +1786,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
  
  /* (-e) Tabstops are at chars_per_tab, 2*chars_per_tab, 3*chars_per_tab, ...
     where the leftmost column is 1. */
-@@ -564,7 +607,10 @@
+@@ -566,7 +609,10 @@ static int chars_per_input_tab = 8;
  static bool tabify_output = false;
  
  /* (-i) The output tab character. */
@@ -1821,7 +1798,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
  
  /* (-i) The width of the output tab. */
  static int chars_per_output_tab = 8;
-@@ -634,7 +680,13 @@
+@@ -636,7 +682,13 @@ static int line_number;
  static bool numbered_lines = false;
  
  /* (-n) Character which follows each line number. */
@@ -1836,7 +1813,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
  
  /* (-n) line counting starts with 1st line of input file (not with 1st
     line of 1st page printed). */
-@@ -687,6 +739,7 @@
+@@ -689,6 +741,7 @@ static bool use_col_separator = false;
     -a|COLUMN|-m is a 'space' and with the -J option a 'tab'. */
  static char *col_sep_string = (char *) "";
  static int col_sep_length = 0;
@@ -1844,7 +1821,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
  static char *column_separator = (char *) " ";
  static char *line_separator = (char *) "\t";
  
-@@ -843,6 +896,13 @@
+@@ -839,6 +892,13 @@ separator_string (const char *optarg_S)
    col_sep_length = (int) strlen (optarg_S);
    col_sep_string = xmalloc (col_sep_length + 1);
    strcpy (col_sep_string, optarg_S);
@@ -1858,7 +1835,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
  }
  
  int
-@@ -867,6 +927,21 @@
+@@ -863,6 +923,21 @@ main (int argc, char **argv)
  
    atexit (close_stdout);
  
@@ -1880,7 +1857,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
    n_files = 0;
    file_names = (argc > 1
                  ? xmalloc ((argc - 1) * sizeof (char *))
-@@ -943,8 +1018,12 @@
+@@ -939,8 +1014,12 @@ main (int argc, char **argv)
            break;
          case 'e':
            if (optarg)
@@ -1895,7 +1872,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
            /* Could check tab width > 0. */
            untabify_input = true;
            break;
-@@ -957,8 +1036,12 @@
+@@ -953,8 +1032,12 @@ main (int argc, char **argv)
            break;
          case 'i':
            if (optarg)
@@ -1910,7 +1887,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
            /* Could check tab width > 0. */
            tabify_output = true;
            break;
-@@ -985,8 +1068,8 @@
+@@ -972,8 +1055,8 @@ main (int argc, char **argv)
          case 'n':
            numbered_lines = true;
            if (optarg)
@@ -1921,7 +1898,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
            break;
          case 'N':
            skip_count = false;
-@@ -1025,7 +1108,7 @@
+@@ -997,7 +1080,7 @@ main (int argc, char **argv)
            old_s = false;
            /* Reset an additional input of -s, -S dominates -s */
            col_sep_string = bad_cast ("");
@@ -1930,7 +1907,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
            use_col_separator = true;
            if (optarg)
              separator_string (optarg);
-@@ -1182,10 +1265,45 @@
+@@ -1152,10 +1235,45 @@ getoptnum (const char *n_str, int min, i
     a number. */
  
  static void
@@ -1978,7 +1955,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
    if (*arg)
      {
        long int tmp_long;
-@@ -1207,6 +1325,11 @@
+@@ -1177,6 +1295,11 @@ static void
  init_parameters (int number_of_files)
  {
    int chars_used_by_number = 0;
@@ -1990,7 +1967,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
  
    lines_per_body = lines_per_page - lines_per_header - lines_per_footer;
    if (lines_per_body <= 0)
-@@ -1244,7 +1367,7 @@
+@@ -1214,7 +1337,7 @@ init_parameters (int number_of_files)
            else
              col_sep_string = column_separator;
  
@@ -1999,7 +1976,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
            use_col_separator = true;
          }
        /* It's rather pointless to define a TAB separator with column
-@@ -1274,11 +1397,11 @@
+@@ -1244,11 +1367,11 @@ init_parameters (int number_of_files)
               + TAB_WIDTH (chars_per_input_tab, chars_per_number);   */
  
        /* Estimate chars_per_text without any margin and keep it constant. */
@@ -2013,7 +1990,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
  
        /* The number is part of the column width unless we are
           printing files in parallel. */
-@@ -1287,7 +1410,7 @@
+@@ -1257,7 +1380,7 @@ init_parameters (int number_of_files)
      }
  
    chars_per_column = (chars_per_line - chars_used_by_number
@@ -2022,16 +1999,16 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
  
    if (chars_per_column < 1)
      error (EXIT_FAILURE, 0, _("page width too narrow"));
-@@ -1305,7 +1428,7 @@
+@@ -1275,7 +1398,7 @@ init_parameters (int number_of_files)
       We've to use 8 as the lower limit, if we use chars_per_default_tab = 8
       to expand a tab which is not an input_tab-char. */
    free (clump_buff);
 -  clump_buff = xmalloc (MAX (8, chars_per_input_tab));
 +  clump_buff = xmalloc (mb_len * MAX (8, chars_per_input_tab));
  }
- \f
+ 
  /* Open the necessary files,
-@@ -1413,7 +1536,7 @@
+@@ -1383,7 +1506,7 @@ init_funcs (void)
  
    /* Enlarge p->start_position of first column to use the same form of
       padding_not_printed with all columns. */
@@ -2040,7 +2017,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
  
    /* This loop takes care of all but the rightmost column. */
  
-@@ -1447,7 +1570,7 @@
+@@ -1417,7 +1540,7 @@ init_funcs (void)
          }
        else
          {
@@ -2049,7 +2026,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
            h_next = h + chars_per_column;
          }
      }
-@@ -1738,9 +1861,9 @@
+@@ -1708,9 +1831,9 @@ static void
  align_column (COLUMN *p)
  {
    padding_not_printed = p->start_position;
@@ -2061,7 +2038,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
        padding_not_printed = ANYWHERE;
      }
  
-@@ -2011,13 +2134,13 @@
+@@ -1981,13 +2104,13 @@ store_char (char c)
        /* May be too generous. */
        buff = X2REALLOC (buff, &buff_allocated);
      }
@@ -2077,7 +2054,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
    char *s;
    int num_width;
  
-@@ -2034,22 +2157,24 @@
+@@ -2004,22 +2127,24 @@ add_line_number (COLUMN *p)
        /* Tabification is assumed for multiple columns, also for n-separators,
           but 'default n-separator = TAB' hasn't been given priority over
           equal column_width also specified by POSIX. */
@@ -2106,7 +2083,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
          output_position = POS_AFTER_TAB (chars_per_output_tab,
                            output_position);
      }
-@@ -2210,7 +2335,7 @@
+@@ -2180,7 +2305,7 @@ print_white_space (void)
    while (goal - h_old > 1
           && (h_new = POS_AFTER_TAB (chars_per_output_tab, h_old)) <= goal)
      {
@@ -2115,7 +2092,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
        h_old = h_new;
      }
    while (++h_old <= goal)
-@@ -2230,6 +2355,7 @@
+@@ -2200,6 +2325,7 @@ print_sep_string (void)
  {
    char *s;
    int l = col_sep_length;
@@ -2123,7 +2100,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
  
    s = col_sep_string;
  
-@@ -2243,6 +2369,7 @@
+@@ -2213,6 +2339,7 @@ print_sep_string (void)
      {
        for (; separators_not_printed > 0; --separators_not_printed)
          {
@@ -2131,7 +2108,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
            while (l-- > 0)
              {
                /* 3 types of sep_strings: spaces only, spaces and chars,
-@@ -2256,12 +2383,15 @@
+@@ -2226,12 +2353,15 @@ print_sep_string (void)
                  }
                else
                  {
@@ -2148,7 +2125,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
            /* sep_string ends with some spaces */
            if (spaces_not_printed > 0)
              print_white_space ();
-@@ -2289,7 +2419,7 @@
+@@ -2259,7 +2389,7 @@ print_clump (COLUMN *p, int n, char *clu
     required number of tabs and spaces. */
  
  static void
@@ -2157,7 +2134,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
  {
    if (tabify_output)
      {
-@@ -2313,6 +2443,74 @@
+@@ -2283,6 +2413,74 @@ print_char (char c)
    putchar (c);
  }
  
@@ -2232,7 +2209,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
  /* Skip to page PAGE before printing.
     PAGE may be larger than total number of pages. */
  
-@@ -2492,9 +2690,9 @@
+@@ -2462,9 +2660,9 @@ read_line (COLUMN *p)
            align_empty_cols = false;
          }
  
@@ -2244,7 +2221,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
            padding_not_printed = ANYWHERE;
          }
  
-@@ -2564,7 +2762,7 @@
+@@ -2534,7 +2732,7 @@ print_stored (COLUMN *p)
    int i;
  
    int line = p->current_line++;
@@ -2253,7 +2230,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
    /* FIXME
       UMR: Uninitialized memory read:
       * This is occurring while in:
-@@ -2576,7 +2774,7 @@
+@@ -2546,7 +2744,7 @@ print_stored (COLUMN *p)
       xmalloc        [xmalloc.c:94]
       init_store_cols [pr.c:1648]
       */
@@ -2262,7 +2239,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
  
    pad_vertically = true;
  
-@@ -2595,9 +2793,9 @@
+@@ -2565,9 +2763,9 @@ print_stored (COLUMN *p)
          }
      }
  
@@ -2274,7 +2251,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
        padding_not_printed = ANYWHERE;
      }
  
-@@ -2610,8 +2808,8 @@
+@@ -2580,8 +2778,8 @@ print_stored (COLUMN *p)
    if (spaces_not_printed == 0)
      {
        output_position = p->start_position + end_vector[line];
@@ -2285,7 +2262,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
      }
  
    return true;
-@@ -2630,7 +2828,7 @@
+@@ -2600,7 +2798,7 @@ print_stored (COLUMN *p)
     number of characters is 1.) */
  
  static int
@@ -2294,7 +2271,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
  {
    unsigned char uc = c;
    char *s = clump_buff;
-@@ -2640,10 +2838,10 @@
+@@ -2610,10 +2808,10 @@ char_to_clump (char c)
    int chars;
    int chars_per_c = 8;
  
@@ -2307,7 +2284,7 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
      {
        width = TAB_WIDTH (chars_per_c, input_position);
  
-@@ -2724,6 +2922,164 @@
+@@ -2694,6 +2892,164 @@ char_to_clump (char c)
    return chars;
  }
  
@@ -2472,9 +2449,9 @@ diff -Naur coreutils-8.23.orig/src/pr.c coreutils-8.23/src/pr.c
  /* We've just printed some files and need to clean up things before
     looking for more options and printing the next batch of files.
  
-diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
---- coreutils-8.23.orig/src/sort.c	2014-07-13 17:09:52.000000000 -0500
-+++ coreutils-8.23/src/sort.c	2014-07-18 22:36:17.397067101 -0500
+diff -Naurp coreutils-8.25-orig/src/sort.c coreutils-8.25/src/sort.c
+--- coreutils-8.25-orig/src/sort.c	2016-01-16 13:09:33.000000000 -0600
++++ coreutils-8.25/src/sort.c	2016-02-08 19:07:10.310944648 -0600
 @@ -29,6 +29,14 @@
  #include <sys/wait.h>
  #include <signal.h>
@@ -2490,7 +2467,7 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
  #include "system.h"
  #include "argmatch.h"
  #include "error.h"
-@@ -164,14 +172,39 @@
+@@ -163,14 +171,39 @@ static int decimal_point;
  /* Thousands separator; if -1, then there isn't one.  */
  static int thousands_sep;
  
@@ -2531,7 +2508,7 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
  /* The kind of blanks for '-b' to skip in various options. */
  enum blanktype { bl_start, bl_end, bl_both };
  
-@@ -345,13 +378,11 @@
+@@ -344,13 +377,11 @@ static bool reverse;
     they were read if all keys compare equal.  */
  static bool stable;
  
@@ -2548,7 +2525,7 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
  
  /* Flag to remove consecutive duplicate lines from the output.
     Only the last of a sequence of equal lines will be output. */
-@@ -811,6 +842,46 @@
+@@ -810,6 +841,46 @@ reap_all (void)
      reap (-1);
  }
  
@@ -2588,14 +2565,14 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
 +    }
 +
 +  *length = (mblength < 1) ? 1 : mblength;
-+  return iswblank (wc);
++  return iswblank (wc) || wc == '\n';
 +}
 +#endif
 +
  /* Clean up any remaining temporary files.  */
  
  static void
-@@ -1255,7 +1326,7 @@
+@@ -1254,7 +1325,7 @@ zaptemp (char const *name)
    free (node);
  }
  
@@ -2604,7 +2581,7 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
  
  static int
  struct_month_cmp (void const *m1, void const *m2)
-@@ -1270,7 +1341,7 @@
+@@ -1269,7 +1340,7 @@ struct_month_cmp (void const *m1, void c
  /* Initialize the character class tables. */
  
  static void
@@ -2613,7 +2590,7 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
  {
    size_t i;
  
-@@ -1282,7 +1353,7 @@
+@@ -1281,7 +1352,7 @@ inittables (void)
        fold_toupper[i] = toupper (i);
      }
  
@@ -2622,7 +2599,7 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
    /* If we're not in the "C" locale, read different names for months.  */
    if (hard_LC_TIME)
      {
-@@ -1364,6 +1435,84 @@
+@@ -1363,6 +1434,84 @@ specify_nmerge (int oi, char c, char con
      xstrtol_fatal (e, oi, c, long_options, s);
  }
  
@@ -2707,7 +2684,7 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
  /* Specify the amount of main memory to use when sorting.  */
  static void
  specify_sort_size (int oi, char c, char const *s)
-@@ -1597,7 +1746,7 @@
+@@ -1596,7 +1745,7 @@ buffer_linelim (struct buffer const *buf
     by KEY in LINE. */
  
  static char *
@@ -2716,7 +2693,7 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
  {
    char *ptr = line->text, *lim = ptr + line->length - 1;
    size_t sword = key->sword;
-@@ -1606,10 +1755,10 @@
+@@ -1605,10 +1754,10 @@ begfield (struct line const *line, struc
    /* The leading field separator itself is included in a field when -t
       is absent.  */
  
@@ -2729,7 +2706,7 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
            ++ptr;
          if (ptr < lim)
            ++ptr;
-@@ -1635,11 +1784,70 @@
+@@ -1634,11 +1783,70 @@ begfield (struct line const *line, struc
    return ptr;
  }
  
@@ -2801,7 +2778,7 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
  {
    char *ptr = line->text, *lim = ptr + line->length - 1;
    size_t eword = key->eword, echar = key->echar;
-@@ -1654,10 +1862,10 @@
+@@ -1653,10 +1861,10 @@ limfield (struct line const *line, struc
       'beginning' is the first character following the delimiting TAB.
       Otherwise, leave PTR pointing at the first 'blank' character after
       the preceding field.  */
@@ -2814,7 +2791,7 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
            ++ptr;
          if (ptr < lim && (eword || echar))
            ++ptr;
-@@ -1703,10 +1911,10 @@
+@@ -1702,10 +1910,10 @@ limfield (struct line const *line, struc
       */
  
    /* Make LIM point to the end of (one byte past) the current field.  */
@@ -2827,7 +2804,7 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
        if (newlim)
          lim = newlim;
      }
-@@ -1737,6 +1945,130 @@
+@@ -1736,6 +1944,130 @@ limfield (struct line const *line, struc
    return ptr;
  }
  
@@ -2958,7 +2935,7 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
  /* Fill BUF reading from FP, moving buf->left bytes from the end
     of buf->buf to the beginning first.  If EOF is reached and the
     file wasn't terminated by a newline, supply one.  Set up BUF's line
-@@ -1823,8 +2155,22 @@
+@@ -1822,8 +2154,22 @@ fillbuf (struct buffer *buf, FILE *fp, c
                    else
                      {
                        if (key->skipsblanks)
@@ -2983,7 +2960,7 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
                        line->keybeg = line_start;
                      }
                  }
-@@ -1945,7 +2291,7 @@
+@@ -1944,7 +2290,7 @@ human_numcompare (char const *a, char co
     hideously fast. */
  
  static int
@@ -2992,7 +2969,7 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
  {
    while (blanks[to_uchar (*a)])
      a++;
-@@ -1955,6 +2301,25 @@
+@@ -1954,6 +2300,25 @@ numcompare (char const *a, char const *b
    return strnumcmp (a, b, decimal_point, thousands_sep);
  }
  
@@ -3018,7 +2995,7 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
  /* Work around a problem whereby the long double value returned by glibc's
     strtold ("NaN", ...) contains uninitialized bits: clear all bytes of
     A and B before calling strtold.  FIXME: remove this function once
-@@ -2005,7 +2370,7 @@
+@@ -2004,7 +2369,7 @@ general_numcompare (char const *sa, char
     Return 0 if the name in S is not recognized.  */
  
  static int
@@ -3027,7 +3004,7 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
  {
    size_t lo = 0;
    size_t hi = MONTHS_PER_YEAR;
-@@ -2280,15 +2645,14 @@
+@@ -2280,15 +2645,14 @@ debug_key (struct line const *line, stru
            char saved = *lim;
            *lim = '\0';
  
@@ -3045,7 +3022,7 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
            else if (key->general_numeric)
              ignore_value (strtold (beg, &tighter_lim));
            else if (key->numeric || key->human_numeric)
-@@ -2432,7 +2796,7 @@
+@@ -2432,7 +2796,7 @@ key_warnings (struct keyfield const *gke
        bool maybe_space_aligned = !hard_LC_COLLATE && default_key_compare (key)
                                   && !(key->schar || key->echar);
        bool line_offset = key->eword == 0 && key->echar != 0; /* -k1.x,1.y  */
@@ -3054,7 +3031,7 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
            && ((!key->skipsblanks && !(implicit_skip || maybe_space_aligned))
                || (!key->skipsblanks && key->schar)
                || (!key->skipeblanks && key->echar)))
-@@ -2490,11 +2854,87 @@
+@@ -2490,11 +2854,87 @@ key_warnings (struct keyfield const *gke
      error (0, 0, _("option '-r' only applies to last-resort comparison"));
  }
  
@@ -3067,8 +3044,8 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
 +  register int lo = 0, hi = MONTHS_PER_YEAR, result;
 +  char *tmp;
 +  size_t wclength, mblength;
-+  const char **pp;
-+  const wchar_t **wpp;
++  const char *pp;
++  const wchar_t *wpp;
 +  wchar_t *month_wcs;
 +  mbstate_t state;
 +
@@ -3081,17 +3058,19 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
 +  if (len == 0)
 +    return 0;
 +
-+  month = (char *) xmalloc (len + 1);
++  if (SIZE_MAX - len < 1)
++    xalloc_die ();
++
++  month = (char *) xnmalloc (len + 1, MB_CUR_MAX);
 +
-+  tmp = (char *) xmalloc (len + 1);
++  pp = tmp = (char *) xnmalloc (len + 1, MB_CUR_MAX);
 +  memcpy (tmp, s, len);
 +  tmp[len] = '\0';
-+  pp = (const char **)&tmp;
-+  month_wcs = (wchar_t *) xmalloc ((len + 1) * sizeof (wchar_t));
-+  memset (&state, '\0', sizeof(mbstate_t));
++  wpp = month_wcs = (wchar_t *) xnmalloc (len + 1, sizeof (wchar_t));
++  memset (&state, '\0', sizeof (mbstate_t));
 +
-+  wclength = mbsrtowcs (month_wcs, pp, len + 1, &state);
-+  if (wclength == (size_t)-1 || *pp != NULL)
++  wclength = mbsrtowcs (month_wcs, &pp, len + 1, &state);
++  if (wclength == (size_t)-1 || pp != NULL)
 +    error (SORT_FAILURE, 0, _("Invalid multibyte input %s."), quote(s));
 +
 +  for (i = 0; i < wclength; i++)
@@ -3104,10 +3083,8 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
 +        }
 +    }
 +
-+  wpp = (const wchar_t **)&month_wcs;
-+
-+  mblength = wcsrtombs (month, wpp, len + 1, &state);
-+  assert (mblength != (-1) && *wpp == NULL);
++  mblength = wcsrtombs (month, &wpp, (len + 1) * MB_CUR_MAX, &state);
++  assert (mblength != (-1) && wpp == NULL);
 +
 +  do
 +    {
@@ -3143,7 +3120,7 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
  {
    struct keyfield *key = keylist;
  
-@@ -2579,7 +3019,7 @@
+@@ -2579,7 +3019,7 @@ keycompare (struct line const *a, struct
            else if (key->human_numeric)
              diff = human_numcompare (ta, tb);
            else if (key->month)
@@ -3152,7 +3129,7 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
            else if (key->random)
              diff = compare_random (ta, tlena, tb, tlenb);
            else if (key->version)
-@@ -2695,6 +3135,191 @@
+@@ -2695,6 +3135,211 @@ keycompare (struct line const *a, struct
    return key->reverse ? -diff : diff;
  }
  
@@ -3257,13 +3234,18 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
 +      size_t lena = lima <= texta ? 0 : lima - texta;
 +      size_t lenb = limb <= textb ? 0 : limb - textb;
 +
++      char enda IF_LINT (= 0);
++      char endb IF_LINT (= 0);
++
 +      char const *translate = key->translate;
 +      bool const *ignore = key->ignore;
 +
 +      if (ignore || translate)
 +        {
-+          char *copy_a = (char *) xmalloc (lena + 1 + lenb + 1);
-+          char *copy_b = copy_a + lena + 1;
++          if (SIZE_MAX - lenb - 2 < lena)
++            xalloc_die ();
++          char *copy_a = (char *) xnmalloc (lena + lenb + 2, MB_CUR_MAX);
++          char *copy_b = copy_a + lena * MB_CUR_MAX + 1;
 +          size_t new_len_a, new_len_b;
 +          size_t i, j;
 +
@@ -3274,6 +3256,12 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
 +          texta = copy_a; textb = copy_b;
 +          lena = new_len_a; lenb = new_len_b;
 +        }
++      else
++        {
++          /* Use the keys in-place, temporarily null-terminated.  */
++          enda = texta[lena]; texta[lena] = '\0';
++          endb = textb[lenb]; textb[lenb] = '\0';
++        }
 +
 +      if (key->random)
 +        diff = compare_random (texta, lena, textb, lenb);
@@ -3297,13 +3285,22 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
 +        diff = 1;
 +      else if (hard_LC_COLLATE && !folding)
 +        {
-+          diff = xmemcoll0 (texta, lena, textb, lenb);
++          diff = xmemcoll0 (texta, lena + 1, textb, lenb + 1);
 +        }
 +      else
-+        diff = memcmp (texta, textb, MIN (lena + 1,lenb + 1));
++        {
++          diff = memcmp (texta, textb, MIN (lena, lenb));
++          if (diff == 0)
++            diff = lena < lenb ? -1 : lena != lenb;
++        }
 +
 +      if (ignore || translate)
 +        free (texta);
++      else
++        {
++          texta[lena] = enda;
++          textb[lenb] = endb;
++        }
 +
 +      if (diff)
 +        goto not_equal;
@@ -3344,7 +3341,7 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
  /* Compare two lines A and B, returning negative, zero, or positive
     depending on whether A compares less than, equal to, or greater than B. */
  
-@@ -2722,7 +3347,7 @@
+@@ -2722,7 +3367,7 @@ compare (struct line const *a, struct li
      diff = - NONZERO (blen);
    else if (blen == 0)
      diff = 1;
@@ -3353,7 +3350,7 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
      {
        /* Note xmemcoll0 is a performance enhancement as
           it will not unconditionally write '\0' after the
-@@ -4121,6 +4746,7 @@
+@@ -4121,6 +4766,7 @@ set_ordering (char const *s, struct keyf
            break;
          case 'f':
            key->translate = fold_toupper;
@@ -3361,7 +3358,7 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
            break;
          case 'g':
            key->general_numeric = true;
-@@ -4198,7 +4824,7 @@
+@@ -4199,7 +4845,7 @@ main (int argc, char **argv)
    initialize_exit_failure (SORT_FAILURE);
  
    hard_LC_COLLATE = hard_locale (LC_COLLATE);
@@ -3370,7 +3367,7 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
    hard_LC_TIME = hard_locale (LC_TIME);
  #endif
  
-@@ -4219,6 +4845,29 @@
+@@ -4220,6 +4866,29 @@ main (int argc, char **argv)
        thousands_sep = -1;
    }
  
@@ -3400,7 +3397,7 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
    have_read_stdin = false;
    inittables ();
  
-@@ -4493,13 +5142,34 @@
+@@ -4494,13 +5163,34 @@ main (int argc, char **argv)
  
          case 't':
            {
@@ -3439,7 +3436,7 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
                  else
                    {
                      /* Provoke with 'sort -txx'.  Complain about
-@@ -4510,9 +5180,12 @@
+@@ -4511,9 +5201,12 @@ main (int argc, char **argv)
                             quote (optarg));
                    }
                }
@@ -3454,9 +3451,22 @@ diff -Naur coreutils-8.23.orig/src/sort.c coreutils-8.23/src/sort.c
            }
            break;
  
-diff -Naur coreutils-8.23.orig/src/unexpand.c coreutils-8.23/src/unexpand.c
---- coreutils-8.23.orig/src/unexpand.c	2014-07-11 06:00:07.000000000 -0500
-+++ coreutils-8.23/src/unexpand.c	2014-07-18 22:36:17.397067101 -0500
+@@ -4751,12 +5444,10 @@ main (int argc, char **argv)
+       sort (files, nfiles, outfile, nthreads);
+     }
+ 
+-#ifdef lint
+   if (files_from)
+     readtokens0_free (&tok);
+   else
+     free (files);
+-#endif
+ 
+   if (have_read_stdin && fclose (stdin) == EOF)
+     die (_("close failed"), "-");
+diff -Naurp coreutils-8.25-orig/src/unexpand.c coreutils-8.25/src/unexpand.c
+--- coreutils-8.25-orig/src/unexpand.c	2016-01-01 07:48:50.000000000 -0600
++++ coreutils-8.25/src/unexpand.c	2016-02-08 19:07:10.311944651 -0600
 @@ -38,12 +38,29 @@
  #include <stdio.h>
  #include <getopt.h>
@@ -3487,7 +3497,7 @@ diff -Naur coreutils-8.23.orig/src/unexpand.c coreutils-8.23/src/unexpand.c
  /* The official name of this program (e.g., no 'g' prefix).  */
  #define PROGRAM_NAME "unexpand"
  
-@@ -103,6 +120,210 @@
+@@ -103,6 +120,210 @@ static struct option const longopts[] =
    {NULL, 0, NULL, 0}
  };
  
@@ -3698,7 +3708,7 @@ diff -Naur coreutils-8.23.orig/src/unexpand.c coreutils-8.23/src/unexpand.c
  void
  usage (int status)
  {
-@@ -523,7 +744,12 @@
+@@ -523,7 +744,12 @@ main (int argc, char **argv)
  
    file_list = (optind < argc ? &argv[optind] : stdin_argv);
  
@@ -3712,9 +3722,9 @@ diff -Naur coreutils-8.23.orig/src/unexpand.c coreutils-8.23/src/unexpand.c
  
    if (have_read_stdin && fclose (stdin) != 0)
      error (EXIT_FAILURE, errno, "-");
-diff -Naur coreutils-8.23.orig/src/uniq.c coreutils-8.23/src/uniq.c
---- coreutils-8.23.orig/src/uniq.c	2014-07-11 06:00:07.000000000 -0500
-+++ coreutils-8.23/src/uniq.c	2014-07-18 22:36:17.398067074 -0500
+diff -Naurp coreutils-8.25-orig/src/uniq.c coreutils-8.25/src/uniq.c
+--- coreutils-8.25-orig/src/uniq.c	2016-01-13 05:08:59.000000000 -0600
++++ coreutils-8.25/src/uniq.c	2016-02-08 19:07:10.312944654 -0600
 @@ -21,6 +21,17 @@
  #include <getopt.h>
  #include <sys/types.h>
@@ -3733,11 +3743,10 @@ diff -Naur coreutils-8.23.orig/src/uniq.c coreutils-8.23/src/uniq.c
  #include "system.h"
  #include "argmatch.h"
  #include "linebuffer.h"
-@@ -32,7 +43,19 @@
- #include "stdio--.h"
- #include "xmemcoll.h"
+@@ -33,6 +44,18 @@
  #include "xstrtol.h"
--#include "memcasecmp.h"
+ #include "memcasecmp.h"
+ #include "quote.h"
 +#include "xmemcoll.h"
 +
 +/* MB_LEN_MAX is incorrectly defined to be 1 in at least one GCC
@@ -3750,11 +3759,10 @@ diff -Naur coreutils-8.23.orig/src/uniq.c coreutils-8.23/src/uniq.c
 +#if HAVE_MBRTOWC && defined mbstate_t
 +# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0)
 +#endif
-+
  
  /* The official name of this program (e.g., no 'g' prefix).  */
  #define PROGRAM_NAME "uniq"
-@@ -143,6 +166,10 @@
+@@ -143,6 +166,10 @@ enum
    GROUP_OPTION = CHAR_MAX + 1
  };
  
@@ -3765,7 +3773,7 @@ diff -Naur coreutils-8.23.orig/src/uniq.c coreutils-8.23/src/uniq.c
  static struct option const longopts[] =
  {
    {"count", no_argument, NULL, 'c'},
-@@ -251,7 +278,7 @@
+@@ -252,7 +279,7 @@ size_opt (char const *opt, char const *m
     return a pointer to the beginning of the line's field to be compared. */
  
  static char * _GL_ATTRIBUTE_PURE
@@ -3774,7 +3782,7 @@ diff -Naur coreutils-8.23.orig/src/uniq.c coreutils-8.23/src/uniq.c
  {
    size_t count;
    char const *lp = line->buffer;
-@@ -271,6 +298,83 @@
+@@ -272,6 +299,83 @@ find_field (struct linebuffer const *lin
    return line->buffer + i;
  }
  
@@ -3824,8 +3832,8 @@ diff -Naur coreutils-8.23.orig/src/uniq.c coreutils-8.23/src/uniq.c
 +      while (pos < size)
 +        {
 +          MBCHAR_TO_WCHAR (wc, mblength, lp, pos, size, statep, convfail);
-+ 
-+          if (convfail || !iswblank (wc))
++
++          if (convfail || !(iswblank (wc) || wc == '\n'))
 +            {
 +              pos += mblength;
 +              break;
@@ -3837,7 +3845,7 @@ diff -Naur coreutils-8.23.orig/src/uniq.c coreutils-8.23/src/uniq.c
 +        {
 +          MBCHAR_TO_WCHAR (wc, mblength, lp, pos, size, statep, convfail);
 +
-+          if (!convfail && iswblank (wc))
++          if (!convfail && (iswblank (wc) || wc == '\n'))
 +            break;
 +
 +          pos += mblength;
@@ -3858,7 +3866,7 @@ diff -Naur coreutils-8.23.orig/src/uniq.c coreutils-8.23/src/uniq.c
  /* Return false if two strings OLD and NEW match, true if not.
     OLD and NEW point not to the beginnings of the lines
     but rather to the beginnings of the fields to compare.
-@@ -279,6 +383,8 @@
+@@ -280,6 +384,8 @@ find_field (struct linebuffer const *lin
  static bool
  different (char *old, char *new, size_t oldlen, size_t newlen)
  {
@@ -3867,7 +3875,7 @@ diff -Naur coreutils-8.23.orig/src/uniq.c coreutils-8.23/src/uniq.c
    if (check_chars < oldlen)
      oldlen = check_chars;
    if (check_chars < newlen)
-@@ -286,15 +392,104 @@
+@@ -287,15 +393,104 @@ different (char *old, char *new, size_t
  
    if (ignore_case)
      {
@@ -3977,7 +3985,7 @@ diff -Naur coreutils-8.23.orig/src/uniq.c coreutils-8.23/src/uniq.c
  /* Output the line in linebuffer LINE to standard output
     provided that the switches say it should be output.
     MATCH is true if the line matches the previous line.
-@@ -358,19 +553,38 @@
+@@ -359,19 +554,38 @@ check_file (const char *infile, const ch
        char *prevfield IF_LINT ( = NULL);
        size_t prevlen IF_LINT ( = 0);
        bool first_group_printed = false;
@@ -4016,7 +4024,7 @@ diff -Naur coreutils-8.23.orig/src/uniq.c coreutils-8.23/src/uniq.c
            new_group = (prevline->length == 0
                         || different (thisfield, prevfield, thislen, prevlen));
  
-@@ -388,6 +602,10 @@
+@@ -389,6 +603,10 @@ check_file (const char *infile, const ch
                SWAP_LINES (prevline, thisline);
                prevfield = thisfield;
                prevlen = thislen;
@@ -4027,7 +4035,7 @@ diff -Naur coreutils-8.23.orig/src/uniq.c coreutils-8.23/src/uniq.c
                first_group_printed = true;
              }
          }
-@@ -400,17 +618,26 @@
+@@ -401,17 +619,26 @@ check_file (const char *infile, const ch
        size_t prevlen;
        uintmax_t match_count = 0;
        bool first_delimiter = true;
@@ -4054,7 +4062,7 @@ diff -Naur coreutils-8.23.orig/src/uniq.c coreutils-8.23/src/uniq.c
            if (readlinebuffer_delim (thisline, stdin, delimiter) == 0)
              {
                if (ferror (stdin))
-@@ -419,6 +646,14 @@
+@@ -420,6 +647,14 @@ check_file (const char *infile, const ch
              }
            thisfield = find_field (thisline);
            thislen = thisline->length - 1 - (thisfield - thisline->buffer);
@@ -4069,7 +4077,7 @@ diff -Naur coreutils-8.23.orig/src/uniq.c coreutils-8.23/src/uniq.c
            match = !different (thisfield, prevfield, thislen, prevlen);
            match_count += match;
  
-@@ -451,6 +686,9 @@
+@@ -452,6 +687,9 @@ check_file (const char *infile, const ch
                SWAP_LINES (prevline, thisline);
                prevfield = thisfield;
                prevlen = thislen;
@@ -4079,7 +4087,7 @@ diff -Naur coreutils-8.23.orig/src/uniq.c coreutils-8.23/src/uniq.c
                if (!match)
                  match_count = 0;
              }
-@@ -497,6 +735,19 @@
+@@ -498,6 +736,19 @@ main (int argc, char **argv)
  
    atexit (close_stdout);
  
@@ -4099,21 +4107,94 @@ diff -Naur coreutils-8.23.orig/src/uniq.c coreutils-8.23/src/uniq.c
    skip_chars = 0;
    skip_fields = 0;
    check_chars = SIZE_MAX;
-diff -Naur coreutils-8.23.orig/tests/local.mk coreutils-8.23/tests/local.mk
---- coreutils-8.23.orig/tests/local.mk	2014-07-13 17:09:52.000000000 -0500
-+++ coreutils-8.23/tests/local.mk	2014-07-18 22:36:17.398067074 -0500
-@@ -331,6 +331,7 @@
+diff -Naurp coreutils-8.25-orig/tests/i18n/sort-month.sh coreutils-8.25/tests/i18n/sort-month.sh
+--- coreutils-8.25-orig/tests/i18n/sort-month.sh	1969-12-31 18:00:00.000000000 -0600
++++ coreutils-8.25/tests/i18n/sort-month.sh	2016-02-08 19:07:10.312944654 -0600
+@@ -0,0 +1,34 @@
++#!/bin/sh
++# Verify sort -M multi-byte support.
++
++. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
++print_ver_ sort
++require_valgrind_
++
++# Skip this test if some deallocations are
++# avoided at process end.
++grep '^#define lint 1' $CONFIG_HEADER > /dev/null ||
++  skip_ 'Allocation checks only work reliably in "lint" mode'
++
++export LC_ALL=en_US.UTF-8
++locale -k LC_CTYPE | grep -q "charmap.*UTF-8" \
++  || skip_ "No UTF-8 locale available"
++
++# Note the use of ɑ here which expands to
++# a wider representation upon case conversion
++# which triggered an assertion in sort -M
++cat <<EOF > exp
++.
++ɑ
++EOF
++
++
++# check large mem leak with --month-sort
++# https://bugzilla.redhat.com/show_bug.cgi?id=1259942
++valgrind --leak-check=full \
++         --error-exitcode=1 --errors-for-leak-kinds=definite \
++         sort -M < exp > out || fail=1
++compare exp out || { fail=1; cat out; }
++
++
++Exit $fail
+diff -Naurp coreutils-8.25-orig/tests/i18n/sort.sh coreutils-8.25/tests/i18n/sort.sh
+--- coreutils-8.25-orig/tests/i18n/sort.sh	1969-12-31 18:00:00.000000000 -0600
++++ coreutils-8.25/tests/i18n/sort.sh	2016-02-08 19:07:10.312944654 -0600
+@@ -0,0 +1,29 @@
++#!/bin/sh
++# Verify sort's multi-byte support.
++
++. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
++print_ver_ sort
++
++export LC_ALL=en_US.UTF-8
++locale -k LC_CTYPE | grep -q "charmap.*UTF-8" \
++  || skip_ "No UTF-8 locale available"
++
++# Enable heap consistency checkng on older systems
++export MALLOC_CHECK_=2
++
++
++# check buffer overflow issue due to
++# expanding multi-byte representation due to case conversion
++# https://bugzilla.suse.com/show_bug.cgi?id=928749
++cat <<EOF > exp
++.
++ɑ
++EOF
++cat <<EOF | sort -f > out || fail=1
++.
++ɑ
++EOF
++compare exp out || { fail=1; cat out; }
++
++
++Exit $fail
+diff -Naurp coreutils-8.25-orig/tests/local.mk coreutils-8.25/tests/local.mk
+--- coreutils-8.25-orig/tests/local.mk	2016-01-16 12:18:13.000000000 -0600
++++ coreutils-8.25/tests/local.mk	2016-02-08 19:07:10.313944658 -0600
+@@ -344,6 +344,9 @@ all_tests =					\
    tests/misc/sort-discrim.sh			\
    tests/misc/sort-files0-from.pl		\
    tests/misc/sort-float.sh			\
 +  tests/misc/sort-mb-tests.sh			\
++  tests/i18n/sort.sh				\
++  tests/i18n/sort-month.sh			\
    tests/misc/sort-merge.pl			\
    tests/misc/sort-merge-fdlimit.sh		\
    tests/misc/sort-month.sh			\
-diff -Naur coreutils-8.23.orig/tests/misc/cut.pl coreutils-8.23/tests/misc/cut.pl
---- coreutils-8.23.orig/tests/misc/cut.pl	2014-07-11 06:00:07.000000000 -0500
-+++ coreutils-8.23/tests/misc/cut.pl	2014-07-18 22:36:17.398067074 -0500
-@@ -23,9 +23,11 @@
+diff -Naurp coreutils-8.25-orig/tests/misc/cut.pl coreutils-8.25/tests/misc/cut.pl
+--- coreutils-8.25-orig/tests/misc/cut.pl	2016-01-16 12:18:13.000000000 -0600
++++ coreutils-8.25/tests/misc/cut.pl	2016-02-08 19:07:10.314944661 -0600
+@@ -23,9 +23,11 @@ use strict;
  # Turn off localization of executable's output.
  @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3;
  
@@ -4127,7 +4208,7 @@ diff -Naur coreutils-8.23.orig/tests/misc/cut.pl coreutils-8.23/tests/misc/cut.p
  
  my $prog = 'cut';
  my $try = "Try '$prog --help' for more information.\n";
-@@ -227,6 +229,7 @@
+@@ -240,6 +242,7 @@ if ($mb_locale ne 'C')
          my @new_t = @$t;
          my $test_name = shift @new_t;
  
@@ -4135,10 +4216,10 @@ diff -Naur coreutils-8.23.orig/tests/misc/cut.pl coreutils-8.23/tests/misc/cut.p
          push @new, ["$test_name-mb", @new_t, {ENV => "LC_ALL=$mb_locale"}];
        }
      push @Tests, @new;
-diff -Naur coreutils-8.23.orig/tests/misc/expand.pl coreutils-8.23/tests/misc/expand.pl
---- coreutils-8.23.orig/tests/misc/expand.pl	2014-07-11 06:00:07.000000000 -0500
-+++ coreutils-8.23/tests/misc/expand.pl	2014-07-18 22:36:17.399067050 -0500
-@@ -23,6 +23,15 @@
+diff -Naurp coreutils-8.25-orig/tests/misc/expand.pl coreutils-8.25/tests/misc/expand.pl
+--- coreutils-8.25-orig/tests/misc/expand.pl	2016-01-16 12:18:13.000000000 -0600
++++ coreutils-8.25/tests/misc/expand.pl	2016-02-08 19:07:10.314944661 -0600
+@@ -23,6 +23,15 @@ use strict;
  # Turn off localization of executable's output.
  @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3;
  
@@ -4154,7 +4235,7 @@ diff -Naur coreutils-8.23.orig/tests/misc/expand.pl coreutils-8.23/tests/misc/ex
  my @Tests =
    (
     ['t1', '--tabs=3',     {IN=>"a\tb"}, {OUT=>"a  b"}],
-@@ -31,6 +40,37 @@
+@@ -31,6 +40,37 @@ my @Tests =
     ['i2', '--tabs=3 -i', {IN=>" \ta\tb"}, {OUT=>"   a\tb"}],
    );
  
@@ -4192,10 +4273,10 @@ diff -Naur coreutils-8.23.orig/tests/misc/expand.pl coreutils-8.23/tests/misc/ex
  my $save_temps = $ENV{DEBUG};
  my $verbose = $ENV{VERBOSE};
  
-diff -Naur coreutils-8.23.orig/tests/misc/fold.pl coreutils-8.23/tests/misc/fold.pl
---- coreutils-8.23.orig/tests/misc/fold.pl	2014-07-11 06:00:07.000000000 -0500
-+++ coreutils-8.23/tests/misc/fold.pl	2014-07-18 22:36:17.399067050 -0500
-@@ -20,9 +20,18 @@
+diff -Naurp coreutils-8.25-orig/tests/misc/fold.pl coreutils-8.25/tests/misc/fold.pl
+--- coreutils-8.25-orig/tests/misc/fold.pl	2016-01-16 12:18:13.000000000 -0600
++++ coreutils-8.25/tests/misc/fold.pl	2016-02-08 19:07:10.314944661 -0600
+@@ -20,9 +20,18 @@ use strict;
  
  (my $program_name = $0) =~ s|.*/||;
  
@@ -4214,7 +4295,7 @@ diff -Naur coreutils-8.23.orig/tests/misc/fold.pl coreutils-8.23/tests/misc/fold
  my @Tests =
    (
     ['s1', '-w2 -s', {IN=>"a\t"}, {OUT=>"a\n\t"}],
-@@ -31,9 +40,48 @@
+@@ -31,9 +40,48 @@ my @Tests =
     ['s4', '-w4 -s', {IN=>"abc ef\n"}, {OUT=>"abc \nef\n"}],
    );
  
@@ -4264,10 +4345,10 @@ diff -Naur coreutils-8.23.orig/tests/misc/fold.pl coreutils-8.23/tests/misc/fold
 -my $prog = 'fold';
  my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose);
  exit $fail;
-diff -Naur coreutils-8.23.orig/tests/misc/join.pl coreutils-8.23/tests/misc/join.pl
---- coreutils-8.23.orig/tests/misc/join.pl	2014-07-11 06:00:07.000000000 -0500
-+++ coreutils-8.23/tests/misc/join.pl	2014-07-18 22:36:17.399067050 -0500
-@@ -25,6 +25,15 @@
+diff -Naurp coreutils-8.25-orig/tests/misc/join.pl coreutils-8.25/tests/misc/join.pl
+--- coreutils-8.25-orig/tests/misc/join.pl	2016-01-16 12:18:13.000000000 -0600
++++ coreutils-8.25/tests/misc/join.pl	2016-02-08 19:07:10.315944664 -0600
+@@ -25,6 +25,15 @@ my $limits = getlimits ();
  
  my $prog = 'join';
  
@@ -4283,7 +4364,7 @@ diff -Naur coreutils-8.23.orig/tests/misc/join.pl coreutils-8.23/tests/misc/join
  my $delim = chr 0247;
  sub t_subst ($)
  {
-@@ -326,8 +335,49 @@
+@@ -329,8 +338,49 @@ foreach my $t (@tv)
      push @Tests, $new_ent;
    }
  
@@ -4333,9 +4414,9 @@ diff -Naur coreutils-8.23.orig/tests/misc/join.pl coreutils-8.23/tests/misc/join
  my $save_temps = $ENV{DEBUG};
  my $verbose = $ENV{VERBOSE};
  
-diff -Naur coreutils-8.23.orig/tests/misc/sort-mb-tests.sh coreutils-8.23/tests/misc/sort-mb-tests.sh
---- coreutils-8.23.orig/tests/misc/sort-mb-tests.sh	1969-12-31 18:00:00.000000000 -0600
-+++ coreutils-8.23/tests/misc/sort-mb-tests.sh	2014-07-18 22:36:17.399067050 -0500
+diff -Naurp coreutils-8.25-orig/tests/misc/sort-mb-tests.sh coreutils-8.25/tests/misc/sort-mb-tests.sh
+--- coreutils-8.25-orig/tests/misc/sort-mb-tests.sh	1969-12-31 18:00:00.000000000 -0600
++++ coreutils-8.25/tests/misc/sort-mb-tests.sh	2016-02-08 19:07:10.315944664 -0600
 @@ -0,0 +1,45 @@
 +#!/bin/sh
 +# Verify sort's multi-byte support.
@@ -4382,10 +4463,10 @@ diff -Naur coreutils-8.23.orig/tests/misc/sort-mb-tests.sh coreutils-8.23/tests/
 +compare exp out || { fail=1; cat out; }
 +
 +Exit $fail
-diff -Naur coreutils-8.23.orig/tests/misc/sort-merge.pl coreutils-8.23/tests/misc/sort-merge.pl
---- coreutils-8.23.orig/tests/misc/sort-merge.pl	2014-07-11 06:00:07.000000000 -0500
-+++ coreutils-8.23/tests/misc/sort-merge.pl	2014-07-18 22:36:17.399067050 -0500
-@@ -26,6 +26,15 @@
+diff -Naurp coreutils-8.25-orig/tests/misc/sort-merge.pl coreutils-8.25/tests/misc/sort-merge.pl
+--- coreutils-8.25-orig/tests/misc/sort-merge.pl	2016-01-16 12:18:14.000000000 -0600
++++ coreutils-8.25/tests/misc/sort-merge.pl	2016-02-08 19:07:10.316944667 -0600
+@@ -26,6 +26,15 @@ my $prog = 'sort';
  # Turn off localization of executable's output.
  @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3;
  
@@ -4401,7 +4482,7 @@ diff -Naur coreutils-8.23.orig/tests/misc/sort-merge.pl coreutils-8.23/tests/mis
  # three empty files and one that says 'foo'
  my @inputs = (+(map{{IN=> {"empty$_"=> ''}}}1..3), {IN=> {foo=> "foo\n"}});
  
-@@ -77,6 +86,39 @@
+@@ -77,6 +86,39 @@ my @Tests =
          {OUT=>$big_input}],
      );
  
@@ -4441,10 +4522,10 @@ diff -Naur coreutils-8.23.orig/tests/misc/sort-merge.pl coreutils-8.23/tests/mis
  my $save_temps = $ENV{DEBUG};
  my $verbose = $ENV{VERBOSE};
  
-diff -Naur coreutils-8.23.orig/tests/misc/sort.pl coreutils-8.23/tests/misc/sort.pl
---- coreutils-8.23.orig/tests/misc/sort.pl	2014-07-11 06:00:07.000000000 -0500
-+++ coreutils-8.23/tests/misc/sort.pl	2014-07-18 22:36:17.400067026 -0500
-@@ -24,10 +24,15 @@
+diff -Naurp coreutils-8.25-orig/tests/misc/sort.pl coreutils-8.25/tests/misc/sort.pl
+--- coreutils-8.25-orig/tests/misc/sort.pl	2016-01-16 12:18:14.000000000 -0600
++++ coreutils-8.25/tests/misc/sort.pl	2016-02-08 19:07:10.316944667 -0600
+@@ -24,10 +24,15 @@ my $prog = 'sort';
  # Turn off localization of executable's output.
  @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3;
  
@@ -4461,7 +4542,7 @@ diff -Naur coreutils-8.23.orig/tests/misc/sort.pl coreutils-8.23/tests/misc/sort
  # Since each test is run with a file name and with redirected stdin,
  # the name in the diagnostic is either the file name or "-".
  # Normalize each diagnostic to use '-'.
-@@ -415,6 +420,37 @@
+@@ -424,6 +429,38 @@ foreach my $t (@Tests)
        }
    }
  
@@ -4491,6 +4572,7 @@ diff -Naur coreutils-8.23.orig/tests/misc/sort.pl coreutils-8.23/tests/misc/sort
 +        #disable several failing tests until investigation, disable all tests with envvars set
 +        next if (grep {ref $_ eq 'HASH' && exists $_->{ENV}} (@new_t));
 +        next if ($test_name =~ "18g" or $test_name =~ "sort-numeric" or $test_name =~ "08[ab]" or $test_name =~ "03[def]" or $test_name =~ "h4" or $test_name =~ "n1" or $test_name =~ "2[01]a");
++        next if ($test_name =~ "11[ab]"); # avoid FP: expected result differs to MB result due to collation rules.
 +        push @new, ["$test_name-mb", @new_t, {ENV => "LC_ALL=$mb_locale"}];
 +       }
 +    push @Tests, @new;
@@ -4499,7 +4581,7 @@ diff -Naur coreutils-8.23.orig/tests/misc/sort.pl coreutils-8.23/tests/misc/sort
  @Tests = triple_test \@Tests;
  
  # Remember that triple_test creates from each test with exactly one "IN"
-@@ -424,6 +460,7 @@
+@@ -433,6 +470,7 @@ foreach my $t (@Tests)
  # Remove the IN_PIPE version of the "output-is-input" test above.
  # The others aren't susceptible because they have three inputs each.
  @Tests = grep {$_->[0] ne 'output-is-input.p'} @Tests;
@@ -4507,10 +4589,10 @@ diff -Naur coreutils-8.23.orig/tests/misc/sort.pl coreutils-8.23/tests/misc/sort
  
  my $save_temps = $ENV{DEBUG};
  my $verbose = $ENV{VERBOSE};
-diff -Naur coreutils-8.23.orig/tests/misc/unexpand.pl coreutils-8.23/tests/misc/unexpand.pl
---- coreutils-8.23.orig/tests/misc/unexpand.pl	2014-07-11 06:00:07.000000000 -0500
-+++ coreutils-8.23/tests/misc/unexpand.pl	2014-07-18 22:36:17.400067026 -0500
-@@ -27,6 +27,14 @@
+diff -Naurp coreutils-8.25-orig/tests/misc/unexpand.pl coreutils-8.25/tests/misc/unexpand.pl
+--- coreutils-8.25-orig/tests/misc/unexpand.pl	2016-01-16 12:18:14.000000000 -0600
++++ coreutils-8.25/tests/misc/unexpand.pl	2016-02-08 19:07:10.317944671 -0600
+@@ -27,6 +27,14 @@ my $limits = getlimits ();
  
  my $prog = 'unexpand';
  
@@ -4525,7 +4607,7 @@ diff -Naur coreutils-8.23.orig/tests/misc/unexpand.pl coreutils-8.23/tests/misc/
  my @Tests =
      (
       ['a1', {IN=> ' 'x 1 ."y\n"}, {OUT=> ' 'x 1 ."y\n"}],
-@@ -92,6 +100,37 @@
+@@ -92,6 +100,37 @@ my @Tests =
        {EXIT => 1}, {ERR => "$prog: tab stop value is too large\n"}],
      );
  
@@ -4563,10 +4645,10 @@ diff -Naur coreutils-8.23.orig/tests/misc/unexpand.pl coreutils-8.23/tests/misc/
  my $save_temps = $ENV{DEBUG};
  my $verbose = $ENV{VERBOSE};
  
-diff -Naur coreutils-8.23.orig/tests/misc/uniq.pl coreutils-8.23/tests/misc/uniq.pl
---- coreutils-8.23.orig/tests/misc/uniq.pl	2014-07-11 06:00:07.000000000 -0500
-+++ coreutils-8.23/tests/misc/uniq.pl	2014-07-18 22:36:17.400067026 -0500
-@@ -23,9 +23,17 @@
+diff -Naurp coreutils-8.25-orig/tests/misc/uniq.pl coreutils-8.25/tests/misc/uniq.pl
+--- coreutils-8.25-orig/tests/misc/uniq.pl	2016-01-16 12:18:14.000000000 -0600
++++ coreutils-8.25/tests/misc/uniq.pl	2016-02-08 19:07:10.317944671 -0600
+@@ -23,9 +23,17 @@ my $limits = getlimits ();
  my $prog = 'uniq';
  my $try = "Try '$prog --help' for more information.\n";
  
@@ -4584,7 +4666,7 @@ diff -Naur coreutils-8.23.orig/tests/misc/uniq.pl coreutils-8.23/tests/misc/uniq
  # When possible, create a "-z"-testing variant of each test.
  sub add_z_variants($)
  {
-@@ -261,6 +269,53 @@
+@@ -262,6 +270,53 @@ foreach my $t (@Tests)
        and push @$t, {ENV=>'_POSIX2_VERSION=199209'};
    }
  
@@ -4638,12 +4720,12 @@ diff -Naur coreutils-8.23.orig/tests/misc/uniq.pl coreutils-8.23/tests/misc/uniq
  @Tests = add_z_variants \@Tests;
  @Tests = triple_test \@Tests;
  
-diff -Naur coreutils-8.23.orig/tests/pr/pr-tests.pl coreutils-8.23/tests/pr/pr-tests.pl
---- coreutils-8.23.orig/tests/pr/pr-tests.pl	2014-07-11 06:00:07.000000000 -0500
-+++ coreutils-8.23/tests/pr/pr-tests.pl	2014-07-18 22:36:17.401067000 -0500
-@@ -23,6 +23,15 @@
- 
+diff -Naurp coreutils-8.25-orig/tests/pr/pr-tests.pl coreutils-8.25/tests/pr/pr-tests.pl
+--- coreutils-8.25-orig/tests/pr/pr-tests.pl	2016-01-16 12:18:14.000000000 -0600
++++ coreutils-8.25/tests/pr/pr-tests.pl	2016-02-08 19:07:10.318944674 -0600
+@@ -24,6 +24,15 @@ use strict;
  my $prog = 'pr';
+ my $normalize_strerror = "s/': .*/'/";
  
 +my $mb_locale;
 +#Uncomment the following line to enable multibyte tests
@@ -4657,7 +4739,7 @@ diff -Naur coreutils-8.23.orig/tests/pr/pr-tests.pl coreutils-8.23/tests/pr/pr-t
  my @tv = (
  
  # -b option is no longer an official option. But it's still working to
-@@ -466,8 +475,48 @@
+@@ -467,8 +476,48 @@ push @Tests,
      {IN=>{3=>"x\ty\tz\n"}},
       {OUT=>join("\t", qw(a b c m n o x y z)) . "\n"} ];
  
diff --git a/coreutils/patches/coreutils-ipfire-disabled-tests.patch b/coreutils/patches/coreutils-ipfire-disabled-tests.patch
index 648e6e3..0f7a04b 100644
--- a/coreutils/patches/coreutils-ipfire-disabled-tests.patch
+++ b/coreutils/patches/coreutils-ipfire-disabled-tests.patch
@@ -1,6 +1,5 @@
-diff -Nur coreutils-8.23-orig/tests/local.mk coreutils-8.23/tests/local.mk
---- coreutils-8.23-orig/tests/local.mk	2014-07-14 00:09:52.000000000 +0200
-+++ coreutils-8.23/tests/local.mk	2015-01-23 21:44:03.355661943 +0100
+--- coreutils-8.25_old/tests/local.mk	2016-01-16 19:18:13.000000000 +0100
++++ coreutils-8.25_new/tests/local.mk	2016-09-03 12:59:41.798241660 +0200
 @@ -107,7 +107,6 @@
  
  all_root_tests =				\
@@ -9,7 +8,7 @@ diff -Nur coreutils-8.23-orig/tests/local.mk coreutils-8.23/tests/local.mk
    tests/cp/preserve-gid.sh			\
    tests/cp/special-bits.sh			\
    tests/cp/cp-mv-enotsup-xattr.sh		\
-@@ -121,8 +120,6 @@
+@@ -122,8 +121,6 @@
    tests/install/install-C-root.sh		\
    tests/ls/capability.sh			\
    tests/ls/nameless-uid.sh			\
@@ -18,16 +17,24 @@ diff -Nur coreutils-8.23-orig/tests/local.mk coreutils-8.23/tests/local.mk
    tests/misc/selinux.sh				\
    tests/misc/truncate-owned-by-other.sh		\
    tests/mkdir/writable-under-readonly.sh	\
-@@ -517,8 +514,6 @@
+@@ -236,7 +233,6 @@
+   tests/misc/test.pl				\
+   tests/misc/seq.pl				\
+   tests/misc/seq-long-double.sh			\
+-  tests/misc/seq-precision.sh			\
+   tests/misc/head.pl				\
+   tests/misc/head-elide-tail.pl			\
+   tests/tail-2/tail-n0f.sh			\
+@@ -535,8 +531,6 @@
    tests/du/trailing-slash.sh			\
    tests/du/two-args.sh				\
    tests/id/gnu-zero-uids.sh			\
 -  tests/id/no-context.sh			\
 -  tests/id/context.sh				\
    tests/id/uid.sh				\
-   tests/id/setgid.sh				\
    tests/id/zero.sh				\
-@@ -527,7 +522,6 @@
+   tests/id/smack.sh				\
+@@ -544,7 +538,6 @@
    tests/install/create-leading.sh		\
    tests/install/d-slashdot.sh			\
    tests/install/install-C.sh			\
@@ -35,7 +42,7 @@ diff -Nur coreutils-8.23-orig/tests/local.mk coreutils-8.23/tests/local.mk
    tests/install/strip-program.sh		\
    tests/install/trap.sh				\
    tests/ln/backup-1.sh				\
-@@ -579,7 +573,6 @@
+@@ -598,7 +591,6 @@
    tests/mkdir/parents.sh			\
    tests/mkdir/perm.sh				\
    tests/mkdir/selinux.sh			\
diff --git a/libtdb/libtdb.nm b/libtdb/libtdb.nm
index 806c880..855025d 100644
--- a/libtdb/libtdb.nm
+++ b/libtdb/libtdb.nm
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = libtdb
-version    = 1.3.9
+version    = 1.3.11
 release    = 1
 
 groups     = System/Libraries
diff --git a/perl-XML-Parser/perl-XML-Parser.nm b/perl-XML-Parser/perl-XML-Parser.nm
index 90fccd4..eae88d7 100644
--- a/perl-XML-Parser/perl-XML-Parser.nm
+++ b/perl-XML-Parser/perl-XML-Parser.nm
@@ -5,7 +5,7 @@
 
 name       = perl-XML-Parser
 version    = 2.44
-release    = 1.1
+release    = 2
 thisapp    = XML-Parser-%{version}
 
 groups     = Development/Libraries
diff --git a/sip/sip.nm b/sip/sip.nm
index acd28a4..f0249d7 100644
--- a/sip/sip.nm
+++ b/sip/sip.nm
@@ -9,8 +9,8 @@ release    = 1
 epoch      = 1
 
 major_ver  = 4
-minor_ver  = 13
-rev_ver    = 2
+minor_ver  = 18
+rev_ver    = 1
 
 groups     = Development/Tools
 url        = http://www.riverbankcomputing.com/software/sip/intro
@@ -24,7 +24,9 @@ description
 	tighter bindings. SIP is so called because it is a small SWIG.
 end
 
-source_dl  = http://www.riverbankcomputing.com/static/Downloads/sip%{major_ver}/
+source_dl  = https://sourceforge.net/projects/pyqt/files/sip/sip-%{major_ver}.%{minor_ver}.%{rev_ver}/
+sources    = %{thisapp}.tar.gz
+
 
 build
 	requires
diff --git a/smartmontools/smartmontools.nm b/smartmontools/smartmontools.nm
index cf16053..222d5d9 100644
--- a/smartmontools/smartmontools.nm
+++ b/smartmontools/smartmontools.nm
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = smartmontools
-version    = 5.40
+version    = 6.5
 release    = 1
 
 groups     = System/Statistics
@@ -21,7 +21,7 @@ description
 	and failure.
 end
 
-source_dl  = http://downloads.sourceforge.net/project/%{name}/%{name}/%{thisapp}
+source_dl  = http://sourceforge.net/projects/smartmontools/files/smartmontools/%{version}
 
 build
 	requires
diff --git a/sqlite/sqlite.nm b/sqlite/sqlite.nm
index 9c0dfc9..9f8df40 100644
--- a/sqlite/sqlite.nm
+++ b/sqlite/sqlite.nm
@@ -4,9 +4,9 @@
 ###############################################################################
 
 name       = sqlite
-version    = 3.8.8.2
+version    = 3.14.1
 release    = 1
-realver    = 3080802
+realver    = 3140100
 
 groups     = System/Databases
 url        = http://www.sqlite.org/
@@ -23,7 +23,7 @@ description
 end
 
 thisapp    = %{name}-autoconf-%{realver}
-source_dl  = http://www.sqlite.org/2015/
+source_dl  = http://www.sqlite.org/2016/
 
 build
 	requires
diff --git a/strace/patches/0001-linux-aarch64-add-missing-header.patch b/strace/patches/0001-linux-aarch64-add-missing-header.patch
deleted file mode 100644
index 2b74775..0000000
--- a/strace/patches/0001-linux-aarch64-add-missing-header.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From e1e838360288805b6cb561c21e4e7a1ea32e7772 Mon Sep 17 00:00:00 2001
-From: Romain Naour <romain.naour(a)openwide.fr>
-Date: Sat, 4 Apr 2015 00:49:52 +0200
-Subject: [PATCH] linux/aarch64: add missing header.
-
-linux/aarch64/arch_regs.h file is missing in the strace-4.10.tar.xz archive.
-Add the one from the release 4.10 tag.
-
-Signed-off-by: Romain Naour <romain.naour(a)openwide.fr>
----
- linux/aarch64/arch_regs.h | 2 ++
- 1 file changed, 2 insertions(+)
- create mode 100644 linux/aarch64/arch_regs.h
-
-diff --git a/linux/aarch64/arch_regs.h b/linux/aarch64/arch_regs.h
-new file mode 100644
-index 0000000..9a5e33e
---- /dev/null
-+++ b/linux/aarch64/arch_regs.h
-@@ -0,0 +1,2 @@
-+extern uint64_t *const aarch64_sp_ptr;
-+extern uint32_t *const arm_sp_ptr;
--- 
-1.9.3
-
diff --git a/strace/strace.nm b/strace/strace.nm
index 6d179c5..19758a9 100644
--- a/strace/strace.nm
+++ b/strace/strace.nm
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = strace
-version    = 4.10
+version    = 4.13
 release    = 1
 
 groups     = Development/Debuggers
diff --git a/strongswan/strongswan.nm b/strongswan/strongswan.nm
index 54b4f7d..73cef82 100644
--- a/strongswan/strongswan.nm
+++ b/strongswan/strongswan.nm
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = strongswan
-version    = 5.4.0
+version    = 5.5.0
 release    = 1
 
 groups     = Networking/VPN
diff --git a/swig/patches/swig-1.3.23-pylib.patch b/swig/patches/swig-1.3.23-pylib.patch
deleted file mode 100644
index 85fa1e3..0000000
--- a/swig/patches/swig-1.3.23-pylib.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- SWIG-1.3.23/configure.in.pylib	2004-11-02 00:45:57.000000000 +0100
-+++ SWIG-1.3.23/configure.in	2004-11-23 12:20:12.552926982 +0100
-@@ -574,9 +574,11 @@
-     
-     # Set the include directory
- 
-+    PYLIB=`$PYTHON -c "import sys; print sys.path[[1]]"`
-+
-     AC_MSG_CHECKING(for Python header files)
-     if test -r $PYPREFIX/include/$PYVERSION/Python.h; then
--        PYINCLUDE="-I$PYPREFIX/include/$PYVERSION -I$PYEPREFIX/$PYLIBDIR/$PYVERSION/config"
-+        PYINCLUDE="-I$PYPREFIX/include/$PYVERSION -I$PYLIB/config"
-     fi
-     if test -z "$PYINCLUDE"; then
-         if test -r $PYPREFIX/include/Py/Python.h; then
-@@ -587,13 +589,6 @@
- 
-     # Set the library directory blindly.   This probably won't work with older versions
-     AC_MSG_CHECKING(for Python library)
--    dirs="$PYVERSION/config $PYVERSION/$PYLIBDIR python/$PYLIBDIR"
--    for i in $dirs; do
--        if test -d $PYEPREFIX/$PYLIBDIR/$i; then
--           PYLIB="$PYEPREFIX/$PYLIBDIR/$i"
--           break
--        fi
--    done
-     if test -z "$PYLIB"; then
-         AC_MSG_RESULT(Not found)
-     else
diff --git a/swig/patches/swig200-rh623854.patch b/swig/patches/swig200-rh623854.patch
deleted file mode 100644
index 5665252..0000000
--- a/swig/patches/swig200-rh623854.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-diff -up swig-2.0.0/Lib/python/pyrun.swg.rh623854 swig-2.0.0/Lib/python/pyrun.swg
---- swig-2.0.0/Lib/python/pyrun.swg.rh623854	2010-02-28 00:26:02.000000000 +0100
-+++ swig-2.0.0/Lib/python/pyrun.swg	2010-08-17 16:32:16.581604656 +0200
-@@ -45,8 +45,18 @@
- #define SWIG_SetErrorMsg                        	SWIG_Python_SetErrorMsg				   
- #define SWIG_ErrorType(code)                    	SWIG_Python_ErrorType(code)                        
- #define SWIG_Error(code, msg)            		SWIG_Python_SetErrorMsg(SWIG_ErrorType(code), msg) 
--#define SWIG_fail                        		goto fail					   
-+#define SWIG_fail                        		goto fail				
- 
-+/*
-+ * Python 2.7 and newer and Python 3.1 and newer should use Capsules API instead of
-+ * CObjects API.
-+ */
-+#if ((PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION > 6) || \
-+     (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION > 0))
-+#define USE_CAPSULES
-+#define TYPE_POINTER_NAME \
-+    ((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION ".type_pointer_capsule" SWIG_TYPE_TABLE_NAME)
-+#endif
- 
- /* Runtime API implementation */
- 
-@@ -1356,8 +1366,12 @@ SWIG_Python_GetModule(void) {
- #ifdef SWIG_LINK_RUNTIME
-     type_pointer = SWIG_ReturnGlobalTypeList((void *)0);
- #else
-+#ifdef USE_CAPSULES
-+    type_pointer = PyCapsule_Import(TYPE_POINTER_NAME, 0);
-+#else
-     type_pointer = PyCObject_Import((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION,
- 				    (char*)"type_pointer" SWIG_TYPE_TABLE_NAME);
-+#endif
-     if (PyErr_Occurred()) {
-       PyErr_Clear();
-       type_pointer = (void *)0;
-@@ -1402,9 +1416,14 @@ PyModule_AddObject(PyObject *m, char *na
- SWIGRUNTIME void
- SWIG_Python_DestroyModule(void *vptr)
- {
-+  size_t i;
-+#ifdef USE_CAPSULES
-+  swig_module_info *swig_module =
-+    (swig_module_info *) PyCapsule_GetPointer((PyObject *)vptr, TYPE_POINTER_NAME);
-+#else
-   swig_module_info *swig_module = (swig_module_info *) vptr;
-+#endif
-   swig_type_info **types = swig_module->types;
--  size_t i;
-   for (i =0; i < swig_module->size; ++i) {
-     swig_type_info *ty = types[i];
-     if (ty->owndata) {
-@@ -1426,9 +1445,18 @@ SWIG_Python_SetModule(swig_module_info *
-   PyObject *module = Py_InitModule((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION,
- 				   swig_empty_runtime_method_table);
- #endif
-+#ifdef USE_CAPSULES
-+  PyObject *pointer = PyCapsule_New((void *)swig_module, TYPE_POINTER_NAME,
-+				    (PyCapsule_Destructor)SWIG_Python_DestroyModule);
-+#else
-   PyObject *pointer = PyCObject_FromVoidPtr((void *) swig_module, SWIG_Python_DestroyModule);
-+#endif
-   if (pointer && module) {
-+#ifdef USE_CAPSULES
-+    PyModule_AddObject(module, (char*)"type_pointer_capsule" SWIG_TYPE_TABLE_NAME, pointer);
-+#else
-     PyModule_AddObject(module, (char*)"type_pointer" SWIG_TYPE_TABLE_NAME, pointer);
-+#endif
-   } else {
-     Py_XDECREF(pointer);
-   }
-@@ -1449,12 +1477,20 @@ SWIG_Python_TypeQuery(const char *type)
-   PyObject *obj = PyDict_GetItem(cache, key);
-   swig_type_info *descriptor;
-   if (obj) {
-+#ifdef USE_CAPSULES
-+    descriptor = (swig_type_info *) PyCapsule_GetPointer(obj, type);
-+#else
-     descriptor = (swig_type_info *) PyCObject_AsVoidPtr(obj);
-+#endif
-   } else {
-     swig_module_info *swig_module = SWIG_Python_GetModule();
-     descriptor = SWIG_TypeQueryModule(swig_module, swig_module, type);
-     if (descriptor) {
-+#ifdef USE_CAPSULES
-+      obj = PyCapsule_New(descriptor, type, NULL);
-+#else
-       obj = PyCObject_FromVoidPtr(descriptor, NULL);
-+#endif
-       PyDict_SetItem(cache, key, obj);
-       Py_DECREF(obj);
-     }
diff --git a/swig/swig.nm b/swig/swig.nm
index e3e68cc..675dc1f 100644
--- a/swig/swig.nm
+++ b/swig/swig.nm
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = swig
-version    = 2.0.1
+version    = 3.0.10
 release    = 1
 
 groups     = Development/Tools
diff --git a/tcpdump/tcpdump.nm b/tcpdump/tcpdump.nm
index 40a5cd7..68fc555 100644
--- a/tcpdump/tcpdump.nm
+++ b/tcpdump/tcpdump.nm
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = tcpdump
-version    = 4.3.0
-release    = 2
+version    = 4.7.4
+release    = 1
 
 groups     = Networking/Sniffer
 url        = http://www.tcpdump.org/
diff --git a/tinc/tinc.nm b/tinc/tinc.nm
index c1a8624..111e5fa 100644
--- a/tinc/tinc.nm
+++ b/tinc/tinc.nm
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = tinc
-version    = 1.0.23
+version    = 1.0.28
 release    = 1
 
 groups     = Networking/Tools
diff --git a/tmux/tmux.nm b/tmux/tmux.nm
index ac3a556..2a58b69 100644
--- a/tmux/tmux.nm
+++ b/tmux/tmux.nm
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = tmux
-version    = 2.0
+version    = 2.2
 release    = 1
 
 groups     = Application/System
@@ -19,7 +19,7 @@ description
 	programs such as GNU Screen.
 end
 
-source_dl  = http://downloads.sourceforge.net/%{name}/
+source_dl  = https://github.com/tmux/tmux/releases/download/%{version}
 
 build
 	requires
diff --git a/traceroute/traceroute.nm b/traceroute/traceroute.nm
index 5d3a7f8..44c4ecc 100644
--- a/traceroute/traceroute.nm
+++ b/traceroute/traceroute.nm
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = traceroute
-version    = 2.0.12
+version    = 2.1.0
 release    = 1
 
 groups     = Application/Internet
diff --git a/tree/patches/tree-args.patch b/tree/patches/tree-args.patch
deleted file mode 100644
index 5fa5dd2..0000000
--- a/tree/patches/tree-args.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up tree-1.6.0/tree.c.args tree-1.6.0/tree.c
---- tree-1.6.0/tree.c.args	2013-04-11 11:53:47.676572649 +0100
-+++ tree-1.6.0/tree.c	2013-04-11 11:56:10.962350448 +0100
-@@ -536,6 +536,8 @@ void usage(int n)
- 	"  --filelimit # Do not descend dirs with more than # files in them.\n"
- 	"  --timefmt <f> Print and format time according to the format <f>.\n"
- 	"  -o filename   Output to file instead of stdout.\n"
-+	"  --du          Print directory sizes.\n"
-+	"  --prune       Prune empty directories from the output.\n"
- 	"  -------- File options ---------\n"
- 	"  -q            Print non-printable characters as '?'.\n"
- 	"  -N            Print non-printable characters as is.\n"
diff --git a/tree/patches/tree-no-color-by-default.patch b/tree/patches/tree-no-color-by-default.patch
deleted file mode 100644
index 374add4..0000000
--- a/tree/patches/tree-no-color-by-default.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -up tree-1.6.0/tree.c.no-color-by-default tree-1.6.0/tree.c
---- tree-1.6.0/tree.c.no-color-by-default	2011-06-27 16:14:14.190548385 +0100
-+++ tree-1.6.0/tree.c	2011-06-27 16:14:27.257295243 +0100
-@@ -79,7 +79,8 @@ int main(int argc, char **argv)
-   q = p = dtotal = ftotal = 0;
-   aflag = dflag = fflag = lflag = pflag = sflag = Fflag = uflag = gflag = FALSE;
-   Dflag = qflag = Nflag = Qflag = Rflag = hflag = Hflag = siflag = cflag = FALSE;
--  noindent = force_color = nocolor = xdev = noreport = nolinks = FALSE;
-+  noindent = force_color = xdev = noreport = nolinks = FALSE;
-+  nocolor = TRUE;
-   dirsfirst = nosort = inodeflag = devflag = Xflag = FALSE;
-   duflag = pruneflag = FALSE;
-   flimit = 0;
diff --git a/tree/patches/tree-no-strip.patch b/tree/patches/tree-no-strip.patch
deleted file mode 100644
index 5f46ada..0000000
--- a/tree/patches/tree-no-strip.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -up tree-1.6.0/Makefile.no-strip tree-1.6.0/Makefile
---- tree-1.6.0/Makefile.no-strip	2011-06-24 15:25:27.000000000 +0100
-+++ tree-1.6.0/Makefile	2011-07-04 11:11:17.662036666 +0100
-@@ -32,7 +32,7 @@ OBJS=tree.o unix.o html.o xml.o hash.o c
- # Linux defaults:
- #CFLAGS=-ggdb -Wall -DLINUX -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
- CFLAGS=-O4 -Wall  -DLINUX -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
--LDFLAGS=-s
-+LDFLAGS=
- 
- # Uncomment for FreeBSD:
- #CFLAGS=-O2 -Wall -fomit-frame-pointer
-@@ -97,7 +97,7 @@ install: tree
- 	install -d $(BINDIR)
- 	install -d $(MANDIR)
- 	if [ -e $(TREE_DEST) ]; then \
--		install -s $(TREE_DEST) $(BINDIR)/$(TREE_DEST); \
-+		install $(TREE_DEST) $(BINDIR)/$(TREE_DEST); \
- 	fi
- 	install doc/$(MAN) $(MANDIR)/$(MAN)
- 
diff --git a/tree/patches/tree-preserve-timestamps.patch b/tree/patches/tree-preserve-timestamps.patch
deleted file mode 100644
index 2e432a5..0000000
--- a/tree/patches/tree-preserve-timestamps.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -up tree-1.6.0/Makefile.preserve-timestamps tree-1.6.0/Makefile
---- tree-1.6.0/Makefile.preserve-timestamps	2011-06-27 16:11:26.000000000 +0100
-+++ tree-1.6.0/Makefile	2011-06-27 16:12:36.394443602 +0100
-@@ -97,9 +97,9 @@ install: tree
- 	install -d $(BINDIR)
- 	install -d $(MANDIR)
- 	if [ -e $(TREE_DEST) ]; then \
--		install $(TREE_DEST) $(BINDIR)/$(TREE_DEST); \
-+		install -p $(TREE_DEST) $(BINDIR)/$(TREE_DEST); \
- 	fi
--	install doc/$(MAN) $(MANDIR)/$(MAN)
-+	install -p doc/$(MAN) $(MANDIR)/$(MAN)
- 
- distclean:
- 	if [ -f tree.o ]; then rm *.o; fi
diff --git a/tree/tree.nm b/tree/tree.nm
index 710ef4c..5f5583e 100644
--- a/tree/tree.nm
+++ b/tree/tree.nm
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = tree
-version    = 1.6.0
+version    = 1.7.0
 release    = 1
 
 groups     = Applications/File


hooks/post-receive
--
IPFire 3.x development tree

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2016-09-07 10:40 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-07 10:40 [git.ipfire.org] IPFire 3.x development tree branch, master, updated. 47f1e602e25df9ded46e92c77ab8cd076cb42f01 git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox