From 0be160ebb94c9dac52ca0ed8119cf874a2a146a6 Mon Sep 17 00:00:00 2001 From: Celestia Ludenberg Date: Tue, 23 Jun 2026 15:14:55 +0200 Subject: [PATCH] hal: fix load_sync_dbs zstd crash on live ISO MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit load_sync_dbs() always tried zstd decompression, but pacman stores .db files in varying formats (gzip, zstd, or decompressed). Now detects format by magic bytes: - \x28\xb5\x2f\xfd → zstd decompression - \x1f\x8b → gzip decompression - anything else → raw tar (already decompressed by hal sync) Also bumped pkgrel 2→3 to trigger rebuild. --- packages/hal/PKGBUILD | 2 +- packages/hal/__pycache__/halcpython-314.pyc | Bin 106490 -> 109516 bytes packages/hal/hal | 17 +++++++++++++---- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/packages/hal/PKGBUILD b/packages/hal/PKGBUILD index a4d293c..6312a82 100644 --- a/packages/hal/PKGBUILD +++ b/packages/hal/PKGBUILD @@ -2,7 +2,7 @@ pkgname=hal pkgver=0.2.0 -pkgrel=2 +pkgrel=3 pkgdesc="HAL 9000 — Antergos NeXT Package Manager. Dual-mode: wrapper (pacman) or native (standalone)." arch=('any') url="https://github.com/Antergos-NeXT" diff --git a/packages/hal/__pycache__/halcpython-314.pyc b/packages/hal/__pycache__/halcpython-314.pyc index 38e8e78d1ecd65030a46428f0fbe03cf07707e4b..12c68bc992ae7d38bc82d01e446c3244eb908126 100644 GIT binary patch delta 21362 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 delta 18991 zcmb7s33!y%)$rWelF4L}NhT{I zTDRX;u~+*FbuBL7(xRzftaSl51Q$fH=v&veYHd|O+h2>HpWiv>on!((qJMlibMAib zx#ymH&bjyXrDMiZPZ?thV=Pe`_}l+{^~U83Z-_}@kq_lHv(ce;CPkNMq>JF!0>4|} zHwJ#UwzE=wFmG*smZlQh!C%lJ4NI}f8p)ch@mM`9SRlngDjrk8Ldgbr0^vncBH&4c z7bj}6G*U98Q!2Hgeo81W74oKyPG*)$X^@dljb=$1fM*h3CQS$2PI$SL1$Z{$719jA zXA)j1b_-r6D4^sJ<0wU)~4oDSHSrrXj2xMZv?*B=TrOQK zc_42P^I*!Yk{41ws?oN#UGmSpK%?nR(`eE)X_~dxjyu%FoeHxwYnNwz;j@74Y)=D4~n=6@G8Pd>PEYs)BUI}&ju}*Lm)!|d>V4J|&RneMq?UdYzj{C%= z7uwi^;-R@V78Eb((<06fp1=0|j=gee2TM1GdViuKJ6&SIRduT*HbbLg18hK3qs!0? zFvm~E+6;fxiIJK-@w+5bPN{Z=#-aNJ1y+gdaRuG|K0d5O47vjWSHF7?Q*?nK7nhh; z8xo<)g<@Asw)RWS*nyaBTB~C4^8s(rVdSw;#;xMKxLjKT_7t(f<#7gF!#oEYja?U4 z!fIl$KzEUwD@N`P4sowT%i}Rm?->XL9gN!`5kO95bL@oUfCM&*f5p#WNnZJRgeosFZNr|K}p)Dxpg*076QV+qA4)T#}l}D#b0Sc4Hkhb~kwg9`Pg;8wvK5ySZe~HuS z@_Kzi5Fe-Wc_x(lvJSP!+7=sMoBVIb)4 z0hw^~Zt-0~jTJVVhF2iifMBC&F05hk;>tpM4J>$&5BPZx7NFR2H-bI{u%R@H(Y-b3 z_V)4tOhg6T!CrTtYseGiRpPzE#YVNF$Sd-u5R3F4pQ~3fhbDrF=f)l^dPO%AJ5&4K zgcx=gq6RS*aRmZ{?%)PrFTY!SK5N!A4*4X{i&S|=E)pvr6LZV* zjL2)gPPoffG5y$MWe;nkufUGCR?hXab%eSJ&;Wu z=kf&cPNkh0#{Q@BIkx0+?C}W%f5e6n%iHT)oaeQ1?3eFH@CfD`hrFHv?OF;6Vhx1u%8m zdodG%9`?2>7*}bwX}-{!3<+N)=?wWNGypiU1FQ9*3V?sYQ`4aC7<~|ybm~S`^t}T; z=TsTVqI)i=46)*#gt47-pJ%f!hE5fh1GUv1>>o6}8WF@d=Ah>}yV_p>ihn^o6 z+vnwmREgik18!$;x0A?t6DlN&!}D%{-d!~vmAFfkh+enf3391!mshcmbLg`i@nH=S zmz6wbpZ_RZBV!-BL6Dph>J4^nV8G`EIvOF(mm(mFmjMRrreG~Ls4kkFq)V}e$W#d# z@b>ffpjM8kSa>y13QBJ=QK|zL<&qwq^hexnOeYel&ITzhUVs$O5zn|6G zwe?6dk;~sf>}>$6pkwa4XrR{}Xawzqn^>`g=HeW51$#CSO^yiu0XF%I__%ISh{wb~ zS8yQEH{kB&pF(kwShV<6pggXAgApm`d1ACarFg2k{wrjki{8cJ+4?e|_y5+S^%w3B?5!N;E8;6}3(y8JY}!U8hc7U&0dPS4)^lr|;DN^1%dQ9*&YDf-GL| zH*{I$*k+aC4)Z#`i$%}S~U%<@u#r+F16+GtiSA>l``O>q{j@W?KmSoFHWvu)j1aXgi7ZmY0kn!uEg8uuRrJ>xIWf@r zk&;#1-m**_Yq2ql_-BiQ<%uIbIbcV8@Otj7mL^TeLbGeSP^jn+j6?^L(_!RRmL5wZ0%6%9*JEbou>Frju zyu0m`mj7grR*C2v@VI^58x=jMA~#k4p#(<9p z-Mxyw-{b4%k3yC>*jgMH5p;3vMKKHndIva{MRHq)lV3|sdfh$PFKSRYg#5i=E|8K? z)sLxRYmeI>1ieRAqa#L%ba^~ZP*nlYuiZ|+E4V>neLNaA5F7wK!L4XWx}Zbx>$XK? zt=LcdgTw4(n=NVv)Td21UBtAPHl>>q-;PV%-hXrOSlrB`aWi+bKU?i@CfkoCmmNti zdp)^gyZ+6@)MJTxM-uaPvtx+`M-vNn_r0BJzde0t`tH6*E03ivdLwnwzWT8v?X_&d zv^w^cPLovlRfHx!=e4+*Ck>i}vJ>+)(Fxnyzbex}G1NarRiLj^R1F3`5;yakf0c{c z6{VwSCOnbQtk>?3D`_f?*k7B~lx}|7-VoJfiajtZ0pJT!c7z3yQ1C)|Bvg7~UL-U) zXfijY+72dQ{=sx}Q&H@}JS;s}YHnucgY)!I=Md8&)SH{D42NRVo68M{$_;=|oU$6x zJYoTL)||(`0z&xL0M4bp0%Dak6LjjZl&D>g$24aMvXwtdT#fxk zL75T(W*!HzP>cfsCyED&f(chqJzVL?h-hEgz`2j}ed6;~C7}ZX4Kt_5*8_ekr@#2j6GAO-ztZ?lX)1P=6HX6R1ewU7 z2ZHXw0FT4mer#h#Tgw?3>gyZWO4H*+QC*OVm}r$0}DU_bO$Q5(48ERC+R9I9>Ur` zj+C#NxFd+9JR97Jq&P21=?aqqXT7?GQf_T;k@{SYiwf4rVPbJS_SX!&yu# z-Wy&w$=ibJ5UKp<*dvn3PXK^@h0&t3?8gM8S;;?7qNZ>d<4pBV_H6W($Lc}&;9;rUsi5&Ch zK%S!C=!5g)5=>u#AiU0DX+yt)UyG$AZLz?g7D&)+eV9#RPX3;@x0eq>7DNJEL0W14 z6HIFTUj7#x&(P-^^7bkw^ug54JxhFhS&ESq!L=go@(dO;R(-iwt9tekd?OA(^CHSo zVX5<)T)s9(^jZCWFOp3&4NvbE*qo;F{jq@cSZ6&30{$clu3WChK-P<&TzSW8RWG4q ziiRG=bCd{3hP9MI4fl|Il9oat2>?P$aLk2Fa{e9l)UyGD1Xl>{ z_T13|tcb@S37^Bte}i}*_OS~wBLX^BCyzWn4fE0vWFjDfQPx1Fc#op%1*&l%^&GSU zrs@&W$^_I{Lp<vrMkSH;$ z1_s@}pi!sO9} zbXfS1*9mQ+p^?WO_Vw*irGoRO5AQ!MZ(&YrM<)CIS|DS;CX&G%*K zYX8{Z?)aRk+ZOk!6HY8uTan-qo0sB{22}=*APscD5JxH@c`jzWCJJ{g0cQAjJ*&;Y z&8e6}rWLu3*fXDnUA_)6zRnqLOrzljBKIrAZw7o)xnn(99J(h@`+-(`c~9Obnco*< zb_oKc7*$;^wxq2{Vv95?`XC6DYQo^wCOxefhWvgIx$T(oG&b4^0OIe55hs;>Ium#i z6ev;Pp!7Il>x&)tI?_-rE3v8@9QJJf3>9A+d*|LLHW7?p*aCARv7+8-lII96{sY(> zz{3&kejS^B62UDi=?9Gd;GUi3$Seqb(QH90h13mL7eVfJ!(cQHQas5(vFN@;<9m?v z53N{pUpbu5*WLH@Od<-6F~#ij^rELuLO@GT(r<)q8oWO%4ao^W>;LCw=cHEby}u2X z`Mdj<8FFY<7}N{9lZvt1)w5~HuP~FkRO^N3q4N1*($RzD4s1jEa33b=pshd*&tZNy zl!EISaH1{+hfI0M5s&A!BZiYD`2n`>6NwKuuxhaeV1l^w;dJA_A^W6u?3st}*0#`0 zKgD{VQDtmxP^Fn9#fanl1&e-2)#Zz^N9MzXPdxIWHeo$98;L0KyL!CtEvnq4h)*7^ zWDkqXKU9w5fdf*B^z&5!K+~yi)8wM@^RbMKkMQ*A7(popUyFnL#DqE$y;57_Bp zOA>EA&b86&K{p1np%TjLB|2s~N${2>ciC=jIzjjY7pZw_SQI%t@rRoM+UxXR?h}h1 zU(EC(ZfS-ndBQ3$?_-&O#ERz6lH}|AAaV)0X3IpwF1`3*C|y{ui4wjiDzdO2`s-ws zFbn*fuIV~^?L_fEPh>Nj$a>NSz0Q8JmL-e)PiJboQpK;IOcn921o6U?%fw}}&FD9F z8agtCEeN>(k)r)01%wBcFhoPJXOrHgl=C&ayZ}CHDjU|cg~#5B#6K;ra?xpowbJDbwP=6oB4j>Sj&w~Ef@gxKuP*onZR-`W)^E`7R~&6Zc> zGlyXX#69E1$s-V8emT}=>w;jg`qycb@;X_^Jh^TYFe&#LEA}K#9843Ry$Z~JCRQZ8 zXw!Do%KP(JhS>W|g81b#HgW8kOJF`Waq$t0&J>!?iGvy15W4SKJzFfxn^~ba@$5A5 z*UxPt<2jp3OSV|~Tpnvs$Gh&iTSG;!U5D8edOt9bc9b$A@J$a&#<)-E1-!6A+e+JyZx zy;yrFLacvP&sGX{Feh#*OXh@G^4nLZvLs!;cZgZ!{2+@KPae#qMLltF)@fZXJQO)4 zJ$nisA@&~Xj6H9X_c`HV@?X5oQ0On{S}k6Dv5>71AEcxiiaLur)~bvucqx;ullKgR zOm28d9q#^@Y|KTay3$G}uNh&}Wcv z;=ob6*yFNJ{%d*NB2FBZPMi4I`P>|4!0CK0guR-2WC1|dG84osImGES@#?1rohsZ( z;=LmiLS^i|6!(ibek2JcTr7G`ADaCIuVvG0)5Nb{OJS;<>k2yp#F}l-o5amuSPa#j z)g43f$yOLI^7RC^MP$70%0hdE{<_L1unH}N_+hi-Tam7ij(GC*yAu5q6`;6*ZUAPl zQaAa}kLHJYw#vFHe^uTp*lxhHM=ZYt-4$|WPHD!jd1EEBq8YBRT5!w*10!x;EI$2{ zoPNd`8wD{i(C&jij6I3lkIgprLn~e+lw-M;_1J-doFLvdW_dH0EtRp94(o3aoAjqn zMV555ENyCQZ0BfOor+(V-?gRC(G@6I0RQq!3LP`~-+)Ag1@gas+>_qF0n-Ji!sTxLZ#3&$R#sUod@fip(_DuKL zd_7|1_Vyu$@eXdsW@L7d6@n%t-v|J_K(Bu&s9xjZO|uf&&_3Eofo>(P#Xa2ZbMf9L zF9gW>kUxmtV#uyR=R);bdN7Y-2V{5>FRCz)qN_&{Bdcc_v``|s8?Ro$1)}9blb!z_ zK{SF#v9g7%W(u{E|9ZNwFy-!{=b5G>k-j(L3Y_{Y~j5Z><&ghG?z z7jIV?^RTr;9C|yW`C~*UZA>LPWY?2<1||-98GHv;Ldunh0KW)d2$8uDHgqU74ilRr z%HBydQ#}1Pq-&R0@lM)kIxMgf2^RuRi1~UH)*EtputStK#YAQ}U4Orc&4?l2=OZi8 zVAf(?^@8FU_VO;0#Ws)uU>>I9<5 z(kT$mceCa0YuMbe1Mj{SHJV(u*$=J!gne74y4V-vl#w)Y)%CGhi?^u?L*^S4?(zz-wqGT`T_}+;(SjQ2>*ED=Iq>sI-eR2Zr&)D4$9owJn#I7&u8JRKd)hk z&(|SdYxY@_k4Kqc_~SOSZ>H^drU^Pfo@e&WjXhqjhary7(L&ARb9IQOrmZCPJl+xi+@bdZ7u)_-}d-#5!2t^6iGw9rwuN%W*#}QixSlICTE?|c+Jv>jb`@CxO ziKBuiKjD-~LVXR-JnV1-Q&Pe$K+_qq0Um>SsBrm*2-d?`5J&)9Ki~q@kb*;hjRpS! zFp?HEQ8LforUs8tiE}%2BEOGO{<{BEG3GwO85&Rti9xePI3=Z5W4k9{J{1k#t0C?RE{2)i}UQFv;-eCyNy?rWklyuwl zux?Z1qjg9wx%s5VXb~GA4?TQbFnV){v3QEm(sLdDYfLs`!=(t0<3O>hE9Hcs-T*y( zIf0eXZd9GKFKRK3E*k$A){hRYUD#3M=i#ss>fznXN$-%3`Z+dA5s!Y84;tu$Z)}E5 zP;trFf4=E6=Kd%l9+R)oG6+Xu1U+^9c`ds?x`a*=9dtBew%a?^M@sYTB*Y`JcKZ?t zZ(xWBuJ9pOBi|m&l1A~A8i}ym&y$uzCLY}*(RTZC_3#cr7RfZ8$|F&B`%>;3@?$O@ zIU`oPy-B@KvoC?i0+4+K+sB8qCATX;qftPp7#k%(=nrgzfuLs?cAH#jWu>i!*nN!M zzIbTB(>u{u5oU(_f@tqbFp*%80xZzl7jpxS2F>7Z4qu7c+i_mS@?I-T&PUq_+6a;Y|m&(VjEN4^?UGgYs!bu;P^GF#`z#g8Y(dMvYDeVg~N66N| zy#nQvM=K}E>xOYu@k;_Mbl+o#Kh;w=d*LA!T)5B)=Y@gC^y4CqZ7{$dh8Jt|Fqokj zHV?V^uV+&kKI5AL7L7b7jajEr;LQ?ZQUI>2;9c4f)IF{rU!TU3!-2Ov-i+fd2XHQR zA0fY=&eDOoE3%Tu6Ec`bJBu^|@`B`;1d5YzYVB(jR>aL%M64q%Y?Aj*XZBG8<{A-X z0{}jeTp$zZ`Gm?RViB2@O;|v(Vh7A&R#}9?p%{Yj7}ujj(T|fXf8r4FikL$todbq} zyLGUwc)eER&;+nN7bQvkJ6)d02)hKDM2v5>vuoIo(<9k(UN-8HanK`vExSS9H-x6zXS>KbXVfnYzP)VL*+3E(lBnAXSh~93qE-KZgo(D= z*_fm91xKtxU`IgPFM7%Zh)ZYeJURhSXO-%4fS7?qMMFoETmz|6MJg)9II!jU&wwk{ zctwDaI8%lMLFR;QnPHhz)b-G-~lP$IMlbO^$nTQ5IR#{4sG#9T6O zLe~gn+CWR#6+}6g<&JVTlX>N#a%Rum0rlZ=3>?d3ugz=w1eHr0$s>=H$I96S>Z_O^ z%Y2HRlWRrGK#t@FB+3r`IxOKW&hZjeu?)i9A{c?>I|bBmHtq57s#wpk3F_pX6)Z!2 z`#vGRJsaFToA@tao}J@|E7*PEg;?_ARN$}y&LJC+s6J{fz*npVxAf5uPa6MjHfz;c zCy!`4SAmmV)odxdO1`U_wT!NZ!Ql>*_(aD8%{nZuWDQP-5mfmkrAXXC#+=oNM1yCl zQY3FwF?-$aUU#n(47GqNr^K&jykaLCO^NVv{|1*gpq{m8)}37~#)V|qHH1-dG9hn* z%ERN2&V$!hleafNl7qKT`<)PS+HB6T7AuPzpJhXZFy8z%02=x*^Hi3x4Mj&1_X(o}4YGEM|)gcT=EmZ)|poq=!$*4Dg?^D%8>s zuc$ks@VhJdqGpyRuAZa5u9lPPS^CllDRLq{K3%g;Gegq_?&1kyk|i%IjG3@$<6>jy)z{3 z0qEmRgIu(fWsV-jp<`56(6D900GNY0IO?-l@i_!@5RiLH$0X^U=P?gWRmI#o*mU<_4FHP?>R51EdHBw6N)I&-um#zRsfZ6b&swYw^P_rfYOchc^ zp%i?h3aJum4&SH(J}XoLU#UW>Jd~=SR2J34uT>+Z*@Vv_+)j8E;-%4k2G;@(l}@pv zIa+>i1zQOlCG-ajm@C&xEH$xu>ej?L!>kJAL5Vq7u`Ek0i;g8vVHM+SJg$@7%-Bx(zVlg8Ileei^c&nBKmRo>=ZLm=cqDG+rUAd5-tlty zCyj^!7@#P~b1c{N*?rbdQt!R!QR#&1Jx7lOOxYge5NuJ-u+FGfpmSb>}XxgLYFXGU6s?eU> z2EAa$KCH1HKsI&;x|llq>F(a&dG>f7Z9F=?KGbDVs7pM&RrCBAz|P*+4Eee>EEOUY zyVo%1w5PCMi15>foGE8@u|%j=)x}n}g!)If_=oz>nM!NRZvF3~_eAgQJDR?L&K7>V z{6-h^mZ3WWM;bbisxyX*!@r;ETsgRwWveHr13$)`yC}2*=vwjbokrf&WoX%LJeppr z(qUxsf-crN!8!CoerRU-@-No0RF#Ii@TOJepkt z!h?*Q7wP~Fl<)7LXet>$-Q9O|`fO;w+{Fr~QxNs6TLpS_q{zQ=F<;I`l&&ifT#118 zt{pJNybL~g=xmTyHnq3OrQIwkhmH{ptMI!K3?d-si*_t3cvvZUV>g>o5Z*UHo(7CB z`=Ujv{iPpt!86kLpz=Egn0lQ&-VM4p)gJw&Ce>>Bmnk#GxUKQTBKdeXTN2%-J)zSW zQvRi3hIYBOhixDKYY!_9`J+|jkCH3;JWfbU@6!2SVZd|QU^Vj1ZuH>A$$zGfzvX5x zOk)qrzuCqf&QYV+(7aK-b;B3~1i(VCl6&pl!*+gyJbWoTkbWcX3iPb_O%uu?>{4}I z#&S!8xGtzIJ^^Fz)wJ1r3hr2Ov+MRHJD1#F@E?wz7WoZrYP3lwKXe%@S*}GMMk2s{ zh`~3AH2V8Fd=_NS=Xxx_xC;-5RwA%oB-XRre`;3);89r5EEitRIxAukw<74rhU8Di zVKN>8E!=u6XhVV$FfUR5{pA!Xefx5@dUY~pr65Q}kO^SwYto?*aZ}>*6t-g6-RYj` zsmPqgb@eUhb>#5ZVMGeT%Xj^Zl@)#novKfnLspK$JftHhS&F^=6>8P~>I&GU)8$oH zu&tvQRpK)MIOeL`8+HC!?>)l-x(!%m15P;Xi*;d={8RGE@L=VaVZBcgBPY#{7}-gc zh=C2O;iI&3s*#9rsDBhAnCH$cU z#?_pmg{0TuiU~3X`n})>sy;Y9%#Oq$DE@y46jNZ>+vAj*u41uix54nC41C(Gelknn z4*yIJT*Yz|(c4k2=1HHF56ZuVB8v~(8q_b1H_IPf#ios7Fb`Z--~tX50q@8V;TYM& zn4X3&L4aOt_)3*8!(Ib0Q3LP;I1+-I z@w#i+BbEzEbA60OM9F7Zj-IBvJo!*C@y--V)bCf+H)uZ;)b5fyWY!2VH(6%O4Wp>R z)JQh&O7%0R@B;@v4aYspR^@3}Kv!*e{j6#Y9by>>auLizfOa;YjR3!TbtF!`jfVk8 z)eoOyab`ry8CUWotc^(HQUtV(mLb-R;06S=FY(p0deYE^eIFD!Y^rFUjeoe3{7q<6 zeeTO}E@8!EILx~UR$}sI#16~TZe!`{;(da-2)f1_Ze!KDICN1I6P}Js8Wx|o)L|UI z{!Z4z^bY+9JOc}eQyA`mX9ci5AtJ7aud{-X3i6?zpz7g0jWvPe z*`O7mDt{fxe*+uEz#{_BKz9ju!(|CHsgrB&Wp$%(Vg(ac%|+0Q?XN=cO9c48Sm5Yk zb5fn@h>;yoiX(w}4&kZOAq^GK7D{`?4&VFgSokQDWL9PRgP6d)-=Qi-&_cuUE{ zx{vH}vY^S#CDW9QOR^2gx+6=C3@tL2euq;cdj#zab^FmW-iyRMgMf6j9k4j{{YN&A zc_o&l$vbzmX*1|>NB2}UTO#L!P8jmI7xH)={r?;^fk)(HyV;(Kh#2DutHxmdLSwKP zPef0}Vj$0IJW-eyqumyDa<0Z|yLM<>^jCU$-yT+LfDh&Wy-e2M$CeuLq3FLC%Pa0< zw^|?+^u^o@8N`pj`U!l|em}c+W>WIfGR=XqtY)TrAyJQT8bg>?m)102cW}M|68{Tz CgEdP4 diff --git a/packages/hal/hal b/packages/hal/hal index b624c02..da684e7 100755 --- a/packages/hal/hal +++ b/packages/hal/hal @@ -367,10 +367,19 @@ def load_sync_dbs() -> Dict[str, dict]: for db_path in sorted(SYNC_DIR.glob("*.db")): try: with open(db_path, "rb") as f: - import zstandard - dctx = zstandard.ZstdDecompressor() - with dctx.stream_reader(f) as reader: - with tarfile.open(fileobj=reader, mode="r|") as tar: + header = f.read(4) + f.seek(0) + reader = None + if header[:4] == b"\x28\xb5\x2f\xfd": + import zstandard + dctx = zstandard.ZstdDecompressor() + reader = dctx.stream_reader(f) + elif header[:2] == b"\x1f\x8b": + import gzip + reader = gzip.GzipFile(fileobj=f) + else: + reader = f + with tarfile.open(fileobj=reader, mode="r|") as tar: current_dir = None entry_data = {} for member in tar: