Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/prefix:master commit in: app-arch/unzip/, app-arch/unzip/files/
Date: Sat, 26 Dec 2020 19:52:46
Message-Id: 1609012339.69f575e8ebb80ae7409299fd7245d2fe770d5f0a.sam@gentoo
1 commit: 69f575e8ebb80ae7409299fd7245d2fe770d5f0a
2 Author: Sam James <sam <AT> gentoo <DOT> org>
3 AuthorDate: Sat Dec 26 19:51:18 2020 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Sat Dec 26 19:52:19 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=69f575e8
7
8 app-arch/unzip: moved to ::gentoo
9
10 Signed-off-by: Sam James <sam <AT> gentoo.org>
11
12 app-arch/unzip/Manifest | 2 -
13 .../unzip/files/unzip-5.52-CVE-2008-0888.patch | 35 --
14 .../unzip/files/unzip-5.52-no-exec-stack.patch | 13 -
15 .../unzip/files/unzip-6.0-format-security.patch | 91 -----
16 app-arch/unzip/files/unzip-6.0-irix.patch | 28 --
17 app-arch/unzip/files/unzip-6.0-natspec.patch | 382 ---------------------
18 app-arch/unzip/files/unzip-6.0-no-exec-stack.patch | 13 -
19 app-arch/unzip/metadata.xml | 14 -
20 app-arch/unzip/unzip-6.0_p21-r2.ebuild | 87 -----
21 9 files changed, 665 deletions(-)
22
23 diff --git a/app-arch/unzip/Manifest b/app-arch/unzip/Manifest
24 deleted file mode 100644
25 index c338085389..0000000000
26 --- a/app-arch/unzip/Manifest
27 +++ /dev/null
28 @@ -1,2 +0,0 @@
29 -DIST unzip60.tar.gz 1376845 BLAKE2B 5016d300b4452018a391f4ebc03c6960c068df400a0407c0c60bd7bb5ec5012031f916d8b204a6149ba291c2c35beba40d9b43c76fc093026e79471329ab0e47 SHA512 0694e403ebc57b37218e00ec1a406cae5cc9c5b52b6798e0d4590840b6cdbf9ddc0d9471f67af783e960f8fa2e620394d51384257dca23d06bcd90224a80ce5d
30 -DIST unzip_6.0-21.debian.tar.xz 17740 BLAKE2B 098a84e5b05f819f9c8c6a6656fdb2359dfb5b93f63444e55347e0bef9735fa48bf1631a658a2cb6d0c604e7e740e47b57910d251b74e5df7c8b9468acfe55f4 SHA512 f7bce4156ac13c34da3f991df3ae88b0db99b0810c7f8904ea3ac666a4cb2788d7182056f2bbd82d7519d0e0ee31a10af47bee08f360ceb859e5fbfc6e15ef36
31
32 diff --git a/app-arch/unzip/files/unzip-5.52-CVE-2008-0888.patch b/app-arch/unzip/files/unzip-5.52-CVE-2008-0888.patch
33 deleted file mode 100644
34 index 368b3eeb12..0000000000
35 --- a/app-arch/unzip/files/unzip-5.52-CVE-2008-0888.patch
36 +++ /dev/null
37 @@ -1,35 +0,0 @@
38 -http://bugs.gentoo.org/213761
39 -
40 -fix for CVE-2008-0888
41 -
42 ---- inflate.c
43 -+++ inflate.c
44 -@@ -983,6 +983,7 @@
45 - unsigned l; /* last length */
46 - unsigned m; /* mask for bit lengths table */
47 - unsigned n; /* number of lengths to get */
48 -+ struct huft *tlp;
49 - struct huft *tl; /* literal/length code table */
50 - struct huft *td; /* distance code table */
51 - unsigned bl; /* lookup bits for tl */
52 -@@ -996,6 +997,8 @@
53 - int retval = 0; /* error code returned: initialized to "no error" */
54 -
55 -
56 -+ td = tlp = tl = (struct huft *)NULL;
57 -+
58 - /* make local bit buffer */
59 - Trace((stderr, "\ndynamic block"));
60 - b = G.bb;
61 -@@ -1047,9 +1050,9 @@
62 - while (i < n)
63 - {
64 - NEEDBITS(bl)
65 -- j = (td = tl + ((unsigned)b & m))->b;
66 -+ j = (tlp = tl + ((unsigned)b & m))->b;
67 - DUMPBITS(j)
68 -- j = td->v.n;
69 -+ j = tlp->v.n;
70 - if (j < 16) /* length of code in bits (0..15) */
71 - ll[i++] = l = j; /* save last length in l */
72 - else if (j == 16) /* repeat last length 3 to 6 times */
73
74 diff --git a/app-arch/unzip/files/unzip-5.52-no-exec-stack.patch b/app-arch/unzip/files/unzip-5.52-no-exec-stack.patch
75 deleted file mode 100644
76 index e2869bfe80..0000000000
77 --- a/app-arch/unzip/files/unzip-5.52-no-exec-stack.patch
78 +++ /dev/null
79 @@ -1,13 +0,0 @@
80 -Make sure that the asm files don't incorrectly trigger an executable
81 -stack marking in the final shared library. That's bad, mmmkay.
82 -
83 ---- unzip/crc_i386.S
84 -+++ unzip/crc_i386.S
85 -@@ -238,3 +238,7 @@
86 - #endif /* i386 || _i386 || _I386 || __i386 */
87 -
88 - #endif /* !USE_ZLIB */
89 -+
90 -+#ifdef __ELF__
91 -+.section .note.GNU-stack,"",%progbits
92 -+#endif
93
94 diff --git a/app-arch/unzip/files/unzip-6.0-format-security.patch b/app-arch/unzip/files/unzip-6.0-format-security.patch
95 deleted file mode 100644
96 index c61c135963..0000000000
97 --- a/app-arch/unzip/files/unzip-6.0-format-security.patch
98 +++ /dev/null
99 @@ -1,91 +0,0 @@
100 -Fix build with -Werror=format-security
101 -
102 -Origin: http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?h=master-next&id=f7d80257afcfefdc85b6745328f2d12b957a848b
103 -Author: Edwin Plauchu <edwin.plauchu.camacho@×××××.com>
104 -
105 -diff --git a/extract.c b/extract.c
106 -index 7cd9123..25c5a62 100644
107 ---- a/extract.c
108 -+++ b/extract.c
109 -@@ -475,7 +475,7 @@ int extract_or_test_files(__G) /* return PK-type error code */
110 - Info(slide, 0x401, ((char *)slide,
111 - LoadFarString(CentSigMsg), j + blknum*DIR_BLKSIZ + 1));
112 - Info(slide, 0x401, ((char *)slide,
113 -- LoadFarString(ReportMsg)));
114 -+ "%s",LoadFarString(ReportMsg)));
115 - error_in_archive = PK_BADERR;
116 - }
117 - reached_end = TRUE; /* ...so no more left to do */
118 -@@ -754,8 +754,8 @@ int extract_or_test_files(__G) /* return PK-type error code */
119 -
120 - #ifndef SFX
121 - if (no_endsig_found) { /* just to make sure */
122 -- Info(slide, 0x401, ((char *)slide, LoadFarString(EndSigMsg)));
123 -- Info(slide, 0x401, ((char *)slide, LoadFarString(ReportMsg)));
124 -+ Info(slide, 0x401, ((char *)slide, "%s", LoadFarString(EndSigMsg)));
125 -+ Info(slide, 0x401, ((char *)slide, "%s", LoadFarString(ReportMsg)));
126 - if (!error_in_archive) /* don't overwrite stronger error */
127 - error_in_archive = PK_WARN;
128 - }
129 -diff --git a/list.c b/list.c
130 -index 15e0011..0b484f6 100644
131 ---- a/list.c
132 -+++ b/list.c
133 -@@ -181,7 +181,7 @@ int list_files(__G) /* return PK-type error code */
134 - Info(slide, 0x401,
135 - ((char *)slide, LoadFarString(CentSigMsg), j));
136 - Info(slide, 0x401,
137 -- ((char *)slide, LoadFarString(ReportMsg)));
138 -+ ((char *)slide, "%s", LoadFarString(ReportMsg)));
139 - return PK_BADERR; /* sig not found */
140 - }
141 - }
142 -@@ -507,7 +507,7 @@ int list_files(__G) /* return PK-type error code */
143 - && (!G.ecrec.is_zip64_archive)
144 - && (memcmp(G.sig, end_central_sig, 4) != 0)
145 - ) { /* just to make sure again */
146 -- Info(slide, 0x401, ((char *)slide, LoadFarString(EndSigMsg)));
147 -+ Info(slide, 0x401, ((char *)slide, "%s", LoadFarString(EndSigMsg)));
148 - error_in_archive = PK_WARN; /* didn't find sig */
149 - }
150 -
151 -@@ -591,7 +591,7 @@ int get_time_stamp(__G__ last_modtime, nmember) /* return PK-type error code */
152 - Info(slide, 0x401,
153 - ((char *)slide, LoadFarString(CentSigMsg), j));
154 - Info(slide, 0x401,
155 -- ((char *)slide, LoadFarString(ReportMsg)));
156 -+ ((char *)slide, "%s", LoadFarString(ReportMsg)));
157 - return PK_BADERR; /* sig not found */
158 - }
159 - }
160 -@@ -674,7 +674,7 @@ int get_time_stamp(__G__ last_modtime, nmember) /* return PK-type error code */
161 - ---------------------------------------------------------------------------*/
162 -
163 - if (memcmp(G.sig, end_central_sig, 4)) { /* just to make sure again */
164 -- Info(slide, 0x401, ((char *)slide, LoadFarString(EndSigMsg)));
165 -+ Info(slide, 0x401, ((char *)slide, "%s", LoadFarString(EndSigMsg)));
166 - error_in_archive = PK_WARN;
167 - }
168 - if (*nmember == 0L && error_in_archive <= PK_WARN)
169 -diff --git a/zipinfo.c b/zipinfo.c
170 -index 0ac75b3..1e7fa82 100644
171 ---- a/zipinfo.c
172 -+++ b/zipinfo.c
173 -@@ -833,7 +833,7 @@ int zipinfo(__G) /* return PK-type error code */
174 - Info(slide, 0x401,
175 - ((char *)slide, LoadFarString(CentSigMsg), j));
176 - Info(slide, 0x401,
177 -- ((char *)slide, LoadFarString(ReportMsg)));
178 -+ ((char *)slide, "%s", LoadFarString(ReportMsg)));
179 - error_in_archive = PK_BADERR; /* sig not found */
180 - break;
181 - }
182 -@@ -1022,7 +1022,7 @@ int zipinfo(__G) /* return PK-type error code */
183 - && (!G.ecrec.is_zip64_archive)
184 - && (memcmp(G.sig, end_central_sig, 4) != 0)
185 - ) { /* just to make sure again */
186 -- Info(slide, 0x401, ((char *)slide, LoadFarString(EndSigMsg)));
187 -+ Info(slide, 0x401, ((char *)slide, "%s", LoadFarString(EndSigMsg)));
188 - error_in_archive = PK_WARN; /* didn't find sig */
189 - }
190 -
191
192 diff --git a/app-arch/unzip/files/unzip-6.0-irix.patch b/app-arch/unzip/files/unzip-6.0-irix.patch
193 deleted file mode 100644
194 index 1aadee82c2..0000000000
195 --- a/app-arch/unzip/files/unzip-6.0-irix.patch
196 +++ /dev/null
197 @@ -1,28 +0,0 @@
198 -http://bugs.gentoo.org/show_bug.cgi?id=282086
199 -
200 ---- unzpriv.h.dist 2009-08-20 11:24:17.386734120 +0100
201 -+++ unzpriv.h 2009-08-20 11:29:37.592325480 +0100
202 -@@ -1904,7 +1904,7 @@
203 -
204 - #ifdef ZIP64_SUPPORT
205 - # ifndef Z_UINT8_DEFINED
206 --# if (defined(__GNUC__) || defined(__hpux) || defined(__SUNPRO_C))
207 -+# if (defined(__GNUC__) || defined(__hpux) || defined(__SUNPRO_C) || defined(__sgi))
208 - typedef unsigned long long z_uint8;
209 - # else
210 - typedef unsigned __int64 z_uint8;
211 ---- unix/unxcfg.h.dist 2009-08-20 11:36:17.658689640 +0100
212 -+++ unix/unxcfg.h 2009-08-20 11:38:31.458220280 +0100
213 -@@ -42,8 +42,10 @@
214 - /* These have to be before any include that sets types so the large file
215 - versions of the types are set in the includes */
216 -
217 --# define _LARGEFILE_SOURCE /* some OSes need this for fseeko */
218 --# define _LARGEFILE64_SOURCE
219 -+# ifndef __sgi
220 -+# define _LARGEFILE_SOURCE /* some OSes need this for fseeko */
221 -+# define _LARGEFILE64_SOURCE
222 -+# endif
223 - # define _FILE_OFFSET_BITS 64 /* select default interface as 64 bit */
224 - # define _LARGE_FILES /* some OSes need this for 64-bit off_t */
225 - # define __USE_LARGEFILE64
226
227 diff --git a/app-arch/unzip/files/unzip-6.0-natspec.patch b/app-arch/unzip/files/unzip-6.0-natspec.patch
228 deleted file mode 100644
229 index a1aa83f797..0000000000
230 --- a/app-arch/unzip/files/unzip-6.0-natspec.patch
231 +++ /dev/null
232 @@ -1,382 +0,0 @@
233 -This patch makes zip use libnatspec to recode file names is national charset.
234 -Initially this patch was written for altlinux:
235 -http://sisyphus.ru/ru/srpm/Sisyphus/zip/patches
236 -
237 -Later it was a bit improved and improved version was posted here (in Russian):
238 -http://www.opennet.ru/tips/info/2494.shtml
239 -
240 -Gentoo reference:
241 -https://bugs.gentoo.org/show_bug.cgi?id=275244
242 -
243 -diff -pur unzip60orig/unix/configure unzip60/unix/configure
244 ---- unzip60orig/unix/configure 2009-04-16 23:25:12.000000000 +0400
245 -+++ unzip60/unix/configure 2010-11-26 19:07:43.000000000 +0300
246 -@@ -17,7 +17,7 @@ CFLAGSR=${CFLAGS}
247 - IZ_BZIP2=${3}
248 - CFLAGS="${CFLAGS} -I. -DUNIX"
249 - LFLAGS1=""
250 --LFLAGS2="-s"
251 -+LFLAGS2="-l natspec"
252 - LN="ln -s"
253 -
254 - CFLAGS_OPT=''
255 -diff -pur unzip60orig/unix/Makefile unzip60/unix/Makefile
256 ---- unzip60orig/unix/Makefile 2009-01-19 01:41:18.000000000 +0300
257 -+++ unzip60/unix/Makefile 2010-11-29 14:25:58.461000001 +0300
258 -@@ -45,14 +45,14 @@
259 - CC = cc# try using "gcc" target rather than changing this (CC and LD
260 - LD = $(CC)# must match, else "unresolved symbol: ___main" is possible)
261 - AS = as
262 --LOC = $(D_USE_BZ2) $(LOCAL_UNZIP)
263 -+LOC = $(D_USE_BZ2) -DNO_SETLOCALE $(LOCAL_UNZIP)
264 - AF = $(LOC)
265 - CFLAGS = -O
266 - CF_NOOPT = -I. -I$(IZ_BZIP2) -DUNIX $(LOC)
267 - CF = $(CFLAGS) $(CF_NOOPT)
268 - LFLAGS1 =
269 - LF = -o unzip$E $(LFLAGS1)
270 --LF2 = -s
271 -+LF2 = -l natspec
272 -
273 - # UnZipSFX flags
274 - SL = -o unzipsfx$E $(LFLAGS1)
275 -@@ -121,7 +121,7 @@ INSTALL_PROGRAM = $(INSTALL)
276 - INSTALL_D = mkdir -p
277 - # on some systems, manext=l and MANDIR=/usr/man/man$(manext) may be appropriate
278 - manext = 1
279 --prefix = /usr/local
280 -+prefix = /usr
281 - BINDIR = $(prefix)/bin# where to install executables
282 - MANDIR = $(prefix)/man/man$(manext)# where to install man pages
283 - INSTALLEDBIN = $(BINDIR)/funzip$E $(BINDIR)/unzip$E $(BINDIR)/unzipsfx$E \
284 -diff -pur unzip60orig/unix/unix.c unzip60/unix/unix.c
285 ---- unzip60orig/unix/unix.c 2009-01-24 02:31:26.000000000 +0300
286 -+++ unzip60/unix/unix.c 2010-11-26 16:58:35.000000000 +0300
287 -@@ -30,6 +30,9 @@
288 - #define UNZIP_INTERNAL
289 - #include "unzip.h"
290 -
291 -+#include <iconv.h>
292 -+#include <natspec.h>
293 -+
294 - #ifdef SCO_XENIX
295 - # define SYSNDIR
296 - #else /* SCO Unix, AIX, DNIX, TI SysV, Coherent 4.x, ... */
297 -@@ -1874,3 +1877,44 @@ static void qlfix(__G__ ef_ptr, ef_len)
298 - }
299 - }
300 - #endif /* QLZIP */
301 -+
302 -+
303 -+char OEM_CP[MAX_CP_NAME] = "";
304 -+char ISO_CP[MAX_CP_NAME] = "";
305 -+
306 -+/* Getr the default value of OEM_CP based on the current locale.
307 -+ * ISO_CP is left alone for now. */
308 -+void init_conversion_charsets()
309 -+{
310 -+ /* Make a guess only if OEM_CP not already set. */
311 -+ if(*OEM_CP == '\0') {
312 -+ const char * archive_charset = natspec_get_charset_by_locale(NATSPEC_DOSCS, "");
313 -+ strncpy(OEM_CP, archive_charset, sizeof(OEM_CP));
314 -+ }
315 -+
316 -+ if(*ISO_CP == '\0') {
317 -+ const char * archive_charset = natspec_get_charset_by_locale(NATSPEC_WINCS, "");
318 -+ strncpy(ISO_CP, archive_charset, sizeof(ISO_CP));
319 -+ }
320 -+
321 -+}
322 -+
323 -+/* Convert a string from OEM_CP to the current locale charset. */
324 -+inline void oem_intern(char *string)
325 -+{
326 -+ char *buf = natspec_convert(string, 0, OEM_CP, 0);
327 -+ /* Since Ext_ASCII_TO_Native used only for G.filename[FILNAMESIZE],
328 -+ use FILNAMSIZ as string size */
329 -+ strncpy(string, buf, FILNAMSIZ);
330 -+ free (buf);
331 -+}
332 -+
333 -+/* Convert a string from ISO_CP to the current locale charset. */
334 -+inline void iso_intern(char *string)
335 -+{
336 -+ char *buf = natspec_convert(string, 0, ISO_CP, 0);
337 -+ /* Since Ext_ASCII_TO_Native used only for G.filename[FILNAMESIZE],
338 -+ use FILNAMSIZ as string size */
339 -+ strncpy(string, buf, FILNAMSIZ);
340 -+ free (buf);
341 -+}
342 -diff -pur unzip60orig/unix/unxcfg.h unzip60/unix/unxcfg.h
343 ---- unzip60orig/unix/unxcfg.h 2009-04-16 22:36:12.000000000 +0400
344 -+++ unzip60/unix/unxcfg.h 2010-11-26 16:58:35.000000000 +0300
345 -@@ -227,4 +227,30 @@ typedef struct stat z_stat;
346 - /* wild_dir, dirname, wildname, matchname[], dirnamelen, have_dirname, */
347 - /* and notfirstcall are used by do_wild(). */
348 -
349 -+
350 -+#define MAX_CP_NAME 25
351 -+
352 -+#ifdef SETLOCALE
353 -+# undef SETLOCALE
354 -+#endif
355 -+#define SETLOCALE(category, locale) setlocale(category, locale)
356 -+#include <locale.h>
357 -+
358 -+#ifdef _ISO_INTERN
359 -+# undef _ISO_INTERN
360 -+#endif
361 -+#define _ISO_INTERN(str1) iso_intern(str1)
362 -+
363 -+#ifdef _OEM_INTERN
364 -+# undef _OEM_INTERN
365 -+#endif
366 -+#ifndef IZ_OEM2ISO_ARRAY
367 -+# define IZ_OEM2ISO_ARRAY
368 -+#endif
369 -+#define _OEM_INTERN(str1) oem_intern(str1)
370 -+
371 -+void iso_intern(char *);
372 -+void oem_intern(char *);
373 -+void init_conversion_charsets(void);
374 -+
375 - #endif /* !__unxcfg_h */
376 -diff -pur unzip60orig/unzip.c unzip60/unzip.c
377 ---- unzip60orig/unzip.c 2009-04-16 22:26:52.000000000 +0400
378 -+++ unzip60/unzip.c 2010-11-26 16:58:35.000000000 +0300
379 -@@ -331,7 +331,9 @@ static ZCONST char Far ZipInfoUsageLine3
380 - -h print header line -t print totals for listed files or for all\n\
381 - -z print zipfile comment -T print file times in sortable decimal format\
382 - \n -C be case-insensitive %s\
383 -- -x exclude filenames that follow from listing\n";
384 -+ -x exclude filenames that follow from listing\n\
385 -+ -O CHARSET specify a character encoding for DOS, Windows and OS/2 archives\n\
386 -+ -I CHARSET specify a character encoding for UNIX and other archives\n";
387 - #ifdef MORE
388 - static ZCONST char Far ZipInfoUsageLine4[] =
389 - " -M page output through built-in \"more\"\n";
390 -@@ -570,8 +572,7 @@ Send bug reports using //www.info-zip.or
391 - #else /* !VMS */
392 - # ifdef COPYRIGHT_CLEAN
393 - static ZCONST char Far UnzipUsageLine1[] = "\
394 --UnZip %d.%d%d%s of %s, by Info-ZIP. Maintained by C. Spieler. Send\n\
395 --bug reports using http://www.info-zip.org/zip-bug.html; see README for details.\
396 -+UnZip %d.%d%d%s of %s, by ALT Linux Team. Original by Info-ZIP.\
397 - \n\n";
398 - # else
399 - static ZCONST char Far UnzipUsageLine1[] = "\
400 -@@ -673,7 +674,9 @@ modifiers:\n\
401 - -j junk paths (do not make directories) -aa treat ALL files as text\n\
402 - -U use escapes for all non-ASCII Unicode -UU ignore any Unicode fields\n\
403 - -C match filenames case-insensitively -L make (some) names \
404 --lowercase\n %-42s -V retain VMS version numbers\n%s";
405 -+lowercase\n %-42s -V retain VMS version numbers\n%s\
406 -+ -O CHARSET specify a character encoding for DOS, Windows and OS/2 archives\n\
407 -+ -I CHARSET specify a character encoding for UNIX and other archives\n";
408 - #endif /* ?VMS */
409 - #else /* !UNICODE_SUPPORT */
410 - #ifdef VMS
411 -@@ -692,7 +695,9 @@ modifiers:\n\
412 - -o overwrite files WITHOUT prompting -a auto-convert any text files\n\
413 - -j junk paths (do not make directories) -aa treat ALL files as text\n\
414 - -C match filenames case-insensitively -L make (some) names \
415 --lowercase\n %-42s -V retain VMS version numbers\n%s";
416 -+lowercase\n %-42s -V retain VMS version numbers\n%s\
417 -+ -O CHARSET specify a character encoding for DOS, Windows and OS/2 archives\n\
418 -+ -I CHARSET specify a character encoding for UNIX and other archives\n";
419 - #endif /* ?VMS */
420 - #endif /* ?UNICODE_SUPPORT */
421 -
422 -@@ -803,6 +808,10 @@ int unzip(__G__ argc, argv)
423 - #endif /* UNICODE_SUPPORT */
424 -
425 -
426 -+#ifdef UNIX
427 -+ init_conversion_charsets();
428 -+#endif
429 -+
430 - #if (defined(__IBMC__) && defined(__DEBUG_ALLOC__))
431 - extern void DebugMalloc(void);
432 -
433 -@@ -1336,6 +1345,11 @@ int uz_opts(__G__ pargc, pargv)
434 - argc = *pargc;
435 - argv = *pargv;
436 -
437 -+#ifdef UNIX
438 -+ extern char OEM_CP[MAX_CP_NAME];
439 -+ extern char ISO_CP[MAX_CP_NAME];
440 -+#endif
441 -+
442 - while (++argv, (--argc > 0 && *argv != NULL && **argv == '-')) {
443 - s = *argv + 1;
444 - while ((c = *s++) != 0) { /* "!= 0": prevent Turbo C warning */
445 -@@ -1517,6 +1531,35 @@ int uz_opts(__G__ pargc, pargv)
446 - }
447 - break;
448 - #endif /* MACOS */
449 -+#ifdef UNIX
450 -+ case ('I'):
451 -+ if (negative) {
452 -+ Info(slide, 0x401, ((char *)slide,
453 -+ "error: encodings can't be negated"));
454 -+ return(PK_PARAM);
455 -+ } else {
456 -+ if(*s) { /* Handle the -Icharset case */
457 -+ /* Assume that charsets can't start with a dash to spot arguments misuse */
458 -+ if(*s == '-') {
459 -+ Info(slide, 0x401, ((char *)slide,
460 -+ "error: a valid character encoding should follow the -I argument"));
461 -+ return(PK_PARAM);
462 -+ }
463 -+ strncpy(ISO_CP, s, sizeof(ISO_CP));
464 -+ } else { /* -I charset */
465 -+ ++argv;
466 -+ if(!(--argc > 0 && *argv != NULL && **argv != '-')) {
467 -+ Info(slide, 0x401, ((char *)slide,
468 -+ "error: a valid character encoding should follow the -I argument"));
469 -+ return(PK_PARAM);
470 -+ }
471 -+ s = *argv;
472 -+ strncpy(ISO_CP, s, sizeof(ISO_CP));
473 -+ }
474 -+ while(*(++s)); /* No params straight after charset name */
475 -+ }
476 -+ break;
477 -+#endif /* ?UNIX */
478 - case ('j'): /* junk pathnames/directory structure */
479 - if (negative)
480 - uO.jflag = FALSE, negative = 0;
481 -@@ -1592,6 +1635,35 @@ int uz_opts(__G__ pargc, pargv)
482 - } else
483 - ++uO.overwrite_all;
484 - break;
485 -+#ifdef UNIX
486 -+ case ('O'):
487 -+ if (negative) {
488 -+ Info(slide, 0x401, ((char *)slide,
489 -+ "error: encodings can't be negated"));
490 -+ return(PK_PARAM);
491 -+ } else {
492 -+ if(*s) { /* Handle the -Ocharset case */
493 -+ /* Assume that charsets can't start with a dash to spot arguments misuse */
494 -+ if(*s == '-') {
495 -+ Info(slide, 0x401, ((char *)slide,
496 -+ "error: a valid character encoding should follow the -I argument"));
497 -+ return(PK_PARAM);
498 -+ }
499 -+ strncpy(OEM_CP, s, sizeof(OEM_CP));
500 -+ } else { /* -O charset */
501 -+ ++argv;
502 -+ if(!(--argc > 0 && *argv != NULL && **argv != '-')) {
503 -+ Info(slide, 0x401, ((char *)slide,
504 -+ "error: a valid character encoding should follow the -O argument"));
505 -+ return(PK_PARAM);
506 -+ }
507 -+ s = *argv;
508 -+ strncpy(OEM_CP, s, sizeof(OEM_CP));
509 -+ }
510 -+ while(*(++s)); /* No params straight after charset name */
511 -+ }
512 -+ break;
513 -+#endif /* ?UNIX */
514 - case ('p'): /* pipes: extract to stdout, no messages */
515 - if (negative) {
516 - uO.cflag = FALSE;
517 -diff -pur unzip60orig/unzpriv.h unzip60/unzpriv.h
518 ---- unzip60orig/unzpriv.h 2009-04-20 03:59:26.000000000 +0400
519 -+++ unzip60/unzpriv.h 2010-11-26 16:58:35.000000000 +0300
520 -@@ -3008,7 +3008,7 @@ char *GetLoadPath OF((__GPRO));
521 - !(((islochdr) || (isuxatt)) && \
522 - ((hostver) == 25 || (hostver) == 26 || (hostver) == 40))) || \
523 - (hostnum) == FS_HPFS_ || \
524 -- ((hostnum) == FS_NTFS_ && (hostver) == 50)) { \
525 -+ ((hostnum) == FS_NTFS_/* && (hostver) == 50*/)) { \
526 - _OEM_INTERN((string)); \
527 - } else { \
528 - _ISO_INTERN((string)); \
529 -diff -pur unzip60orig/zipinfo.c unzip60/zipinfo.c
530 ---- unzip60orig/zipinfo.c 2009-02-08 20:04:30.000000000 +0300
531 -+++ unzip60/zipinfo.c 2010-11-26 16:58:35.000000000 +0300
532 -@@ -457,6 +457,10 @@ int zi_opts(__G__ pargc, pargv)
533 - int tflag_slm=TRUE, tflag_2v=FALSE;
534 - int explicit_h=FALSE, explicit_t=FALSE;
535 -
536 -+#ifdef UNIX
537 -+ extern char OEM_CP[MAX_CP_NAME];
538 -+ extern char ISO_CP[MAX_CP_NAME];
539 -+#endif
540 -
541 - #ifdef MACOS
542 - uO.lflag = LFLAG; /* reset default on each call */
543 -@@ -501,6 +505,35 @@ int zi_opts(__G__ pargc, pargv)
544 - uO.lflag = 0;
545 - }
546 - break;
547 -+#ifdef UNIX
548 -+ case ('I'):
549 -+ if (negative) {
550 -+ Info(slide, 0x401, ((char *)slide,
551 -+ "error: encodings can't be negated"));
552 -+ return(PK_PARAM);
553 -+ } else {
554 -+ if(*s) { /* Handle the -Icharset case */
555 -+ /* Assume that charsets can't start with a dash to spot arguments misuse */
556 -+ if(*s == '-') {
557 -+ Info(slide, 0x401, ((char *)slide,
558 -+ "error: a valid character encoding should follow the -I argument"));
559 -+ return(PK_PARAM);
560 -+ }
561 -+ strncpy(ISO_CP, s, sizeof(ISO_CP));
562 -+ } else { /* -I charset */
563 -+ ++argv;
564 -+ if(!(--argc > 0 && *argv != NULL && **argv != '-')) {
565 -+ Info(slide, 0x401, ((char *)slide,
566 -+ "error: a valid character encoding should follow the -I argument"));
567 -+ return(PK_PARAM);
568 -+ }
569 -+ s = *argv;
570 -+ strncpy(ISO_CP, s, sizeof(ISO_CP));
571 -+ }
572 -+ while(*(++s)); /* No params straight after charset name */
573 -+ }
574 -+ break;
575 -+#endif /* ?UNIX */
576 - case 'l': /* longer form of "ls -l" type listing */
577 - if (negative)
578 - uO.lflag = -2, negative = 0;
579 -@@ -521,6 +554,35 @@ int zi_opts(__G__ pargc, pargv)
580 - G.M_flag = TRUE;
581 - break;
582 - #endif
583 -+#ifdef UNIX
584 -+ case ('O'):
585 -+ if (negative) {
586 -+ Info(slide, 0x401, ((char *)slide,
587 -+ "error: encodings can't be negated"));
588 -+ return(PK_PARAM);
589 -+ } else {
590 -+ if(*s) { /* Handle the -Ocharset case */
591 -+ /* Assume that charsets can't start with a dash to spot arguments misuse */
592 -+ if(*s == '-') {
593 -+ Info(slide, 0x401, ((char *)slide,
594 -+ "error: a valid character encoding should follow the -I argument"));
595 -+ return(PK_PARAM);
596 -+ }
597 -+ strncpy(OEM_CP, s, sizeof(OEM_CP));
598 -+ } else { /* -O charset */
599 -+ ++argv;
600 -+ if(!(--argc > 0 && *argv != NULL && **argv != '-')) {
601 -+ Info(slide, 0x401, ((char *)slide,
602 -+ "error: a valid character encoding should follow the -O argument"));
603 -+ return(PK_PARAM);
604 -+ }
605 -+ s = *argv;
606 -+ strncpy(OEM_CP, s, sizeof(OEM_CP));
607 -+ }
608 -+ while(*(++s)); /* No params straight after charset name */
609 -+ }
610 -+ break;
611 -+#endif /* ?UNIX */
612 - case 's': /* default: shorter "ls -l" type listing */
613 - if (negative)
614 - uO.lflag = -2, negative = 0;
615
616 diff --git a/app-arch/unzip/files/unzip-6.0-no-exec-stack.patch b/app-arch/unzip/files/unzip-6.0-no-exec-stack.patch
617 deleted file mode 100644
618 index 7973378704..0000000000
619 --- a/app-arch/unzip/files/unzip-6.0-no-exec-stack.patch
620 +++ /dev/null
621 @@ -1,13 +0,0 @@
622 -Make sure that the asm files don't incorrectly trigger an executable
623 -stack marking in the final shared library. That's bad, mmmkay.
624 -
625 ---- unzip/crc_i386.S
626 -+++ unzip/crc_i386.S
627 -@@ -302,3 +302,7 @@
628 - #endif /* i386 || _i386 || _I386 || __i386 */
629 -
630 - #endif /* !USE_ZLIB && !CRC_TABLE_ONLY */
631 -+
632 -+#if defined(__linux__) && defined(__ELF__)
633 -+.section .note.GNU-stack,"",%progbits
634 -+#endif
635
636 diff --git a/app-arch/unzip/metadata.xml b/app-arch/unzip/metadata.xml
637 deleted file mode 100644
638 index 564fd76677..0000000000
639 --- a/app-arch/unzip/metadata.xml
640 +++ /dev/null
641 @@ -1,14 +0,0 @@
642 -<?xml version="1.0" encoding="UTF-8"?>
643 -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
644 -<pkgmetadata>
645 - <maintainer type="project">
646 - <email>base-system@g.o</email>
647 - <name>Gentoo Base System</name>
648 - </maintainer>
649 - <use>
650 - <flag name="natspec">Use <pkg>dev-libs/libnatspec</pkg> to correctly decode non-ascii file names archived in Windows.</flag>
651 - </use>
652 - <upstream>
653 - <remote-id type="sourceforge">infozip</remote-id>
654 - </upstream>
655 -</pkgmetadata>
656
657 diff --git a/app-arch/unzip/unzip-6.0_p21-r2.ebuild b/app-arch/unzip/unzip-6.0_p21-r2.ebuild
658 deleted file mode 100644
659 index 09846ee072..0000000000
660 --- a/app-arch/unzip/unzip-6.0_p21-r2.ebuild
661 +++ /dev/null
662 @@ -1,87 +0,0 @@
663 -# Copyright 1999-2020 Gentoo Authors
664 -# Distributed under the terms of the GNU General Public License v2
665 -
666 -EAPI="6"
667 -
668 -inherit eutils toolchain-funcs flag-o-matic
669 -
670 -MY_PV="${PV//.}"
671 -MY_PV="${MY_PV%_p*}"
672 -MY_P="${PN}${MY_PV}"
673 -
674 -DESCRIPTION="unzipper for pkzip-compressed files"
675 -HOMEPAGE="http://www.info-zip.org/"
676 -SRC_URI="mirror://sourceforge/infozip/${MY_P}.tar.gz
677 - mirror://debian/pool/main/u/${PN}/${PN}_${PV/_p/-}.debian.tar.xz"
678 -
679 -LICENSE="Info-ZIP"
680 -SLOT="0"
681 -KEYWORDS="~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
682 -IUSE="bzip2 natspec unicode"
683 -
684 -DEPEND="bzip2? ( app-arch/bzip2 )
685 - natspec? ( dev-libs/libnatspec )"
686 -RDEPEND="${DEPEND}"
687 -
688 -S="${WORKDIR}/${MY_P}"
689 -
690 -src_prepare() {
691 - local deb="${WORKDIR}"/debian/patches
692 - rm "${deb}"/02-this-is-debian-unzip.patch || die
693 - eapply "${deb}"/*.patch
694 -
695 - eapply "${FILESDIR}"/${PN}-6.0-no-exec-stack.patch
696 - eapply "${FILESDIR}"/${PN}-6.0-format-security.patch
697 - use natspec && eapply "${FILESDIR}/${PN}-6.0-natspec.patch" #275244
698 - sed -i -r \
699 - -e '/^CFLAGS/d' \
700 - -e '/CFLAGS/s:-O[0-9]?:$(CFLAGS) $(CPPFLAGS):' \
701 - -e '/^STRIP/s:=.*:=true:' \
702 - -e "s:\<CC *= *\"?g?cc2?\"?\>:CC=\"$(tc-getCC)\":" \
703 - -e "s:\<LD *= *\"?(g?cc2?|ld)\"?\>:LD=\"$(tc-getCC)\":" \
704 - -e "s:\<AS *= *\"?(g?cc2?|as)\"?\>:AS=\"$(tc-getCC)\":" \
705 - -e 's:LF2 = -s:LF2 = :' \
706 - -e 's:LF = :LF = $(LDFLAGS) :' \
707 - -e 's:SL = :SL = $(LDFLAGS) :' \
708 - -e 's:FL = :FL = $(LDFLAGS) :' \
709 - -e "/^#L_BZ2/s:^$(use bzip2 && echo .)::" \
710 - -e 's:$(AS) :$(AS) $(ASFLAGS) :g' \
711 - unix/Makefile \
712 - || die "sed unix/Makefile failed"
713 -
714 - # Delete bundled code to make sure we don't use it.
715 - rm -r bzip2 || die
716 -
717 - eapply_user
718 -}
719 -
720 -src_configure() {
721 - case ${CHOST} in
722 - i?86*-*linux*) TARGET="linux_asm" ;;
723 - *linux*) TARGET="linux_noasm" ;;
724 - i?86*-*bsd* | \
725 - i?86*-dragonfly*) TARGET="freebsd" ;; # mislabelled bsd with x86 asm
726 - *bsd* | *dragonfly*) TARGET="bsd" ;;
727 - *-darwin*) TARGET="macosx" ;;
728 - *-solaris*) TARGET="generic" ;;
729 - *-cygwin*) TARGET="generic" ;;
730 - *) die "Unknown target; please update the ebuild to handle ${CHOST} " ;;
731 - esac
732 -
733 - [[ ${CHOST} == *linux* ]] && append-cppflags -DNO_LCHMOD
734 - use bzip2 && append-cppflags -DUSE_BZIP2
735 - use unicode && append-cppflags -DUNICODE_SUPPORT -DUNICODE_WCHAR -DUTF8_MAYBE_NATIVE -DUSE_ICONV_MAPPING
736 - append-cppflags -DLARGE_FILE_SUPPORT #281473
737 -}
738 -
739 -src_compile() {
740 - ASFLAGS="${ASFLAGS} $(get_abi_var CFLAGS)" \
741 - emake -f unix/Makefile ${TARGET}
742 -}
743 -
744 -src_install() {
745 - dobin unzip funzip unzipsfx unix/zipgrep
746 - dosym unzip /usr/bin/zipinfo
747 - doman man/*.1
748 - dodoc BUGS History* README ToDo WHERE
749 -}