From 987a052119fa265924848f27b4f9dd001b1ab794 Mon Sep 17 00:00:00 2001 From: misaka00251 Date: Wed, 14 Sep 2022 12:31:38 +0800 Subject: [PATCH] Init package --- ...-RT-52317-Calling-run3-garbles-STDIN.patch | 134 ++++++++++++++++++ IPC-Run3-0.048.tar.gz | Bin 0 -> 20312 bytes perl-IPC-Run3.spec | 59 ++++++++ 3 files changed, 193 insertions(+) create mode 100644 0001-test-and-fix-for-RT-52317-Calling-run3-garbles-STDIN.patch create mode 100644 IPC-Run3-0.048.tar.gz create mode 100644 perl-IPC-Run3.spec diff --git a/0001-test-and-fix-for-RT-52317-Calling-run3-garbles-STDIN.patch b/0001-test-and-fix-for-RT-52317-Calling-run3-garbles-STDIN.patch new file mode 100644 index 0000000..fedc11d --- /dev/null +++ b/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/IPC-Run3-0.048.tar.gz b/IPC-Run3-0.048.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..069f30fc2c1da3406813448ab5e536547d1e725f GIT binary patch literal 20312 zcmV()K;OR~iwFq2?KV>a14&RrEmC!EGc7PKFf=$WbYXG;?R|M)+ep&z{yX{bknRdhg&-?Qj~lYmIti^_P`DeTkn&qp`8JCg|__y7gE6h-RzZTw7aTU*BkpMzhsy zH2x&k{`3`orb+6>080GNUh+E!iQ~|J|3iNE?D_8n;mS9j{}#^w`s&8r{C|V_e{|-B zr+)I;=YM^5b>93p+Z(GbJ^!oiCd_}kz0vxUXxz>J7ypqHE{4I#7sDtPKoFe{QiS6W zNr+aXxms(qYpq`$A%AKjj6^>g_@b|>$I)0|`3E->;dTS*IH{$SAKnbxVQ6M9PU2f-8tHQV>AjK4gl2TGD-b$xdP3l(>M&m zQ?a!r8t$PUn zXbgrh^7_8;#31m+MUbAs$9^1n=c1effagh7ya>*H@i;p3R zAnH%Yewcb`06pux6y_wn9tw<~8U#vyiL#J(v1*&hzYbMKuu8u`A7ke$H*DiY{8 z9r+e|{uv-6iW!vlcdZ6cN@K0oZaCkmCSKaqn7!}@Om9h$M)9Q>MSVte8i^OX$2;}Q z@yICrE(!=egW5$Lq^Te3LZWvG<3#$vC*2pjhfjAIpcVr33*x5n>kR-p^s#AQ%@v?0 zU74oCU+Qw+V6tJ-hS78+q9K$T2g%U)fWm#%hQLY(emoLu^hVBwM$G4Y>#^ z%!W4|rT7%kO>3LcnPjb8oWb~zws2I?q$ge-Klz1FH1aozLI(nd3}lWSH6<-Hv+=gG zVLjtT>BYSOmO5Y>^oTJa0M_ToyYyqCbyq&@{^W{ig7c7U;*@7F^?*xUc<}&`H=e*u z^@355URHr@FGU(peOZlBHHiEqTuue@@6;F@gaL-R+)?h6}K;ziR&BtY=VyB4 zupWRt1S1a%O9IK>`|pA0!Vu4*3yA@mGou8MtXOI{+pFztx#DaBK76FjQ{uD)20{@5 zUxY?zx?q7Mn;9miAv{f|ArQ~#l5rmpt!41_{2?+wxe(Xu4TCHI)39n>6gg{k(0#g% zhPw&4NFowLBmaE>i_Bb>!hh$-moP=yItTtbo{W3~St3Jt6M%Wp{g9-CXqr~x50J;z zCb2o(gj7@I%?|2DZD7N=VaGbCh@n z>g@X=v_8g3?~i;h2ExD|v>2gg))zEmRmXYYbtph8PH7#*O7Uv1$)+}Ht&Q1{#{SzW ztRY3v;uw$z6Bi9g#CJN6piu0c`r@BcR0$$tX#;L~6I)1$Oas__xzdFW0yN8EWUR-7iSbXfKXE1h{{{gOj$sfv!(O^qI5oS{4 zf_-F5iWOGOwv0SVXxMMf42n8Spm1h5fc1O^W%v$=r= zz*2KL(--m~$A627m|3hMopp;Dpo}uLWjeFCw|@Vt?elXTy{giV0{8pi=w&b4&SgiCLf+ z_b&hs!@)AD(10)^4qEJL-cbTb(QWB*KB-n97-E1`Y}8vMq0(TCCR9J2LK~N4NW`hp zi-C$9hMN^rae<}LCtgTmZvaHc)&VU5HPtw~i1e&cKqe^hh|Ex|19FMG<5 zrj6zUsX?B>CQSN*P7R|EThL^StQu7c?ul*nc1zN5!{nfsnl3;86i2c?%Ips>jbrs)PNZYr4RZ8 zF@Kt5w`24%nZ~dHei)v0`yNmZw{(FROi?Znm3!RD8L+K0(y;u2sj#4KrB_9yYPwn? zxTyYL_$XHh4#{mn53`3#0uoV*yad-UYOlCLUWLK?s#;zI2B`^(s~LkOj1VCc=`i4c z@A4$^r-P`X`p)${iD8|-#ie&f(nkppFdl)uiYCbAA=y}p5zx9HL>Vc1+D2y~qXaA4 z(kldwDTt6^uPE1IJ!Rr)LPJD8=<3-hP>&@08^b8xk!r(K*J|jBXo!f$FP-+Uokm0K z9vvI45DEIBhq|{1>}QOK0TB<2){BGDWd${Z!#_Vfn$f0kg|U1k)gI?*jM_mQMAJmP z_;VKoJgn1-X##_5G?yKtnv(-FdWI zPv56TwLOJILku(E>l*NO4d89II*pCa>PCL9kj!D&c|tr^Zaf6t9|hw8jc7!b93FSF zraNiXT5C90&E{+;j2#apE>9UcOnr|Q60t&D-E6#5e_<5XvPaxg+vo`>4yj_Jv-WGQ zCzKt7>7>PL2)R0YHss7mw-E978P8>D_vLRNfY%+qdf9%w`|#D%D`NG4dw?PYg}o~H zExk0CKCeg|O){Mz+ZSl*)qsLXT6Q^MC2mLBqT~805EB9DZbqqBUIMtCa zU1kA#RL9bAPdg6qDQKx9&eC+!Sy{QbxTvE)Hi@Qj->*mU>56J{rI!q9@=JYkhI#?? zc%z!9lTogw0$f+0SJjgRt@?lZFZ{`^e?zzZYU>}&zctPO8}OphTy0?d$KCq>8pHR+ z?)&sr8jO-o2d5wZ#hZ@vSJZ$MJ(NkYc)9apH?u~!w#BmEHCX1|iuZEEvuLPciu>RC>mjHTf$miueZPiz7qFES&BdE2w6jydBbu=bilr-f) z71FR*5I8mhsZc>E13s5vQWIC)Qnp`hf`xuM99UvL6y{brf+~6BDX7}h9-?&x7m2p( zSC+Gg0VBo(TND?5PdAZV*9JQZmle1o`w&Lm0A$d68$>Wo8SUcjMcJg83cP%i0YrW> zRSu)t&~1Wt_+(Pa%E`{;A2L1}ex6^d@1`s0_&@{7t>QP{uZM5q4c4q|I{!udf9K`i z6R?fGrvBG#u5aYxKijSL`W^rOit%5L z>pN{@?8LEm`EWWM(oV+g`{&W=A@0Y_eS13R)xkmGV`JOI$()h3JSb`YWd=vltJ9+A z0Kv>N-M#fjdjhS;^koqET^aO5-!s3AazDd|Ni?YS<-U%3K!2GjIeN2y(a#Ik^8dc` z;yLb~dbI(1-^=Xi?Oh5jCoA0MKNHa0Z`S6YkM>_KYV%KbKYwWcPs{yl+5aun|84t! zW37G1|Gx_V|Ltg{{*!Z3?|J7X_>)|`_GSDc;^KbZmQorK{f1LHNc>Pz@|5{CSVB7lN zTJui-`zk+VS-D;>LGukvnvQTWgvArdw5P(dXs;y*C)0E#n!;~$htREZ1Jm>j<5WB1 zwKT2Vn;Gh^qwO|#a2a~zpx^CB;V?MG#+v+s0}fMv(Cu9khz0h%-n?F~|JtfjSQ5Mi zEd&E$LU@@PWm@&-D$ry@LNA?s7WjtwZ^B4=4Q`-gVP%%O(|AO1NsBr0y|{l??@zpt z+={qWI*9uBO`wjj4P}SA5-@6{Mg6f&>H|s739_<|EihDA?WH*q9$=;%yYjg< zf?Z_L`5Lx%uj?3)@osct0YFiP<`aAvswVI=(e@86eO7<^1 zEcP+ru6AS3yhB2wt9U3@E?~|8OJmv5oc?CTZ3P0<2glSLpv>pe8TO2eQ?1d+>s)vUih*Ab{gl=m)vCQ~)>rFi>39UyWtRXnJY05A59kQBS{)_+ zu_G<@Iq(sW(qz)!VOO|%m2=veSj{9?NA6PK!%S8&inXx8Dw&MYBb_TvoNPeEYL@TB z#vhRXv-|fm_pyloH=5}G0W+|*4t#$N<9{~Vt9ShWYy9wptCQbE3UrRU?KpaG7XxMU zav=ys&%-!=iZd^JV&usqH5DtSxeYwkPx}}P^7ohf2S*z99 z2ON!qtXzcxpHCk2$AhXkDFq?^#$#~s$B*O9*)k8P%#UUn=hz5w@kS$zxW?l(d_ce+ zBA-E!Cy0`CfUU`scld54iXA?Ir=nyN6|gxH9yJYjez-gSpMHr9K%Wr**eC2Bs_i8<0E?hV7am>uAsT`r6>y$?=0O> zaEl7OfVN1yzb^gbZ_sAVZ!U{B)qGJbdB@g2ef{gOgRiImqj0eIe^;B0wY&BIP1pZ| zMPIy1VckFI!dqPYNJWEg^wbqV>j#D{Ua!vVZ7Qc!fq-g|ghu59X(c<2=h z{WHQ;GF7)K#@f^LeA3Bk zb%eWI>MqMl{fdT{7d%T zoVqh_Pjsciw?x+S>XsT+0wn(yr*Sg!LPKu;%t(V5OH1NO6!(2)+TtOz3FhO$1L4_` zwYpP8Perya%wn_3o0R!RaLycBeC1M?^V=vmZp8m7)a+~ef7)w!Fwc(vSzT-1@&9kk z|B0G0Eld}W5d%RRo0|e1#3~C7AH@x$t{)D9@U&cU@j!XWa42_VtUWRutXb5!JYDVu zqbyrWmU@Pplri!DD9hwDAN!nLqO`J^TYPH^BtCM}&wWV)EY-{qTVdP*wc*L0VSh=B<7jj(j}`yi@V^?Q6~>Q7Uz^ z978U)2P6lr!DsmGo`i2UWs6PSBGA)QTI4@{J1=p3^HH;>7tN4N92x1eAKVX`8D6+|j?-oHZlKMJV}esaM+uYqpDGqb!<2G7MA? zMB`_Cd+MiMlm#iQ_9ni)syewwfO7zMwaQjrH{R5?UpGNHlZ{>#*=mi@SO+Q#ag|L<$B|A)Iz_g>1iWG1yaINZnMu;|ox=P&Xtm&_TH zH5Axi%wKYxAX~z-?hj@IOQ?dPx2uc#ip;f@WcrRu;D>rWloI7YCbQt|brsbJCRand z0RLf2P!%lL)EAe2T9?)c)bU1MY`N-GPTF$C=0hzQGjO5*V19DF{8tAazwG*NHP>_N zf4$MXJOA~ElK)Hzv!cIn8N(uK(#p6KwEx-qzi}4&3-13lT6y`uzS_Ra|MEv$|4a#= zU>%&@)H*1|vn6%MRE~F_jwl3~@_?ND^mylZhc{=Q$>;)jTsmXsa}9?oL5r9Gnnifw zEA&klyas#Z%+>?iRpIhyf%V+kN@$pz*@j7z4HIddxSUOS=#NI8iBn)i|FWf zofBnDiDtdwoCSiKKj~8Y@T^&F)?4te4gXfTG^tk2`r2Lm#2x=P5?g%n{lCUqb0cs6 zHJf+*{}09g4-N_#`(&0~9~=~Wdoo^Vg^T@l=kTQ&FLoujT1pes9rRkcU(padrJXk5 zYRX51Wx;SH{zYZUIcyef;;$C|YU8g}v!>#FWn_Iq?@9fyD6rSB|162k7hM0%=4w9w z=X!hNZvFqE*1w{JA}(;vVlQG5swrj^dcnPVxrb2#JI_0vAo0pjwL0T(QdPBrWcFln z3|RM#ded0X_#U+{Ri=wOL{w;AONuMB=Cp$EWh+pqNR2cKV>z*nZ0pwrCHqslIwyGN zUsox|^mw@VtA)SX_-nNQZme?s=#9e3Wnvfp&v$p-{oIuQf5sTF1^2%;+m!!#ePgY; zy1v@r{7>t5{{L^q|1o2xp!HqZ{2ejC@b(8^2aJxrNg4FJ{#i^Bx!WS4;HhC5BXJw= ze`vG@ZWUi)Cf0JJUT>|fRfNpA>Yjuy#fY7p$b>WSF;YA22M#+%AY$^TGlUag$^n^^9O;KxQzqcjpfa=b@$UJweK zu}zt1mNqc1GPe65&t8iWrsACK{f}k%%^_y){;Okm*^V&FAAQ8`=ou9*V(U;8-nzE~ ziGpvpgnM-S>d6!L_kdXi{Ky*&`4}Yy$(q<=@TsSwF)RQSAKVa7zWeM}@KWoA@Lq%K zPaMiTu#ujp{i?XP%|N>WEQf1JVejSVql5*>yghK&fK~waXF=I(a^e1^d-WJ>m++n+LM3GXM5{W@a$AVz+8nx0{-f8Bju>b`M7 zfEjBLx&-2K=aAOwYbx=k4S!p2em7j|-Z{EAXHytoVc47EW?<`x%USTVcOO*aT{@XR zhc*8P3@^UL0ITM+`2uw9wQTs)#*Ir2I}{dkx)onzXPyiXg|@D~I%g}8Mw*luIu8G( zE*Q|O&&lXuWGCV6$Ce+CCWqzH$F1h3Nc@q!&zA0PEq#Q#O}a&0l<#dp5NXEDmd`Cs!%+~P(`&r2&5J|fmcEyd zF+v>P(CLnvj~}H2_;cyW)S?_vEy1tE#J?Q$)E6Ghdh!gAx9t)L!m5m~RaLIQ&_8)* zYp?xL1m@P0XP+M>3#Fby)i1X|)$FL}5Bl@kLO*F7WhndhbAHn)SFGYBES~qQ<$GTe zuZmOtgk4EaP>jTQ}5=XH`%+j@^XJa$a(Ar!>+`Fgg~;F`G8Z{MGo+45iV(>ukNDD zzL5XdzG31k_xZFWvS#~LVX+l{@ z#rBq1tN-%GTL1s}jUP7}zvR<&v_EBsnNku^Z+!$Mjf6_`4VKxfFrcT{1~7(b2xXt| z0MBWPqZd2RpNr?a$H%*eM`EWc_N(HR`0L*BGx2zDXZLUyv(r+}57}IIDjVCvu}{4I zdD(r{1|z)j-e1Mv!*%-Iue{l$OdK#S;fGL#vT@*Hv>vE0Xi&a7e)0=#9;-8JT`moF zIkeEnfSvaqwaK4*>&EB495dRY!b`ZZ`Br{GrV`s#t*1`;tY=0{fs-_e`JGX1>CL*L zWus`*f!VG+;Bw=nD!%*fJC{Z(~&@LMpZ=N=u#GU^%%V&ATvp)!=aUUgd7T+n7_rZpVpb0 zVd2ypVjP^FrQ*y3x^W4iAlSx}QP2-C%@{16=<^q7a4a}xrXpcv~5745Hl3D zh%EPBB2~g{Xrg3KyMURsrup7>rQ)i66gxLo5pD9;iA|c)fi+7NMPz{!ngU_~0|s3< z|DEz*T^;bb<^L`7|F&D}jl2B6-*Eov%7$+@|EtZ$#@+mXo#$QAKUvD&4*Y*6j z*EewfSMTyaf1Mu`tmt$zG;nG5D?^(U_w_Ce3Un(0N=DtU!?X2z!`9We&On=JikCYt zb{E_oaowFlx*eG@&{6ls(5)1|!0Y}rb)0A#i;_wzxTUU?$)Nb+mrbaS9`7DKI@~)r zCQv`mXCk{?;?X_cRN1b=$G7jd`HG20_vn&|ZRaMpOyG4M6KJ){ z#ZWiBM} z0Su}Xwx~Ft2O(AK(Yax0VsB-iHycv}@wh|hAR;DFG-5JCywEio(-gmvj-P4bQmd<1 z6mcQBFnQp47bLX@dq+DQ5Tl+~An`Et}NXz8gx-Sz;zNqrE}k(FoA;wNnVHu zO7yV`v{D{<@hPm~iojhJwB_X}D-~;Cw$CoI z0U)`mvR;?^BM(FjP^gp3tsP_jP88a}vs1BB-m0ur3wza3Z+aNq=4=WmP7LGbds5Cn zot>TQ!xCb@kbGcwLK8;0nP}$KL~v1eW}X*?ZFc&p9| zS`G4%!8tA99O%_Zn>4h#m7^w0=Z~BLXa}FdAIx~KkN&WNg}X6SC*Yi0r@+2J$w|@4 zBvmbBPA>XNcLk{EfH zc-06y885su-tgX&7pH?u)V(2=^5rcpWZPuBc)iQRdN8 zzUs~jl;!WbBm>WJTnfE}$Exi5goDg7wP1S-S0z=`6>t)`LG5m5xc#^C`KC%=3u+uX zqfrl`A_)kPI7w&QlPv(fvmDF7;}@8t+aGj9>3cV$5K_0gsG4@uh~srEYDq6ANGN=J zBz#aVx*($)IUjpNW@Ms_WW!Fq3Mi6Ef(j>0^(9~}Obrc=WE_w{kjf^q)YqVHl5??c zCgJAh^BjsnGwy8|o@M!*#rHe}iwRL=9!~*<=5Y%K;!59l)YFXPsKr!fWM_z=qXGb{ zYp?~T4>nRdVhD;eQUd7@%d+KVa!nE2#=p9M6377nG0da0HC5s6Jllf%y=lm@OisCr}N8b6>0s{C6wibTq1nBqA=E2LYGgAi|(d z5FMb`#gjO|8wJ6D4nh#2pd}6mf+F?UWQAh6Ho_<#gRI@%eReSo#M3T zSE(XKY)IZc!mPnYcQJ|b?Bs|tcRxF&);5W+D99kGndUNbd!S(M>{(r~ip zw7r#7fGmpI0$EX+g~81)mN^T?RzH|LVX@?Zuyq!>>o?5aEA0kDigCw7nhx5|aE*?N zILFT6;m+S@RkY%1pu)GE1ry~D43uN1H^kr~>}62tDZ&-`&F1jhty@v0ad=A9t7zkZ$78jqPQ%lasu4JRqW7+qR32PrB(~+L~T&sB$qH5#VoHkSCK+IxLCC6M# zN;6eCsiaDcj!jQR3S#DlFH4J>6_l9!pKKxHmM(*GZ1UHRVnC?8_JAx8yichIQV$@w z&6>}v6(IOnuNXu*;x#lqJl??`lOw#deH$bu3QUVk^q`Fp_gm;&1Iog)7zKLpmgSgSx5>JqLp9im*+EXx z#@Fr~4bmP<-;qZZ4c5G@^y!S0;Zs`5HA?xsRpk{CH&?vDS~6~lNiQO5 zu3SlI2ZZk14#Fgr-qxnltVx$A6I@&bV3hZKqm>c5)dqa|O^{N931CD9L1E3r??<3s zU!X2tw@j2i?zg~PPyrQtm_anQhoY- z|DlTtAHvh&7nyd#cjcN#w{bIaFrDbT%V-<5)8WI)@Y?PMzstMLtQ3g6$7v-x%pU0k zk8+Qbw)f?hiq#6*`}RJHy^EruR+2z{{9u4SgMN^+%Fl)NP}TM-mt3oA!nrp(tKR~ahk4j_3ze>?m&TM*_t zFv;IkzjP~=dDPvJ{zny7Yia=0@#egGq%)F+pzF?P4&y;>`*q{Z+%{xQ5n}v7d3m{_ z+mNCp-^TSzwIjwsLh&_ukREh@=QtJ)VJ`HRNr5LI@s_;u+lv)DKsp!7Z+r#PTFI#j zNXNXhW$KQlZeCMhSl_;V&4rNrji(7-BMN*goQ`|E#ZPY;l6PS^+RK8t=#!| zGWfYvS;;9Eh8-1z%n$)${=lm!yRr}l-IaVQE1*-M&=zwX&z9goFs(vakrLlysDyzL zy43X?rZuIA^Qz3Mz&B+=rGa6?v){Zw@;#2)paQBP$>6$rI)QIbp^6cB_83ARCd8X%lM_GOil9GYnB^rymbeP7;bd{_M@_7&%xmL)U zmT&Qf(3!TeU3OR4y*Sxkh8(Gr?MTcWG1Paf*@Dm#$X1r-jXGO0OY(xQvuFx4H}=kb z4sK-nW+yXn4Gs$+C-YLKm;6MY?e5XeZ@Zh0{doV?ap7|ih4Q&ZOya%s2cT9oq$&aS zb;SahsEuN=l*20Pw+d45-jBR>v1GcU6mv$G1&3g9A#O!WOuGxS12qElHU7xo-9_zV z8K;pBg$mUHd|%iBmMQFjsmms}Ffw@SxjGVLUZr~sTnWJ;6?eo3sL;d1F|4@n z&v#&hn%5xKgLmBby~H;nhL*&hh=K0}bT%gij@1KegAOrqpeqp=y#4LbL6zD}kXc=v zUDh3ILz9B;021B*1+eO@480}x97b}&&^cAfCNv`rriv|B)a?qkGr0)Wre9YQ%#4vy zM3#n3VCHB!&G3zJh%0lvEae&}ZO!C=If^7&F^84o7&jf4MX2+Lbp`;Sz8L_R@NNx& zMab6@Gj9o*rooN$e4T|ySv{bKIr+_Fnbqe*relJ7X~Y$oF|TE*g`-jWprEym&Jjc! zpO*8q5RvVFziC%k!gUSw@_kiboX7%N%JYQ%kr*P%rx}CPMu;|y79nJgm#4_Vqoq`C zG5{GTCjW-vs_&MEM|L6WlAwg&poZ0&1%ZQdvru-S$>pSUAH&s3_bva*ywJ|Kv#n#abm__j^MnDo)yz zL09PGEh`GMd>Z;=bJH<4zi@`%%P>uy#1X0|rp1^k3R*CmJu@H9UJ?_|`ZgT^WvdOX z-!2s~>rA9eInFLl1g@H6BuN^@pC-@^S*^amG*d?}kp5!d=HV2|Ec@TxD6Za_3! zO2^Af6{aQ>ENsl_^nRu*u1Su#Cf!xH`|@$OE00pO#G`xnI5h5hR~PWqALIm7#P+u1 z?0~GIV@5uv4-k~_2^zyzwrK~BOM9a_p3w5mvQUb8p`%c;qiuN{N_Mx6Ctd>Drag-; z%=kN}AH^`_NfhS8AIp#K5sRQ^c@3*pd7W*elP#IlD|+WoX(|4oF2qCQI%D-BL2r*w zn_pGdY~=|vs|QE-fO@PEF>OV}_AbRg(G^2F@x<>3!%La4Vk~MkFznH>6oq^g2$XI> z+@pIqHQSgF5j*t^%M8f`o4<&0=V*|fFJsl7=N+Ddl!{`<3oikBjK~I9piYDz@yMC% z0l<@I`#5o_*C$H?_g^P`z!00Hn+|b4 zF1!Fw-+AdYfib?s14q)eflVrsB@YXev_gYQY&rJnY?|E6RsOg$Ow-{cQ#$T~`62k$ z>SzE^KJ!DcYw%d0G=06%g?E|A)R_c0p04wK@%-M3BJ^z<1au{RX)vLZ)Yw0Sw(`(G zJOhphtTi3zD^C2;ur60xTP+U9d6i6IiZ1nPk<^Giaf}`)uwa=X#O$Y05!Yl`ak7bb zfrkrR>Y&nZ>pYyMy4A6F38PFRcKykKe2^b}=8vGiLCdn?a(`F{)S$0mI1T$NYRHrg z3T?SymDd zVjY+hwF5Aq$}LvmLx3ZGbdUVQ+oB9(%hqauQNk%M{|W;m5yuhmiKN6itVy4JWM)9F zHS?^iv;hmERF`BwWD>}urel>+hQ=#59K1v}o@-j2PRjA~&8%sTa$wmZ+XkyOYfs~a zgGRQE;V&oVDA9qb87eo(G0!yd(R z%wX_j?l=pEse4spQwMLQT+UG&4h+eNI6#k=4eehV6x!Ss4n(6 z`drdIF1xA>K|!~PT=}R;W=qdbYFw|wVCndGfF~q{Ou2~sA08-{2)r&~?yBOO2H63f zy1`_1-+1bmy9H!tv?=)mLH7I}>75_(gyjl-+;)J2D9$Gh*ST}y!bEU_=lRr3py-0x ze3)__QwL+fzQGr18x}V&1#{>}_popDbwNgs zqSL7_O-h`aIb;Z$`=W(hB0mbZVf5io0<#abwThO2LXHfm*XZE!>aPQ(ULxH}YVndx z2rw0AiI+e>$kOf1r&!!q2%;&fL}AJ+m_wqdRm||Cd>8PR5G%d;n{$xF>8|JFh;k&! z)^jb~ySKalWOF{dG;EKdPBf?3PXdA(2dIalpisNf{2Y?b9huVuciY zwgobMl!FTkr_t<)wp^3o6wDu{3`(Kka9RYIflO0W+QuJ^3Rsi+(T3*791&DW9x*Zr zfvf}(EhLHh zzz7!X$E}xwpMS2?&2@60f76i;GK<`PRLyN($3LK9B1gvpAI6NTBaYAXa+?!`DKeB~ z=FDzjfazL*Ax3=v5~wk~@PYA4;Y(Z41VJr3um(!VSwsYcTlRdIIbe;G6gI%*n3*-p z?iuKyJefXhbfVhb^ZMtGvp38dVRI`;p+?hB$F7)^Ze#a%p2T+olbqJuFhirjT2$g;uQ+ zRU@q9%uCJ;-H7~0e!_OfBVOSnUhkRlbM9YCUN)UjZk0iiC1mZ|6EC%cR`QQBQ;o@q zVDw;ZVw8z1hzB8`>T$Y6!=RLnY@O=l``vdJFZivtdc6urow6`Knl|#bud00 zUKeuZ=|u;Ya^gFAgOjTtSB3?O@=v`AnHha&VbD-h-m0@3Jpbdpa_mWdx!3f3~Hv=x_yE$``Sda`c6 zp=qbD6Vs` z4kaGN5Q+rkXUJ&~?1Bh>&a@QeS&Gh?V;I-NaN>%nR0|Y-YDIw_Bo3F)G?Khxme{&_ zMOsaHZxg|$TLqlr4#qYmK3&u>>0}jSs*88G)C}XwkW*_q_r$|{umGgLbH?47_q5@? zHP?EkCQ*_E7@nX)rjouNdT|gXbwF#6a-e0tOh+CUK^7D;jAZGuTN9Y9v1DsaB@w^h zCR}(y$nSY~PSOnaYbF08Z7CDLGM(A8{lAL6WAWGh!@nHOaN%;Z!t9CS&J5z3<21`l zYQ}H50w_V9GdTk$Xxi7aeE%oMnI&a!ggVisW=@H1qz5TGx9O%H7Teb}mTv^TDJG=2 z5)$pIaAXQ!pz=5ZOBr_sC^?AHMM%PynHxo{%r@syBt{f_u{wOuZpr8O)Zwv@n2l*g zeM3KjnkSx#R)xsdZWtMRzU84gJsia6PjDuyPLOIB0P=P`Gppied_(R@olp8c9I|AU z0grRc3l7(@=`#at!Wtm6Rgb`YT0?=qiJ`x7!i0#rc>7|)M3+f1SpuSw*O3~WQDru;4GVMR<)Y0six^080U+g|L7h<@>5| z%y={lPZnPQu-O&ojX?zt{>83cm88ufLtWzlU{+pOO!t=XGx8mpi^_Dtav6uO!C|+t z|2`GkiqktFP4Rs1#oqA_CbR?zuus_-iItN6I0nv%OpjB~m2Epd%Ohum^|F2MWd3ud zMJ9TG=J>_IYjUvyq54kgkL} zog!6{vRF#-T^BDR5G|N0Wd!Ot8rQ@n)TUEPOPZYr z97W||%7k(79{QY0Ulo9mD7zVnDg+Udq!KnV(#d%z8$m*p_timB$5XqbB02NqRAzf6 zE4->#csYam@Ru;U2(!2@tU*aP)fIRS0P;Ktr|)SpDE(qxWW@XE9!9NiOD(_MLZJQe zbVQEacY!CLs>W#Vlk_*l42&AaOoqJDew2>^TlJ-X0nolxq4QT^ z@E%Q&XnJ~PkSgWCe7g7YDOh^w!$HC^!pzhbx|v4Pnt4TR%sav;to_T6Bck+EUn>3` zwE9a{8(U2=z62FO!@*hea&YL#i7Gm^gq>iIw+-Yeh*a0{#{s*)WC#do6X-(m)TXc8 zVJkQJ(hDG(U<{nz8&80nwA4dPG&>$6pNV~3I)Z&&lo3uU$K^N@4kFN3kBRp`orFv;7 zYe0_xXvYY$7&Cvwt@hBLacCCRWVQYH@YOC-s@(LiiYGhIkLZb9dtElD?&^B6wQCk-&6_(T=(d!8nk z20R!OkxH>5Z)6@t(S%N~U?QrSM$Q5tBC&r2v_$4{*blD5DjV5Vwu+@4Wo<3+_B&@N zqPfERYJuk#G>M!zb53xkSiGGDvwdab7o2R*c#0Uxl%#^0AXu4}JofBrhgO#7`ns8T zeorOY>~w%G%9W4m`wD!$W=fJVxTVCL;N)@fz7=Mk~hF**Hx zk5@M-H@U{QMH!eK2DE^>6--b&)l9MK;3-Y%o~`6v29Nd+{(iXk^w}|J(b42Grt523 zjYhjFKm&OQYIp$J$;i7z2NlfCpW`}EHX!g2OD5vbPyF~DEgPkPKH7bGwCgy3kERqm z#B$uo@EuaRV=^f*ZX(04aSAxac_nlUw*{G7_;befo2PavyPUbF$v7P&5EMboL ziI-xc^l1+j2N+vN{5cw2IuHHPxd-?M<`^R-9re#(_NwBs_YN2{Uhg%6iSUO*@!Wfd zi^*p$_c7`~TYO&D{MT z8*6y~%iaAS-{Afa&gyMUJKm+8-LyeuGWWKRnaZLjjwmKv8Z<&42nIFnaOZ_QIIN;5 z@>h2hU9pkf(2&1)o`dSiwGI1k70EIHov z$J{s|*tvv~B@P;hgs5qcb1z^@e>EtffEEgn{aTKW6G*4LVM^8Z`Pf1dW+i+-*LQlBHRvU^=J zC*dgKID?|Qx~z-3a**(y4BY-!aVZk#=vG?NVefq0v5uz;Z`{J{WgWwi?&MLm&5JqI zxd}QBZ5PsFl?ws4e?b1)CLKw=S+QK7TrTUZNJV-j)3IlFuwhCAzQxv<5j77W!X8Wa zgro0KR*qm4)o7}Eoc@J*b+SpDa~K$x@=+wz4uUWkdm~4AV}NDvL7|<4Jqpc~aZGg5 zfbJIq{9aNrMPCQ&@}9W@I|J1r<;l-9i0jqA>@?wZQ;dT5vnYNy()+NGrTZBahN_E6 zrE^kY7F9H^(o!Z9-6?ETpJ7**g2Ha+hNJpPzWcDZ zf0fgHiNclYTdetJ^H{J{il$G!y;g7H(-o9}T!XrqWlbx~!w^P-G{;Uem`f;Fo=tM@ zO$t(6^DCtfmn-(2MY%+WvxBCAR|_&J zW=bf}=T$+GZgpN~#z&n{t}=J-4ff~7r!$kU?S|hm`F!l<dcHvJWS2;R1LB0YZ6DcnyCQ;H zv;VHM{|+%^=J%L@i|oJk#*F{Bx!S(7|GusL$J72vCLmV@E0B+W(V-S~@3An<#M_yH z8X!)u#eHneEhvpaum$O?WzGz|S@p6w;!Sqb2sCd$ExObb4{|}T6e#`P!yRd>OR>09 zP;RS&j}XVy^+cM2u`Gpu(S)S0@_X0AOGpYW!b6H4^GuWPm5hzj5j}3rwa$*KYx91$ z$(0}3x3s!=Hg9KesXDW^mV9IS{w1}{DU#(ymIbrK*B?KMS1mSj>8# zF$^sgT&;-2PrDqei+3}~Pcx)ul)~J5NM6vtTxo>C?(60oaaG*MsnJKi<-ioT`6L}o+hrXGcs`Q6khyJX911Svj*ADhy%Vg3p))OD`*E6_z{RLXI!xMdS1k z$ZW~J+l9*_H5&$vMb^wP^Z*rh$WYA?R9&f3x^=5ue(;8cXPFtVZ(%YmG=>r~g2Y@i zs9R_TjqEEF-q>~!k2W)f3OPd_m1y}cL}f9G*glu|tkN`BuHht~J|8oQ(f+gNV>UtB zTy}wCzN|KA1AQc$1H`9c8jSc{yS#RpQf-a=VXB0?3e5)|Zl%x4bD-{Z&I)?ml=pkc z* z=68_DmdLiE>>a@y2K~(LXvy$LRN}G42^||?A12q9`_ZByV6F9vqnAS6QSD+Jh=wj7Llf zVS4}c`>7?Sx^x8PgA_`9wG|qG>JlU=z7nE~p>Tg_HtOp`yf_c@1>m(T`tn2TvZQc2 zrW+1Jpj>sYjv>|nV5KBena!eJFo!I(0~)w0r23ll)6dtNa7Fot_TYyfD$pTKLRmC{ z{rqJ2E`Ej;yjHNe!i%T2&8ACNtGRibB=`Q>T@0xY(Cn05W9ic=mX5h2VO&6@x02A3 zqJGAMtGx5Rs=W7>RsYiW2QQza`PRJ20ObmqJHTsqkqSl#a8=}$y%sohFNgi;djfH` z4dI%b^(m$&9C;JqdY#-JoW@2Mw|;U6o6^a=;GNI8*>kw7Y+m0lAACeDQRauXJCqbx zCITNId1t*-9%6Y5;;s7Ru_hBfIcfHM%~+|o`D4Wewy1pdHn^)=u*A1&yBITgAVB1{ z;0$z8I{f$j(KLZJf%Nir&^(}P3n072WblbBJt6tY$e^1=yna{x%mkVv7Ik>Eb1kt@ zF6>(nOF{Y1Ml6fk{$yfNF*nA&K?~MPZ2??2nhMoz=QS-p&)S6IT%H83kr$Xw~&##YN3d(O_owfbw+2-%*CR&2}-#0 zmfZb(75|U2|9+1b=z9N8v$ejlHnacVY~A^PzM=moa}C_q3#1(eHPOSIW$eR1#|nwU zEV;!keL#F8!i)>yAAEh~utdZ5$> zIw~1q6#5QAMU@qj<#}~ANSW*#y39^Q@tu#g7X_|Fzqzo0z&xgOW33nCUrq*89Ld0m z3RMJz^t6e<2xISYE;n?wjV_&20DD52h$N)=K)CkBsPgQ3laC;H;TIB#xRxbX-w|p-RE0<_B}M6h~_Ci3d!1)a_l$ zYpjDYwI(mJ)^9Ui6toab6{A(v2b5S@UfhkHmyM*zo8sr6;bSGYt=ET_Tn!3lJ7tte zR_#6av*)r4bbs}&O)=i0@5>F&#VH>E>%J=db?V2y6JPnxUxIm4tqI}7xei}{E zPUm@K-ekuqEaP_B>zB@f^&mlz zZHP-|6k?uwkmu3#ZPsJoc3`No%3pEh%ZrMrXgLUR^TOlQXHh`+0Q9490DWGle9MN& ztV*9i74uZ9JYeF&(^mk{HeSG&sqLY9!u?qH=x}!VDkV3}l-Olf{ZyhBnO_ix0Q69< zuwsGP8sDkiJ(Rr`sWnJa4tN*2k}t>IKM*0|o_y3s)#vjKf4;Z0Sw<-$z0$}_0Th&+QjjUWr{Lweij0~ zwD7w(WPH_E^Yfw@peGg4X#eL=L9o z3E$f>%x=TbIjyA)r?O_tV0+4tuCKDtQJRkOcjNX4URcAoTbQnWedrD^$djJrLjNs( zw*8PYhL8av4C!m=*lo#)_8&su_>#ql{jAgJ$xmPxHe^sBH9JjkE65B^1hb!>nP%bA zlHfa?63k_rS*>{M2j69lZa%(lA@*W_bSV=fOWs*mt?bZ!-FTn*1zxT`!Mj_){H4l0?~80;Q>&`%Y$4kO8j#)&J; z$l9fpCtFZ1U)v~%V)~soLJvq*=e}qNOayHBT$gCS$CVAZijws`O`IOSn!75SaO8zX zD`d!#&!L`qi8W#<55rFRWbkw4~96Oye5JtRCL} zihfjcOf76FbD1^jzj_~NtfnE|Ht5YN))8gHPg~RY-PX9S&Zc$PKTvvt>65M1 z5d5mBox#8Rj&q=6#)nf_{*-kWgSd^Gk!V%sz4hUn-;R}^N+Ph9OeW!L;R-ZW`fp!CgV4WM3fV`LSarO*50z<=TehO{fD v*TclZOAfu*rCUUaQ;rMDd~R6o)W0vK{@wlD{oMWh5C8msV|3+U0Av9GY$nA< literal 0 HcmV?d00001 diff --git a/perl-IPC-Run3.spec b/perl-IPC-Run3.spec new file mode 100644 index 0000000..0186d7f --- /dev/null +++ b/perl-IPC-Run3.spec @@ -0,0 +1,59 @@ +Name: perl-IPC-Run3 +Version: 0.048 +Release: 1 +Summary: Run a subprocess in batch mode +License: GPL+ or Artistic or BSD +URL: https://metacpan.org/release/IPC-Run3 +Source0: https://cpan.metacpan.org/authors/id/R/RJ/RJBS/IPC-Run3-%{version}.tar.gz +BuildArch: noarch + +BuildRequires: make +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) +BuildRequires: perl(Test::Pod::Coverage) +BuildRequires: perl(Test::Pod) +Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) +# 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 +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 Jun 30 2022 misaka00251 - 0.048-1 +- Init package (Derived from federa project, thanks to fedora team)