media-libs/openjpeg: security cleanup

Bug: https://bugs.gentoo.org/718918
Package-Manager: Portage-3.0.14, Repoman-3.0.2
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sam James
2021-02-11 08:15:38 +00:00
parent 7ba3ba4540
commit e31a773aa5
6 changed files with 0 additions and 915 deletions

View File

@@ -1,4 +1,2 @@
DIST openjpeg-2.3.1.tar.gz 2214401 BLAKE2B ecc7e573592a5302dcdbade791f6aa6e48f6791c7412fdd44976f3619c8fc0cca7d904fa42013f33ab17dd0f569a76d3c49a73eccaf0a749d34f305362367af9 SHA512 339fbc899bddf2393d214df71ed5d6070a3a76b933b1e75576c8a0ae9dfcc4adec40bdc544f599e4b8d0bc173e4e9e7352408497b5b3c9356985605830c26c03
DIST openjpeg-2.4.0.tar.gz 2233229 BLAKE2B ab8907638ac041ce7dcbcbcd9624ea5e4b7542c9ec38a850e363c071c27c4bc8b16e207700b12e67d8d32bdd9b0838735bede27084090ce95105d32c539b09cf SHA512 55daab47d33823af94e32e5d345b52c251a5410f0c8e0a13b693f17899eedc8b2bb107489ddcba9ab78ef17dfd7cd80d3c5ec80c1e429189cb041124b67e07a8
DIST openjpeg-data_20180620.tar.gz 497894373 BLAKE2B 3a596f8f9ee56037bf567b6f2d3731b97299dba24e0c9d3562d38c15ddf58d352a918edaccb528f054cf288f87d6362d90d3450d4a5b968e9c8dfe05f54d89fe SHA512 32189a10c4d8cf00c23cda455f9e4353deb2175189d85f9b3aab1c4375a02a491ec2de89815725ebbcaea86c2c7ab274b89ee2583ffd8bf0dc32d4fc2d8f7507
DIST openjpeg-data_20201130.tar.gz 497969983 BLAKE2B 35ff1ee234e3bbf47a822151c97cdf2764f864094973fa60adc7962f8065b38318b0cc41338b5ba3fffd9bb00eac3eaf4153ecc398abd49a8047168414c1c85b SHA512 4c367c8262fe894f90a1e63fb59d87e974ae0d750d3cee89adfe4d765040f0a2049b491a17a34a5b3ba79e183a508c9d592376fe3c112df56c311bf3212f0c31

View File

@@ -1,29 +0,0 @@
From 024b8407392cb0b82b04b58ed256094ed5799e04 Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com>
Date: Sat, 11 Jan 2020 01:51:19 +0100
Subject: [PATCH] opj_j2k_update_image_dimensions(): reject images whose
coordinates are beyond INT_MAX (fixes #1228)
---
src/lib/openjp2/j2k.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/lib/openjp2/j2k.c b/src/lib/openjp2/j2k.c
index 14f6ff41a..922550eb1 100644
--- a/src/lib/openjp2/j2k.c
+++ b/src/lib/openjp2/j2k.c
@@ -9221,6 +9221,14 @@ static OPJ_BOOL opj_j2k_update_image_dimensions(opj_image_t* p_image,
l_img_comp = p_image->comps;
for (it_comp = 0; it_comp < p_image->numcomps; ++it_comp) {
OPJ_INT32 l_h, l_w;
+ if (p_image->x0 > (OPJ_UINT32)INT_MAX ||
+ p_image->y0 > (OPJ_UINT32)INT_MAX ||
+ p_image->x1 > (OPJ_UINT32)INT_MAX ||
+ p_image->y1 > (OPJ_UINT32)INT_MAX) {
+ opj_event_msg(p_manager, EVT_ERROR,
+ "Image coordinates above INT_MAX are not supported\n");
+ return OPJ_FALSE;
+ }
l_img_comp->x0 = (OPJ_UINT32)opj_int_ceildiv((OPJ_INT32)p_image->x0,
(OPJ_INT32)l_img_comp->dx);

View File

@@ -1,43 +0,0 @@
From 05f9b91e60debda0e83977e5e63b2e66486f7074 Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com>
Date: Thu, 30 Jan 2020 00:59:57 +0100
Subject: [PATCH] opj_tcd_init_tile(): avoid integer overflow
That could lead to later assertion failures.
Fixes #1231 / CVE-2020-8112
---
src/lib/openjp2/tcd.c | 20 ++++++++++++++++++--
1 file changed, 18 insertions(+), 2 deletions(-)
diff --git a/src/lib/openjp2/tcd.c b/src/lib/openjp2/tcd.c
index deecc4dff..aa419030a 100644
--- a/src/lib/openjp2/tcd.c
+++ b/src/lib/openjp2/tcd.c
@@ -905,8 +905,24 @@ static INLINE OPJ_BOOL opj_tcd_init_tile(opj_tcd_t *p_tcd, OPJ_UINT32 p_tile_no,
/* p. 64, B.6, ISO/IEC FDIS15444-1 : 2000 (18 august 2000) */
l_tl_prc_x_start = opj_int_floordivpow2(l_res->x0, (OPJ_INT32)l_pdx) << l_pdx;
l_tl_prc_y_start = opj_int_floordivpow2(l_res->y0, (OPJ_INT32)l_pdy) << l_pdy;
- l_br_prc_x_end = opj_int_ceildivpow2(l_res->x1, (OPJ_INT32)l_pdx) << l_pdx;
- l_br_prc_y_end = opj_int_ceildivpow2(l_res->y1, (OPJ_INT32)l_pdy) << l_pdy;
+ {
+ OPJ_UINT32 tmp = ((OPJ_UINT32)opj_int_ceildivpow2(l_res->x1,
+ (OPJ_INT32)l_pdx)) << l_pdx;
+ if (tmp > (OPJ_UINT32)INT_MAX) {
+ opj_event_msg(manager, EVT_ERROR, "Integer overflow\n");
+ return OPJ_FALSE;
+ }
+ l_br_prc_x_end = (OPJ_INT32)tmp;
+ }
+ {
+ OPJ_UINT32 tmp = ((OPJ_UINT32)opj_int_ceildivpow2(l_res->y1,
+ (OPJ_INT32)l_pdy)) << l_pdy;
+ if (tmp > (OPJ_UINT32)INT_MAX) {
+ opj_event_msg(manager, EVT_ERROR, "Integer overflow\n");
+ return OPJ_FALSE;
+ }
+ l_br_prc_y_end = (OPJ_INT32)tmp;
+ }
/*fprintf(stderr, "\t\t\tprc_x_start=%d, prc_y_start=%d, br_prc_x_end=%d, br_prc_y_end=%d \n", l_tl_prc_x_start, l_tl_prc_y_start, l_br_prc_x_end ,l_br_prc_y_end );*/
l_res->pw = (l_res->x0 == l_res->x1) ? 0U : (OPJ_UINT32)((

View File

@@ -1,495 +0,0 @@
From fecc8e9e23f78de94c41bc641b3e5b9e9a84560b Mon Sep 17 00:00:00 2001
From: Andreas Sturmlechner <asturm@gentoo.org>
Date: Thu, 11 Apr 2019 13:10:57 +0200
Subject: [PATCH] Use GNUInstallDirs for standard installation directories
Raises minimum cmake version by a little.
---
CMakeLists.txt | 61 +++++-------------------
cmake/OpenJPEGConfig.cmake.in | 2 +-
doc/CMakeLists.txt | 2 +-
src/bin/jp2/CMakeLists.txt | 4 +-
src/bin/jp3d/CMakeLists.txt | 2 +-
src/bin/jpip/CMakeLists.txt | 10 ++--
src/bin/jpwl/CMakeLists.txt | 2 +-
src/bin/mj2/CMakeLists.txt | 2 +-
src/lib/openjp2/CMakeLists.txt | 12 ++---
src/lib/openjp2/libopenjp2.pc.cmake.in | 10 ++--
src/lib/openjp3d/CMakeLists.txt | 4 +-
src/lib/openjp3d/libopenjp3d.pc.cmake.in | 10 ++--
src/lib/openjpip/CMakeLists.txt | 8 ++--
src/lib/openjpip/libopenjpip.pc.cmake.in | 10 ++--
src/lib/openjpwl/CMakeLists.txt | 6 +--
src/lib/openjpwl/libopenjpwl.pc.cmake.in | 10 ++--
src/lib/openmj2/CMakeLists.txt | 4 +-
wrapping/java/openjp2/CMakeLists.txt | 2 +-
18 files changed, 61 insertions(+), 100 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3ea2424a..1f70226a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -7,7 +7,7 @@
# For this purpose you can define a CMake var: OPENJPEG_NAMESPACE to whatever you like
# e.g.:
# set(OPENJPEG_NAMESPACE "GDCMOPENJPEG")
-cmake_minimum_required(VERSION 2.8.2)
+cmake_minimum_required(VERSION 2.8.5)
if(COMMAND CMAKE_POLICY)
cmake_policy(SET CMP0003 NEW)
@@ -103,59 +103,28 @@ endif()
# --------------------------------------------------------------------------
# Install directories
+include(GNUInstallDirs)
+
# Build DOCUMENTATION (not in ALL target and only if Doxygen is found)
option(BUILD_DOC "Build the HTML documentation (with doxygen if available)." OFF)
string(TOLOWER ${PROJECT_NAME} projectname)
set(OPENJPEG_INSTALL_SUBDIR "${projectname}-${OPENJPEG_VERSION_MAJOR}.${OPENJPEG_VERSION_MINOR}")
-if(NOT OPENJPEG_INSTALL_BIN_DIR)
- set(OPENJPEG_INSTALL_BIN_DIR "bin")
-endif()
-
-if(NOT OPENJPEG_INSTALL_LIB_DIR)
- set(OPENJPEG_INSTALL_LIB_DIR "lib")
-endif()
-
-if(NOT OPENJPEG_INSTALL_SHARE_DIR)
- set(OPENJPEG_INSTALL_SHARE_DIR "share")
-endif()
-
-if(NOT OPENJPEG_INSTALL_DATA_DIR)
- set(OPENJPEG_INSTALL_DATA_DIR "${OPENJPEG_INSTALL_SHARE_DIR}/${OPENJPEG_INSTALL_SUBDIR}")
-endif()
-
-if(NOT OPENJPEG_INSTALL_INCLUDE_DIR)
- set(OPENJPEG_INSTALL_INCLUDE_DIR "include/${OPENJPEG_INSTALL_SUBDIR}")
-endif()
-
-if(BUILD_DOC)
-if(NOT OPENJPEG_INSTALL_MAN_DIR)
- set(OPENJPEG_INSTALL_MAN_DIR "share/man/")
-endif()
-
-if(NOT OPENJPEG_INSTALL_DOC_DIR)
- set(OPENJPEG_INSTALL_DOC_DIR "share/doc/${OPENJPEG_INSTALL_SUBDIR}")
-endif()
-endif()
-
if(NOT OPENJPEG_INSTALL_JNI_DIR)
if(WIN32)
- set(OPENJPEG_INSTALL_JNI_DIR ${OPENJPEG_INSTALL_BIN_DIR})
+ set(OPENJPEG_INSTALL_JNI_DIR ${CMAKE_INSTALL_BINDIR})
else()
- set(OPENJPEG_INSTALL_JNI_DIR ${OPENJPEG_INSTALL_LIB_DIR})
+ set(OPENJPEG_INSTALL_JNI_DIR ${CMAKE_INSTALL_LIBDIR})
endif()
endif()
if(NOT OPENJPEG_INSTALL_PACKAGE_DIR)
- # We could install *.cmake files in share/ however those files contains
- # hardcoded path to libraries on a multi-arch system (fedora/debian) those
- # path will be different (lib/i386-linux-gnu vs lib/x86_64-linux-gnu)
- set(OPENJPEG_INSTALL_PACKAGE_DIR "${OPENJPEG_INSTALL_LIB_DIR}/${OPENJPEG_INSTALL_SUBDIR}")
+ set(OPENJPEG_INSTALL_PACKAGE_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/${OPENJPEG_INSTALL_SUBDIR}")
endif()
if (APPLE)
- list(APPEND OPENJPEG_LIBRARY_PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/${OPENJPEG_INSTALL_LIB_DIR}")
+ list(APPEND OPENJPEG_LIBRARY_PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_FULL_LIBDIR}")
option(OPJ_USE_DSYMUTIL "Call dsymutil on binaries after build." OFF)
endif()
@@ -339,14 +308,6 @@ install( FILES ${OPENJPEG_BINARY_DIR}/OpenJPEGConfig.cmake
)
#-----------------------------------------------------------------------------
-# install CHANGES and LICENSE
-if(BUILD_DOC)
-if(EXISTS ${OPENJPEG_SOURCE_DIR}/CHANGES)
- install(FILES CHANGES DESTINATION ${OPENJPEG_INSTALL_DOC_DIR})
-endif()
-
-install(FILES LICENSE DESTINATION ${OPENJPEG_INSTALL_DOC_DIR})
-endif()
include (cmake/OpenJPEGCPack.cmake)
@@ -363,14 +324,14 @@ if(BUILD_PKGCONFIG_FILES)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/lib/openjp2/libopenjp2.pc.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/libopenjp2.pc @ONLY)
install( FILES ${CMAKE_CURRENT_BINARY_DIR}/libopenjp2.pc DESTINATION
- ${OPENJPEG_INSTALL_LIB_DIR}/pkgconfig )
+ ${CMAKE_INSTALL_LIBDIR}/pkgconfig )
#
if(BUILD_JPWL)
# install in lib and not share (see multi-arch note above)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/lib/openjpwl/libopenjpwl.pc.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/libopenjpwl.pc @ONLY)
install( FILES ${CMAKE_CURRENT_BINARY_DIR}/libopenjpwl.pc DESTINATION
- ${OPENJPEG_INSTALL_LIB_DIR}/pkgconfig )
+ ${CMAKE_INSTALL_LIBDIR}/pkgconfig )
endif()
#
if(BUILD_JPIP)
@@ -378,7 +339,7 @@ if(BUILD_PKGCONFIG_FILES)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/lib/openjpip/libopenjpip.pc.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/libopenjpip.pc @ONLY)
install( FILES ${CMAKE_CURRENT_BINARY_DIR}/libopenjpip.pc DESTINATION
- ${OPENJPEG_INSTALL_LIB_DIR}/pkgconfig )
+ ${CMAKE_INSTALL_LIBDIR}/pkgconfig )
endif()
#
if(BUILD_JP3D)
@@ -386,7 +347,7 @@ if(BUILD_PKGCONFIG_FILES)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/lib/openjp3d/libopenjp3d.pc.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/libopenjp3d.pc @ONLY)
install( FILES ${CMAKE_CURRENT_BINARY_DIR}/libopenjp3d.pc DESTINATION
- ${OPENJPEG_INSTALL_LIB_DIR}/pkgconfig )
+ ${CMAKE_INSTALL_LIBDIR}/pkgconfig )
endif()
endif()
diff --git a/cmake/OpenJPEGConfig.cmake.in b/cmake/OpenJPEGConfig.cmake.in
index 2925108a..702e2790 100644
--- a/cmake/OpenJPEGConfig.cmake.in
+++ b/cmake/OpenJPEGConfig.cmake.in
@@ -29,7 +29,7 @@ if(EXISTS ${SELF_DIR}/OpenJPEGTargets.cmake)
# We find a relative path from the PKG directory to header files.
set(PKG_DIR "@CMAKE_INSTALL_PREFIX@/@OPENJPEG_INSTALL_PACKAGE_DIR@")
- set(INC_DIR "@CMAKE_INSTALL_PREFIX@/@OPENJPEG_INSTALL_INCLUDE_DIR@")
+ set(INC_DIR "@CMAKE_INSTALL_FULL_INCLUDEDIR@/@OPENJPEG_INSTALL_SUBDIR@")
file(RELATIVE_PATH PKG_TO_INC_RPATH "${PKG_DIR}" "${INC_DIR}")
get_filename_component(OPENJPEG_INCLUDE_DIRS "${SELF_DIR}/${PKG_TO_INC_RPATH}" ABSOLUTE)
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
index d4f3ddbe..ed5cb44c 100644
--- a/doc/CMakeLists.txt
+++ b/doc/CMakeLists.txt
@@ -44,7 +44,7 @@ if(DOXYGEN_FOUND)
# install HTML documentation (install png files too):
install(DIRECTORY ${CMAKE_BINARY_DIR}/doc/html
- DESTINATION share/doc
+ DESTINATION ${CMAKE_INSTALL_DOCDIR}
PATTERN ".svn" EXCLUDE
)
else()
diff --git a/src/bin/jp2/CMakeLists.txt b/src/bin/jp2/CMakeLists.txt
index 4d4bd952..29b4dd20 100644
--- a/src/bin/jp2/CMakeLists.txt
+++ b/src/bin/jp2/CMakeLists.txt
@@ -67,7 +67,7 @@ foreach(exe opj_decompress opj_compress opj_dump)
# Install exe
install(TARGETS ${exe}
EXPORT OpenJPEGTargets
- DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Applications
+ DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Applications
)
if(OPJ_USE_DSYMUTIL)
add_custom_command(TARGET ${exe} POST_BUILD
@@ -83,6 +83,6 @@ install(
FILES ${OPENJPEG_SOURCE_DIR}/doc/man/man1/opj_compress.1
${OPENJPEG_SOURCE_DIR}/doc/man/man1/opj_decompress.1
${OPENJPEG_SOURCE_DIR}/doc/man/man1/opj_dump.1
- DESTINATION ${OPENJPEG_INSTALL_MAN_DIR}/man1)
+ DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
#
endif()
diff --git a/src/bin/jp3d/CMakeLists.txt b/src/bin/jp3d/CMakeLists.txt
index 3cac1a8f..ed62b4f3 100644
--- a/src/bin/jp3d/CMakeLists.txt
+++ b/src/bin/jp3d/CMakeLists.txt
@@ -36,6 +36,6 @@ foreach(exe opj_jp3d_compress opj_jp3d_decompress)
# Install exe
install(TARGETS ${exe}
EXPORT OpenJP3DTargets
- DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Applications
+ DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Applications
)
endforeach()
diff --git a/src/bin/jpip/CMakeLists.txt b/src/bin/jpip/CMakeLists.txt
index 301d885b..ddd867dc 100644
--- a/src/bin/jpip/CMakeLists.txt
+++ b/src/bin/jpip/CMakeLists.txt
@@ -13,7 +13,7 @@ add_executable(opj_jpip_addxml opj_jpip_addxml.c)
# Install exe
install(TARGETS opj_jpip_addxml
EXPORT OpenJPEGTargets
- DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Applications
+ DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Applications
)
if(BUILD_JPIP_SERVER)
@@ -38,7 +38,7 @@ if(BUILD_JPIP_SERVER)
# Install exe
install(TARGETS opj_server
EXPORT OpenJPEGTargets
- DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Applications
+ DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Applications
)
endif()
@@ -52,7 +52,7 @@ add_executable(${exe} ${exe}.c)
target_link_libraries(${exe} openjpip)
install(TARGETS ${exe}
EXPORT OpenJPEGTargets
- DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Applications
+ DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Applications
)
endforeach()
@@ -123,7 +123,7 @@ if(Java_Development_FOUND AND Java_JAVAC_EXECUTABLE)
)
install(FILES ${LIBRARY_OUTPUT_PATH}/opj_jpip_viewer.jar
- DESTINATION ${OPENJPEG_INSTALL_SHARE_DIR} COMPONENT JavaModule
+ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR} COMPONENT JavaModule
)
else()
# opj_viewer (simple, no xerces)
@@ -153,7 +153,7 @@ if(Java_Development_FOUND AND Java_JAVAC_EXECUTABLE)
)
install(FILES ${LIBRARY_OUTPUT_PATH}/opj_jpip_viewer.jar
- DESTINATION ${OPENJPEG_INSTALL_SHARE_DIR} COMPONENT JavaModule
+ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR} COMPONENT JavaModule
)
endif()
else()
diff --git a/src/bin/jpwl/CMakeLists.txt b/src/bin/jpwl/CMakeLists.txt
index 5df225de..8a798e61 100644
--- a/src/bin/jpwl/CMakeLists.txt
+++ b/src/bin/jpwl/CMakeLists.txt
@@ -57,6 +57,6 @@ foreach(exe decompress compress)
endif()
install(TARGETS ${jpwl_exe}
- DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Applications
+ DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Applications
)
endforeach()
diff --git a/src/bin/mj2/CMakeLists.txt b/src/bin/mj2/CMakeLists.txt
index 5d3e288b..6669c502 100644
--- a/src/bin/mj2/CMakeLists.txt
+++ b/src/bin/mj2/CMakeLists.txt
@@ -43,5 +43,5 @@ foreach(exe
endif()
install(TARGETS ${exe}
- DESTINATION ${OPENJPEG_INSTALL_BIN_DIR})
+ DESTINATION ${CMAKE_INSTALL_BINDIR})
endforeach()
diff --git a/src/lib/openjp2/CMakeLists.txt b/src/lib/openjp2/CMakeLists.txt
index b2714858..9cbc4c3f 100644
--- a/src/lib/openjp2/CMakeLists.txt
+++ b/src/lib/openjp2/CMakeLists.txt
@@ -2,7 +2,7 @@ include_regular_expression("^.*$")
#
install( FILES ${CMAKE_CURRENT_BINARY_DIR}/opj_config.h
- DESTINATION ${OPENJPEG_INSTALL_INCLUDE_DIR} COMPONENT Headers)
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${OPENJPEG_INSTALL_SUBDIR} COMPONENT Headers)
include_directories(
${${OPENJPEG_NAMESPACE}_BINARY_DIR}/src/lib/openjp2 # opj_config.h and opj_config_private.h
@@ -114,21 +114,21 @@ endif()
# Install library
install(TARGETS ${INSTALL_LIBS}
EXPORT OpenJPEGTargets
- RUNTIME DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Applications
- LIBRARY DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} COMPONENT Libraries
- ARCHIVE DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} COMPONENT Libraries
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Applications
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Libraries
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Libraries
)
# Install includes files
install(FILES openjpeg.h opj_stdint.h
- DESTINATION ${OPENJPEG_INSTALL_INCLUDE_DIR} COMPONENT Headers
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${OPENJPEG_INSTALL_SUBDIR} COMPONENT Headers
)
if(BUILD_DOC)
# install man page of the library
install(
FILES ${OPENJPEG_SOURCE_DIR}/doc/man/man3/libopenjp2.3
- DESTINATION ${OPENJPEG_INSTALL_MAN_DIR}/man3)
+ DESTINATION ${CMAKE_INSTALL_MANDIR}/man3)
endif()
if(BUILD_LUTS_GENERATOR)
diff --git a/src/lib/openjp2/libopenjp2.pc.cmake.in b/src/lib/openjp2/libopenjp2.pc.cmake.in
index 62159b00..ebad9578 100644
--- a/src/lib/openjp2/libopenjp2.pc.cmake.in
+++ b/src/lib/openjp2/libopenjp2.pc.cmake.in
@@ -1,9 +1,9 @@
prefix=@CMAKE_INSTALL_PREFIX@
-bindir=${prefix}/@OPENJPEG_INSTALL_BIN_DIR@
-mandir=${prefix}/@OPENJPEG_INSTALL_MAN_DIR@
-docdir=${prefix}/@OPENJPEG_INSTALL_DOC_DIR@
-libdir=${prefix}/@OPENJPEG_INSTALL_LIB_DIR@
-includedir=${prefix}/@OPENJPEG_INSTALL_INCLUDE_DIR@
+bindir=${prefix}/@CMAKE_INSTALL_BINDIR@
+mandir=${prefix}/@CMAKE_INSTALL_MANDIR@
+docdir=${prefix}/@CMAKE_INSTALL_DOCDIR@
+libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
+includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/@OPENJPEG_INSTALL_SUBDIR@
Name: openjp2
Description: JPEG2000 library (Part 1 and 2)
diff --git a/src/lib/openjp3d/CMakeLists.txt b/src/lib/openjp3d/CMakeLists.txt
index b0469af1..6e251984 100644
--- a/src/lib/openjp3d/CMakeLists.txt
+++ b/src/lib/openjp3d/CMakeLists.txt
@@ -34,12 +34,12 @@ endif()
# Install library
install(TARGETS ${OPENJP3D_LIBRARY_NAME}
EXPORT OpenJP3DTargets
- DESTINATION ${OPENJPEG_INSTALL_LIB_DIR}
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}
COMPONENT Libraries
)
# Install includes files
install(FILES openjp3d.h
- DESTINATION ${OPENJPEG_INSTALL_INCLUDE_DIR}
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${OPENJPEG_INSTALL_SUBDIR}
COMPONENT Headers
)
diff --git a/src/lib/openjp3d/libopenjp3d.pc.cmake.in b/src/lib/openjp3d/libopenjp3d.pc.cmake.in
index e9b6c404..866a0174 100644
--- a/src/lib/openjp3d/libopenjp3d.pc.cmake.in
+++ b/src/lib/openjp3d/libopenjp3d.pc.cmake.in
@@ -1,9 +1,9 @@
prefix=@CMAKE_INSTALL_PREFIX@
-bindir=${prefix}/@OPENJPEG_INSTALL_BIN_DIR@
-mandir=${prefix}/@OPENJPEG_INSTALL_MAN_DIR@
-docdir=${prefix}/@OPENJPEG_INSTALL_DOC_DIR@
-libdir=${prefix}/@OPENJPEG_INSTALL_LIB_DIR@
-includedir=${prefix}/@OPENJPEG_INSTALL_INCLUDE_DIR@
+bindir=${prefix}/@CMAKE_INSTALL_BINDIR@
+mandir=${prefix}/@CMAKE_INSTALL_MANDIR@
+docdir=${prefix}/@CMAKE_INSTALL_DOCDIR@
+libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
+includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/@OPENJPEG_INSTALL_SUBDIR@
Name: openjp3d
Description: JPEG2000 Extensions for three-dimensional data (Part 10)
diff --git a/src/lib/openjpip/CMakeLists.txt b/src/lib/openjpip/CMakeLists.txt
index b3cb8ce8..aace36d4 100644
--- a/src/lib/openjpip/CMakeLists.txt
+++ b/src/lib/openjpip/CMakeLists.txt
@@ -74,9 +74,9 @@ endif()
# Install library
install(TARGETS openjpip
EXPORT OpenJPEGTargets
- RUNTIME DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Applications
- LIBRARY DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} COMPONENT Libraries
- ARCHIVE DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} COMPONENT Libraries
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Applications
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Libraries
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Libraries
)
if(BUILD_JPIP_SERVER)
@@ -86,6 +86,6 @@ if(BUILD_JPIP_SERVER)
PROPERTIES COMPILE_FLAGS "-DSERVER")
install(TARGETS openjpip_server
EXPORT OpenJPEGTargets
- DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} COMPONENT Libraries
+ DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Libraries
)
endif()
diff --git a/src/lib/openjpip/libopenjpip.pc.cmake.in b/src/lib/openjpip/libopenjpip.pc.cmake.in
index 7c3f29af..4cfa6fce 100644
--- a/src/lib/openjpip/libopenjpip.pc.cmake.in
+++ b/src/lib/openjpip/libopenjpip.pc.cmake.in
@@ -1,9 +1,9 @@
prefix=@CMAKE_INSTALL_PREFIX@
-bindir=${prefix}/@OPENJPEG_INSTALL_BIN_DIR@
-mandir=${prefix}/@OPENJPEG_INSTALL_MAN_DIR@
-docdir=${prefix}/@OPENJPEG_INSTALL_DOC_DIR@
-libdir=${prefix}/@OPENJPEG_INSTALL_LIB_DIR@
-includedir=${prefix}/@OPENJPEG_INSTALL_INCLUDE_DIR@
+bindir=${prefix}/@CMAKE_INSTALL_BINDIR@
+mandir=${prefix}/@CMAKE_INSTALL_MANDIR@
+docdir=${prefix}/@CMAKE_INSTALL_DOCDIR@
+libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
+includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/@OPENJPEG_INSTALL_SUBDIR@
Name: openjpip
Description: JPEG2000 Interactivity tools, APIs and protocols (Part 9)
diff --git a/src/lib/openjpwl/CMakeLists.txt b/src/lib/openjpwl/CMakeLists.txt
index 1b33adbe..bb90c87c 100644
--- a/src/lib/openjpwl/CMakeLists.txt
+++ b/src/lib/openjpwl/CMakeLists.txt
@@ -58,7 +58,7 @@ endif()
# Install library
install(TARGETS openjpwl
EXPORT OpenJPEGTargets
- RUNTIME DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Applications
- LIBRARY DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} COMPONENT Libraries
- ARCHIVE DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} COMPONENT Libraries
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Applications
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Libraries
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Libraries
)
diff --git a/src/lib/openjpwl/libopenjpwl.pc.cmake.in b/src/lib/openjpwl/libopenjpwl.pc.cmake.in
index b1244197..8acc1457 100644
--- a/src/lib/openjpwl/libopenjpwl.pc.cmake.in
+++ b/src/lib/openjpwl/libopenjpwl.pc.cmake.in
@@ -1,9 +1,9 @@
prefix=@CMAKE_INSTALL_PREFIX@
-bindir=${prefix}/@OPENJPEG_INSTALL_BIN_DIR@
-mandir=${prefix}/@OPENJPEG_INSTALL_MAN_DIR@
-docdir=${prefix}/@OPENJPEG_INSTALL_DOC_DIR@
-libdir=${prefix}/@OPENJPEG_INSTALL_LIB_DIR@
-includedir=${prefix}/@OPENJPEG_INSTALL_INCLUDE_DIR@
+bindir=${prefix}/@CMAKE_INSTALL_BINDIR@
+mandir=${prefix}/@CMAKE_INSTALL_MANDIR@
+docdir=${prefix}/@CMAKE_INSTALL_DOCDIR@
+libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
+includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/@OPENJPEG_INSTALL_SUBDIR@
Name: openjpwl
Description: JPEG2000 Wireless library (Part 11)
diff --git a/src/lib/openmj2/CMakeLists.txt b/src/lib/openmj2/CMakeLists.txt
index 25294b20..dced53f6 100644
--- a/src/lib/openmj2/CMakeLists.txt
+++ b/src/lib/openmj2/CMakeLists.txt
@@ -53,12 +53,12 @@ endif()
# Install library
install(TARGETS ${OPENMJ2_LIBRARY_NAME}
EXPORT OpenMJ2Targets
- DESTINATION ${OPENJPEG_INSTALL_LIB_DIR}
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}
COMPONENT Libraries
)
# Install includes files
#install(FILES mj2.h
-# DESTINATION ${OPENJPEG_INSTALL_INCLUDE_DIR}/${subdir}
+# DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${OPENJPEG_INSTALL_SUBDIR}
# COMPONENT Headers
#)
diff --git a/wrapping/java/openjp2/CMakeLists.txt b/wrapping/java/openjp2/CMakeLists.txt
index eb3da0ed..4504da5f 100644
--- a/wrapping/java/openjp2/CMakeLists.txt
+++ b/wrapping/java/openjp2/CMakeLists.txt
@@ -69,5 +69,5 @@ add_custom_target(OpenJPEGJavaJar ALL
)
install(FILES ${LIBRARY_OUTPUT_PATH}/openjpeg.jar
- DESTINATION ${OPENJPEG_INSTALL_SHARE_DIR} COMPONENT JavaModule
+ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR} COMPONENT JavaModule
)
--
2.21.0

View File

@@ -1,210 +0,0 @@
From b5cb419faff300fdbc0b4e98dab5c9010db6f39d Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com>
Date: Fri, 7 Feb 2020 21:53:10 +0100
Subject: [PATCH] tests: add alternate checksums for libtiff 4.1
Fixes #1233
libtiff 4.1 slightly modifies the way it generates files. So
add the new expected md5sum.
Not super elegant solution admitedly.
---
tests/nonregression/checkmd5refs.cmake | 5 ++
tests/nonregression/md5refs.txt | 86 +++++++++++++++++++++++--
tests/nonregression/test_suite.ctest.in | 16 ++---
3 files changed, 93 insertions(+), 14 deletions(-)
diff --git a/tests/nonregression/checkmd5refs.cmake b/tests/nonregression/checkmd5refs.cmake
index 75afbed05..76e2f245f 100644
--- a/tests/nonregression/checkmd5refs.cmake
+++ b/tests/nonregression/checkmd5refs.cmake
@@ -46,10 +46,15 @@ foreach(pgxfullpath ${globfiles})
string(REGEX MATCH "[0-9a-f]+ ${pgxfile}" output_var "${variable}")
+ # Search for variant md5sum for libtiff >= 4.1
+ string(REGEX MATCH "libtiff_4_1:[0-9a-f]+ ${pgxfile}" alternate_output_var "${variable}")
+
set(output "${output} ${pgxfile}")
if("${output_var}" STREQUAL "${output}")
message(STATUS "equal: [${output_var}] vs [${output}]")
+ elseif("${alternate_output_var}" STREQUAL "libtiff_4_1:${output}")
+ message(STATUS "equal: [${alternate_output_var}] vs [libtiff_4_1:${output}]")
else()
message(SEND_ERROR "not equal: [${output_var}] vs [${output}]")
endif()
diff --git a/tests/nonregression/md5refs.txt b/tests/nonregression/md5refs.txt
index a33e82a12..95d3d74cb 100644
--- a/tests/nonregression/md5refs.txt
+++ b/tests/nonregression/md5refs.txt
@@ -180,6 +180,7 @@ dacaf60e4c430916a8c2a9ebec32e71c issue458.jp2_3.pgx
d33fb5dbddb9b9b4438eb51fa27445a3 issue495.jp2_0.pgx
27db8c35e12a5d5eb94d403d2aae2909 issue495.jp2_1.pgx
97da625d2f2d0b75bf891d8083ce8bfb issue495.jp2_2.pgx
+
86729c5f2b74b2dfd42cb0d8e47aef79 a1_mono_tif-1.tif
fa9b7b896536b25a7a1d8eeeacb59141 a1_mono_tif-10.tif
e1f194f69d1c58ce8bed62cd4f1d5b6a a1_mono_tif-11.tif
@@ -196,6 +197,24 @@ de53251a33356e206a793fbdbaf90db2 a1_mono_tif-13.tif
e164a6c0219737ee05a3d55d6e3a3104 a1_mono_tif-7.tif
c3ebfcf478b1c4fc786748813f2b5d53 a1_mono_tif-8.tif
67adb084f1fe234f240a1d0b2698507e a1_mono_tif-9.tif
+
+libtiff_4_1:fc19057ff2d65c24daf9c9e25e34a48a a1_mono_tif-1.tif
+libtiff_4_1:66246b6bbc83c06962f034235acb9924 a1_mono_tif-10.tif
+libtiff_4_1:ce1e07bdafe83a84a5df87fce2ffde6a a1_mono_tif-11.tif
+libtiff_4_1:614f1ab59ca8473f5f8b1772b7a19d24 a1_mono_tif-12.tif
+libtiff_4_1:941bdcdf9103a22f7b6f66aaca3276d1 a1_mono_tif-13.tif
+libtiff_4_1:38df45296861df2b44879e8a0787d43c a1_mono_tif-14.tif
+libtiff_4_1:387575ff38bed3d177776891e1b2804e a1_mono_tif-15.tif
+libtiff_4_1:ee4838fbd88ddcb73ef26df523a3bb5d a1_mono_tif-16.tif
+libtiff_4_1:6de7e8cbd95e2c465b587f2273daf9dc a1_mono_tif-2.tif
+libtiff_4_1:e1e026d7ed26e8f3334cf25a8884abbd a1_mono_tif-3.tif
+libtiff_4_1:c120fac03d1b3756a2deb9b92ba519d4 a1_mono_tif-4.tif
+libtiff_4_1:3a7b84ed9061e0b13996660fc2910e8a a1_mono_tif-5.tif
+libtiff_4_1:7ac8316261d54f22e6c847fbac01542b a1_mono_tif-6.tif
+libtiff_4_1:d714670f6746931c4e7defbfbe38b249 a1_mono_tif-7.tif
+libtiff_4_1:b28f4b92be5e3481d44f50f2cd7626aa a1_mono_tif-8.tif
+libtiff_4_1:2a12dcda3e9927384e7344c4ecabdcf1 a1_mono_tif-9.tif
+
31650ec40241737634179fff6ad306f8 basn4a08_tif-1.tif
abf884080bcfbf58c044a9d86bfa5e5d basn4a08_tif-10.tif
b0d82c12aa2c9b3ecd96c6a5b5663a8c basn4a08_tif-11.tif
@@ -212,6 +231,24 @@ fb5cf848d63c61dc485c87c9246ee9c7 basn4a08_tif-16.tif
18a59ac6036ee64e92af19b7e3cd3d64 basn4a08_tif-7.tif
dc40cc1da6de28e7e973c8ba796ca189 basn4a08_tif-8.tif
824b776a5aa3459b77894b5f77621311 basn4a08_tif-9.tif
+
+libtiff_4_1:4c50df5b25e006041b05e8a6fb77c95e basn4a08_tif-1.tif
+libtiff_4_1:68cc9a9bc5f95474744d06ea4efb2cf3 basn4a08_tif-10.tif
+libtiff_4_1:f643c00bd0673c8f6092125e38759a35 basn4a08_tif-11.tif
+libtiff_4_1:cfcefece2fb08a437876d85941cdaa27 basn4a08_tif-12.tif
+libtiff_4_1:1c3850831691aa8b565e4cd0d13166f9 basn4a08_tif-13.tif
+libtiff_4_1:06059e0429956946ecd3b1893ad39d18 basn4a08_tif-14.tif
+libtiff_4_1:71557ba6728e6641ad289b1d142acade basn4a08_tif-15.tif
+libtiff_4_1:150c663277b43d0331112f24d47fd34e basn4a08_tif-16.tif
+libtiff_4_1:9b43011e7a19079c21d65318b4a1139b basn4a08_tif-2.tif
+libtiff_4_1:125ca7b2e45fafa4e003f5adc9f11da8 basn4a08_tif-3.tif
+libtiff_4_1:9fbc1a8f4d12c8152cde3e004cebd191 basn4a08_tif-4.tif
+libtiff_4_1:51c6b54e9d8b53355c3f73ad813bdeef basn4a08_tif-5.tif
+libtiff_4_1:604ac42b1a9e7a75d63e97ce40e43442 basn4a08_tif-6.tif
+libtiff_4_1:360d1ce74faffa1a736d5f30c22976ed basn4a08_tif-7.tif
+libtiff_4_1:2059aaa9e54c09f36d16107870c1546a basn4a08_tif-8.tif
+libtiff_4_1:07496859507882401d66d70dcf392505 basn4a08_tif-9.tif
+
59e32c45591fd3bb44fe99381a116ba1 basn6a08_tif-1.tif
630e6fb6deba0b3efd93b610561d607a basn6a08_tif-10.tif
5419fec92f0e0e5907d838dacf9712b4 basn6a08_tif-11.tif
@@ -228,6 +265,24 @@ d60864a6a5c8a49a202d98ae6f5165c7 basn6a08_tif-6.tif
086fd12fec963995fe2e405dcef7e477 basn6a08_tif-7.tif
c3e93f61125f82a9832d0b9440468034 basn6a08_tif-8.tif
a9723dcc0732e74c9e8cd2bf93474a7d basn6a08_tif-9.tif
+
+libtiff_4_1:98f777ca80a132d8ab820d4533daa5b6 basn6a08_tif-1.tif
+libtiff_4_1:9c5873a1fa5571aad9e73d36d5a4206a basn6a08_tif-10.tif
+libtiff_4_1:c05dac7d4c19bc4b78cea426e5e52430 basn6a08_tif-11.tif
+libtiff_4_1:0223432f61df2508d0195f696988ddeb basn6a08_tif-12.tif
+libtiff_4_1:ccc64d14279063ed9daf371be62077f7 basn6a08_tif-13.tif
+libtiff_4_1:ace0bab2c2fbb5f92a8214600df9159f basn6a08_tif-14.tif
+libtiff_4_1:9b54bda92a09bcac9870fa02b428b7e6 basn6a08_tif-15.tif
+libtiff_4_1:178665d070f54f2920521c4e1cb9d5d0 basn6a08_tif-16.tif
+libtiff_4_1:c4b1e96d19429137cd8871833af2ea5a basn6a08_tif-2.tif
+libtiff_4_1:44e8b5591740289d0ca52a3e19f19c22 basn6a08_tif-3.tif
+libtiff_4_1:70b4f469dd29c8e99d3f0525301286b8 basn6a08_tif-4.tif
+libtiff_4_1:bf7c35a2b05eecb406aab7959431a842 basn6a08_tif-5.tif
+libtiff_4_1:7d2ecb1c35869ddbafd11b4896357b81 basn6a08_tif-6.tif
+libtiff_4_1:2cd6ec32a0256806f46706c0ca564d9d basn6a08_tif-7.tif
+libtiff_4_1:116b611b7a358bee2c4f2695732ec357 basn6a08_tif-8.tif
+libtiff_4_1:ed9ca54d25fb5b0cd5339eedfa16cbea basn6a08_tif-9.tif
+
cfe04d15cf9d615fc36357dcb3b3956b p0_14_tif-1.tif
9ad87e7fddc77ac85e2e92509bee2365 p0_14_tif-10.tif
f144e26d6d5aa24d98f0415f10751025 p0_14_tif-11.tif
@@ -244,6 +299,24 @@ b6f71c941e3a5b8d2547792ccec58d54 p0_14_tif-4.tif
951c99efbd922d8f3feb015e9ef8e350 p0_14_tif-7.tif
6808377b760b4ef3559ba8b14ed9b91a p0_14_tif-8.tif
96aa7dafa873d0ce33f84bb1ff78fa9b p0_14_tif-9.tif
+
+libtiff_4_1:5f97d4bbab138f99b6b125e5a5bf96bd p0_14_tif-1.tif
+libtiff_4_1:686c7a1561d73e53c000800ec0c5fa0a p0_14_tif-10.tif
+libtiff_4_1:a8585d901cc1b7cbbda6e524ecb5db35 p0_14_tif-11.tif
+libtiff_4_1:17b5497c9b8a0c68739c0beae90aa432 p0_14_tif-12.tif
+libtiff_4_1:a024a04b96ccb13c81cd57a5ee6ad07a p0_14_tif-13.tif
+libtiff_4_1:aabadca3f87437a32878fef7e265b23a p0_14_tif-14.tif
+libtiff_4_1:5390a77296962268b73a793467092633 p0_14_tif-15.tif
+libtiff_4_1:47dc7cc71832e5739c32794a713966c3 p0_14_tif-16.tif
+libtiff_4_1:1a9247cd1fb26f5fffa870e8543f6d30 p0_14_tif-2.tif
+libtiff_4_1:e4c0c9481d4032ea6b7e6a08a39e9030 p0_14_tif-3.tif
+libtiff_4_1:c7d6ec9b235aaff146228875e69edbaa p0_14_tif-4.tif
+libtiff_4_1:d3b8110b2284a09cfb7d5c4ffd451aff p0_14_tif-5.tif
+libtiff_4_1:6189ee17c4a276f99302ac7e296b3daa p0_14_tif-6.tif
+libtiff_4_1:b4a3b9b63681448abb7c460702de4df9 p0_14_tif-7.tif
+libtiff_4_1:04deb4e9679e7971c2cd0449fcd255b7 p0_14_tif-8.tif
+libtiff_4_1:254443e438ed6a5b0631d6188cc84789 p0_14_tif-9.tif
+
dd15b3d487d36a3682be0679300a4319 issue235.jp2_0.pgx
b9cd6dc76b141fb1fec15f50c1f70e01 issue235.jp2_1.pgx
3edef2ae197ef30b08deda1b28825399 issue235.jp2_2.pgx
@@ -288,6 +361,7 @@ fc2844a9f3c8e924e349180ba9e122dd p0_14_png-2.png
8d7685f1569d446787476c0a56c93750 dwt_interleave_h.gsr105.jp2_1.pgx
ddfff2ce2df4a9102518c92a362e6d25 dwt_interleave_h.gsr105.jp2_2.pgx
63bf755af5a1f8a478d65079dc7c8964 issue205-tif.jp2.tif
+libtiff_4_1:f9678a9e12d540f768ebebaee2af8f14 issue205-tif.jp2.tif
b01ed87dbac424bc820b2ac590e4884e issue236-ESYCC-CDEF.jp2_0.pgx
2635cc00b1e18ef11adcba09e845d459 issue236-ESYCC-CDEF.jp2_1.pgx
f9c95d0aec2f6e7b814fa1d09edcdbda issue236-ESYCC-CDEF.jp2_2.pgx
@@ -310,11 +384,11 @@ d1bb7f93f4c0eb984b2e9c54e544b7e9 broken.jpc_1.pgx
b704ad4c0cfefffd78c20a54f5541265 dwt_interleave_h.gsr105.jp2_d_1_1_33_33_0.pgx
9d7fe43cd7a50b7bbaf712926ee11980 dwt_interleave_h.gsr105.jp2_d_1_1_33_33_1.pgx
0960b580f991ff10f693b24aa41ad58b dwt_interleave_h.gsr105.jp2_d_1_1_33_33_2.pgx
-fa7382fd8b2e788b28b807e200dd95b9 file1.jp2-c0.tif
-ed79b7fe443955cdefba2b039ddc846a file1.jp2-c0_1_2.tif
-ac8f6ab3acc9c692ed7c41bd62a0e1e8 file1.jp2-c0-r1.tif
-fbfcf662b6f7549574b2885490fbcf12 file1.jp2-c0-d10_20_30_40.tif
-fa7382fd8b2e788b28b807e200dd95b9 file1.jp2-c0-t0.tif
-ac8f6ab3acc9c692ed7c41bd62a0e1e8 file1.jp2-c0-t0-r1.tif
+6e23ded7d3ca0b1dd8405448e3ff931b file1.jp2-c0.png
+5acabea0ef6d09d2c1f681773e886935 file1.jp2-c0_1_2.png
+1150acbee2c1e33c57592c05c76e565a file1.jp2-c0-r1.png
+1b8ab42d8ee4e28d2868c04a815fb569 file1.jp2-c0-d10_20_30_40.png
+6e23ded7d3ca0b1dd8405448e3ff931b file1.jp2-c0-t0.png
+1150acbee2c1e33c57592c05c76e565a file1.jp2-c0-t0-r1.png
f31bcb01c771f829054cdb013575e86a issue1043.png
62bc654c830efddf1b23d6e208447dab tnsot_zero.png
diff --git a/tests/nonregression/test_suite.ctest.in b/tests/nonregression/test_suite.ctest.in
index c42bad162..bda0681f7 100644
--- a/tests/nonregression/test_suite.ctest.in
+++ b/tests/nonregression/test_suite.ctest.in
@@ -612,22 +612,22 @@ opj_decompress -i @INPUT_NR_PATH@/issue979.j2k -o @TEMP_PATH@/issue979.j2k.pgx
opj_decompress -i @INPUT_NR_PATH@/dwt_interleave_h.gsr105.jp2 -o @TEMP_PATH@/dwt_interleave_h.gsr105.jp2_d_1_1_33_33.pgx -d 1,1,33,33
# partial component decoding with opj_decode(): one component
-opj_decompress -i @INPUT_CONF_PATH@/file1.jp2 -o @TEMP_PATH@/file1.jp2-c0.tif -c 0
+opj_decompress -i @INPUT_CONF_PATH@/file1.jp2 -o @TEMP_PATH@/file1.jp2-c0.png -c 0
# partial component decoding with opj_decode(): 3 components without MCT
-opj_decompress -i @INPUT_CONF_PATH@/file1.jp2 -o @TEMP_PATH@/file1.jp2-c0_1_2.tif -c 0,1,2
+opj_decompress -i @INPUT_CONF_PATH@/file1.jp2 -o @TEMP_PATH@/file1.jp2-c0_1_2.png -c 0,1,2
# partial component decoding with opj_decode() and opj_set_decode_area()
-opj_decompress -i @INPUT_CONF_PATH@/file1.jp2 -o @TEMP_PATH@/file1.jp2-c0-d10_20_30_40.tif -c 0 -d 10,20,30,40
+opj_decompress -i @INPUT_CONF_PATH@/file1.jp2 -o @TEMP_PATH@/file1.jp2-c0-d10_20_30_40.png -c 0 -d 10,20,30,40
# partial component decoding with opj_decode() and reduced resolution
-opj_decompress -i @INPUT_CONF_PATH@/file1.jp2 -o @TEMP_PATH@/file1.jp2-c0-r1.tif -c 0 -r 1
+opj_decompress -i @INPUT_CONF_PATH@/file1.jp2 -o @TEMP_PATH@/file1.jp2-c0-r1.png -c 0 -r 1
# partial component decoding with opj_get_decoded_tile()
-opj_decompress -i @INPUT_CONF_PATH@/file1.jp2 -o @TEMP_PATH@/file1.jp2-c0-t0.tif -c 0 -t 0
+opj_decompress -i @INPUT_CONF_PATH@/file1.jp2 -o @TEMP_PATH@/file1.jp2-c0-t0.png -c 0 -t 0
# partial component decoding with opj_get_decoded_tile() and reduced resolution
-opj_decompress -i @INPUT_CONF_PATH@/file1.jp2 -o @TEMP_PATH@/file1.jp2-c0-t0-r1.tif -c 0 -t 0 -r 1
+opj_decompress -i @INPUT_CONF_PATH@/file1.jp2 -o @TEMP_PATH@/file1.jp2-c0-t0-r1.png -c 0 -t 0 -r 1
# try to map the same component several times
-!opj_decompress -i @INPUT_CONF_PATH@/file1.jp2 -o @TEMP_PATH@/file1.jp2-c0_0.tif -c 0,0
+!opj_decompress -i @INPUT_CONF_PATH@/file1.jp2 -o @TEMP_PATH@/file1.jp2-c0_0.png -c 0,0
# try to map an invalid component
-!opj_decompress -i @INPUT_CONF_PATH@/file1.jp2 -o @TEMP_PATH@/file1.jp2-c10.tif -c 10
+!opj_decompress -i @INPUT_CONF_PATH@/file1.jp2 -o @TEMP_PATH@/file1.jp2-c10.png -c 10
opj_decompress -i @INPUT_NR_PATH@/db11217111510058.jp2 -o @TEMP_PATH@/issue1043.png

View File

@@ -1,136 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
CMAKE_ECLASS=cmake
inherit cmake-multilib
# Make sure that test data are not newer than release;
# otherwise we will see "Found-But-No-Test" test failures!
MY_TESTDATA_COMMIT="25632d6deca2e567d30ef476b4abe63916c36f6e"
DESCRIPTION="Open-source JPEG 2000 library"
HOMEPAGE="https://www.openjpeg.org"
SRC_URI="https://github.com/uclouvain/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
test? ( https://github.com/uclouvain/openjpeg-data/archive/${MY_TESTDATA_COMMIT}.tar.gz -> ${PN}-data_20180620.tar.gz )"
LICENSE="BSD-2"
SLOT="2/7" # based on SONAME
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="doc static-libs test"
RESTRICT="!test? ( test )"
RDEPEND="
media-libs/lcms:2
media-libs/libpng:0=
media-libs/tiff:0
sys-libs/zlib:="
DEPEND="${RDEPEND}"
BDEPEND="
doc? ( app-doc/doxygen )"
DOCS=( AUTHORS.md CHANGELOG.md NEWS.md README.md THANKS.md )
PATCHES=(
"${FILESDIR}/${PN}-2.3.1-gnuinstalldirs.patch" # bug 667150
"${FILESDIR}/${P}-CVE-2020-6851.patch"
"${FILESDIR}/${P}-CVE-2020-8112.patch"
"${FILESDIR}/${P}-libtiff-4.1-compat.patch"
)
src_prepare() {
if use test; then
mv "${WORKDIR}"/openjpeg-data-${MY_TESTDATA_COMMIT} "${WORKDIR}"/data ||
die "Failed to rename test data"
fi
cmake_src_prepare
}
multilib_src_configure() {
local mycmakeargs=(
-DBUILD_PKGCONFIG_FILES=ON # always build pkgconfig files, bug #539834
-DBUILD_TESTING="$(multilib_native_usex test)"
-DBUILD_DOC=$(multilib_native_usex doc ON OFF)
-DBUILD_CODEC=$(multilib_is_native_abi && echo ON || echo OFF)
-DBUILD_STATIC_LIBS=$(usex static-libs)
)
cmake_src_configure
}
multilib_src_test() {
if ! multilib_is_native_abi ; then
elog "Cannot run tests for non-multilib abi."
return 0
fi
local myctestargs=
pushd "${BUILD_DIR}" > /dev/null || die
[[ -e CTestTestfile.cmake ]] || die "Test suite not available! Check source!"
[[ -n ${TEST_VERBOSE} ]] && myctestargs+=( --extra-verbose --output-on-failure )
echo ctest "${myctestargs[@]}" "$@"
if ctest "${myctestargs[@]}" "$@" ; then
einfo "Tests succeeded."
popd > /dev/null || die
return 0
else
local FAILEDTEST_LOG="${BUILD_DIR}/Testing/Temporary/LastTestsFailed.log"
if [[ ! -f "${FAILEDTEST_LOG}" ]] ; then
# Should never happen
die "Cannot analyze test failures: LastTestsFailed.log is missing!"
fi
echo ""
einfo "Note: Upstream is maintaining a list of known test failures."
einfo "We will now compare our test results against this list and sort out any known failure."
local KNOWN_FAILURES_LIST="${T}/known_failures_compiled.txt"
cat "${S}/tools/travis-ci/knownfailures-all.txt" > "${KNOWN_FAILURES_LIST}" || die
local ARCH_SPECIFIC_FAILURES=
if use amd64 ; then
ARCH_SPECIFIC_FAILURES="$(find "${S}/tools/travis-ci/" -name 'knownfailures-*x86_64*.txt' -print0 | sort -z | tail -z -n 1 | tr -d '\0')"
elif use x86 || use arm || use arm64; then
ARCH_SPECIFIC_FAILURES="$(find "${S}/tools/travis-ci/" -name 'knownfailures-*i386*.txt' -print0 | sort -z | tail -z -n 1 | tr -d '\0')"
fi
if [[ -f "${ARCH_SPECIFIC_FAILURES}" ]] ; then
einfo "Adding architecture specific failures (${ARCH_SPECIFIC_FAILURES}) to known failures list ..."
cat "${ARCH_SPECIFIC_FAILURES}" >> "${KNOWN_FAILURES_LIST}" || die
fi
# Logic copied from $S/tools/travis-ci/run.sh
local FAILEDTEST=
local FAILURES_LOG="${BUILD_DIR}/Testing/Temporary/failures.txt"
local HAS_UNKNOWN_TEST_FAILURES=0
echo ""
awk -F: '{ print $2 }' "${FAILEDTEST_LOG}" > "${FAILURES_LOG}"
while read FAILEDTEST; do
# is this failure known?
if grep -x "${FAILEDTEST}" "${KNOWN_FAILURES_LIST}" > /dev/null; then
ewarn "Test '${FAILEDTEST}' is known to fail, ignoring ..."
continue
fi
eerror "New/unknown test failure found: '${FAILEDTEST}'"
HAS_UNKNOWN_TEST_FAILURES=1
done < "${FAILURES_LOG}"
if [[ ${HAS_UNKNOWN_TEST_FAILURES} -ne 0 ]]; then
die "Test suite failed. New/unknown test failure(s) found!"
else
echo ""
einfo "Test suite passed. No new/unknown test failure(s) found!"
fi
return 0
fi
}