Hello community,

here is the log from the commit of package perl-IPC-Run for openSUSE:Factory 
checked in at 2018-03-30 12:07:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-IPC-Run (Old)
 and      /work/SRC/openSUSE:Factory/.perl-IPC-Run.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-IPC-Run"

Fri Mar 30 12:07:43 2018 rev:34 rq:592070 version:0.97

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-IPC-Run/perl-IPC-Run.changes        
2018-01-06 18:51:01.954063893 +0100
+++ /work/SRC/openSUSE:Factory/.perl-IPC-Run.new/perl-IPC-Run.changes   
2018-03-30 12:07:45.325012306 +0200
@@ -1,0 +2,18 @@
+Wed Mar 28 14:35:32 UTC 2018 - pmonrealgonza...@suse.com
+
+- Fixed build on ppc and ppc64 architectures.
+- Refreshed spec file with spec-clean.
+
+-------------------------------------------------------------------
+Tue Mar 27 05:27:33 UTC 2018 - co...@suse.com
+
+- updated to 0.97
+   see /usr/share/doc/packages/perl-IPC-Run/Changes
+
+  0.97 Mon Mar 26 2018
+   - Update meta and POD to point to GitHub issues not RT.
+   - Update README with pod changes.
+   - Fix variable name in synopsis - [Github #47]
+   - Fix t/run.t to work on "perl in space" - [Github #100]
+
+-------------------------------------------------------------------

Old:
----
  IPC-Run-0.96.tar.gz

New:
----
  IPC-Run-0.97.tar.gz

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

Other differences:
------------------
++++++ perl-IPC-Run.spec ++++++
--- /var/tmp/diff_new_pack.hc6iSG/_old  2018-03-30 12:07:45.868992638 +0200
+++ /var/tmp/diff_new_pack.hc6iSG/_new  2018-03-30 12:07:45.872992494 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-IPC-Run
 #
-# 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
@@ -18,13 +18,13 @@
 
 %define cpan_name IPC-Run
 Name:           perl-IPC-Run
-Version:        0.96
+Version:        0.97
 Release:        0
 Summary:        System() and Background Procs W/ Piping, Redirs, Ptys (Unix, 
Win32)
-License:        Artistic-1.0 OR GPL-1.0+
+License:        Artistic-1.0 OR GPL-1.0-or-later
 Group:          Development/Libraries/Perl
 Url:            http://search.cpan.org/dist/IPC-Run/
-Source0:        
http://www.cpan.org/authors/id/T/TO/TODDR/%{cpan_name}-%{version}.tar.gz
+Source0:        
https://cpan.metacpan.org/authors/id/T/TO/TODDR/%{cpan_name}-%{version}.tar.gz
 Source1:        cpanspec.yml
 Patch0:         IPC-Run-0.89-path.diff
 BuildRequires:  perl
@@ -68,6 +68,8 @@
 %perl_gen_filelist
 
 %files -f %{name}.files
-%doc Changes LICENSE README TODO
+%defattr(-,root,root,755)
+%doc Changes README TODO
+%license LICENSE
 
 %changelog

++++++ IPC-Run-0.96.tar.gz -> IPC-Run-0.97.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IPC-Run-0.96/META.json new/IPC-Run-0.97/META.json
--- old/IPC-Run-0.96/META.json  2017-05-12 15:47:24.000000000 +0200
+++ new/IPC-Run-0.97/META.json  2018-03-26 23:41:45.000000000 +0200
@@ -4,7 +4,7 @@
       "Barrie Slaymaker <barr...@slaysys.com>"
    ],
    "dynamic_config" : 1,
-   "generated_by" : "ExtUtils::MakeMaker version 7.1002, CPAN::Meta::Converter 
version 2.150005",
+   "generated_by" : "ExtUtils::MakeMaker version 7.24, CPAN::Meta::Converter 
version 2.150010",
    "license" : [
       "perl_5"
    ],
@@ -53,6 +53,6 @@
          "url" : "https://github.com/toddr/IPC-Run";
       }
    },
-   "version" : "0.96",
-   "x_serialization_backend" : "JSON::PP version 2.27300_01"
+   "version" : "0.97",
+   "x_serialization_backend" : "JSON::PP version 2.27400_02"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IPC-Run-0.96/META.yml new/IPC-Run-0.97/META.yml
--- old/IPC-Run-0.96/META.yml   2017-05-12 15:47:24.000000000 +0200
+++ new/IPC-Run-0.97/META.yml   2018-03-26 23:41:44.000000000 +0200
@@ -8,7 +8,7 @@
 configure_requires:
   ExtUtils::MakeMaker: '0'
 dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 7.1002, CPAN::Meta::Converter 
version 2.150005'
+generated_by: 'ExtUtils::MakeMaker version 7.24, CPAN::Meta::Converter version 
2.150010'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -27,5 +27,5 @@
   bugtracker: https://github.com/toddr/IPC-Run/issues
   license: http://dev.perl.org/licenses/
   repository: https://github.com/toddr/IPC-Run
-version: '0.96'
+version: '0.97'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IPC-Run-0.96/README new/IPC-Run-0.97/README
--- old/IPC-Run-0.96/README     2017-05-12 15:35:53.000000000 +0200
+++ new/IPC-Run-0.97/README     2018-03-26 23:39:54.000000000 +0200
@@ -9,10 +9,10 @@
        ## Using run() instead of system():
           use IPC::Run qw( run timeout );
 
-          run \@cmd, \$in, \$out, \$err, timeout( 10 ) or die "cat: $?"
+          run \@cat, \$in, \$out, \$err, timeout( 10 ) or die "cat: $?"
 
           # Can do I/O to sub refs and filenames, too:
-          run \@cmd, '<', "in.txt", \&out, \&err or die "cat: $?"
+          run \@cat, '<', "in.txt", \&out, \&err or die "cat: $?"
           run \@cat, '<', "in.txt", '>>', "out.txt", '2>>', "err.txt";
 
 
@@ -106,10 +106,10 @@
           run io( \*HANDLE,   'r', \$recv );
 
 DESCRIPTION
-    IPC::Run allows you run and interact with child processes using files,
-    pipes, and pseudo-ttys. Both system()-style and scripted usages are
-    supported and may be mixed. Likewise, functional and OO API styles are
-    both supported and may be mixed.
+    IPC::Run allows you to run and interact with child processes using
+    files, pipes, and pseudo-ttys. Both system()-style and scripted usages
+    are supported and may be mixed. Likewise, functional and OO API styles
+    are both supported and may be mixed.
 
     Various redirection operators reminiscent of those seen on common Unix
     and DOS command lines are provided.
@@ -524,9 +524,9 @@
     that stdin, stdout, or stderr are not connected to a tty, assuming that
     they are being run in batch mode. Whether this helps or hurts depends on
     which optimizations change. And there's often no way of telling what a
-    program does in these areas other than trial and error and,
-    occasionally, reading the source. This includes different versions and
-    implementations of the same program.
+    program does in these areas other than trial and error and occasionally,
+    reading the source. This includes different versions and implementations
+    of the same program.
 
     All hope is not lost, however. Most programs behave in reasonably
     tractable manners, once you figure out what it's trying to do.
@@ -940,303 +940,313 @@
     their exit codes.
 
 ROUTINES
-    run Run takes a harness or harness specification and runs it, pumping
-        all input to the child(ren), closing the input pipes when no more
-        input is available, collecting all output that arrives, until the
-        pipes delivering output are closed, then waiting for the children to
-        exit and reaping their result codes.
+        run Run takes a harness or harness specification and runs it,
+            pumping all input to the child(ren), closing the input pipes
+            when no more input is available, collecting all output that
+            arrives, until the pipes delivering output are closed, then
+            waiting for the children to exit and reaping their result codes.
 
-        You may think of "run( ... )" as being like
+            You may think of "run( ... )" as being like
 
-           start( ... )->finish();
+               start( ... )->finish();
 
-        , though there is one subtle difference: run() does not set
-        \$input_scalars to '' like finish() does. If an exception is thrown
-        from run(), all children will be killed off "gently", and then
-        "annihilated" if they do not go gently (in to that dark night.
-        sorry).
+            , though there is one subtle difference: run() does not set
+            \$input_scalars to '' like finish() does. If an exception is
+            thrown from run(), all children will be killed off "gently", and
+            then "annihilated" if they do not go gently (in to that dark
+            night. sorry).
 
-        If any exceptions are thrown, this does a "kill_kill" before
-        propagating them.
+            If any exceptions are thrown, this does a "kill_kill" before
+            propagating them.
 
-    signal
-           ## To send it a specific signal by name ("USR1"):
-           signal $h, "USR1";
-           $h->signal ( "USR1" );
+        signal
+               ## To send it a specific signal by name ("USR1"):
+               signal $h, "USR1";
+               $h->signal ( "USR1" );
 
-        If $signal is provided and defined, sends a signal to all child
-        processes. Try not to send numeric signals, use "KILL" instead of 9,
-        for instance. Numeric signals aren't portable.
+            If $signal is provided and defined, sends a signal to all child
+            processes. Try not to send numeric signals, use "KILL" instead
+            of 9, for instance. Numeric signals aren't portable.
 
-        Throws an exception if $signal is undef.
+            Throws an exception if $signal is undef.
 
-        This will *not* clean up the harness, "finish" it if you kill it.
+            This will *not* clean up the harness, "finish" it if you kill
+            it.
 
-        Normally TERM kills a process gracefully (this is what the command
-        line utility "kill" does by default), INT is sent by one of the keys
-        "^C", "Backspace" or "<Del>", and "QUIT" is used to kill a process
-        and make it coredump.
+            Normally TERM kills a process gracefully (this is what the
+            command line utility "kill" does by default), INT is sent by one
+            of the keys "^C", "Backspace" or "<Del>", and "QUIT" is used to
+            kill a process and make it coredump.
 
-        The "HUP" signal is often used to get a process to "restart",
-        rereading config files, and "USR1" and "USR2" for really
-        application-specific things.
+            The "HUP" signal is often used to get a process to "restart",
+            rereading config files, and "USR1" and "USR2" for really
+            application-specific things.
 
-        Often, running "kill -l" (that's a lower case "L") on the command
-        line will list the signals present on your operating system.
+            Often, running "kill -l" (that's a lower case "L") on the
+            command line will list the signals present on your operating
+            system.
 
-        WARNING: The signal subsystem is not at all portable. We *may* offer
-        to simulate "TERM" and "KILL" on some operating systems, submit code
-        to me if you want this.
+            WARNING: The signal subsystem is not at all portable. We *may*
+            offer to simulate "TERM" and "KILL" on some operating systems,
+            submit code to me if you want this.
 
-        WARNING 2: Up to and including perl v5.6.1, doing almost anything in
-        a signal handler could be dangerous. The most safe code avoids all
-        mallocs and system calls, usually by preallocating a flag before
-        entering the signal handler, altering the flag's value in the
-        handler, and responding to the changed value in the main system:
+            WARNING 2: Up to and including perl v5.6.1, doing almost
+            anything in a signal handler could be dangerous. The most safe
+            code avoids all mallocs and system calls, usually by
+            preallocating a flag before entering the signal handler,
+            altering the flag's value in the handler, and responding to the
+            changed value in the main system:
 
-           my $got_usr1 = 0;
-           sub usr1_handler { ++$got_signal }
+               my $got_usr1 = 0;
+               sub usr1_handler { ++$got_signal }
 
-           $SIG{USR1} = \&usr1_handler;
-           while () { sleep 1; print "GOT IT" while $got_usr1--; }
+               $SIG{USR1} = \&usr1_handler;
+               while () { sleep 1; print "GOT IT" while $got_usr1--; }
 
-        Even this approach is perilous if ++ and -- aren't atomic on your
-        system (I've never heard of this on any modern CPU large enough to
-        run perl).
+            Even this approach is perilous if ++ and -- aren't atomic on
+            your system (I've never heard of this on any modern CPU large
+            enough to run perl).
 
-    kill_kill
-           ## To kill off a process:
-           $h->kill_kill;
-           kill_kill $h;
+        kill_kill
+               ## To kill off a process:
+               $h->kill_kill;
+               kill_kill $h;
 
-           ## To specify the grace period other than 30 seconds:
-           kill_kill $h, grace => 5;
+               ## To specify the grace period other than 30 seconds:
+               kill_kill $h, grace => 5;
 
-           ## To send QUIT instead of KILL if a process refuses to die:
-           kill_kill $h, coup_d_grace => "QUIT";
+               ## To send QUIT instead of KILL if a process refuses to die:
+               kill_kill $h, coup_d_grace => "QUIT";
 
-        Sends a "TERM", waits for all children to exit for up to 30 seconds,
-        then sends a "KILL" to any that survived the "TERM".
+            Sends a "TERM", waits for all children to exit for up to 30
+            seconds, then sends a "KILL" to any that survived the "TERM".
 
-        Will wait for up to 30 more seconds for the OS to successfully "KILL"
-        the processes.
+            Will wait for up to 30 more seconds for the OS to successfully
+            "KILL" the processes.
 
-        The 30 seconds may be overridden by setting the "grace" option, this
-        overrides both timers.
+            The 30 seconds may be overridden by setting the "grace" option,
+            this overrides both timers.
 
-        The harness is then cleaned up.
+            The harness is then cleaned up.
 
-        The doubled name indicates that this function may kill again and
-        avoids colliding with the core Perl "kill" function.
+            The doubled name indicates that this function may kill again and
+            avoids colliding with the core Perl "kill" function.
 
-        Returns a 1 if the "TERM" was sufficient, or a 0 if "KILL" was
-        required. Throws an exception if "KILL" did not permit the children
-        to be reaped.
+            Returns a 1 if the "TERM" was sufficient, or a 0 if "KILL" was
+            required. Throws an exception if "KILL" did not permit the
+            children to be reaped.
 
-        NOTE: The grace period is actually up to 1 second longer than that
-        given. This is because the granularity of "time" is 1 second. Let me
-        know if you need finer granularity, we can leverage Time::HiRes
-        here.
+            NOTE: The grace period is actually up to 1 second longer than
+            that given. This is because the granularity of "time" is 1
+            second. Let me know if you need finer granularity, we can
+            leverage Time::HiRes here.
 
-        Win32: Win32 does not know how to send real signals, so "TERM" is a
-        full-force kill on Win32. Thus all talk of grace periods, etc. do
-        not apply to Win32.
+            Win32: Win32 does not know how to send real signals, so "TERM"
+            is a full-force kill on Win32. Thus all talk of grace periods,
+            etc. do not apply to Win32.
 
-    harness
-        Takes a harness specification and returns a harness. This harness is
-        blessed in to IPC::Run, allowing you to use method call syntax for
-        run(), start(), et al if you like.
+        harness
+            Takes a harness specification and returns a harness. This
+            harness is blessed in to IPC::Run, allowing you to use method
+            call syntax for run(), start(), et al if you like.
 
-        harness() is provided so that you can pre-build harnesses if you
-        would like to, but it's not required..
+            harness() is provided so that you can pre-build harnesses if you
+            would like to, but it's not required..
 
-        You may proceed to run(), start() or pump() after calling harness()
-        (pump() calls start() if need be). Alternatively, you may pass your
-        harness specification to run() or start() and let them harness() for
-        you. You can't pass harness specifications to pump(), though.
+            You may proceed to run(), start() or pump() after calling
+            harness() (pump() calls start() if need be). Alternatively, you
+            may pass your harness specification to run() or start() and let
+            them harness() for you. You can't pass harness specifications to
+            pump(), though.
 
-    close_terminal
-        This is used as (or in) an init sub to cast off the bonds of a
-        controlling terminal. It must precede all other redirection ops that
-        affect STDIN, STDOUT, or STDERR to be guaranteed effective.
+        close_terminal
+            This is used as (or in) an init sub to cast off the bonds of a
+            controlling terminal. It must precede all other redirection ops
+            that affect STDIN, STDOUT, or STDERR to be guaranteed effective.
 
-    start
-           $h = start(
-              \@cmd, \$in, \$out, ...,
-              timeout( 30, name => "process timeout" ),
-              $stall_timeout = timeout( 10, name => "stall timeout"   ),
-           );
+        start
+               $h = start(
+                  \@cmd, \$in, \$out, ...,
+                  timeout( 30, name => "process timeout" ),
+                  $stall_timeout = timeout( 10, name => "stall timeout"   ),
+               );
 
-           $h = start \@cmd, '<', \$in, '|', \@cmd2, ...;
+               $h = start \@cmd, '<', \$in, '|', \@cmd2, ...;
 
-        start() accepts a harness or harness specification and returns a
-        harness after building all of the pipes and launching (via
-        fork()/exec(), or, maybe someday, spawn()) all the child processes.
-        It does not send or receive any data on the pipes, see pump() and
-        finish() for that.
-
-        You may call harness() and then pass it's result to start() if you
-        like, but you only need to if it helps you structure or tune your
-        application. If you do call harness(), you may skip start() and
-        proceed directly to pump.
+            start() accepts a harness or harness specification and returns a
+            harness after building all of the pipes and launching (via
+            fork()/exec(), or, maybe someday, spawn()) all the child
+            processes. It does not send or receive any data on the pipes,
+            see pump() and finish() for that.
 
-        start() also starts all timers in the harness. See IPC::Run::Timer
-        for more information.
+            You may call harness() and then pass it's result to start() if
+            you like, but you only need to if it helps you structure or tune
+            your application. If you do call harness(), you may skip start()
+            and proceed directly to pump.
 
-        start() flushes STDOUT and STDERR to help you avoid duplicate
-        output. It has no way of asking Perl to flush all your open
-        filehandles, so you are going to need to flush any others you have
-        open. Sorry.
+            start() also starts all timers in the harness. See
+            IPC::Run::Timer for more information.
 
-        Here's how if you don't want to alter the state of $| for your
-        filehandle:
+            start() flushes STDOUT and STDERR to help you avoid duplicate
+            output. It has no way of asking Perl to flush all your open
+            filehandles, so you are going to need to flush any others you
+            have open. Sorry.
 
-           $ofh = select HANDLE; $of = $|; $| = 1; $| = $of; select $ofh;
+            Here's how if you don't want to alter the state of $| for your
+            filehandle:
 
-        If you don't mind leaving output unbuffered on HANDLE, you can do
-        the slightly shorter
+               $ofh = select HANDLE; $of = $|; $| = 1; $| = $of; select $ofh;
 
-           $ofh = select HANDLE; $| = 1; select $ofh;
+            If you don't mind leaving output unbuffered on HANDLE, you can
+            do the slightly shorter
 
-        Or, you can use IO::Handle's flush() method:
+               $ofh = select HANDLE; $| = 1; select $ofh;
 
-           use IO::Handle;
-           flush HANDLE;
+            Or, you can use IO::Handle's flush() method:
 
-        Perl needs the equivalent of C's fflush( (FILE *)NULL ).
+               use IO::Handle;
+               flush HANDLE;
 
-    pump
-           pump $h;
-           $h->pump;
+            Perl needs the equivalent of C's fflush( (FILE *)NULL ).
+
+        adopt
+            Experimental feature. NOT FUNCTIONAL YET, NEED TO CLOSE FDS
+            BETTER IN CHILDREN. SEE t/adopt.t for a test suite.
+
+        pump
+               pump $h;
+               $h->pump;
 
-        Pump accepts a single parameter harness. It blocks until it delivers
-        some input or receives some output. It returns TRUE if there is
-        still input or output to be done, FALSE otherwise.
+            Pump accepts a single parameter harness. It blocks until it
+            delivers some input or receives some output. It returns TRUE if
+            there is still input or output to be done, FALSE otherwise.
 
-        pump() will automatically call start() if need be, so you may call
-        harness() then proceed to pump() if that helps you structure your
-        application.
+            pump() will automatically call start() if need be, so you may
+            call harness() then proceed to pump() if that helps you
+            structure your application.
 
-        If pump() is called after all harnessed activities have completed, a
-        "process ended prematurely" exception to be thrown. This allows for
-        simple scripting of external applications without having to add lots
-        of error handling code at each step of the script:
+            If pump() is called after all harnessed activities have
+            completed, a "process ended prematurely" exception to be thrown.
+            This allows for simple scripting of external applications
+            without having to add lots of error handling code at each step
+            of the script:
 
-           $h = harness \@smbclient, \$in, \$out, $err;
+               $h = harness \@smbclient, \$in, \$out, $err;
 
-           $in = "cd /foo\n";
-           $h->pump until $out =~ /^smb.*> \Z/m;
-           die "error cding to /foo:\n$out" if $out =~ "ERR";
-           $out = '';
+               $in = "cd /foo\n";
+               $h->pump until $out =~ /^smb.*> \Z/m;
+               die "error cding to /foo:\n$out" if $out =~ "ERR";
+               $out = '';
 
-           $in = "mget *\n";
-           $h->pump until $out =~ /^smb.*> \Z/m;
-           die "error retrieving files:\n$out" if $out =~ "ERR";
+               $in = "mget *\n";
+               $h->pump until $out =~ /^smb.*> \Z/m;
+               die "error retrieving files:\n$out" if $out =~ "ERR";
 
-           $h->finish;
+               $h->finish;
 
-           warn $err if $err;
+               warn $err if $err;
 
-    pump_nb
-           pump_nb $h;
-           $h->pump_nb;
+        pump_nb
+               pump_nb $h;
+               $h->pump_nb;
 
-        "pump() non-blocking", pumps if anything's ready to be pumped,
-        returns immediately otherwise. This is useful if you're doing some
-        long-running task in the foreground, but don't want to starve any
-        child processes.
+            "pump() non-blocking", pumps if anything's ready to be pumped,
+            returns immediately otherwise. This is useful if you're doing
+            some long-running task in the foreground, but don't want to
+            starve any child processes.
 
-    pumpable
-        Returns TRUE if calling pump() won't throw an immediate "process
-        ended prematurely" exception. This means that there are open I/O
-        channels or active processes. May yield the parent processes' time
-        slice for 0.01 second if all pipes are to the child and all are
-        paused. In this case we can't tell if the child is dead, so we yield
-        the processor and then attempt to reap the child in a nonblocking
-        way.
+        pumpable
+            Returns TRUE if calling pump() won't throw an immediate "process
+            ended prematurely" exception. This means that there are open I/O
+            channels or active processes. May yield the parent processes'
+            time slice for 0.01 second if all pipes are to the child and all
+            are paused. In this case we can't tell if the child is dead, so
+            we yield the processor and then attempt to reap the child in a
+            nonblocking way.
 
-    reap_nb
-        Attempts to reap child processes, but does not block.
+        reap_nb
+            Attempts to reap child processes, but does not block.
 
-        Does not currently take any parameters, one day it will allow
-        specific children to be reaped.
+            Does not currently take any parameters, one day it will allow
+            specific children to be reaped.
 
-        Only call this from a signal handler if your "perl" is recent enough
-        to have safe signal handling (5.6.1 did not, IIRC, but it was being
-        discussed on perl5-porters). Calling this (or doing any significant
-        work) in a signal handler on older "perl"s is asking for seg faults.
+            Only call this from a signal handler if your "perl" is recent
+            enough to have safe signal handling (5.6.1 did not, IIRC, but it
+            was being discussed on perl5-porters). Calling this (or doing
+            any significant work) in a signal handler on older "perl"s is
+            asking for seg faults.
 
-    finish
-        This must be called after the last start() or pump() call for a
-        harness, or your system will accumulate defunct processes and you
-        may "leak" file descriptors.
+        finish
+            This must be called after the last start() or pump() call for a
+            harness, or your system will accumulate defunct processes and
+            you may "leak" file descriptors.
 
-        finish() returns TRUE if all children returned 0 (and were not
-        signaled and did not coredump, ie ! $?), and FALSE otherwise (this
-        is like run(), and the opposite of system()).
+            finish() returns TRUE if all children returned 0 (and were not
+            signaled and did not coredump, ie ! $?), and FALSE otherwise
+            (this is like run(), and the opposite of system()).
 
-        Once a harness has been finished, it may be run() or start()ed
-        again, including by pump()s auto-start.
+            Once a harness has been finished, it may be run() or start()ed
+            again, including by pump()s auto-start.
 
-        If this throws an exception rather than a normal exit, the harness
-        may be left in an unstable state, it's best to kill the harness to
-        get rid of all the child processes, etc.
+            If this throws an exception rather than a normal exit, the
+            harness may be left in an unstable state, it's best to kill the
+            harness to get rid of all the child processes, etc.
 
-        Specifically, if a timeout expires in finish(), finish() will not
-        kill all the children. Call "<$h-"kill_kill>> in this case if you
-        care. This differs from the behavior of "run".
+            Specifically, if a timeout expires in finish(), finish() will
+            not kill all the children. Call "<$h-"kill_kill>> in this case
+            if you care. This differs from the behavior of "run".
 
-    result
-           $h->result;
+        result
+               $h->result;
 
-        Returns the first non-zero result code (ie $? >> 8). See
-        "full_result" to get the $? value for a child process.
+            Returns the first non-zero result code (ie $? >> 8). See
+            "full_result" to get the $? value for a child process.
 
-        To get the result of a particular child, do:
+            To get the result of a particular child, do:
 
-           $h->result( 0 );  # first child's $? >> 8
-           $h->result( 1 );  # second child
+               $h->result( 0 );  # first child's $? >> 8
+               $h->result( 1 );  # second child
 
-        or
+            or
 
-           ($h->results)[0]
-           ($h->results)[1]
+               ($h->results)[0]
+               ($h->results)[1]
 
-        Returns undef if no child processes were spawned and no child number
-        was specified. Throws an exception if an out-of-range child number
-        is passed.
+            Returns undef if no child processes were spawned and no child
+            number was specified. Throws an exception if an out-of-range
+            child number is passed.
 
-    results
-        Returns a list of child exit values. See "full_results" if you want
-        to know if a signal killed the child.
+        results
+            Returns a list of child exit values. See "full_results" if you
+            want to know if a signal killed the child.
 
-        Throws an exception if the harness is not in a finished state.
+            Throws an exception if the harness is not in a finished state.
 
-    full_result
-           $h->full_result;
+        full_result
+               $h->full_result;
 
-        Returns the first non-zero $?. See "result" to get the first $? >> 8
-        value for a child process.
+            Returns the first non-zero $?. See "result" to get the first $?
+            >> 8 value for a child process.
 
-        To get the result of a particular child, do:
+            To get the result of a particular child, do:
 
-           $h->full_result( 0 );  # first child's $? >> 8
-           $h->full_result( 1 );  # second child
+               $h->full_result( 0 );  # first child's $?
+               $h->full_result( 1 );  # second child
 
-        or
+            or
 
-           ($h->full_results)[0]
-           ($h->full_results)[1]
+               ($h->full_results)[0]
+               ($h->full_results)[1]
 
-        Returns undef if no child processes were spawned and no child number
-        was specified. Throws an exception if an out-of-range child number
-        is passed.
+            Returns undef if no child processes were spawned and no child
+            number was specified. Throws an exception if an out-of-range
+            child number is passed.
 
-    full_results
-        Returns a list of child exit values as returned by "wait". See
-        "results" if you don't care about coredumps or signals.
+        full_results
+            Returns a list of child exit values as returned by "wait". See
+            "results" if you don't care about coredumps or signals.
 
-        Throws an exception if the harness is not in a finished state.
+            Throws an exception if the harness is not in a finished state.
 
 FILTERS
     These filters are used to modify input our output between a child
@@ -1318,6 +1328,24 @@
               }
            };
 
+    new_string_source
+        TODO: Needs confirmation. Was previously undocumented. in this
+        module.
+
+        This is a filter which is exportable. Returns a sub which appends
+        the data passed in to the output buffer and returns 1 if data was
+        appended. 0 if it was an empty string and undef if no data was
+        passed.
+
+        NOTE: Any additional variables passed to new_string_source will be
+        passed to the sub every time it's called and appended to the output.
+
+    new_string_sink
+        TODO: Needs confirmation. Was previously undocumented.
+
+        This is a filter which is exportable. Returns a sub which pops the
+        data out of the input stream and pushes it onto the string.
+
     io  Takes a filename or filehandle, a redirection operator, optional
         filters, and a source or destination (depends on the redirection
         operator). Returns an IPC::Run::IO object suitable for harness()ing
@@ -1653,12 +1681,12 @@
 
     The second problem is that Perl's DESTROY subs and other on-exit cleanup
     gets run in the child process. If objects are instantiated in the parent
-    before the child is forked, the DESTROY will get run once in the
-    parent and once in the child. When coprocess subs exit, POSIX::exit is
-    called to work around this, but it means that objects that are still
-    referred to at that time are not cleaned up. So setting package vars or
-    closure vars to point to objects that rely on DESTROY to affect things
-    outside the process (files, etc), will lead to bugs.
+    before the child is forked, the DESTROY will get run once in the parent
+    and once in the child. When coprocess subs exit, POSIX::exit is called
+    to work around this, but it means that objects that are still referred
+    to at that time are not cleaned up. So setting package vars or closure
+    vars to point to objects that rely on DESTROY to affect things outside
+    the process (files, etc), will lead to bugs.
 
     I goofed on the syntax: "<pipe" vs. "<pty<" and ">filename" are both
     oddities.
@@ -1690,11 +1718,9 @@
     Message ylln51p2b6....@windlord.stanford.edu, on 2000/02/04.
 
 SUPPORT
-    Bugs should always be submitted via the CPAN bug tracker
-
-    <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=IPC-Run>
+    Bugs should always be submitted via the GitHub bug tracker
 
-    For other issues, contact the maintainer (the first listed author)
+    <https://github.com/toddr/IPC-Run/issues>
 
 AUTHORS
     Adam Kennedy <ad...@cpan.org>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IPC-Run-0.96/lib/IPC/Run.pm 
new/IPC-Run-0.97/lib/IPC/Run.pm
--- old/IPC-Run-0.96/lib/IPC/Run.pm     2017-05-12 15:46:43.000000000 +0200
+++ new/IPC-Run-0.97/lib/IPC/Run.pm     2018-03-26 23:34:29.000000000 +0200
@@ -15,10 +15,10 @@
    ## Using run() instead of system():
       use IPC::Run qw( run timeout );
 
-      run \@cmd, \$in, \$out, \$err, timeout( 10 ) or die "cat: $?"
+      run \@cat, \$in, \$out, \$err, timeout( 10 ) or die "cat: $?"
 
       # Can do I/O to sub refs and filenames, too:
-      run \@cmd, '<', "in.txt", \&out, \&err or die "cat: $?"
+      run \@cat, '<', "in.txt", \&out, \&err or die "cat: $?"
       run \@cat, '<', "in.txt", '>>', "out.txt", '2>>', "err.txt";
 
 
@@ -1015,7 +1015,7 @@
 use vars qw{$VERSION @ISA @FILTER_IMP @FILTERS @API @EXPORT_OK %EXPORT_TAGS};
 
 BEGIN {
-    $VERSION = '0.96';
+    $VERSION = '0.97';
     @ISA     = qw{ Exporter };
 
     ## We use @EXPORT for the end user's convenience: there's only one function
@@ -4349,11 +4349,9 @@
 
 =head1 SUPPORT
 
-Bugs should always be submitted via the CPAN bug tracker
+Bugs should always be submitted via the GitHub bug tracker
 
-L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=IPC-Run>
-
-For other issues, contact the maintainer (the first listed author)
+L<https://github.com/toddr/IPC-Run/issues>
 
 =head1 AUTHORS
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IPC-Run-0.96/t/run.t new/IPC-Run-0.97/t/run.t
--- old/IPC-Run-0.96/t/run.t    2017-05-12 15:35:53.000000000 +0200
+++ new/IPC-Run-0.97/t/run.t    2018-03-26 23:18:28.000000000 +0200
@@ -176,7 +176,7 @@
 ##
 ## Calling the local system shell
 ##
-ok( run qq{$perl -e exit} );
+ok( run qq{"$perl" -e exit} );
 is( $?, 0 );
 
 is( _map_fds, $fd_map );
@@ -186,7 +186,7 @@
         skip( "$^O's shell returns 0 even if last command doesn't", 3 );
     }
 
-    ok( !run(qq{$perl -e 'exit(42)'}) );
+    ok( !run(qq{"$perl" -e 'exit(42)'}) );
     ok($?);
     is( $? >> 8, 42 );
 }


Reply via email to