xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-multimedia/libtiff/tiff_4.3.0.bb (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunSUMMARY = "Provides support for the Tag Image File Format (TIFF)"
2*4882a593SmuzhiyunDESCRIPTION = "Library provides support for the Tag Image File Format \
3*4882a593Smuzhiyun(TIFF), a widely used format for storing image data.  This library \
4*4882a593Smuzhiyunprovide means to easily access and create TIFF image files."
5*4882a593SmuzhiyunHOMEPAGE = "http://www.libtiff.org/"
6*4882a593SmuzhiyunLICENSE = "BSD-2-Clause"
7*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://COPYRIGHT;md5=34da3db46fab7501992f9615d7e158cf"
8*4882a593Smuzhiyun
9*4882a593SmuzhiyunCVE_PRODUCT = "libtiff"
10*4882a593Smuzhiyun
11*4882a593SmuzhiyunSRC_URI = "http://download.osgeo.org/libtiff/tiff-${PV}.tar.gz \
12*4882a593Smuzhiyun           file://0001-tiffset-fix-global-buffer-overflow-for-ASCII-tags-wh.patch \
13*4882a593Smuzhiyun           file://561599c99f987dc32ae110370cfdd7df7975586b.patch \
14*4882a593Smuzhiyun           file://eecb0712f4c3a5b449f70c57988260a667ddbdef.patch \
15*4882a593Smuzhiyun           file://0001-tif_jbig.c-fix-crash-when-reading-a-file-with-multip.patch \
16*4882a593Smuzhiyun           file://0002-tiffcrop-fix-issue-380-and-382-heap-buffer-overflow-.patch \
17*4882a593Smuzhiyun           file://0003-add-checks-for-return-value-of-limitMalloc-392.patch \
18*4882a593Smuzhiyun           file://0004-TIFFFetchNormalTag-avoid-calling-memcpy-with-a-null-.patch \
19*4882a593Smuzhiyun           file://0005-fix-the-FPE-in-tiffcrop-393.patch \
20*4882a593Smuzhiyun           file://0006-fix-heap-buffer-overflow-in-tiffcp-278.patch \
21*4882a593Smuzhiyun           file://0001-fix-the-FPE-in-tiffcrop-415-427-and-428.patch \
22*4882a593Smuzhiyun           file://CVE-2022-1354.patch \
23*4882a593Smuzhiyun           file://CVE-2022-1355.patch \
24*4882a593Smuzhiyun           file://CVE-2022-34526.patch \
25*4882a593Smuzhiyun           file://CVE-2022-2869.patch \
26*4882a593Smuzhiyun           file://CVE-2022-2867.patch \
27*4882a593Smuzhiyun           file://b258ed69a485a9cfb299d9f060eb2a46c54e5903.patch \
28*4882a593Smuzhiyun           file://0001-tiffcrop-Fix-issue-330-and-some-more-from-320-to-349.patch \
29*4882a593Smuzhiyun           file://CVE-2022-2953.patch \
30*4882a593Smuzhiyun           file://CVE-2022-3970.patch \
31*4882a593Smuzhiyun           file://0001-Revised-handling-of-TIFFTAG_INKNAMES-and-related-TIF.patch \
32*4882a593Smuzhiyun           file://0001-tiffcrop-S-option-Make-decision-simpler.patch \
33*4882a593Smuzhiyun           file://0001-tiffcrop-disable-incompatibility-of-Z-X-Y-z-options-.patch \
34*4882a593Smuzhiyun           file://0001-tiffcrop-subroutines-require-a-larger-buffer-fixes-2.patch \
35*4882a593Smuzhiyun           file://CVE-2022-48281.patch \
36*4882a593Smuzhiyun           file://CVE-2023-0800_0801_0802_0803_0804.patch \
37*4882a593Smuzhiyun           "
38*4882a593Smuzhiyun
39*4882a593SmuzhiyunSRC_URI[sha256sum] = "0e46e5acb087ce7d1ac53cf4f56a09b221537fc86dfc5daaad1c2e89e1b37ac8"
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun# exclude betas
42*4882a593SmuzhiyunUPSTREAM_CHECK_REGEX = "tiff-(?P<pver>\d+(\.\d+)+).tar"
43*4882a593Smuzhiyun
44*4882a593Smuzhiyun# Tested with check from https://security-tracker.debian.org/tracker/CVE-2015-7313
45*4882a593Smuzhiyun# and 4.3.0 doesn't have the issue
46*4882a593SmuzhiyunCVE_CHECK_IGNORE += "CVE-2015-7313"
47*4882a593Smuzhiyun# These issues only affect libtiff post-4.3.0 but before 4.4.0,
48*4882a593Smuzhiyun# caused by 3079627e and fixed by b4e79bfa.
49*4882a593SmuzhiyunCVE_CHECK_IGNORE += "CVE-2022-1622 CVE-2022-1623"
50*4882a593Smuzhiyun# Issue is in jbig which we don't enable
51*4882a593SmuzhiyunCVE_CHECK_IGNORE += "CVE-2022-1210"
52*4882a593Smuzhiyun
53*4882a593Smuzhiyuninherit autotools multilib_header
54*4882a593Smuzhiyun
55*4882a593SmuzhiyunCACHED_CONFIGUREVARS = "ax_cv_check_gl_libgl=no"
56*4882a593Smuzhiyun
57*4882a593SmuzhiyunPACKAGECONFIG ?= "cxx jpeg zlib lzma \
58*4882a593Smuzhiyun                  strip-chopping extrasample-as-alpha check-ycbcr-subsampling"
59*4882a593Smuzhiyun
60*4882a593SmuzhiyunPACKAGECONFIG[cxx] = "--enable-cxx,--disable-cxx,,"
61*4882a593SmuzhiyunPACKAGECONFIG[jbig] = "--enable-jbig,--disable-jbig,jbig,"
62*4882a593SmuzhiyunPACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg,"
63*4882a593SmuzhiyunPACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib,"
64*4882a593SmuzhiyunPACKAGECONFIG[lzma] = "--enable-lzma,--disable-lzma,xz,"
65*4882a593SmuzhiyunPACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp,"
66*4882a593Smuzhiyun
67*4882a593Smuzhiyun# Convert single-strip uncompressed images to multiple strips of specified
68*4882a593Smuzhiyun# size (default: 8192) to reduce memory usage
69*4882a593SmuzhiyunPACKAGECONFIG[strip-chopping] = "--enable-strip-chopping,--disable-strip-chopping,,"
70*4882a593Smuzhiyun
71*4882a593Smuzhiyun# Treat a fourth sample with no EXTRASAMPLE_ value as being ASSOCALPHA
72*4882a593SmuzhiyunPACKAGECONFIG[extrasample-as-alpha] = "--enable-extrasample-as-alpha,--disable-extrasample-as-alpha,,"
73*4882a593Smuzhiyun
74*4882a593Smuzhiyun# Control picking up YCbCr subsample info. Disable to support files lacking
75*4882a593Smuzhiyun# the tag
76*4882a593SmuzhiyunPACKAGECONFIG[check-ycbcr-subsampling] = "--enable-check-ycbcr-subsampling,--disable-check-ycbcr-subsampling,,"
77*4882a593Smuzhiyun
78*4882a593Smuzhiyun# Support a mechanism allowing reading large strips (usually one strip files)
79*4882a593Smuzhiyun# in chunks when using TIFFReadScanline. Experimental 4.0+ feature
80*4882a593SmuzhiyunPACKAGECONFIG[chunky-strip-read] = "--enable-chunky-strip-read,--disable-chunky-strip-read,,"
81*4882a593Smuzhiyun
82*4882a593SmuzhiyunPACKAGES =+ "tiffxx tiff-utils"
83*4882a593SmuzhiyunFILES:tiffxx = "${libdir}/libtiffxx.so.*"
84*4882a593SmuzhiyunFILES:tiff-utils = "${bindir}/*"
85*4882a593Smuzhiyun
86*4882a593Smuzhiyundo_install:append() {
87*4882a593Smuzhiyun    oe_multilib_header tiffconf.h
88*4882a593Smuzhiyun}
89*4882a593Smuzhiyun
90*4882a593SmuzhiyunBBCLASSEXTEND = "native nativesdk"
91