* rebased llvm/hotfix-sparcv9-not-64.diff
[t2sde.git] / package / archiver / unzip / hotfix-large-symlinks.patch
blob6ee0b80642383035d5c2be29d4c84bfb1693f853
1 # --- T2-COPYRIGHT-NOTE-BEGIN ---
2 # T2 SDE: package/*/unzip/hotfix-large-symlinks.patch
3 # Copyright (C) 2022 The T2 SDE Project
4 #
5 # This Copyright note is generated by scripts/Create-CopyPatch,
6 # more information can be found in the files COPYING and README.
7 #
8 # This patch file is dual-licensed. It is available under the license the
9 # patched project is licensed under, as long as it is an OpenSource license
10 # as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
11 # of the GNU General Public License version 2 as used by the T2 SDE.
12 # --- T2-COPYRIGHT-NOTE-END ---
14 From mboxrd@z Thu Jan 1 00:00:00 1970
15 From: Andreas Schwab <schwab@linux-m68k.org>
16 Subject: Re: "git archive" seems to be broken wrt zip files
17 Date: Sun, 11 Sep 2011 15:14:36 +0200
18 Jeff King <peff@peff.net> writes:
20 > IOW, the zip file looks right. I wonder if this is actually a bug in
21 > "unzip".
23 It is. This only happens if you have more then 16k entries and when one
24 of the 16k entry infos is reused it happend to be previously used for a
25 symlink entry.
27 Here's a patch for unzip60 for reference:
29 --- a/process.c
30 +++ b/process.c
31 @@ -1751,6 +1751,12 @@ int process_cdir_file_hdr(__G) /* ret
32 = (G.crec.general_purpose_bit_flag & (1 << 11)) == (1 << 11);
33 #endif
35 +#ifdef SYMLINKS
36 + /* Initialize the symlink flag, may be set by the platform-specific
37 + mapattr function. */
38 + G.pInfo->symlink = 0;
39 +#endif
41 return PK_COOL;
43 } /* end function process_cdir_file_hdr() */
45 Andreas.
47 --
48 Andreas Schwab, schwab@linux-m68k.org
49 GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
50 "And now for something completely different."