59d285
# Perform optinal tests
59d285
%bcond_without perl_IPC_Run_enables_optional_test
59d285
59d285
Name:           perl-IPC-Run
59d285
Version:        20200505.0
59d285
Release:        6%{?dist}
59d285
Summary:        Perl module for interacting with child processes
59d285
# the rest:                     GPL+ or Artistic
59d285
# The Win32* modules are not part of the binary RPM package
59d285
# lib/IPC/Run/Win32Helper.pm:   GPLv2 or Artistic
59d285
# lib/IPC/Run/Win32Pump.pm:     GPLv2 or Artistic
59d285
# lib/IPC/Run/Win32IO.pm:       GPLv2 or Artistic
59d285
License:        GPL+ or Artistic
59d285
URL:            https://metacpan.org/release/IPC-Run
59d285
Source0:        https://cpan.metacpan.org/modules/by-module/IPC/IPC-Run-%{version}.tar.gz
59d285
BuildArch:      noarch
59d285
# Build
59d285
BuildRequires:  coreutils
59d285
BuildRequires:  findutils
59d285
BuildRequires:  make
59d285
BuildRequires:  perl-generators
59d285
BuildRequires:  perl-interpreter
59d285
BuildRequires:  perl(ExtUtils::MakeMaker)
59d285
BuildRequires:  sed
59d285
# IO::Pty not needed strictly for build script
59d285
# Run-time:
59d285
# base not used on Linux
59d285
BuildRequires:  perl(bytes)
59d285
BuildRequires:  perl(Carp)
59d285
BuildRequires:  perl(constant)
59d285
BuildRequires:  perl(Data::Dumper)
59d285
BuildRequires:  perl(Errno)
59d285
BuildRequires:  perl(Exporter)
59d285
BuildRequires:  perl(Fcntl)
59d285
BuildRequires:  perl(File::Basename)
59d285
BuildRequires:  perl(File::Spec)
59d285
BuildRequires:  perl(IO::Handle)
59d285
BuildRequires:  perl(IO::Pty) >= 1.08
59d285
BuildRequires:  perl(POSIX)
59d285
BuildRequires:  perl(Scalar::Util)
59d285
# Socket not used on Linux
59d285
BuildRequires:  perl(strict)
59d285
BuildRequires:  perl(Symbol)
59d285
# Text::ParseWords not used on Linux
59d285
BuildRequires:  perl(vars)
59d285
# Win32::Process not used on Linux
59d285
# Win32API::File not used on Linux
59d285
# Tests:
59d285
# B not used on Linux
59d285
BuildRequires:  perl(Encode)
59d285
BuildRequires:  perl(File::Temp)
59d285
BuildRequires:  perl(IO::Tty)
59d285
BuildRequires:  perl(Test::More) >= 0.47
59d285
BuildRequires:  perl(warnings)
59d285
%if %{with perl_IPC_Run_enables_optional_test}
59d285
# Optional Tests
59d285
BuildRequires:  perl(Readonly)
59d285
%endif
59d285
# Runtime
59d285
Requires:       perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
59d285
Requires:       perl(Data::Dumper)
59d285
Requires:       perl(File::Basename)
59d285
Requires:       perl(IO::Pty) >= 1.08
59d285
59d285
%description
59d285
IPC::Run allows you run and interact with child processes using files,
59d285
pipes, and pseudo-ttys. Both system()-style and scripted usages are
59d285
supported and may be mixed. Likewise, functional and OO API styles are
59d285
both supported and may be mixed.
59d285
59d285
Various redirection operators reminiscent of those seen on common Unix
59d285
and DOS command lines are provided.
59d285
59d285
%prep
59d285
%setup -q -n IPC-Run-%{version}
59d285
59d285
# Remove Windows-only features that could add unnecessary dependencies
59d285
rm -f lib/IPC/Run/Win32*
59d285
sed -i -e '/^lib\/IPC\/Run\/Win32.*/d' MANIFEST
59d285
rm -f t/win32_*
59d285
sed -i -e '/^t\/win32_.*/d' MANIFEST
59d285
59d285
# Fix shellbangs
59d285
for file in eg/run_daemon eg/abuse/timers eg/abuse/blocking_debug_with_sub_coprocess ; do
59d285
    perl -pi -e 's,^#!.*/perl,%{__perl}, if ($. == 1)' "$file"
59d285
done
59d285
59d285
# Handle optional tests
59d285
%if !%{with perl_IPC_Run_enables_optional_test}
59d285
rm t/readonly.t
59d285
sed -i -e '/^t/readonly\.t/d' MANIFEST
59d285
%endif
59d285
59d285
%build
59d285
perl Makefile.PL INSTALLDIRS=vendor
59d285
make %{?_smp_mflags}
59d285
59d285
%install
59d285
make pure_install DESTDIR=%{buildroot}
59d285
find %{buildroot} -type f -name .packlist -delete
59d285
%{_fixperms} -c %{buildroot}
59d285
59d285
%check
59d285
make test
59d285
59d285
%files
59d285
%license LICENSE
59d285
%doc Changelog eg/ README.md
59d285
%{perl_vendorlib}/IPC/
59d285
%{_mandir}/man3/IPC::Run.3*
59d285
%{_mandir}/man3/IPC::Run::Debug.3*
59d285
%{_mandir}/man3/IPC::Run::IO.3*
59d285
%{_mandir}/man3/IPC::Run::Timer.3*
59d285
59d285
%changelog
59d285
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 20200505.0-6
59d285
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
59d285
  Related: rhbz#1991688
59d285
59d285
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 20200505.0-5
59d285
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
59d285
59d285
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 20200505.0-4
59d285
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
59d285
59d285
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 20200505.0-3
59d285
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
59d285
59d285
* Tue Jun 23 2020 Jitka Plesnikova <jplesnik@redhat.com> - 20200505.0-2
59d285
- Perl 5.32 rebuild
59d285
59d285
* Wed May  6 2020 Paul Howarth <paul@city-fan.org> - 20200505.0-1
59d285
- Update to 20200505.0
59d285
  - Fix syntax errors in POD examples (GH#125)
59d285
  - Switch Readonly testing requirement to a recommends (GH#127)
59d285
  - Fix full_result to always return $? (GH#129)
59d285
  - kill_kill: Immediately KILL the child process as documented for Win32 (GH#136)
59d285
  - Switch to GitHub actions for CI testing
59d285
  - Re-structure shipped files into eg/
59d285
  - Move author tests into xt/ and test them separately
59d285
59d285
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 20180523.0-7
59d285
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
59d285
59d285
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 20180523.0-6
59d285
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
59d285
59d285
* Fri May 31 2019 Jitka Plesnikova <jplesnik@redhat.com> - 20180523.0-5
59d285
- Perl 5.30 rebuild
59d285
59d285
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 20180523.0-4
59d285
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
59d285
59d285
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 20180523.0-3
59d285
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
59d285
59d285
* Thu Jun 28 2018 Jitka Plesnikova <jplesnik@redhat.com> - 20180523.0-2
59d285
- Perl 5.28 rebuild
59d285
59d285
* Thu May 24 2018 Paul Howarth <paul@city-fan.org> - 20180523.0-1
59d285
- Update to 20180523.0
59d285
  - Fix using fd in child process when it happens to be the same number in the
59d285
    child as it was in the parent (GH#99)
59d285
- Switch upstream from search.cpan.org to metacpan.org
59d285
59d285
* Sat Mar 31 2018 Paul Howarth <paul@city-fan.org> - 0.99-1
59d285
- Update to 0.99
59d285
  - Fixes for Windows unit tests so they skip or pass
59d285
    - t/autoflush.t
59d285
    - t/readonly.t
59d285
    - t/run_stdin-callback-return-array.t
59d285
59d285
* Fri Mar 30 2018 Paul Howarth <paul@city-fan.org> - 0.98-1
59d285
- Update to 0.98
59d285
  - Switch to using $!{EINTR}
59d285
  - Honor umask for user/group permissions on a +rw file
59d285
  - Remove commented code from CPAN RT#50739
59d285
  - Fix _write on invalid objects (GH#63)
59d285
  - Make slave the controlling terminal so more programs can be called from
59d285
    IPC::Run reliably (GH#54)
59d285
  - Prevent Not a GLOB reference in close_terminal by untieing before close
59d285
    (GH#53)
59d285
  - Fix '&' closing the stdin of the right process (GH#46)
59d285
  - Do POSIX::_exit not ::exit (GH#41)
59d285
  - Ensure child Win32 processes have same priority as parent (GH#40)
59d285
  - Add unit test for passing use of Readonly.pm (GH#38)
59d285
  - Fix GLOB test in IPC::Run::IO->new (GH#39)
59d285
  - Fix for memory leak (GH#86, CPAN RT#57990)
59d285
  - MANIFEST was updated; new tests may start shipping now
59d285
59d285
* Tue Mar 27 2018 Paul Howarth <paul@city-fan.org> - 0.97-1
59d285
- Update to 0.97
59d285
  - Update meta and POD to point to GitHub issues not RT
59d285
  - Update README with pod changes
59d285
  - Fix variable name in synopsis (GH#47)
59d285
  - Fix t/run.t to work on "perl in space" (GH#100)
59d285
59d285
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.96-4
59d285
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
59d285
59d285
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.96-3
59d285
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
59d285
59d285
* Sun Jun 04 2017 Jitka Plesnikova <jplesnik@redhat.com> - 0.96-2
59d285
- Perl 5.26 rebuild
59d285
59d285
* Sat May 13 2017 Paul Howarth <paul@city-fan.org> - 0.96-1
59d285
- Update to 0.96
59d285
  - Update bug tracker to https://github.com/toddr/IPC-Run/issues
59d285
59d285
* Tue Apr 25 2017 Paul Howarth <paul@city-fan.org> - 0.95-1
59d285
- Update to 0.95
59d285
  - Enable Travis-CI integration for IPC::Run
59d285
  - Use q{} and qq{} to fix problems with quotation in cmd.exe
59d285
  - Sync $VERSION across all files to address kwalitee
59d285
  - Stop side effect of altering flushing of STDOUT and STDERR (CPAN RT#109243)
59d285
  - CHILD_HANDLE should be closed with 'Close' to prevent a warning
59d285
  - Require Win32API::File on Windows
59d285
  - Better timer error message plus an additional unit test
59d285
  - Catching previously non-detected malformed time strings
59d285
  - Let Timer accept all allowable perl numbers
59d285
  - Allow the OS to choose the ephemeral port to use
59d285
  - Don't use version.pm to parse the perl version in Makefile.PL
59d285
  - perltidy
59d285
  - Do not import POSIX into local namespace (it's a memory hog)
59d285
  - Skip infinity test on perl below 5.8.9
59d285
  - Spelling fixes
59d285
  - Documentation fix: full_result returns $?, not $? >> 8
59d285
  - Fix check for reaped PID in reap_nb
59d285
  - Re-remove unnecessary use of UNIVERSAL
59d285
- Remove redundant Group: tag
59d285
59d285
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.94-6
59d285
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
59d285
59d285
* Sat May 14 2016 Jitka Plesnikova <jplesnik@redhat.com> - 0.94-5
59d285
- Perl 5.24 rebuild
59d285
59d285
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.94-4
59d285
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
59d285
59d285
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.94-3
59d285
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
59d285
59d285
* Thu Jun 04 2015 Jitka Plesnikova <jplesnik@redhat.com> - 0.94-2
59d285
- Perl 5.22 rebuild
59d285
59d285
* Mon Dec 15 2014 Paul Howarth <paul@city-fan.org> - 0.94-1
59d285
- Update to 0.94
59d285
  - Update License discrepancies (CPAN RT#100858)
59d285
  - Many typo corrections
59d285
  - Fix t/pty.t fails on Solaris 10 (CPAN RT#20105)
59d285
- Drop upstreamed patch for CPAN RT#20105
59d285
- Use %%license
59d285
59d285
* Thu Dec 11 2014 Petr Pisar <ppisar@redhat.com> - 0.93-1
59d285
- 0.93 bump
59d285
59d285
* Wed Aug 27 2014 Jitka Plesnikova <jplesnik@redhat.com> - 0.92-7
59d285
- Perl 5.20 rebuild
59d285
59d285
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.92-6
59d285
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
59d285
59d285
* Tue May  6 2014 Paul Howarth <paul@city-fan.org> - 0.92-5
59d285
- Address intermittent test failures (CPAN RT#20105, RH BZ#1094395)
59d285
- Add runtime dependency on Data::Dumper
59d285
- Add build dependency on IO::Tty for the test suite
59d285
- Make %%files list more explicit
59d285
59d285
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.92-4
59d285
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
59d285
59d285
* Thu Jul 18 2013 Petr Pisar <ppisar@redhat.com> - 0.92-3
59d285
- Perl 5.18 rebuild
59d285
59d285
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.92-2
59d285
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
59d285
59d285
* Fri Nov 16 2012 Petr Šabata <contyk@redhat.com> - 0.92-1
59d285
- 0.92 bump
59d285
- Modernize the spec
59d285
- Fix dependencies
59d285
- Enable the test suite
59d285
- Drop command macros
59d285
59d285
* Thu Sep 13 2012 Petr Pisar <ppisar@redhat.com> - 0.89-9
59d285
- IO::Pty is required when passing ">pty>" argument (bug #857030)
59d285
59d285
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.89-8
59d285
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
59d285
59d285
* Tue Jun 12 2012 Petr Pisar <ppisar@redhat.com> - 0.89-7
59d285
- Perl 5.16 rebuild
59d285
59d285
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.89-6
59d285
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
59d285
59d285
* Fri Jun 24 2011 Marcela Mašláňová <mmaslano@redhat.com> - 0.89-5
59d285
- Perl mass rebuild
59d285
59d285
* Fri Jun 24 2011 Marcela Mašláňová <mmaslano@redhat.com> - 0.89-4
59d285
- Perl mass rebuild
59d285
59d285
* Thu Jun 23 2011 Marcela Mašláňová <mmaslano@redhat.com> - 0.89-3
59d285
- Perl mass rebuild
59d285
59d285
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.89-2
59d285
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
59d285
59d285
* Fri Oct 08 2010 Iain Arnell <iarnell@epo.org> 0.89-1
59d285
- update to latest upstream version
59d285
- clean up spec for modern rpmbuild
59d285
59d285
* Sun May 02 2010 Marcela Maslanova <mmaslano@redhat.com> - 0.84-3
59d285
- Mass rebuild with perl-5.12.0
59d285
59d285
* Mon Dec  7 2009 Stepan Kasal <skasal@redhat.com> - 0.84-2
59d285
- rebuild against perl 5.10.1
59d285
59d285
* Wed Sep 02 2009 Steven Pritchard <steve@kspei.com> 0.84-1
59d285
- Update to 0.84.
59d285
- Drop IPCRUNDEBUG from "make test" (bug fixed long ago).
59d285
59d285
* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.82-3
59d285
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
59d285
59d285
* Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.82-2
59d285
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
59d285
59d285
* Fri Jan 16 2009 Steven Pritchard <steve@kspei.com> 0.82-1
59d285
- Update to 0.82.
59d285
- Use fixperms macro instead of our own chmod incantation.
59d285
- Fix Source0 URL.
59d285
- BR Test::More.
59d285
- Include LICENSE, README, and abuse/ in docs.
59d285
- Cleanup to more closely resemble cpanspec output.
59d285
59d285
* Wed Feb 27 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 0.80-5
59d285
- Rebuild for perl 5.10 (again)
59d285
59d285
* Mon Jan 28 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 0.80-4
59d285
- rebuild for new perl
59d285
59d285
* Tue Apr 17 2007 Ville Skyttä <ville.skytta at iki.fi> - 0.80-3
59d285
- BuildRequire perl(ExtUtils::MakeMaker).
59d285
59d285
* Wed Aug 30 2006 Ville Skyttä <ville.skytta at iki.fi> - 0.80-2
59d285
- Fix order of arguments to find(1).
59d285
59d285
* Thu May 11 2006 Ville Skyttä <ville.skytta at iki.fi> - 0.80-1
59d285
- 0.80, fine tune build dependencies.
59d285
59d285
* Tue Jan 17 2006 Ville Skyttä <ville.skytta at iki.fi> - 0.79-3
59d285
- Rebuild, cosmetic cleanups.
59d285
59d285
* Sun Apr 10 2005 Ville Skyttä <ville.skytta at iki.fi> - 0.79-2
59d285
- Exclude Win32 specific modules.
59d285
- Include more docs.
59d285
- Skip tests if /dev/pts doesn't exist.
59d285
59d285
* Sat Apr  2 2005 Ville Skyttä <ville.skytta at iki.fi> - 0.79-1
59d285
- 0.79.
59d285
59d285
* Sat Apr  2 2005 Ville Skyttä <ville.skytta at iki.fi> - 0.78-2
59d285
- Sync with fedora-rpmdevtools' Perl spec template.
59d285
- Improve dependency filtering script.
59d285
59d285
* Sun Mar 14 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:0.78-0.fdr.1
59d285
- Update to 0.78.
59d285
59d285
* Sun Feb  1 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:0.77-0.fdr.4
59d285
- Reduce directory ownership bloat.
59d285
59d285
* Fri Nov 21 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:0.77-0.fdr.3
59d285
- BuildRequire perl-IO-Tty for better test coverage.
59d285
59d285
* Sat Oct 11 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:0.77-0.fdr.2
59d285
- Fix typo in dependency filtering scriptlet.
59d285
59d285
* Sat Sep 27 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:0.77-0.fdr.1
59d285
- Update to 0.77.
59d285
59d285
* Fri Sep  5 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:0.75-0.fdr.3
59d285
- Avoid Win32-specific dependencies.
59d285
- Use PERL_INSTALL_ROOT.
59d285
59d285
* Sun Aug 31 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:0.75-0.fdr.2
59d285
- Install into vendor dirs.
59d285
59d285
* Thu Jun 19 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:0.75-0.fdr.1
59d285
- First build.