From dfa96ed1385eed8b57cdc3dd94e2f1c577639254 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Aug 02 2019 21:28:03 +0000 Subject: import perl-IPC-Run3-0.048-12.el8 --- diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9f97c77 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/IPC-Run3-0.048.tar.gz diff --git a/.perl-IPC-Run3.metadata b/.perl-IPC-Run3.metadata new file mode 100644 index 0000000..77218c3 --- /dev/null +++ b/.perl-IPC-Run3.metadata @@ -0,0 +1 @@ +b035ea6e0a89f309d88a0472ab0e531f6e8626b1 SOURCES/IPC-Run3-0.048.tar.gz diff --git a/SOURCES/0001-test-and-fix-for-RT-52317-Calling-run3-garbles-STDIN.patch b/SOURCES/0001-test-and-fix-for-RT-52317-Calling-run3-garbles-STDIN.patch new file mode 100644 index 0000000..fedc11d --- /dev/null +++ b/SOURCES/0001-test-and-fix-for-RT-52317-Calling-run3-garbles-STDIN.patch @@ -0,0 +1,134 @@ +From 8ebe48760cfdc78fbf4fc46413dde9470121b99e Mon Sep 17 00:00:00 2001 +From: Roderich Schupp +Date: Sun, 29 Sep 2013 18:12:03 +0200 +Subject: [PATCH 5/5] test and fix for RT #52317: Calling run3 garbles STDIN + +--- + lib/IPC/Run3.pm | 26 ++++++------------------- + t/preserve_stdin.t | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 63 insertions(+), 20 deletions(-) + create mode 100644 t/preserve_stdin.t + +diff --git a/lib/IPC/Run3.pm b/lib/IPC/Run3.pm +index 12c9d8a..777e290 100644 +--- a/lib/IPC/Run3.pm ++++ b/lib/IPC/Run3.pm +@@ -363,14 +363,12 @@ sub run3 { + $options if defined $stderr; + + # this should make perl close these on exceptions +-# local *STDIN_SAVE; ++ local *STDIN_SAVE; + local *STDOUT_SAVE; + local *STDERR_SAVE; + +- my $saved_fd0 = dup( 0 ) if defined $in_fh; +- +-# open STDIN_SAVE, "<&STDIN"# or croak "run3(): $! saving STDIN" +-# if defined $in_fh; ++ open STDIN_SAVE, "<&STDIN" or croak "run3(): $! saving STDIN" ++ if defined $in_fh; + open STDOUT_SAVE, ">&STDOUT" or croak "run3(): $! saving STDOUT" + if defined $out_fh; + open STDERR_SAVE, ">&STDERR" or croak "run3(): $! saving STDERR" +@@ -378,17 +376,10 @@ sub run3 { + + my $errno; + my $ok = eval { +- # The open() call here seems to not force fd 0 in some cases; +- # I ran in to trouble when using this in VCP, not sure why. +- # the dup2() seems to work. +- dup2( fileno $in_fh, 0 ) +-# open STDIN, "<&=" . fileno $in_fh ++ open STDIN, "<&=" . fileno $in_fh + or croak "run3(): $! redirecting STDIN" + if defined $in_fh; + +-# close $in_fh or croak "$! closing STDIN temp file" +-# if ref $stdin; +- + open STDOUT, ">&" . fileno $out_fh + or croak "run3(): $! redirecting STDOUT" + if defined $out_fh; +@@ -428,13 +419,8 @@ sub run3 { + + my @errs; + +- if ( defined $saved_fd0 ) { +- dup2( $saved_fd0, 0 ); +- POSIX::close( $saved_fd0 ); +- } +- +-# open STDIN, "<&STDIN_SAVE"# or push @errs, "run3(): $! restoring STDIN" +-# if defined $in_fh; ++ open STDIN, "<&STDIN_SAVE" or push @errs, "run3(): $! restoring STDIN" ++ if defined $in_fh; + open STDOUT, ">&STDOUT_SAVE" or push @errs, "run3(): $! restoring STDOUT" + if defined $out_fh; + open STDERR, ">&STDERR_SAVE" or push @errs, "run3(): $! restoring STDERR" +diff --git a/t/preserve_stdin.t b/t/preserve_stdin.t +new file mode 100644 +index 0000000..8e090ee +--- /dev/null ++++ b/t/preserve_stdin.t +@@ -0,0 +1,57 @@ ++#!perl -w ++ ++## test whether reading from STDIN is preserved when ++## run3 is called in between reads ++ ++use Test::More; ++use IPC::Run3; ++use File::Temp qw(tempfile); ++use strict; ++ ++# call run3 at different lines (problems might manifest itself ++# on different lines, probably due to different buffering of input) ++my @check_at = (5, 10, 50, 100, 200, 500); ++plan tests => @check_at * 3; ++ ++# create a test file for input containing 1000 lines ++my $nlines = 1000; ++my @exp_lines; ++my ($fh, $file) = tempfile(UNLINK => 1); ++for (my $i = 1; $i <= $nlines; $i++) ++{ ++ my $line = "this is line $i"; ++ push @exp_lines, $line; ++ print $fh $line, "\n"; ++} ++close $fh; ++ ++ ++my ( $in, $out, $err ); ++ ++foreach my $n (@check_at) ++{ ++ my $nread = 0; ++ my $unexpected; ++ open STDIN, "<", $file or die "can't open file $file: $!"; ++ while () ++ { ++ chomp; ++ $unexpected = qq[line $nread: expected "$exp_lines[$nread]", got "$_"\n] ++ unless $exp_lines[$nread] eq $_ || $unexpected; ++ $nread++; ++ ++ if ($nread == $n) ++ { ++ $in = "checking at line $n"; ++ run3 [ $^X, '-e', 'print uc $_ while <>' ], \$in, \$out, \$err; ++ die "command failed" unless $? == 0; ++ is($out, uc $in); ++ } ++ } ++ close STDIN; ++ ++ is($nread, $nlines, "STDIN was read completely"); ++ ok(!$unexpected, "STDIN as expected") or diag($unexpected); ++} ++ ++ +-- +1.8.5.3 + diff --git a/SPECS/perl-IPC-Run3.spec b/SPECS/perl-IPC-Run3.spec new file mode 100644 index 0000000..0f11515 --- /dev/null +++ b/SPECS/perl-IPC-Run3.spec @@ -0,0 +1,207 @@ +Name: perl-IPC-Run3 +Version: 0.048 +Release: 12%{?dist} +Summary: Run a subprocess in batch mode +License: GPL+ or Artistic or BSD +Group: Development/Libraries +URL: http://search.cpan.org/dist/IPC-Run3/ +Source0: http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/IPC-Run3-%{version}.tar.gz +BuildArch: noarch + +BuildRequires: perl-generators +BuildRequires: perl(Carp) +BuildRequires: perl(Exporter) +BuildRequires: perl(ExtUtils::MakeMaker) +BuildRequires: perl(File::Temp) +BuildRequires: perl(Getopt::Long) +BuildRequires: perl(POSIX) +BuildRequires: perl(Test) +BuildRequires: perl(Test::More) >= 0.31 +BuildRequires: perl(Time::HiRes) +BuildRequires: perl(constant) +BuildRequires: perl(strict) + +# For improved tests +BuildRequires: perl(Test::Pod::Coverage) +BuildRequires: perl(Test::Pod) +Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) + +# RHBZ #1062267 / https://rt.cpan.org/Public/Bug/Display.html?id=52317 +# Patch from +# https://github.com/rschupp/IPC-Run3/commit/8ebe48760cfdc78fbf4fc46413dde9470121b99e +Patch0: 0001-test-and-fix-for-RT-52317-Calling-run3-garbles-STDIN.patch + +%description +This module allows you to run a subprocess and redirect stdin, stdout, +and/or stderr to files and perl data structures. It aims to satisfy 99% of +the need for using system, qx, and open3 with a simple, extremely Perlish +API and none of the bloat and rarely used features of IPC::Run. + +%prep +%setup -q -n IPC-Run3-%{version} +%patch0 -p1 + +# Perms in tarballs are broken +find -type f -exec chmod -x {} \; + +%build +%{__perl} Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 +make %{?_smp_mflags} + +%install +make pure_install DESTDIR=$RPM_BUILD_ROOT +%{_fixperms} $RPM_BUILD_ROOT/* + +%check +make test RELEASE_TESTING=1 + +%files +%doc Changes README +%license LICENSE +%{perl_vendorlib}/* +%{_mandir}/man3/* + +%changelog +* Thu Feb 08 2018 Fedora Release Engineering - 0.048-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 0.048-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sun Jun 04 2017 Jitka Plesnikova - 0.048-10 +- Perl 5.26 rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 0.048-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Sun May 15 2016 Jitka Plesnikova - 0.048-8 +- Perl 5.24 rebuild + +* Thu Feb 04 2016 Fedora Release Engineering - 0.048-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jan 27 2016 Ralf Corsépius - 0.048-6 +- Add %%license. +- Modernize spec. + +* Thu Jun 18 2015 Fedora Release Engineering - 0.048-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Fri Jun 05 2015 Jitka Plesnikova - 0.048-4 +- Perl 5.22 rebuild + +* Wed Aug 27 2014 Jitka Plesnikova - 0.048-3 +- Perl 5.20 rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 0.048-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Mon Mar 31 2014 Ralf Corsépius - 0.048-1 +- Upstream update. +- Add RELEASE_TESTING=1 to work around upstream trying to discourage + us from running pod-tests. + +* Tue Feb 11 2014 Ralf Corsépius - 0.046-4 +- Add 0001-test-and-fix-for-RT-52317-Calling-run3-garbles-STDIN.patch (RHBZ#1062267). +- Spec-file cosmetics. + +* Sat Aug 03 2013 Fedora Release Engineering - 0.046-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Sat Jul 20 2013 Petr Pisar - 0.046-2 +- Perl 5.18 rebuild + +* Wed Jul 17 2013 Ralf Corsépius - 0.046-1 +- Upstream update. + +* Thu Feb 14 2013 Fedora Release Engineering - 0.045-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Fri Nov 23 2012 Petr Šabata - 0.045-4 +- Add missing BRs +- Drop command macros +- Remove redundant parens from the Licence tag + +* Fri Jul 20 2012 Fedora Release Engineering - 0.045-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue Jun 12 2012 Petr Pisar - 0.045-2 +- Perl 5.16 rebuild + +* Thu Jan 05 2012 Ralf Corsépius - 0.045-1 +- Upstream update. +- Modernize spec file. + +* Mon Jun 20 2011 Marcela Mašláňová - 0.044-4 +- Perl mass rebuild + +* Tue Feb 08 2011 Fedora Release Engineering - 0.044-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon Dec 20 2010 Marcela Maslanova - 0.044-2 +- 661697 rebuild for fixing problems with vendorach/lib + +* Mon Sep 13 2010 Ralf Corsépius - 0.044-1 +- Upstream update. +- BR: perl(Test::More), perl(Time::HiRes). + +* Sun May 02 2010 Marcela Maslanova - 0.043-4 +- Mass rebuild with perl-5.12.0 + +* Mon Dec 7 2009 Stepan Kasal - 0.043-3 +- rebuild against perl 5.10.1 + +* Sun Jul 26 2009 Fedora Release Engineering - 0.043-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Jun 17 2009 Ralf Corsépius 0.043-1 +- Upstream update. +- Reflect upstream URL having changed. + +* Thu Feb 26 2009 Fedora Release Engineering - 0.042-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Sat Nov 29 2008 Ralf Corsépius 0.042-3 +- Change %%summary. + +* Thu Aug 28 2008 Tom "spot" Callaway - 0.042-2 +- fix license tag (technically, it was correct before, but this keeps rpmlint from + flagging this package as a false positive) + +* Mon Aug 25 2008 Ralf Corsépius 0.042-1 +- Upstream update. + +* Fri Aug 08 2008 Ralf Corsépius 0.041-1 +- Upstream update. + +* Thu May 22 2008 Tom "spot" Callaway - 0.040-5 +- reorder license tag so it doesn't flag as a false positive + +* Thu Feb 28 2008 Tom "spot" Callaway - 0.040-4 +- Rebuild normally, second pass + +* Wed Feb 27 2008 Tom "spot" Callaway - 0.040-3 +- Rebuild for perl 5.10 (again), disable tests for first pass + +* Mon Jan 14 2008 Tom "spot" Callaway 0.040-2 +- rebuild normally, second pass + +* Sat Jan 12 2008 Tom "spot" Callaway 0.040-1.1 +- rebuild for new perl, disable tests and TPC for first pass + +* Fri Dec 28 2007 Ralf Corsépius 0.040-1 +- Upstream update. +- chmod -x files from source tarball. + +* Tue Nov 27 2007 Ralf Corsépius 0.039-2 +- Bump release to please koji suckage. + +* Tue Nov 27 2007 Ralf Corsépius 0.039-1 +- Upstream update. + +* Fri Sep 07 2007 Ralf Corsépius 0.037-2 +- Initial import. +- Update license tag. + +* Tue Aug 07 2007 Ralf Corsépius 0.037-1 +- Initial submission.