1SUMMARY = "Compressor/archiver for creating and modifying .zip files"
2HOMEPAGE = "http://www.info-zip.org"
3DESCRIPTION = "Info-ZIP's purpose is to provide free, portable, high-quality versions of the Zip and UnZip compressor-archiver utilities that are compatible with the DOS-based PKZIP by PKWARE, Inc."
4SECTION = "console/utils"
5
6LICENSE = "BSD-3-Clause"
7LIC_FILES_CHKSUM = "file://LICENSE;md5=04d43c5d70b496c032308106e26ae17d"
8
9PR = "r2"
10
11S = "${WORKDIR}/zip30"
12
13SRC_URI = "${SOURCEFORGE_MIRROR}/infozip/Zip%203.x%20%28latest%29/3.0/zip30.tar.gz \
14           file://fix-security-format.patch \
15           file://10-remove-build-date.patch \
16           file://zipnote-crashes-with-segfault.patch \
17           "
18UPSTREAM_VERSION_UNKNOWN = "1"
19
20SRC_URI[md5sum] = "7b74551e63f8ee6aab6fbc86676c0d37"
21SRC_URI[sha256sum] = "f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369"
22
23# Disputed and also Debian doesn't consider a vulnerability
24CVE_CHECK_IGNORE += "CVE-2018-13410"
25
26# Not for zip but for smart contract implementation for it
27CVE_CHECK_IGNORE += "CVE-2018-13684"
28
29# zip.inc sets CFLAGS, but what Makefile actually uses is
30# CFLAGS_NOOPT.  It will also force -O3 optimization, overriding
31# whatever we set.
32EXTRA_OEMAKE = "'CC=${CC}' 'BIND=${CC}' 'AS=${CC} -c' 'CPP=${CPP}' \
33		'CFLAGS=-I. -DUNIX ${CFLAGS}' \
34		'CFLAGS_NOOPT=-I. -DUNIX ${CFLAGS}' \
35		'INSTALL=install' 'INSTALL_D=install -d' \
36		'BINFLAGS=0755'"
37
38do_compile() {
39	oe_runmake -f unix/Makefile flags IZ_BZIP2=no_such_directory
40	sed -i 's#LFLAGS1=""#LFLAGS1="${LDFLAGS}"#' flags
41	oe_runmake -f unix/Makefile generic IZ_BZIP2=no_such_directory
42}
43
44do_install() {
45	oe_runmake -f unix/Makefile prefix=${D}${prefix} \
46		   BINDIR=${D}${bindir} MANDIR=${D}${mandir}/man1 \
47		   install
48}
49
50BBCLASSEXTEND = "native"
51
52# exclude version 2.3.2 which triggers a false positive
53UPSTREAM_CHECK_REGEX = "^zip(?P<pver>(?!232).+)\.tgz"
54