Hello community,

here is the log from the commit of package moreutils for openSUSE:Factory 
checked in at 2018-03-01 12:08:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/moreutils (Old)
 and      /work/SRC/openSUSE:Factory/.moreutils.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "moreutils"

Thu Mar  1 12:08:16 2018 rev:4 rq:581384 version:0.62

Changes:
--------
--- /work/SRC/openSUSE:Factory/moreutils/moreutils.changes      2017-05-22 
18:09:46.682610385 +0200
+++ /work/SRC/openSUSE:Factory/.moreutils.new/moreutils.changes 2018-03-01 
12:08:19.280994238 +0100
@@ -1,0 +2,20 @@
+Wed Feb 28 19:00:11 UTC 2018 - [email protected]
+
+- Update to version 0.62
+  * ts: Add -m option to use monotonic clock.
+    Thanks, Ben Leinweber
+  * ts: Added %.T format like %T but with hi-res.
+    Thanks, Matt Koscica
+  * pee: Ignore SIGPIPE and write errors caused by the command
+    not consuming all its input. Closes: #697052
+    Thanks, Ole Jørgen Brønner
+  * chronic: document return value semantics of -e option.
+    Closes: #867167
+    Thanks, Daniel Shahaf
+  * vidir: reword man page to more explicit mention 'file' args.
+    Closes: #885221
+    Thanks, Daniel Shahaf
+  * pee: Don't buffer input, bringing behavior into line with tee.
+    Thanks, Sauerbeck Tilman
+
+-------------------------------------------------------------------

Old:
----
  moreutils-0.61.tar.gz

New:
----
  moreutils-0.62.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ moreutils.spec ++++++
--- /var/tmp/diff_new_pack.ezrbxq/_old  2018-03-01 12:08:21.004932350 +0100
+++ /var/tmp/diff_new_pack.ezrbxq/_new  2018-03-01 12:08:21.004932350 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package moreutils
 #
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,11 +17,11 @@
 
 
 Name:           moreutils
-Version:        0.61
+Version:        0.62
 Release:        0
 Summary:        Additional Unix Utilities
 License:        GPL-2.0+ and GPL-2.0 and MIT
-Group:          System/Management
+Group:          Productivity/File utilities
 Url:            https://joeyh.name/code/moreutils/
 Source:         
https://git.joeyh.name/index.cgi/moreutils.git/snapshot/%{name}-%{version}.tar.gz
 BuildRequires:  docbook-xsl-stylesheets
@@ -56,7 +56,7 @@
 
 %package parallel
 Summary:        Additional unix utility - parallel command
-Group:          Applications/System
+Group:          Productivity/File utilities
 Requires:       %{name} = %{version}-%{release}
 Conflicts:      gnu_parallel
 

++++++ moreutils-0.61.tar.gz -> moreutils-0.62.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/moreutils-0.61/Makefile new/moreutils-0.62/Makefile
--- old/moreutils-0.61/Makefile 2017-04-19 16:31:30.000000000 +0200
+++ new/moreutils-0.62/Makefile 2017-12-31 17:02:11.000000000 +0100
@@ -16,7 +16,8 @@
 all: $(BINS) $(MANS)
 
 clean:
-       rm -f $(BINS) $(MANS) dump.c errnos.h errno.o
+       rm -f $(BINS) $(MANS) dump.c errnos.h errno.o \
+               is_utf8/*.o is_utf8/isutf8
 
 isutf8: is_utf8/*.c is_utf8/*.h
        $(MAKE) -C is_utf8/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/moreutils-0.61/chronic new/moreutils-0.62/chronic
--- old/moreutils-0.61/chronic  2017-04-19 16:31:30.000000000 +0200
+++ new/moreutils-0.62/chronic  2017-12-31 17:02:11.000000000 +0100
@@ -36,6 +36,9 @@
 Stderr triggering. Triggers output when stderr output length is non-zero.
 Without -e chronic needs non-zero return value to trigger output.
 
+In this mode, chronic's return value will be C<2> if the command's return
+value is C<0> but the command printed to stderr.
+
 =back
 
 =head1 AUTHOR
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/moreutils-0.61/debian/changelog 
new/moreutils-0.62/debian/changelog
--- old/moreutils-0.61/debian/changelog 2017-04-19 16:31:30.000000000 +0200
+++ new/moreutils-0.62/debian/changelog 2017-12-31 17:02:11.000000000 +0100
@@ -1,3 +1,22 @@
+moreutils (0.62) unstable; urgency=medium
+
+  * ts: Add -m option to use monotonic clock.
+    Thanks, Ben Leinweber
+  * ts: Added %.T format like %T but with hi-res.
+    Thanks, Matt Koscica
+  * pee: Ignore SIGPIPE and write errors caused by the command not
+    consuming all its input. Closes: #697052
+    Thanks, Ole Jørgen Brønner
+  * chronic: document return value semantics of -e option. Closes: #867167
+    Thanks, Daniel Shahaf
+  * vidir: reword man page to more explicit mention 'file' args.
+    Closes: #885221
+    Thanks, Daniel Shahaf
+  * pee: Don't buffer input, bringing behavior into line with tee.
+    Thanks, Sauerbeck Tilman
+
+ -- Joey Hess <[email protected]>  Sun, 31 Dec 2017 12:02:05 -0400
+
 moreutils (0.61) unstable; urgency=medium
 
   * chronic: Flush output more often to better preserve stdout,err ordering.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/moreutils-0.61/lckdo.c new/moreutils-0.62/lckdo.c
--- old/moreutils-0.61/lckdo.c  2017-04-19 16:31:30.000000000 +0200
+++ new/moreutils-0.62/lckdo.c  2017-12-31 17:02:11.000000000 +0100
@@ -6,7 +6,6 @@
  */
 
 #define _GNU_SOURCE
-#define _BSD_SOURCE
 #include <unistd.h>
 #include <fcntl.h>
 #include <stdio.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/moreutils-0.61/pee.c new/moreutils-0.62/pee.c
--- old/moreutils-0.61/pee.c    2017-04-19 16:31:30.000000000 +0200
+++ new/moreutils-0.62/pee.c    2017-12-31 17:02:11.000000000 +0100
@@ -1,7 +1,10 @@
 #include <stdlib.h>
 #include <stdio.h>
+#include <unistd.h>
+#include <string.h>
 #include <sys/types.h>
 #include <sys/wait.h>
+#include <errno.h>
 
 /* Licensed under the GPL
  * Copyright (c) Miek Gieben, 2006
@@ -28,12 +31,43 @@
 
 int
 main(int argc, char **argv) {
+       int ignore_write_error = 1;
+       int ignore_sigpipe = 1;
        size_t i, r;
        FILE **pipes;
+       int *inactive_pipe;
+       int inactive_pipes = 0;
        char buf[BUFSIZ];
 
+       while(argc > 1) {
+               if (!strcmp(argv[1], "--no-ignore-sigpipe")) {
+                       argc--, argv++;
+                       ignore_sigpipe = 0;
+                       continue;
+               } else if (!strcmp(argv[1], "--ignore-sigpipe")) {
+                       argc--, argv++;
+                       ignore_sigpipe = 1;
+                       continue;
+               } else if (!strcmp(argv[1], "--no-ignore-write-errors")) {
+                       argc--, argv++;
+                       ignore_write_error = 0;
+                       continue;
+               } else if (!strcmp(argv[1], "--ignore-write-errors")) {
+                       argc--, argv++;
+                       ignore_write_error = 1;
+                       continue;
+               }
+               break;
+       }
+
+       if (ignore_sigpipe && (signal(SIGPIPE, SIG_IGN) == SIG_ERR)) {
+               fprintf(stderr, "Unable to ignore SIGPIPE\n");
+               exit(EXIT_FAILURE);
+       }
+
        pipes = malloc(((argc - 1) * sizeof *pipes));
-       if (!pipes) 
+       inactive_pipe = calloc((argc - 1), (sizeof *inactive_pipe));
+       if (!pipes || !inactive_pipe)
                exit(EXIT_FAILURE);
 
        for (i = 1; i < argc; i++) {
@@ -44,17 +78,41 @@
 
                        exit(EXIT_FAILURE);
                }
+
+               setbuf(pipes[i - 1], NULL);
        }
        argc--;
-       
-       while(!feof(stdin) && (!ferror(stdin))) {
-               r = fread(buf, sizeof(char), BUFSIZ, stdin);
+
+       for (;;) {
+               r = read(STDIN_FILENO, buf, BUFSIZ);
+
+               /* Interrupted by signal? Try again. */
+               if (r == -1 && errno == EINTR)
+                       continue;
+               
+               /* Other error or EOF. */
+               if (r < 1)
+                       break;
+               
                for(i = 0; i < argc; i++) {
-                       if (fwrite(buf, sizeof(char), r, pipes[i]) != r) {
-                               fprintf(stderr, "Write error to `%s\'\n", 
argv[i + 1]);
+                       if (inactive_pipe[i])
+                               continue;
+
+                       if (fwrite(buf, sizeof(char), r, pipes[i]) == r)
+                               continue;
+
+                       inactive_pipes++;
+
+                       if (!ignore_write_error)
+                               fprintf(stderr, "Write error to `%s\'\n",
+                                       argv[i + 1]);
+
+                       if (!ignore_write_error || (inactive_pipes == argc)) {
                                close_pipes(pipes, argc);
                                exit(EXIT_FAILURE);
                        }
+
+                       inactive_pipe[i] = 1;
                }
        }
        exit(close_pipes(pipes, argc));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/moreutils-0.61/pee.docbook 
new/moreutils-0.62/pee.docbook
--- old/moreutils-0.61/pee.docbook      2017-04-19 16:31:30.000000000 +0200
+++ new/moreutils-0.62/pee.docbook      2017-12-31 17:02:11.000000000 +0100
@@ -33,7 +33,7 @@
                        <firstname>Joey</firstname>
                        <surname>Hess</surname>
                </author>
-               <date>2006-03-14</date>
+               <date>2016-12-20</date>
        </refentryinfo>
 
        <refmeta>
@@ -51,6 +51,8 @@
        <refsynopsisdiv>
                <cmdsynopsis>
                        <command>pee</command>
+                       <arg>--[no-]ignore-sigpipe</arg>
+                       <arg>--[no-]ignore-write-errors</arg>
                        <group choice="opt">
                                <arg 
rep="repeat"><replaceable>"command"</replaceable></arg>
                        </group>
@@ -70,6 +72,41 @@
                to stdout, like tee does. If that is desired, use 
                <command>pee cat ...</command></para>
        </refsect1>
+
+       <refsect1>
+               <title>OPTIONS</title>
+
+               <variablelist>
+                   <varlistentry>
+                       <term><option>--ignore-sigpipe</option></term>
+                       <term><option>--no-ignore-sigpipe</option></term>
+                       <listitem>
+                           <para>Do (not) ignore SIGPIPE.  Any command started
+                           by <command>pee</command> might cause a SIGPIPE
+                           when it exists.  If you ignore SIGPIPE, you
+                           probably also want to ignore write errors (see
+                           below).  Ignoring SIGPIPE is the default
+                           behaviour.</para>
+                       </listitem>
+                   </varlistentry>
+
+                   <varlistentry>
+                       <term><option>--ignore-write-errors</option></term>
+                       <term><option>--no-ignore-write-errors</option></term>
+                       <listitem>
+                           <para>Do (not) ignore write errors.  When a command
+                           started by <command>pee</command> is no more
+                           accepting data via the pipe between itself and
+                           <command>pee</command>, a write error occurs in
+                           <command>pee</command>.  If this error is not
+                           ignored, <command>pee</command> is going to
+                           terminate all child processes and exists.  Ignoring
+                           write errors is the default behaviour.</para>
+                       </listitem>
+                   </varlistentry>
+
+               </variablelist>
+       </refsect1>
        
        <refsect1>
                <title>SEE ALSO</title>
@@ -77,6 +114,9 @@
                <para>
                        <citerefentry>
                                
<refentrytitle>tee</refentrytitle><manvolnum>1</manvolnum>
+                       </citerefentry>,
+                       <citerefentry>
+                               
<refentrytitle>pipe</refentrytitle><manvolnum>7</manvolnum>
                        </citerefentry>
                </para>
                
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/moreutils-0.61/ts new/moreutils-0.62/ts
--- old/moreutils-0.61/ts       2017-04-19 16:31:30.000000000 +0200
+++ new/moreutils-0.62/ts       2017-12-31 17:02:11.000000000 +0100
@@ -14,9 +14,10 @@
 
 The optional format parameter controls how the timestamp is formatted,
 as used by L<strftime(3)>. The default format is "%b %d %H:%M:%S". In
-addition to the regular strftime conversion specifications, "%.S" and "%.s"
-are like "%S" and "%s", but provide subsecond resolution
-(ie, "30.00001" and "1301682593.00001").
+addition to the regular strftime conversion specifications, 
+"%.S" and "%.s" and "%.T"
+are like "%S" and "%s" and "%T", but provide subsecond resolution
+(ie, "30.00001" and "1301682593.00001" and "1:15:30.00001").
 
 If the -r switch is passed, it instead converts existing timestamps in
 the input to relative times, such as "15m5s ago". Many common timestamp
@@ -33,6 +34,8 @@
 The default format changes to "%H:%M:%S", and "%.S" and "%.s" can be used
 as well.
 
+The -m switch makes the system's monotonic clock be used.
+
 =head1 ENVIRONMENT
 
 The standard TZ environment variable controls what time zone dates
@@ -56,8 +59,14 @@
 my $rel=0;
 my $inc=0;
 my $sincestart=0;
+my $mono=0;
 use Getopt::Long;
-GetOptions("r" => \$rel, "i" => \$inc, "s" => \$sincestart) || die "usage: ts 
[-r] [-i | -s] [format]\n";
+GetOptions(
+       "r" => \$rel,
+       "i" => \$inc,
+       "s" => \$sincestart,
+       "m" => \$mono
+) || die "usage: ts [-r] [-i | -s] [-m] [format]\n";
 
 if ($rel) {
        eval q{
@@ -77,17 +86,26 @@
 
 # For subsecond resolution, Time::HiRes is needed.
 my $hires=0;
-if ($format=~/\%\.[Ss]/) {
+if ($format=~/\%\.[SsT]/ || $mono) {
        require Time::HiRes;
+       use Time::HiRes qw(CLOCK_MONOTONIC);
        $hires=1;
 }
 
 my $lastseconds = 0;
 my $lastmicroseconds = 0;
+my $monodelta;
 
-if ($hires) {
+if ($mono) {
+       my $raw_time = Time::HiRes::clock_gettime(CLOCK_MONOTONIC);
+       $lastseconds = time;
+       $lastmicroseconds = int(1000000 * ($raw_time - int($raw_time)));
+       $monodelta = time - int($raw_time);
+}
+elsif ($hires) {
        ($lastseconds, $lastmicroseconds) = Time::HiRes::gettimeofday();
-} else {
+}
+else {
        $lastseconds = time;
 }
 
@@ -96,7 +114,18 @@
        if (! $rel) {
                if ($hires) {
                        my $f=$format;
-                       my ($seconds, $microseconds) = 
Time::HiRes::gettimeofday();
+            my $seconds;
+                       my $microseconds;
+                       if ($mono) {
+                               my $raw_time =
+                                       
Time::HiRes::clock_gettime(CLOCK_MONOTONIC);
+                               $seconds = $monodelta + int($raw_time);
+                               $microseconds = int(1000000 * ($raw_time - 
$seconds));
+                       }
+                       else {
+                               ($seconds, $microseconds) = 
Time::HiRes::gettimeofday();
+                       }
+
                        if ($inc || $sincestart) {
                                my $deltaseconds = $seconds - $lastseconds;
                                my $deltamicroseconds = $microseconds - 
$lastmicroseconds;
@@ -112,7 +141,7 @@
                                $microseconds = $deltamicroseconds;
                        }
                        my $s=sprintf("%06i", $microseconds);
-                       $f=~s/\%\.([Ss])/%$1.$s/g;
+                       $f=~s/\%\.([SsT])/%$1.$s/g;
                        print strftime($f, localtime($seconds));
                }
                else {
@@ -123,7 +152,8 @@
                                        $lastseconds = $seconds;
                                }
                                print strftime($format, 
localtime($deltaseconds));
-                       } else {
+                       }
+                       else {
                                print strftime($format, localtime);
                        }
                }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/moreutils-0.61/vidir new/moreutils-0.62/vidir
--- old/moreutils-0.61/vidir    2017-04-19 16:31:30.000000000 +0200
+++ new/moreutils-0.62/vidir    2017-12-31 17:02:11.000000000 +0100
@@ -2,16 +2,16 @@
 
 =head1 NAME
 
-vidir - edit directory
+vidir - edit directories and filenames
 
 =head1 SYNOPSIS
 
-B<vidir> [--verbose] [directory|file|-] ...
+B<vidir> [B<--verbose>] [I<directory>|I<file>|B<->]...
 
 =head1 DESCRIPTION
 
-vidir allows editing of the contents of a directory in a text editor. If no
-directory is specified, the current directory is edited. 
+B<vidir> allows editing of directories and filenames in a text editor.  If no
+I<directory> is specified, the filenames of the current directory are edited.
 
 When editing a directory, each item in the directory will appear on its own
 numbered line. These numbers are how vidir keeps track of what items are
@@ -19,9 +19,10 @@
 edit filenames to rename files. You can also switch pairs of numbers to
 swap filenames.
 
-Note that if "-" is specified as the directory to edit, it reads a list of
-filenames from stdin and displays those for editing. Alternatively, a list
-of files can be specified on the command line.
+Filenames to be edited may be given any combination of I<directory>s (which
+will be expanded to the non-recursive list of all files within I<directory>),
+I<file>s, or I<->.  If the latter is specified, B<vidir> reads a list of
+filenames from stdin and displays those for editing.
 
 =head1 OPTIONS
 


Reply via email to