| Summary: | unzip(1) breaks filenames in non-ASCII charset in certain .zip files | ||
|---|---|---|---|
| Product: | Ports & Packages | Reporter: | gene <gene> |
| Component: | Individual Port(s) | Assignee: | Andrey A. Chernov <ache> |
| Status: | Closed FIXED | ||
| Severity: | Affects Only Me | ||
| Priority: | Normal | ||
| Version: | Latest | ||
| Hardware: | Any | ||
| OS: | Any | ||
Responsible Changed From-To: freebsd-ports->ache Over to maintainer Please submit this sort of patches to unzip maintainers. -- Andrey A. Chernov http://ache.pp.ru/ State Changed From-To: open->suspended Maintainer suggests to fight this out with upstream. Is this still an issue with a recent version of unzip? State Changed From-To: suspended->feedback I think, PR state should be feedback, when asking questions to submitter State Changed From-To: feedback->closed Feedback timeout/application issue. Sorry it didn't work out. |
unzip (from archivers/unzip) has a built-in character conversion facility used to convert DOS-style extended ASCII letters to ISO 8859-1 letters. Because there is no way to turn off this conversion, unzip garbles names with non-extended-ASCII letters (notably letters from the EUC variant of CJK charsets) when extracting from a .zip file tagged with DOS flag. Fix: The patch below adds one command-line option -. (dash-dot) which tells unzip to turn off all character conversion. begin 644 unzip-5.42-noxlat.diff M9&EF9B`M=7).("XO9FEL96EO+F,@+BXO+BXO=V]R:RYN97<O=6YZ:7`M-2XT M,B]F:6QE:6\N8PHM+2T@+B]F:6QE:6\N8PE3870@2F%N(#$S(#$S.C0P.C$R M(#(P,#$**RLK("XN+RXN+W=O<FLN;F5W+W5N>FEP+34N-#(O9FEL96EO+F,) M36]N($1E8R`Q-R`Q-SHR,CHQ,R`R,#`Q"D!`("TQ.#<V+#@@*S$X-S8L.2!` M0`H@"B`@("`@("`@("\J('1R86YS;&%T92!T:&4@6FEP(&5N=')Y(&9I;&5N M86UE(&-O9&5D(&EN(&AO<W0M9&5P96YD96YT(")E>'1E;F1E9`H@("`@("`@ M("`@("!!4T-)22(@:6YT;R!T:&4@8V]M<&EL97(G<R`H<WES=&5M)W,I(&EN M=&5R;F%L('1E>'0@8V]D92!P86=E("HO"BT@("`@("`@($5X=%]!4T-)25]4 M3U].871I=F4H1RYF:6QE;F%M92P@1RYP26YF;RT^:&]S=&YU;2P@1RYP26YF M;RT^:&]S='9E<BP*+2`@("`@("`@("`@("`@("`@("`@("`@("`@("!'+G!) M;F9O+3Y(87-5>$%T="P@*&]P=&EO;B`]/2!$4U]&3E],*2D["BL):68@*"%U M3RYD;W1F;&%G*0HK"2`@("!%>'1?05-#24E?5$]?3F%T:79E*$<N9FEL96YA M;64L($<N<$EN9F\M/FAO<W1N=6TL($<N<$EN9F\M/FAO<W1V97(L"BL)"0D) M1RYP26YF;RT^2&%S57A!='0L("AO<'1I;VX@/3T@1%-?1DY?3"DI.PH@"B`@ M("`@("`@(&EF("A'+G!);F9O+3YL8V9L86<I("`@("`@+RH@<F5P;&%C92!W M:71H(&QO=V5R8V%S92!F:6QE;F%M92`J+PH@("`@("`@("`@("`@4U123$]7 M15(H1RYF:6QE;F%M92P@1RYF:6QE;F%M92D["F1I9F8@+75R3B`N+W5N>FEP M+F,@+BXO+BXO=V]R:RYN97<O=6YZ:7`M-2XT,B]U;GII<"YC"BTM+2`N+W5N M>FEP+F,)4V%T($IA;B`Q,R`Q,SHS.3HP-"`R,#`Q"BLK*R`N+B\N+B]W;W)K M+FYE=R]U;GII<"TU+C0R+W5N>FEP+F,)36]N($1E8R`Q-R`Q-SHR,3HS-B`R M,#`Q"D!`("TU-CDL-R`K-38Y+#@@0$`*("`@+6\@(&]V97)W<FET92!F:6QE M<R!7251(3U54('!R;VUP=&EN9R`@("`@("UA82!T<F5A="!!3$P@9FEL97,@ M87,@=&5X=%QN(%P*("`M:B`@:G5N:R!P871H<R`H9&\@;F]T(&UA:V4@9&ER M96-T;W)I97,I("`@+78@(&)E('9E<F)O<V4O<')I;G0@=F5R<VEO;B!I;F9O M7&Y<"B`@)6,M0R5C(&UA=&-H(&9I;&5N86UE<R!C87-E+6EN<V5N<VET:79E M;'D@("`@)6,M3"5C(&UA:V4@*'-O;64I(&YA;65S(%P*+6QO=V5R8V%S95QN M("4M-#)S("5C+58E8R!R971A:6X@5DU3('9E<G-I;VX@;G5M8F5R<UQN)7,B M.PHK;&]W97)C87-E7&X@)2TT,G,@)6,M5B5C(')E=&%I;B!635,@=F5R<VEO M;B!N=6UB97)S7&Y<"BL@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`M+B`@9&]N)W0@=')A;G-L871E(&9I;&5N86UE<UQN M)7,B.PH@"B!S=&%T:6,@6D-/3E-4(&-H87(@1F%R(%5N>FEP57-A9V5,:6YE M-5M=(#T@(EP*($5X86UP;&5S("AS964@=6YZ:7`N='AT(&9O<B!M;W)E(&EN M9F\I.EQN7`I`0"`M,3,W-BPV("LQ,S<W+#$R($!`"B`@("`@("`@("`@("`@ M("`@("`@("`@("`K*W5/+G9O;&9L86<["B`@("`@("`@("`@("`@("`@("`@ M(&)R96%K.PH@(V5N9&EF("\J($1/4U](-CA?3U,R7U<S,B`J+PHK"0EC87-E M("@G+B<I.@HK("`@("`@("`@("`@("`@("`@("!I9B`H;F5G871I=F4I"BL@ M("`@("`@("`@("`@("`@("`@("`@("!U3RYD;W1F;&%G(#T@1D%,4T4L(&YE M9V%T:79E(#T@,#L**R`@("`@("`@("`@("`@("`@("`@96QS90HK("`@("`@ M("`@("`@("`@("`@("`@("`@=4\N9&]T9FQA9R`](%12544["BL@("`@("`@ M("`@("`@("`@("`@(&)R96%K.PH@("`@("`@("`@("`@("`@(&1E9F%U;'0Z M"B`@("`@("`@("`@("`@("`@("`@(&5R<F]R(#T@5%)513L*("`@("`@("`@ M("`@("`@("`@("`@8G)E86L["F1I9F8@+75R3B`N+W5N>FEP+F@@+BXO+BXO M=V]R:RYN97<O=6YZ:7`M-2XT,B]U;GII<"YH"BTM+2`N+W5N>FEP+F@)5&AU M($%P<B`R,"`Q-CHR,3HQ-"`R,#`P"BLK*R`N+B\N+B]W;W)K+FYE=R]U;GII M<"TU+C0R+W5N>FEP+F@)36]N($1E8R`Q-R`Q-SHP-CHT-"`R,#`Q"D!`("TT M-#4L-B`K-#0U+#<@0$`*("`@("!I;G0@6%]F;&%G.R`@("`@("`@("\J("U8 M.B!R97-T;W)E(&]W;F5R+W!R;W1E8W1I;VX@;W(@54E$+T=)1"!O<B!!0TQS M("HO"B`C96YD:68*("`@("!I;G0@>F9L86<[("`@("`@("`@("\J("UZ.B!D M:7-P;&%Y('1H92!Z:7!F:6QE(&-O;6UE;G0@*&]N;'DL(&9O<B!U;GII<"D@ M*B\**R`@("!I;G0@9&]T9FQA9SL)+RH@+2XZ(&1O;B=T('1R86YS;&%T92!F M:6QE;F%M97,@=&\@;&]C86P@8VAA<G-E="`J+PH@(V5N9&EF("\J("%&54Y: 425`@*B\*('T@57IP3W!T<SL*(`H` ` end How-To-Repeat: Using any tool that creates DOS-tagged .zip file (e.g. WinZip), create a .zip file which has files with euc(cn|jp|kr) filenames. Then extract the .zip file using unzip.