import zziplib-0.13.71-9.el9
This commit is contained in:
commit
ef4e8f6233
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
SOURCES/v0.13.71-pruned.tar.gz
|
1
.zziplib.metadata
Normal file
1
.zziplib.metadata
Normal file
@ -0,0 +1 @@
|
|||||||
|
8f4b65912e109f1841387a67b47a4626aca129bb SOURCES/v0.13.71-pruned.tar.gz
|
218
SOURCES/CVE-2020-18442.patch
Normal file
218
SOURCES/CVE-2020-18442.patch
Normal file
@ -0,0 +1,218 @@
|
|||||||
|
From ac9ae39ef419e9f0f83da1e583314d8c7cda34a6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Guido Draheim <guidod@gmx.de>
|
||||||
|
Date: Mon, 4 Jan 2021 21:48:45 +0100
|
||||||
|
Subject: [PATCH 1/7] #68 ssize_t return value of zzip_file_read is a signed
|
||||||
|
value being possibly -1
|
||||||
|
|
||||||
|
---
|
||||||
|
bins/unzzipcat-zip.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/bins/unzzipcat-zip.c b/bins/unzzipcat-zip.c
|
||||||
|
index dd78c2b..385aeaf 100644
|
||||||
|
--- a/bins/unzzipcat-zip.c
|
||||||
|
+++ b/bins/unzzipcat-zip.c
|
||||||
|
@@ -34,7 +34,7 @@ static void unzzip_cat_file(ZZIP_DIR* disk, char* name, FILE* out)
|
||||||
|
if (file)
|
||||||
|
{
|
||||||
|
char buffer[1024]; int len;
|
||||||
|
- while ((len = zzip_file_read (file, buffer, 1024)))
|
||||||
|
+ while (0 < (len = zzip_file_read (file, buffer, 1024)))
|
||||||
|
{
|
||||||
|
fwrite (buffer, 1, len, out);
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.32.0
|
||||||
|
|
||||||
|
|
||||||
|
From 7e786544084548da7fcfcd9090d3c4e7f5777f7e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Guido Draheim <guidod@gmx.de>
|
||||||
|
Date: Mon, 4 Jan 2021 21:50:26 +0100
|
||||||
|
Subject: [PATCH 2/7] #68 return value of zzip_mem_disk_fread is signed
|
||||||
|
|
||||||
|
---
|
||||||
|
bins/unzip-mem.c | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/bins/unzip-mem.c b/bins/unzip-mem.c
|
||||||
|
index cc009f8..50eb5a6 100644
|
||||||
|
--- a/bins/unzip-mem.c
|
||||||
|
+++ b/bins/unzip-mem.c
|
||||||
|
@@ -81,7 +81,7 @@ static void zzip_mem_entry_pipe(ZZIP_MEM_DISK* disk,
|
||||||
|
if (file)
|
||||||
|
{
|
||||||
|
char buffer[1024]; int len;
|
||||||
|
- while ((len = zzip_mem_disk_fread (buffer, 1024, 1, file)))
|
||||||
|
+ while (0 < (len = zzip_mem_disk_fread (buffer, 1024, 1, file)))
|
||||||
|
fwrite (buffer, len, 1, out);
|
||||||
|
|
||||||
|
zzip_mem_disk_fclose (file);
|
||||||
|
@@ -115,7 +115,7 @@ static void zzip_mem_entry_test(ZZIP_MEM_DISK* disk,
|
||||||
|
{
|
||||||
|
unsigned long crc = crc32 (0L, NULL, 0);
|
||||||
|
unsigned char buffer[1024]; int len;
|
||||||
|
- while ((len = zzip_mem_disk_fread (buffer, 1024, 1, file))) {
|
||||||
|
+ while (0 < (len = zzip_mem_disk_fread (buffer, 1024, 1, file))) {
|
||||||
|
crc = crc32 (crc, buffer, len);
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.32.0
|
||||||
|
|
||||||
|
|
||||||
|
From d453977f59ca59c61bf59dec28dd724498828f2a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Guido Draheim <guidod@gmx.de>
|
||||||
|
Date: Mon, 4 Jan 2021 21:51:12 +0100
|
||||||
|
Subject: [PATCH 3/7] #68 return value of zzip_entry_fread is signed
|
||||||
|
|
||||||
|
---
|
||||||
|
bins/unzzipcat-big.c | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/bins/unzzipcat-big.c b/bins/unzzipcat-big.c
|
||||||
|
index 111ef47..ecebe11 100644
|
||||||
|
--- a/bins/unzzipcat-big.c
|
||||||
|
+++ b/bins/unzzipcat-big.c
|
||||||
|
@@ -26,7 +26,7 @@ static void unzzip_big_entry_fprint(ZZIP_ENTRY* entry, FILE* out)
|
||||||
|
if (file)
|
||||||
|
{
|
||||||
|
char buffer[1024]; int len;
|
||||||
|
- while ((len = zzip_entry_fread (buffer, 1024, 1, file)))
|
||||||
|
+ while (0 < (len = zzip_entry_fread (buffer, 1024, 1, file)))
|
||||||
|
{
|
||||||
|
DBG2("entry read %i", len);
|
||||||
|
fwrite (buffer, len, 1, out);
|
||||||
|
@@ -45,7 +45,7 @@ static void unzzip_cat_file(FILE* disk, char* name, FILE* out)
|
||||||
|
if (file)
|
||||||
|
{
|
||||||
|
char buffer[1024]; int len;
|
||||||
|
- while ((len = zzip_entry_fread (buffer, 1024, 1, file)))
|
||||||
|
+ while (0 < (len = zzip_entry_fread (buffer, 1024, 1, file)))
|
||||||
|
fwrite (buffer, len, 1, out);
|
||||||
|
|
||||||
|
zzip_entry_fclose (file);
|
||||||
|
--
|
||||||
|
2.32.0
|
||||||
|
|
||||||
|
|
||||||
|
From 0a9db9ded9d15fbdb63bf5cf451920d0a368c00e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Guido Draheim <guidod@gmx.de>
|
||||||
|
Date: Mon, 4 Jan 2021 21:51:56 +0100
|
||||||
|
Subject: [PATCH 4/7] #68 return value of zzip_mem_disk_fread is signed
|
||||||
|
|
||||||
|
---
|
||||||
|
bins/unzzipcat-mem.c | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/bins/unzzipcat-mem.c b/bins/unzzipcat-mem.c
|
||||||
|
index 6bd79b7..1b5bc22 100644
|
||||||
|
--- a/bins/unzzipcat-mem.c
|
||||||
|
+++ b/bins/unzzipcat-mem.c
|
||||||
|
@@ -35,7 +35,7 @@ static void unzzip_mem_entry_fprint(ZZIP_MEM_DISK* disk,
|
||||||
|
if (file)
|
||||||
|
{
|
||||||
|
char buffer[1024]; int len;
|
||||||
|
- while ((len = zzip_mem_disk_fread (buffer, 1024, 1, file)))
|
||||||
|
+ while (0 < (len = zzip_mem_disk_fread (buffer, 1024, 1, file)))
|
||||||
|
fwrite (buffer, len, 1, out);
|
||||||
|
|
||||||
|
zzip_mem_disk_fclose (file);
|
||||||
|
@@ -48,7 +48,7 @@ static void unzzip_mem_disk_cat_file(ZZIP_MEM_DISK* disk, char* name, FILE* out)
|
||||||
|
if (file)
|
||||||
|
{
|
||||||
|
char buffer[1025]; int len;
|
||||||
|
- while ((len = zzip_mem_disk_fread (buffer, 1, 1024, file)))
|
||||||
|
+ while (0 < (len = zzip_mem_disk_fread (buffer, 1, 1024, file)))
|
||||||
|
{
|
||||||
|
fwrite (buffer, 1, len, out);
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.32.0
|
||||||
|
|
||||||
|
|
||||||
|
From a34a96fbda1e58fbec5c79f4c0b5063e031ce11d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Guido Draheim <guidod@gmx.de>
|
||||||
|
Date: Mon, 4 Jan 2021 21:52:47 +0100
|
||||||
|
Subject: [PATCH 5/7] #68 return value of zzip_fread is signed
|
||||||
|
|
||||||
|
---
|
||||||
|
bins/unzzipcat-mix.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/bins/unzzipcat-mix.c b/bins/unzzipcat-mix.c
|
||||||
|
index e18987d..8f3d0b8 100644
|
||||||
|
--- a/bins/unzzipcat-mix.c
|
||||||
|
+++ b/bins/unzzipcat-mix.c
|
||||||
|
@@ -34,7 +34,7 @@ static void unzzip_cat_file(ZZIP_DIR* disk, char* name, FILE* out)
|
||||||
|
if (file)
|
||||||
|
{
|
||||||
|
char buffer[1024]; int len;
|
||||||
|
- while ((len = zzip_fread (buffer, 1, 1024, file)))
|
||||||
|
+ while (0 < (len = zzip_fread (buffer, 1, 1024, file)))
|
||||||
|
{
|
||||||
|
fwrite (buffer, 1, len, out);
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.32.0
|
||||||
|
|
||||||
|
|
||||||
|
From fa1f78abe1b08544061204019016809664f2618c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Guido Draheim <guidod@gmx.de>
|
||||||
|
Date: Mon, 4 Jan 2021 21:53:50 +0100
|
||||||
|
Subject: [PATCH 6/7] #68 return value of zzip_entry_fread is signed
|
||||||
|
|
||||||
|
---
|
||||||
|
bins/unzzipshow.c | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/bins/unzzipshow.c b/bins/unzzipshow.c
|
||||||
|
index 9d8c2ed..5672d3b 100644
|
||||||
|
--- a/bins/unzzipshow.c
|
||||||
|
+++ b/bins/unzzipshow.c
|
||||||
|
@@ -22,7 +22,7 @@ static void zzip_entry_fprint(ZZIP_ENTRY* entry, FILE* out)
|
||||||
|
if (file)
|
||||||
|
{
|
||||||
|
char buffer[1024]; int len;
|
||||||
|
- while ((len = zzip_entry_fread (buffer, 1024, 1, file)))
|
||||||
|
+ while (0 < (len = zzip_entry_fread (buffer, 1024, 1, file)))
|
||||||
|
fwrite (buffer, len, 1, out);
|
||||||
|
|
||||||
|
zzip_entry_fclose (file);
|
||||||
|
@@ -35,7 +35,7 @@ static void zzip_cat_file(FILE* disk, char* name, FILE* out)
|
||||||
|
if (file)
|
||||||
|
{
|
||||||
|
char buffer[1024]; int len;
|
||||||
|
- while ((len = zzip_entry_fread (buffer, 1024, 1, file)))
|
||||||
|
+ while (0 < (len = zzip_entry_fread (buffer, 1024, 1, file)))
|
||||||
|
fwrite (buffer, len, 1, out);
|
||||||
|
|
||||||
|
zzip_entry_fclose (file);
|
||||||
|
--
|
||||||
|
2.32.0
|
||||||
|
|
||||||
|
|
||||||
|
From f7a6fa9f0c29aecb4c2299568ed2e6094c34aca7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Guido Draheim <guidod@gmx.de>
|
||||||
|
Date: Mon, 4 Jan 2021 21:55:08 +0100
|
||||||
|
Subject: [PATCH 7/7] #68 return value of posix read(2) is signed
|
||||||
|
|
||||||
|
---
|
||||||
|
bins/zzipmake-zip.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/bins/zzipmake-zip.c b/bins/zzipmake-zip.c
|
||||||
|
index 8e09c31..b37877c 100644
|
||||||
|
--- a/bins/zzipmake-zip.c
|
||||||
|
+++ b/bins/zzipmake-zip.c
|
||||||
|
@@ -57,7 +57,7 @@ int rezzip_make (int argc, char ** argv)
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
- while ((n = read (input, buf, 16)))
|
||||||
|
+ while (0 < (n = read (input, buf, 16)))
|
||||||
|
{
|
||||||
|
zzip_write (output, buf, n);
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.32.0
|
||||||
|
|
108
SOURCES/match.py
Normal file
108
SOURCES/match.py
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
#! /usr/bin/env python3
|
||||||
|
|
||||||
|
from __future__ import print_function
|
||||||
|
|
||||||
|
import re
|
||||||
|
|
||||||
|
try:
|
||||||
|
basestring
|
||||||
|
except NameError:
|
||||||
|
basestring = str
|
||||||
|
|
||||||
|
# ---------------------------------------------------------- Regex Match()
|
||||||
|
# beware, stupid python interprets backslashes in replace-parts only partially!
|
||||||
|
class MatchReplace:
|
||||||
|
""" A MatchReplace is a mix of a Python Pattern and a Replace-Template """
|
||||||
|
def __init__(self, matching, template, count = 0, flags = None):
|
||||||
|
""" setup a substition from regex 'matching' into 'template',
|
||||||
|
the replacement count default of 0 will replace all occurrences.
|
||||||
|
The first argument may be a Match object or it is a string that
|
||||||
|
will be turned into one by using Match(matching, flags). """
|
||||||
|
self.template = template
|
||||||
|
MatchReplace.__call__(self, matching, template, count, flags)
|
||||||
|
def __call__(self, matching, template = None, count = 0, flags = None):
|
||||||
|
""" other than __init__ the template may be left off to be unchanged"""
|
||||||
|
if isinstance(count, basestring): # count/flags swapped over?
|
||||||
|
flags = count; count = 0
|
||||||
|
if isinstance(matching, Match):
|
||||||
|
self.matching = matching
|
||||||
|
else:
|
||||||
|
self.matching = Match()(matching, flags) ## python 2.4.2 bug
|
||||||
|
if template is not None:
|
||||||
|
self.template = template
|
||||||
|
self.count = count
|
||||||
|
def __and__(self, string):
|
||||||
|
""" z = MatchReplace('foo', 'bar') & 'foo'; assert z = 'bar' """
|
||||||
|
text, self.matching.replaced = \
|
||||||
|
self.matching.regex.subn(self.template, string, self.count)
|
||||||
|
return text
|
||||||
|
def __rand__(self, string):
|
||||||
|
""" z = 'foo' & Match('foo') >> 'bar'; assert z = 'bar' """
|
||||||
|
text, self.matching.replaced = \
|
||||||
|
self.matching.regex.subn(self.template, string, self.count)
|
||||||
|
return text
|
||||||
|
def __iand__(self, string):
|
||||||
|
""" x = 'foo' ; x &= Match('foo') >> 'bar'; assert x == 'bar' """
|
||||||
|
string, self.matching.replaced = \
|
||||||
|
self.matching.regex.subn(self.template, string, self.count)
|
||||||
|
return string
|
||||||
|
def __rshift__(self, count):
|
||||||
|
" shorthand to set the replacement count: Match('foo') >> 'bar' >> 1 "
|
||||||
|
self.count = count ; return self
|
||||||
|
def __rlshift__(self, count):
|
||||||
|
self.count = count ; return self
|
||||||
|
|
||||||
|
class Match:
|
||||||
|
""" A Match is actually a mix of a Python Pattern and MatchObject """
|
||||||
|
def __init__(self, pattern = None, flags = None):
|
||||||
|
""" flags is a string: 'i' for case-insensitive etc.; it is just
|
||||||
|
short for a regex prefix: Match('foo','i') == Match('(?i)foo') """
|
||||||
|
Match.__call__(self, pattern, flags)
|
||||||
|
def __call__(self, pattern, flags = None):
|
||||||
|
assert isinstance(pattern, str) or pattern is None
|
||||||
|
assert isinstance(flags, str) or flags is None
|
||||||
|
self.replaced = 0 # set by subn() inside MatchReplace
|
||||||
|
self.found = None # set by search() to a MatchObject
|
||||||
|
self.pattern = pattern
|
||||||
|
if pattern is not None:
|
||||||
|
if flags:
|
||||||
|
self.regex = re.compile("(?"+flags+")"+self.pattern)
|
||||||
|
else:
|
||||||
|
self.regex = re.compile(self.pattern)
|
||||||
|
return self
|
||||||
|
def __repr__(self):
|
||||||
|
return self.pattern
|
||||||
|
def __truth__(self):
|
||||||
|
return self.found is not None
|
||||||
|
def __and__(self, string):
|
||||||
|
self.found = self.regex.search(string)
|
||||||
|
return self.__truth__()
|
||||||
|
def __rand__(self, string):
|
||||||
|
self.found = self.regex.search(string)
|
||||||
|
return self.__truth__()
|
||||||
|
def __rshift__(self, template):
|
||||||
|
return MatchReplace(self, template)
|
||||||
|
def __rlshift__(self, template):
|
||||||
|
return MatchReplace(self, template)
|
||||||
|
def __getitem__(self, index):
|
||||||
|
return self.group(index)
|
||||||
|
def group(self, index):
|
||||||
|
assert self.found is not None
|
||||||
|
return self.found.group(index)
|
||||||
|
def finditer(self, string):
|
||||||
|
return self.regex.finditer(string)
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
# matching:
|
||||||
|
if "foo" & Match("oo"):
|
||||||
|
print("oo")
|
||||||
|
x = Match()
|
||||||
|
if "foo" & x("(o+)"):
|
||||||
|
print(x[1])
|
||||||
|
# replacing:
|
||||||
|
y = "fooboo" & Match("oo") >> "ee"
|
||||||
|
print(y)
|
||||||
|
r = Match("oo") >> "ee"
|
||||||
|
print("fooboo" & r)
|
||||||
|
s = MatchReplace("oo", "ee")
|
||||||
|
print("fooboo" & s)
|
29
SOURCES/multilib-32.patch
Normal file
29
SOURCES/multilib-32.patch
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
--- ./a/zzip/_config.h 2021-07-21 14:18:09.000000000 +0200
|
||||||
|
+++ ./b/zzip/_config.h 2021-07-21 14:46:24.037432969 +0200
|
||||||
|
@@ -138,9 +138,12 @@
|
||||||
|
|
||||||
|
/* whether the system defaults to 32bit off_t but can do 64bit when requested
|
||||||
|
*/
|
||||||
|
+#if __WORDSIZE == 32
|
||||||
|
#ifndef ZZIP_LARGEFILE_SENSITIVE
|
||||||
|
#define ZZIP_LARGEFILE_SENSITIVE 1
|
||||||
|
#endif
|
||||||
|
+#endif
|
||||||
|
+/* #undef LARGEFILE_SENSITIVE */
|
||||||
|
|
||||||
|
/* Define to the sub-directory where libtool stores uninstalled libraries. */
|
||||||
|
#ifndef ZZIP_LT_OBJDIR
|
||||||
|
@@ -227,9 +230,13 @@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Number of bits in a file offset, on hosts where this is settable. */
|
||||||
|
+#if __WORDSIZE == 32
|
||||||
|
#ifndef ZZIP__FILE_OFFSET_BITS
|
||||||
|
#define ZZIP__FILE_OFFSET_BITS 64
|
||||||
|
#endif
|
||||||
|
+#endif
|
||||||
|
+/* #undef _FILE_OFFSET_BITS */
|
||||||
|
+
|
||||||
|
|
||||||
|
/* Define for large files, on AIX-style hosts. */
|
||||||
|
/* #undef _LARGE_FILES */
|
29
SOURCES/multilib-64.patch
Normal file
29
SOURCES/multilib-64.patch
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
--- ./a/zzip/_config.h 2021-07-21 14:18:14.000000000 +0200
|
||||||
|
+++ ./b/zzip/_config.h 2021-07-21 14:46:24.037432969 +0200
|
||||||
|
@@ -138,6 +138,11 @@
|
||||||
|
|
||||||
|
/* whether the system defaults to 32bit off_t but can do 64bit when requested
|
||||||
|
*/
|
||||||
|
+#if __WORDSIZE == 32
|
||||||
|
+#ifndef ZZIP_LARGEFILE_SENSITIVE
|
||||||
|
+#define ZZIP_LARGEFILE_SENSITIVE 1
|
||||||
|
+#endif
|
||||||
|
+#endif
|
||||||
|
/* #undef LARGEFILE_SENSITIVE */
|
||||||
|
|
||||||
|
/* Define to the sub-directory where libtool stores uninstalled libraries. */
|
||||||
|
@@ -225,8 +230,14 @@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Number of bits in a file offset, on hosts where this is settable. */
|
||||||
|
+#if __WORDSIZE == 32
|
||||||
|
+#ifndef ZZIP__FILE_OFFSET_BITS
|
||||||
|
+#define ZZIP__FILE_OFFSET_BITS 64
|
||||||
|
+#endif
|
||||||
|
+#endif
|
||||||
|
/* #undef _FILE_OFFSET_BITS */
|
||||||
|
|
||||||
|
+
|
||||||
|
/* Define for large files, on AIX-style hosts. */
|
||||||
|
/* #undef _LARGE_FILES */
|
||||||
|
|
28
SOURCES/options.py
Normal file
28
SOURCES/options.py
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
#! /usr/bin/env python3
|
||||||
|
|
||||||
|
from zzipdoc.match import Match
|
||||||
|
|
||||||
|
# use as o.optionname to check for commandline options.
|
||||||
|
class Options:
|
||||||
|
var = {}
|
||||||
|
def __getattr__(self, name):
|
||||||
|
if not name in self.var: return None
|
||||||
|
return self.var[name]
|
||||||
|
def __setattr__(self, name, value):
|
||||||
|
self.var[name] = value
|
||||||
|
def scan(self, optionstring): # option-name or None
|
||||||
|
x = Match()
|
||||||
|
if optionstring & x(r"^--?(\w+)=(.*)"):
|
||||||
|
self.var[x[1]] = x[2] ; return x[1]
|
||||||
|
if optionstring & x(r"^--?no-(\w+)$"):
|
||||||
|
self.var[x[1]] = "" ; return x[1]
|
||||||
|
if optionstring & x(r"^--?(\w+)$"):
|
||||||
|
self.var[x[1]] = "*"; return x[1]
|
||||||
|
return None
|
||||||
|
#end Options
|
||||||
|
|
||||||
|
if False:
|
||||||
|
o = Options()
|
||||||
|
o.help = """
|
||||||
|
scans for options
|
||||||
|
"""
|
324
SPECS/zziplib.spec
Normal file
324
SPECS/zziplib.spec
Normal file
@ -0,0 +1,324 @@
|
|||||||
|
Summary: Lightweight library to easily extract data from zip files
|
||||||
|
Name: zziplib
|
||||||
|
Version: 0.13.71
|
||||||
|
Release: 9%{?dist}
|
||||||
|
License: LGPLv2+ or MPLv1.1
|
||||||
|
URL: http://zziplib.sourceforge.net/
|
||||||
|
#Source: https://github.com/gdraheim/zziplib/archive/v%{version}.tar.gz
|
||||||
|
|
||||||
|
#Using the pruned version of the upstream archive. The archive does not contain the Source1 and Source2 files. Their github version is used instead (the original ones had licensing issues)
|
||||||
|
#rhbz#1982241
|
||||||
|
Source0: v%{version}-pruned.tar.gz
|
||||||
|
#https://raw.githubusercontent.com/gdraheim/zziplib/465450c86c930026664329876e5350d21a7527db/docs/zzipdoc/match.py
|
||||||
|
Source1: match.py
|
||||||
|
#https://raw.githubusercontent.com/gdraheim/zziplib/465450c86c930026664329876e5350d21a7527db/docs/zzipdoc/options.py
|
||||||
|
Source2: options.py
|
||||||
|
|
||||||
|
Patch1: CVE-2020-18442.patch
|
||||||
|
Patch100: multilib-32.patch
|
||||||
|
Patch101: multilib-64.patch
|
||||||
|
|
||||||
|
BuildRequires: make
|
||||||
|
BuildRequires: gcc
|
||||||
|
BuildRequires: perl-interpreter
|
||||||
|
BuildRequires: python3
|
||||||
|
BuildRequires: python3-rpm-macros
|
||||||
|
BuildRequires: zip
|
||||||
|
BuildRequires: xmlto
|
||||||
|
BuildRequires: zlib-devel
|
||||||
|
BuildRequires: SDL-devel
|
||||||
|
BuildRequires: pkgconfig
|
||||||
|
#BuildRequires: autoconf
|
||||||
|
#BuildRequires: automake
|
||||||
|
|
||||||
|
%description
|
||||||
|
The zziplib library is intentionally lightweight, it offers the ability to
|
||||||
|
easily extract data from files archived in a single zip file. Applications
|
||||||
|
can bundle files into a single zip archive and access them. The implementation
|
||||||
|
is based only on the (free) subset of compression with the zlib algorithm
|
||||||
|
which is actually used by the zip/unzip tools.
|
||||||
|
|
||||||
|
%package utils
|
||||||
|
Summary: Utilities for the zziplib library
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description utils
|
||||||
|
The zziplib library is intentionally lightweight, it offers the ability to
|
||||||
|
easily extract data from files archived in a single zip file. Applications
|
||||||
|
can bundle files into a single zip archive and access them. The implementation
|
||||||
|
is based only on the (free) subset of compression with the zlib algorithm
|
||||||
|
which is actually used by the zip/unzip tools.
|
||||||
|
|
||||||
|
This packages contains all the utilities that come with the zziplib library.
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Development files for the zziplib library
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: pkgconfig
|
||||||
|
Requires: zlib-devel
|
||||||
|
Requires: SDL-devel
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
The zziplib library is intentionally lightweight, it offers the ability to
|
||||||
|
easily extract data from files archived in a single zip file. Applications
|
||||||
|
can bundle files into a single zip archive and access them. The implementation
|
||||||
|
is based only on the (free) subset of compression with the zlib algorithm
|
||||||
|
which is actually used by the zip/unzip tools.
|
||||||
|
|
||||||
|
This package contains files required to build applications that will use the
|
||||||
|
zziplib library.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q
|
||||||
|
cp %{SOURCE1} docs/zzipdoc/
|
||||||
|
cp %{SOURCE2} docs/zzipdoc/
|
||||||
|
|
||||||
|
%patch1 -p1
|
||||||
|
|
||||||
|
|
||||||
|
%build
|
||||||
|
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
|
||||||
|
%configure \
|
||||||
|
--disable-static \
|
||||||
|
--enable-sdl \
|
||||||
|
--enable-frame-pointer
|
||||||
|
# Remove rpath on 64bit archs
|
||||||
|
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
|
||||||
|
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
|
||||||
|
# Only patch generated _config.h on non-i686 and armv7hl
|
||||||
|
# These platforms have a correct _config.h already
|
||||||
|
|
||||||
|
pushd %{_builddir}/zziplib-%{version}
|
||||||
|
%ifarch i686 armv7hl
|
||||||
|
patch -p2 < %{PATCH100}
|
||||||
|
%endif
|
||||||
|
%ifnarch i686 armv7hl
|
||||||
|
patch -p2 < %{PATCH101}
|
||||||
|
%endif
|
||||||
|
popd
|
||||||
|
|
||||||
|
%make_build
|
||||||
|
|
||||||
|
|
||||||
|
%install
|
||||||
|
%make_install
|
||||||
|
|
||||||
|
%ldconfig_scriptlets
|
||||||
|
|
||||||
|
%files
|
||||||
|
%doc docs/COPYING* ChangeLog README TODO
|
||||||
|
%{_libdir}/*.so.*
|
||||||
|
|
||||||
|
%files utils
|
||||||
|
%{_bindir}/*
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%doc docs/README.SDL docs/*.htm
|
||||||
|
%{_includedir}/*
|
||||||
|
%exclude %{_libdir}/*.la
|
||||||
|
%{_libdir}/*.so
|
||||||
|
%{_libdir}/pkgconfig/*.pc
|
||||||
|
%{_datadir}/aclocal/*.m4
|
||||||
|
%{_mandir}/man3/*
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 0.13.71-9
|
||||||
|
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||||
|
Related: rhbz#1991688
|
||||||
|
|
||||||
|
* Tue Jul 27 2021 Jakub Martisko <jamartis@redhat.com> - 0.13.71-8
|
||||||
|
- Add gating tests
|
||||||
|
Resolves: rhbz#1986332
|
||||||
|
|
||||||
|
* Fri Jul 23 2021 Jakub Martisko <jamartis@redhat.com> - 0.13.71-7
|
||||||
|
- Remove the doc/zzipdoc/{options,match}.py scritps from the original tar
|
||||||
|
- Replace them with a current github version
|
||||||
|
- The original version of the files contains autogenerated header with incompatible license
|
||||||
|
- This build thus uses modified tar archive
|
||||||
|
Resolves: rhbz#1982241
|
||||||
|
|
||||||
|
* Thu Jul 22 2021 Jakub Martisko <jamartis@redhat.com> - 0.13.71-6
|
||||||
|
- Fix CVE-2020-18442
|
||||||
|
Resolves: CVE-2020-18442
|
||||||
|
Resolves: 1977964
|
||||||
|
|
||||||
|
* Thu Jul 22 2021 Jakub Martisko <jamartis@redhat.com> - 0.13.71-5
|
||||||
|
- Refresh the multilib patch
|
||||||
|
Resolves: rhbz#1915747
|
||||||
|
|
||||||
|
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 0.13.71-4
|
||||||
|
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||||
|
|
||||||
|
* Mon Feb 01 2021 Jakub Martisko <jamartis@redhat.com> - 0.13.71-3
|
||||||
|
- Use python3 (versioned) as buildrequires
|
||||||
|
|
||||||
|
* Thu Jan 28 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.71-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jan 21 2021 Jakub Martisko <jamartis@redhat.com> - 0.13.71-1
|
||||||
|
- Rebase to 0.13.71
|
||||||
|
- Drop the CVE patches, they are now part of the upstream package
|
||||||
|
- Build no longer requires python2
|
||||||
|
- Resolves: 1807565
|
||||||
|
|
||||||
|
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.69-9
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jul 14 2020 Tom Stellard <tstellar@redhat.com> - 0.13.69-8
|
||||||
|
- Use make macros
|
||||||
|
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
|
||||||
|
|
||||||
|
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.69-7
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.69-6
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.69-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jan 24 2019 Jakub Martisko <jamartis@redhat.com> - 0.13.69-4
|
||||||
|
- Add the missing CVE-2018-17828.part2.patch file
|
||||||
|
- Fix Formating of the previous 2 changelog entries
|
||||||
|
|
||||||
|
* Thu Jan 24 2019 Jakub Martisko <jamartis@redhat.com> - 0.13.69-3
|
||||||
|
- Related: #1626202
|
||||||
|
- Resolves: CVE-2018-16548
|
||||||
|
|
||||||
|
* Thu Jan 24 2019 Jakub Martisko <jamartis@redhat.com> - 0.13.69-2
|
||||||
|
- Related: 1635890
|
||||||
|
- Resolves: CVE-2018-17828
|
||||||
|
|
||||||
|
* Mon Jul 23 2018 Alexander Bokovoy <abokovoy@redhat.com> - 0.13.69-1
|
||||||
|
- Update to 0.13.69 release
|
||||||
|
- Fixes: #1598246 (CVE-2018-6541)
|
||||||
|
- Fixes: #1554673 (CVE-2018-7727)
|
||||||
|
- Use versioned python executables everywhere
|
||||||
|
|
||||||
|
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.68-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sun Mar 18 2018 Iryna Shcherbina <ishcherb@redhat.com> - 0.13.68-2
|
||||||
|
- Update Python 2 dependency declarations to new packaging standards
|
||||||
|
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
|
||||||
|
|
||||||
|
* Wed Feb 14 2018 Alexander Bokovoy <abokovoy@redhat.com> - 0.13.68-1
|
||||||
|
- 0.13.68
|
||||||
|
- Fixes: #1543942 (CVE-2018-6484)
|
||||||
|
|
||||||
|
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.67-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Feb 01 2018 Alexander Bokovoy <abokovoy@redhat.com> - 0.13.67-1
|
||||||
|
- Update release
|
||||||
|
- CVE-2018-6381
|
||||||
|
|
||||||
|
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.62-10
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.62-9
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.62-8
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.62-7
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.13.62-6
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.13.62-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.13.62-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.13.62-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jan 30 2013 Jindrich Novy <jnovy@redhat.com> 0.13.62-2
|
||||||
|
- rebuild with -fno-strict-aliasing
|
||||||
|
|
||||||
|
* Wed Oct 10 2012 Matthias Saou <matthias@saou.eu> 0.13.62-1
|
||||||
|
- Update to 0.13.62.
|
||||||
|
- Remove no longer needed -Wl patch.
|
||||||
|
|
||||||
|
* Sun Jul 22 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.13.60-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Mar 8 2012 Tom Callaway <spot@fedoraproject.org> - 0.13.60-1
|
||||||
|
- update to 0.13.60
|
||||||
|
|
||||||
|
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.13.59-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.13.59-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Dec 9 2010 Hans de Goede <hdegoede@redhat.com> 0.13.59-2
|
||||||
|
- Fix broken zzip/_config.h which causes apps using zziplib to fail to compile
|
||||||
|
|
||||||
|
* Sat Dec 4 2010 Matthias Saou <http://freshrpms.net/> 0.13.59-1
|
||||||
|
- Update to 0.13.59.
|
||||||
|
- Remove no longer needed 'open' patch.
|
||||||
|
- Rebase the multilib patch, still required.
|
||||||
|
- Re-enable _smp_mflags, build works again with it apparently.
|
||||||
|
|
||||||
|
* Mon Jul 27 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.13.49-8
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.13.49-7
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Dec 22 2008 Matthias Saou <http://freshrpms.net/> 0.13.49-6
|
||||||
|
- Patch _config.h to make it identical for 32bit and 64bit archs (#343521).
|
||||||
|
|
||||||
|
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org>
|
||||||
|
- Autorebuild for GCC 4.3
|
||||||
|
|
||||||
|
* Wed Aug 8 2007 Matthias Saou <http://freshrpms.net/> 0.13.49-4
|
||||||
|
- Include patch to fix fd.open calls with recent glibc.
|
||||||
|
- Disable _smp_mflags since the docs fail to build.
|
||||||
|
|
||||||
|
* Fri Aug 3 2007 Matthias Saou <http://freshrpms.net/> 0.13.49-3
|
||||||
|
- Update License field.
|
||||||
|
|
||||||
|
* Tue Jun 19 2007 Matthias Saou <http://freshrpms.net/> 0.13.49-2
|
||||||
|
- Disable static lib build instead of excluding it later.
|
||||||
|
- Remove rpath on 64bit archs.
|
||||||
|
- Switch to using DESTDIR install method.
|
||||||
|
|
||||||
|
* Mon Mar 26 2007 Matthias Saou <http://freshrpms.net/> 0.13.49-1
|
||||||
|
- Update to 0.13.49 to fix CVE-2007-1614 (rhbz #233700).
|
||||||
|
- Include new man3 pages to the devel sub-package.
|
||||||
|
|
||||||
|
* Mon Aug 28 2006 Matthias Saou <http://freshrpms.net/> 0.13.47-1
|
||||||
|
- Update to 0.13.47.
|
||||||
|
- FC6 rebuild.
|
||||||
|
|
||||||
|
* Mon Jul 24 2006 Matthias Saou <http://freshrpms.net/> 0.13.45-3
|
||||||
|
- Split off -utils sub-package (#199467). Could have been plain "zzip"?
|
||||||
|
- Have sub-packages require exact release too.
|
||||||
|
- Build require automake to make the aclocal-1.9 check happy.
|
||||||
|
- Use --enable-frame-pointer otherwise -g gets removed from the CFLAGS.
|
||||||
|
|
||||||
|
* Mon Mar 6 2006 Matthias Saou <http://freshrpms.net/> 0.13.45-2
|
||||||
|
- FC5 rebuild.
|
||||||
|
|
||||||
|
* Thu Feb 9 2006 Matthias Saou <http://freshrpms.net/> 0.13.45-1
|
||||||
|
- Update to 0.13.45.
|
||||||
|
- Exclude static library.
|
||||||
|
|
||||||
|
* Sun May 22 2005 Jeremy Katz <katzj@redhat.com> - 0.13.38-2
|
||||||
|
- rebuild on all arches
|
||||||
|
|
||||||
|
* Tue Apr 5 2005 Matthias Saou <http://freshrpms.net/> 0.13.38-1
|
||||||
|
- Update to 0.13.38, fixes gcc4 compile issues (Adrian Reber).
|
||||||
|
|
||||||
|
* Tue Nov 16 2004 Matthias Saou <http://freshrpms.net/> 0.13.36-2
|
||||||
|
- Bump release to provide Extras upgrade path.
|
||||||
|
|
||||||
|
* Tue Jun 8 2004 Matthias Saou <http://freshrpms.net/> 0.13.36-1
|
||||||
|
- Initial RPM release.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user