richard pushed to branch main at The Tor Project / Applications / RBM
Commits: 9336d42f by Nicolas Vigier at 2024-01-25T11:42:58+01:00 Bug 40068: Use Capture::Tiny instead of IO::CaptureOutput
The IO::CaptureOutput perl module is deprecated, so we switch to Capture::Tiny.
The Capture::Tiny module does not provide a capture_exec function similar to the one from IO::CaptureOutput, so we implement one using the same name, which avoids changing all the places where we were using it.
- - - - -
2 changed files:
- lib/RBM.pm - lib/RBM/DefaultConfig.pm
Changes:
===================================== lib/RBM.pm ===================================== @@ -10,7 +10,7 @@ use YAML::XS qw(LoadFile); use Template; use File::Basename; use IO::Handle; -use IO::CaptureOutput qw(capture_exec); +use Capture::Tiny qw(capture); use File::Temp; use File::Copy; use File::Copy::Recursive qw(fcopy); @@ -29,7 +29,7 @@ use feature "state"; BEGIN { require Exporter; our @ISA = qw(Exporter); - our @EXPORT = qw(exit_error); + our @EXPORT = qw(exit_error capture_exec); }
our $config; @@ -308,6 +308,15 @@ sub exit_error { exit (exists $_[1] ? $_[1] : 1); }
+sub capture_exec { + my @cmd = @_; + my ($stdout, $stderr, $exit) = capture { + system(@cmd); + }; + return ($stdout, $stderr, $exit == 0, $exit) if wantarray(); + return $stdout; +} + sub set_git_gpg_wrapper { my ($project) = @_; my $w = project_config($project, 'gpg_wrapper');
===================================== lib/RBM/DefaultConfig.pm ===================================== @@ -10,9 +10,8 @@ BEGIN { }
use File::Basename; -use RBM; +use RBM qw(capture_exec); use Cwd qw(getcwd); -use IO::CaptureOutput qw(capture_exec); use File::Temp; use File::Path qw(make_path);
View it on GitLab: https://gitlab.torproject.org/tpo/applications/rbm/-/commit/9336d42fdd669afb...