* exiv2 0.27 lives in several layers currently: meta-webos-ports / meta-luneos / meta-qt5-extra * Now meta-gnome will require it for nautilus -> gexiv2 => move it up in layer hierarchy * This recipe was taken from meta-qt5-extra * Patches were taken from Fedora before they moved to 0.27.1 [1] * From my experience as soon as upstream will create a successor of 0.27.1 they move tarballs from builds [2] -> archive [3] To avoid missing sources let's stick on 0.27.0.
[1] https://src.fedoraproject.org/rpms/exiv2/tree/master [2] https://exiv2.org/builds/ [3] https://www.exiv2.org/archive.html Signed-off-by: Andreas Müller <[email protected]> --- meta-oe/recipes-support/exiv2/exiv2.bb | 26 ++++ ...es-only-installed-with-the-exiv2-app.patch | 41 ++++++ ...nings-about-missing-PDB-files-in-3rd.patch | 64 +++++++++ ...-to-exiv2-xmp-to-avoid-name-conflict.patch | 82 ++++++++++++ ...nstall-header-files-without-globbing.patch | 111 ++++++++++++++++ ...t-installation-dir-for-generated-doc.patch | 28 ++++ ...t-installation-dir-for-cmake-config-.patch | 124 ++++++++++++++++++ ...psdk-Build-with-DBanAllEntityUsage-1.patch | 34 +++++ ...compile-warnings-in-ExpatAdapter.cpp.patch | 31 +++++ ...e-for-being-compatible-with-more-dis.patch | 27 ++++ ...ate-install-exiv2ConfigVersion.cmake.patch | 50 +++++++ 11 files changed, 618 insertions(+) create mode 100644 meta-oe/recipes-support/exiv2/exiv2.bb create mode 100644 meta-oe/recipes-support/exiv2/exiv2/0001-cmake-man-pages-only-installed-with-the-exiv2-app.patch create mode 100644 meta-oe/recipes-support/exiv2/exiv2/0002-cmake-ignore-warnings-about-missing-PDB-files-in-3rd.patch create mode 100644 meta-oe/recipes-support/exiv2/exiv2/0003-cmake-Rename-xmp-to-exiv2-xmp-to-avoid-name-conflict.patch create mode 100644 meta-oe/recipes-support/exiv2/exiv2/0004-cmake-Install-header-files-without-globbing.patch create mode 100644 meta-oe/recipes-support/exiv2/exiv2/0005-cmake-Use-correct-installation-dir-for-generated-doc.patch create mode 100644 meta-oe/recipes-support/exiv2/exiv2/0006-cmake-Use-correct-installation-dir-for-cmake-config-.patch create mode 100644 meta-oe/recipes-support/exiv2/exiv2/0007-xmpsdk-Build-with-DBanAllEntityUsage-1.patch create mode 100644 meta-oe/recipes-support/exiv2/exiv2/0008-xmpsdk-Fix-compile-warnings-in-ExpatAdapter.cpp.patch create mode 100644 meta-oe/recipes-support/exiv2/exiv2/0009-Fixes-in-.pc-file-for-being-compatible-with-more-dis.patch create mode 100644 meta-oe/recipes-support/exiv2/exiv2/0010-create-install-exiv2ConfigVersion.cmake.patch diff --git a/meta-oe/recipes-support/exiv2/exiv2.bb b/meta-oe/recipes-support/exiv2/exiv2.bb new file mode 100644 index 000000000..26aef7163 --- /dev/null +++ b/meta-oe/recipes-support/exiv2/exiv2.bb @@ -0,0 +1,26 @@ +SUMMARY = "Exif, Iptc and XMP metadata manipulation library and tools" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=625f055f41728f84a8d7938acc35bdc2" + +DEPENDS = "zlib expat" + +SRC_URI = " \ + https://exiv2.org/releases/${BPN}-${PV}-Source.tar.gz \ + file://0001-cmake-man-pages-only-installed-with-the-exiv2-app.patch \ + file://0002-cmake-ignore-warnings-about-missing-PDB-files-in-3rd.patch \ + file://0003-cmake-Rename-xmp-to-exiv2-xmp-to-avoid-name-conflict.patch \ + file://0004-cmake-Install-header-files-without-globbing.patch \ + file://0005-cmake-Use-correct-installation-dir-for-generated-doc.patch \ + file://0006-cmake-Use-correct-installation-dir-for-cmake-config-.patch \ + file://0007-xmpsdk-Build-with-DBanAllEntityUsage-1.patch \ + file://0008-xmpsdk-Fix-compile-warnings-in-ExpatAdapter.cpp.patch \ + file://0009-Fixes-in-.pc-file-for-being-compatible-with-more-dis.patch \ + file://0010-create-install-exiv2ConfigVersion.cmake.patch \ +" +SRC_URI[md5sum] = "57d58c9cef127c5fa24bf0e1fbbd1f8c" +SRC_URI[sha256sum] = "ee88bc81539b73c65010651785d094fad0b39760a424b3c16c17e1856cfef2d7" +PV = "0.27.0" +S = "${WORKDIR}/${BPN}-${PV}-Source" + +inherit cmake gettext + diff --git a/meta-oe/recipes-support/exiv2/exiv2/0001-cmake-man-pages-only-installed-with-the-exiv2-app.patch b/meta-oe/recipes-support/exiv2/exiv2/0001-cmake-man-pages-only-installed-with-the-exiv2-app.patch new file mode 100644 index 000000000..889e8f877 --- /dev/null +++ b/meta-oe/recipes-support/exiv2/exiv2/0001-cmake-man-pages-only-installed-with-the-exiv2-app.patch @@ -0,0 +1,41 @@ +From d1c609b320eadbe7089b0482353ffef576813ca2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Luis=20D=C3=ADaz=20M=C3=A1s?= <[email protected]> +Date: Tue, 18 Dec 2018 08:05:16 +0100 +Subject: [PATCH 22/70] cmake: man pages only installed with the exiv2 app + +--- + CMakeLists.txt | 3 --- + src/CMakeLists.txt | 7 +------ + 2 files changed, 1 insertion(+), 9 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8dfd9d97..e98cfac1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -106,6 +106,3 @@ configure_file(cmake/exiv2.pc.in exiv2.pc @ONLY) + install(FILES ${CMAKE_BINARY_DIR}/exiv2.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + + include(cmake/printSummary.cmake) +- +-# That's all Folks! +-## +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index ca24006e..0d093924 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -273,11 +273,6 @@ if(EXIV2_BUILD_EXIV2_COMMAND) + endif() + + install(TARGETS exiv2 RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) ++ install( FILES exiv2.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 ) + endif() + +-# ****************************************************************************** +-# Man page +-install( FILES exiv2.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 ) +- +-# That's all Folks! +-## +-- +2.17.2 + diff --git a/meta-oe/recipes-support/exiv2/exiv2/0002-cmake-ignore-warnings-about-missing-PDB-files-in-3rd.patch b/meta-oe/recipes-support/exiv2/exiv2/0002-cmake-ignore-warnings-about-missing-PDB-files-in-3rd.patch new file mode 100644 index 000000000..84c07222a --- /dev/null +++ b/meta-oe/recipes-support/exiv2/exiv2/0002-cmake-ignore-warnings-about-missing-PDB-files-in-3rd.patch @@ -0,0 +1,64 @@ +From e57f311e629762fbf2b08d9a5b1e0cad1035b42f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Luis=20D=C3=ADaz=20M=C3=A1s?= <[email protected]> +Date: Tue, 18 Dec 2018 10:33:11 +0100 +Subject: [PATCH 35/70] cmake: ignore warnings about missing PDB files in 3rd + party libs + +--- + samples/CMakeLists.txt | 11 +++++++++++ + src/CMakeLists.txt | 4 ++++ + 2 files changed, 15 insertions(+) + +diff --git a/samples/CMakeLists.txt b/samples/CMakeLists.txt +index a3e491e0..4e8c14c6 100644 +--- a/samples/CMakeLists.txt ++++ b/samples/CMakeLists.txt +@@ -43,6 +43,9 @@ foreach(entry ${SAMPLES}) + add_test( ${target}_test ${target} ) + target_include_directories(${target} PRIVATE ${CMAKE_SOURCE_DIR}/src) # To find unused.h + install( TARGETS ${target} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) ++ if (MSVC) ++ set_target_properties(${target} PROPERTIES LINK_FLAGS "/ignore:4099") ++ endif() + endforeach() + + ################################### +@@ -69,6 +72,11 @@ list(APPEND APPLICATIONS exiv2json) + + install( TARGETS metacopy pathtest exiv2json RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + ++if (MSVC) ++ set_target_properties(exiv2json PROPERTIES LINK_FLAGS "/ignore:4099") ++ set_target_properties(metacopy PROPERTIES LINK_FLAGS "/ignore:4099") ++endif() ++ + if( EXPAT_FOUND ) + add_executable( geotag geotag.cpp) + list(APPEND APPLICATIONS geotag) +@@ -103,6 +111,9 @@ foreach(application ${APPLICATIONS}) + if( EXIV2_ENABLE_PNG ) + target_link_libraries( ${application} PRIVATE ${ZLIB_LIBRARIES} ) + endif() ++ if (MSVC) ++ set_target_properties(${application} PROPERTIES LINK_FLAGS "/ignore:4099") ++ endif() + endforeach() + + # ****************************************************************************** +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 0d093924..adb285b1 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -274,5 +274,9 @@ if(EXIV2_BUILD_EXIV2_COMMAND) + + install(TARGETS exiv2 RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + install( FILES exiv2.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 ) ++ ++ if (MSVC) ++ set_target_properties(exiv2 PROPERTIES LINK_FLAGS "/ignore:4099") ++ endif() + endif() + +-- +2.17.2 + diff --git a/meta-oe/recipes-support/exiv2/exiv2/0003-cmake-Rename-xmp-to-exiv2-xmp-to-avoid-name-conflict.patch b/meta-oe/recipes-support/exiv2/exiv2/0003-cmake-Rename-xmp-to-exiv2-xmp-to-avoid-name-conflict.patch new file mode 100644 index 000000000..08a307341 --- /dev/null +++ b/meta-oe/recipes-support/exiv2/exiv2/0003-cmake-Rename-xmp-to-exiv2-xmp-to-avoid-name-conflict.patch @@ -0,0 +1,82 @@ +From 89509d7a3915ba474cbc3f8c85ab9bec4954ceda Mon Sep 17 00:00:00 2001 +From: Andreas Schneider <[email protected]> +Date: Wed, 2 Jan 2019 10:38:22 +0100 +Subject: [PATCH 64/70] cmake: Rename xmp to exiv2-xmp to avoid name conflicts + +There is already a libxmp file by the xmp project on https://xmp.sf.net. +To avoid issues prefix with exiv2. + +Fixes #624 + +Signed-off-by: Andreas Schneider <[email protected]> +--- + src/CMakeLists.txt | 2 +- + xmpsdk/CMakeLists.txt | 14 +++++++------- + 2 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index adb285b1..2aeae733 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -147,7 +147,7 @@ target_include_directories(exiv2lib_int PRIVATE ${ZLIB_INCLUDE_DIR}) + target_include_directories(exiv2lib PRIVATE ${ZLIB_INCLUDE_DIR}) + + if (EXIV2_ENABLE_XMP) +- target_link_libraries(exiv2lib PUBLIC xmp) ++ target_link_libraries(exiv2lib PUBLIC exiv2-xmp) + elseif(EXIV2_ENABLE_EXTERNAL_XMP) + target_link_libraries(exiv2lib PUBLIC ${XMPSDK_LIBRARY}) + target_include_directories(exiv2lib PUBLIC ${XMPSDK_INCLUDE_DIR}) +diff --git a/xmpsdk/CMakeLists.txt b/xmpsdk/CMakeLists.txt +index a4c1fe6c..fa521043 100644 +--- a/xmpsdk/CMakeLists.txt ++++ b/xmpsdk/CMakeLists.txt +@@ -1,4 +1,4 @@ +-add_library(xmp STATIC ++add_library(exiv2-xmp STATIC + src/ExpatAdapter.cpp + src/MD5.cpp + src/ParseRDF.cpp +@@ -26,12 +26,12 @@ add_library(xmp STATIC + include/XMP_Version.h + ) + +-target_link_libraries(xmp ++target_link_libraries(exiv2-xmp + PRIVATE + ${EXPAT_LIBRARY} + ) + +-target_include_directories(xmp ++target_include_directories(exiv2-xmp + PUBLIC + $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/xmpsdk/include> + PRIVATE +@@ -39,20 +39,20 @@ target_include_directories(xmp + ) + + if (MSVC) +- target_compile_definitions(xmp PRIVATE XML_STATIC) ++ target_compile_definitions(exiv2-xmp PRIVATE XML_STATIC) + endif() + + check_include_file( "stdint.h" EXV_HAVE_STDINT_H ) + if (EXV_HAVE_STDINT_H) +- target_compile_definitions(xmp PRIVATE EXV_HAVE_STDINT_H) ++ target_compile_definitions(exiv2-xmp PRIVATE EXV_HAVE_STDINT_H) + endif() + + if (BUILD_SHARED_LIBS) +- set_property(TARGET xmp PROPERTY POSITION_INDEPENDENT_CODE ON) ++ set_property(TARGET exiv2-xmp PROPERTY POSITION_INDEPENDENT_CODE ON) + endif() + + # 1119 Install libxmp.a for use by third party applications (Thanks, Emmanuel) +-install(TARGETS xmp EXPORT exiv2Config ++install(TARGETS exiv2-xmp EXPORT exiv2Config + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + ) +-- +2.17.2 + diff --git a/meta-oe/recipes-support/exiv2/exiv2/0004-cmake-Install-header-files-without-globbing.patch b/meta-oe/recipes-support/exiv2/exiv2/0004-cmake-Install-header-files-without-globbing.patch new file mode 100644 index 000000000..4503375f3 --- /dev/null +++ b/meta-oe/recipes-support/exiv2/exiv2/0004-cmake-Install-header-files-without-globbing.patch @@ -0,0 +1,111 @@ +From 0b34ccb9a3b26cd1c5267c6a5c15e9fa1a665adb Mon Sep 17 00:00:00 2001 +From: Andreas Schneider <[email protected]> +Date: Wed, 2 Jan 2019 10:59:30 +0100 +Subject: [PATCH 65/70] cmake: Install header files without globbing + +Fixes #627 + +Signed-off-by: Andreas Schneider <[email protected]> +--- + CMakeLists.txt | 1 + + include/CMakeLists.txt | 1 + + include/exiv2/CMakeLists.txt | 51 ++++++++++++++++++++++++++++++++++++ + src/CMakeLists.txt | 4 --- + 4 files changed, 53 insertions(+), 4 deletions(-) + create mode 100644 include/CMakeLists.txt + create mode 100644 include/exiv2/CMakeLists.txt + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 183cdd2e..ce4d2202 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -76,6 +76,7 @@ endif() + + include(cmake/compilerFlagsExiv2.cmake REQUIRED) + ++add_subdirectory( include ) + add_subdirectory( src ) + + if( EXIV2_BUILD_UNIT_TESTS ) +diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt +new file mode 100644 +index 00000000..01b43a6c +--- /dev/null ++++ b/include/CMakeLists.txt +@@ -0,0 +1 @@ ++add_subdirectory(exiv2) +diff --git a/include/exiv2/CMakeLists.txt b/include/exiv2/CMakeLists.txt +new file mode 100644 +index 00000000..60080f1c +--- /dev/null ++++ b/include/exiv2/CMakeLists.txt +@@ -0,0 +1,51 @@ ++install(FILES ++ asfvideo.hpp ++ basicio.hpp ++ bigtiffimage.hpp ++ bmpimage.hpp ++ config.h ++ convert.hpp ++ cr2image.hpp ++ crwimage.hpp ++ datasets.hpp ++ easyaccess.hpp ++ epsimage.hpp ++ error.hpp ++ exif.hpp ++ exiv2.hpp ++ futils.hpp ++ gifimage.hpp ++ http.hpp ++ image.hpp ++ ini.hpp ++ iptc.hpp ++ jp2image.hpp ++ jpgimage.hpp ++ matroskavideo.hpp ++ metadatum.hpp ++ mrwimage.hpp ++ orfimage.hpp ++ pgfimage.hpp ++ pngimage.hpp ++ preview.hpp ++ properties.hpp ++ psdimage.hpp ++ quicktimevideo.hpp ++ rafimage.hpp ++ riffvideo.hpp ++ rw2image.hpp ++ rwlock.hpp ++ slice.hpp ++ ssh.hpp ++ tags.hpp ++ tgaimage.hpp ++ tiffimage.hpp ++ types.hpp ++ utilsvideo.hpp ++ value.hpp ++ version.hpp ++ webpimage.hpp ++ xmp_exiv2.hpp ++ xmpsidecar.hpp ++ DESTINATION ++ ${CMAKE_INSTALL_INCLUDEDIR}/exiv2) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index adb285b1..04d8a2a0 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -225,10 +225,6 @@ install(TARGETS exiv2lib EXPORT exiv2Config + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + ) + +-install(DIRECTORY ../include/exiv2 +- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} +- FILES_MATCHING PATTERN "*.h*") +- + install(FILES + ${CMAKE_BINARY_DIR}/exv_conf.h + ${CMAKE_BINARY_DIR}/exiv2lib_export.h +-- +2.17.2 + diff --git a/meta-oe/recipes-support/exiv2/exiv2/0005-cmake-Use-correct-installation-dir-for-generated-doc.patch b/meta-oe/recipes-support/exiv2/exiv2/0005-cmake-Use-correct-installation-dir-for-generated-doc.patch new file mode 100644 index 000000000..5a53c955f --- /dev/null +++ b/meta-oe/recipes-support/exiv2/exiv2/0005-cmake-Use-correct-installation-dir-for-generated-doc.patch @@ -0,0 +1,28 @@ +From f8f63a8b4033549d47384c6e2b1972ae1a2775fc Mon Sep 17 00:00:00 2001 +From: Andreas Schneider <[email protected]> +Date: Wed, 2 Jan 2019 10:28:57 +0100 +Subject: [PATCH 66/70] cmake: Use correct installation dir for generated docs + +Fixes #623 + +Signed-off-by: Andreas Schneider <[email protected]> +--- + cmake/generateDoc.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cmake/generateDoc.cmake b/cmake/generateDoc.cmake +index a3aea727..16823946 100644 +--- a/cmake/generateDoc.cmake ++++ b/cmake/generateDoc.cmake +@@ -21,7 +21,7 @@ macro(generate_documentation DOX_CONFIG_FILE) + set(DOXY_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/doxy.config") + add_custom_target(doc ${DOXYGEN_EXECUTABLE} ${DOXY_CONFIG}) + +- install(DIRECTORY "${PROJECT_BINARY_DIR}/doc/html/" DESTINATION "share/doc/lib${PROJECT_NAME}") ++ install(DIRECTORY "${PROJECT_BINARY_DIR}/doc/html/" DESTINATION ${CMAKE_INSTALL_DOCDIR}) + + set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES doc) + endmacro() +-- +2.17.2 + diff --git a/meta-oe/recipes-support/exiv2/exiv2/0006-cmake-Use-correct-installation-dir-for-cmake-config-.patch b/meta-oe/recipes-support/exiv2/exiv2/0006-cmake-Use-correct-installation-dir-for-cmake-config-.patch new file mode 100644 index 000000000..0bba2af49 --- /dev/null +++ b/meta-oe/recipes-support/exiv2/exiv2/0006-cmake-Use-correct-installation-dir-for-cmake-config-.patch @@ -0,0 +1,124 @@ +From 420e4631da1372da1be06af8f6032429c1f14d02 Mon Sep 17 00:00:00 2001 +From: Andreas Schneider <[email protected]> +Date: Thu, 3 Jan 2019 10:18:27 +0100 +Subject: [PATCH 67/70] cmake: Use correct installation dir for cmake config + files + +This is the path cmake will look for those files by default. At least on +UNIX systems. + +Fixes #623 + +Signed-off-by: Andreas Schneider <[email protected]> +--- + releasenotes/CYGWIN/ReadMe.txt | 2 +- + releasenotes/Darwin/ReadMe.txt | 2 +- + releasenotes/Linux/ReadMe.txt | 1 + + releasenotes/MinGW/ReadMe.txt | 2 +- + releasenotes/msvc/ReadMe.txt | 2 +- + releasenotes/releasenotes.txt | 5 +++++ + src/CMakeLists.txt | 2 +- + 7 files changed, 11 insertions(+), 5 deletions(-) + +diff --git a/releasenotes/CYGWIN/ReadMe.txt b/releasenotes/CYGWIN/ReadMe.txt +index 9161ca34..bba70fe6 100644 +--- a/releasenotes/CYGWIN/ReadMe.txt ++++ b/releasenotes/CYGWIN/ReadMe.txt +@@ -7,9 +7,9 @@ Structure of the bundle: + bin/exiv2.exe exiv2 and sample applications + bin/cygexiv2-27.dll DLL + lib/libexiv2.dll.a & libxmp.a link libraries ++lib/cmake/exiv2 consume CMake files + lib/pkgconfig/exiv2.pc pkg-config file + share/man man pages +-share/exiv2/cmake consume CMake files + samples/exifprint.cpp sample code + logs build and test logs + +diff --git a/releasenotes/Darwin/ReadMe.txt b/releasenotes/Darwin/ReadMe.txt +index d3e61177..57910713 100644 +--- a/releasenotes/Darwin/ReadMe.txt ++++ b/releasenotes/Darwin/ReadMe.txt +@@ -6,10 +6,10 @@ Structure of the bundle + + bin/exiv2 exiv2 and sample applications + lib/libexiv2.0.27.0.0.dylib & libxmp.a libraries ++lib/cmake/exiv2 consume CMake files + lib/pkgconfig/exiv2.pc pkg-config file + include/exiv2/ include files + share/man man pages +-share/exiv2/cmake consume CMake files + samples/exifprint.cpp sample code + logs build and test logs + +diff --git a/releasenotes/Linux/ReadMe.txt b/releasenotes/Linux/ReadMe.txt +index 03348302..0737b3a4 100644 +--- a/releasenotes/Linux/ReadMe.txt ++++ b/releasenotes/Linux/ReadMe.txt +@@ -7,6 +7,7 @@ Structure of the bundle: + bin/exiv2 exiv2 and sample applications + lib/libexiv2.so.0.27.0.0 & libxmp.a libraries + lib/pkgconfig/exiv2.pc pkg-config file ++lib/cmake/exiv2 consume CMake files + include/exiv2/ include files + share/ man pages + samples/exifprint.cpp sample code +diff --git a/releasenotes/MinGW/ReadMe.txt b/releasenotes/MinGW/ReadMe.txt +index 884d7502..98cd7770 100644 +--- a/releasenotes/MinGW/ReadMe.txt ++++ b/releasenotes/MinGW/ReadMe.txt +@@ -7,10 +7,10 @@ Structure of the bundle: + bin/exiv2.exe exiv2 and sample applications + bin/msys-exiv2-27.dll exiv2 dll + lib/libexiv2.dll.a & libxmp.a link libraries ++lib/cmake/exiv2 consume CMake files + lib/pkgconfig/exiv2.pc pkg-config file + include/exiv2/ include files + share/man man pages +-share/exiv2/cmake consume CMake files + samples/exifprint.cpp sample code + logs build and test logs + +diff --git a/releasenotes/msvc/ReadMe.txt b/releasenotes/msvc/ReadMe.txt +index de1dcbfe..e625ab49 100644 +--- a/releasenotes/msvc/ReadMe.txt ++++ b/releasenotes/msvc/ReadMe.txt +@@ -7,8 +7,8 @@ Structure of the bundle: + bin/exiv2.exe exiv2 and sample applications + bin/exiv2.dll dll + lib/exiv2.lib & xmp.lib link libraries ++lib/cmake/exiv2 consume CMake files + include/exiv2/ include files +-share/exiv2/cmake consume CMake files + samples/exifprint.cpp sample code + logs build and test logs + +diff --git a/releasenotes/releasenotes.txt b/releasenotes/releasenotes.txt +index b71b4519..226c078b 100644 +--- a/releasenotes/releasenotes.txt ++++ b/releasenotes/releasenotes.txt +@@ -1,3 +1,8 @@ ++Exiv2 v0.27.1 ++------------- ++ ++#623 Use correct installation path for generated docs and cmake config files ++ + Exiv2 v0.27.0 + ------------- + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index adb285b1..4a05ee4f 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -234,7 +234,7 @@ install(FILES + ${CMAKE_BINARY_DIR}/exiv2lib_export.h + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/exiv2) + +-install(EXPORT exiv2Config DESTINATION "share/exiv2/cmake") ++install(EXPORT exiv2Config DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/exiv2") + + # ****************************************************************************** + # exiv2 application +-- +2.17.2 + diff --git a/meta-oe/recipes-support/exiv2/exiv2/0007-xmpsdk-Build-with-DBanAllEntityUsage-1.patch b/meta-oe/recipes-support/exiv2/exiv2/0007-xmpsdk-Build-with-DBanAllEntityUsage-1.patch new file mode 100644 index 000000000..0983447dd --- /dev/null +++ b/meta-oe/recipes-support/exiv2/exiv2/0007-xmpsdk-Build-with-DBanAllEntityUsage-1.patch @@ -0,0 +1,34 @@ +From e44d1dbe769f3b60a3d671be310f4af4f9490e6b Mon Sep 17 00:00:00 2001 +From: Andreas Schneider <[email protected]> +Date: Thu, 3 Jan 2019 10:31:25 +0100 +Subject: [PATCH 68/70] xmpsdk: Build with -DBanAllEntityUsage=1 + +Prevent a denial-service-attack related to XML entity expansion +("billion laughs attack"). +See https://bugzilla.redhat.com/show_bug.cgi?id=888769 + +Search for BanAllEntityUsage in xmpsdk/src/ExpatAdapter.cpp + +Signed-off-by: Andreas Schneider <[email protected]> +--- + xmpsdk/CMakeLists.txt | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/xmpsdk/CMakeLists.txt b/xmpsdk/CMakeLists.txt +index fa521043..ae011dc3 100644 +--- a/xmpsdk/CMakeLists.txt ++++ b/xmpsdk/CMakeLists.txt +@@ -38,6 +38,10 @@ target_include_directories(exiv2-xmp + ${EXPAT_INCLUDE_DIR} + ) + ++# Prevent a denial-service-attack related to XML entity expansion ++# ("billion laughs attack"). ++# See https://bugzilla.redhat.com/show_bug.cgi?id=888769 ++target_compile_definitions(exiv2-xmp PRIVATE BanAllEntityUsage=1) + if (MSVC) + target_compile_definitions(exiv2-xmp PRIVATE XML_STATIC) + endif() +-- +2.17.2 + diff --git a/meta-oe/recipes-support/exiv2/exiv2/0008-xmpsdk-Fix-compile-warnings-in-ExpatAdapter.cpp.patch b/meta-oe/recipes-support/exiv2/exiv2/0008-xmpsdk-Fix-compile-warnings-in-ExpatAdapter.cpp.patch new file mode 100644 index 000000000..7f351249b --- /dev/null +++ b/meta-oe/recipes-support/exiv2/exiv2/0008-xmpsdk-Fix-compile-warnings-in-ExpatAdapter.cpp.patch @@ -0,0 +1,31 @@ +From dac6bb6043fc046f7cbad73c281eb258a981267f Mon Sep 17 00:00:00 2001 +From: Andreas Schneider <[email protected]> +Date: Thu, 3 Jan 2019 10:41:40 +0100 +Subject: [PATCH 69/70] xmpsdk: Fix compile warnings in ExpatAdapter.cpp + +The code has been enabled with -DBanAllEntityUsage=1 + +Signed-off-by: Andreas Schneider <[email protected]> +--- + xmpsdk/src/ExpatAdapter.cpp | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/xmpsdk/src/ExpatAdapter.cpp b/xmpsdk/src/ExpatAdapter.cpp +index 79669f52..09117c75 100644 +--- a/xmpsdk/src/ExpatAdapter.cpp ++++ b/xmpsdk/src/ExpatAdapter.cpp +@@ -484,7 +484,10 @@ static void CommentHandler ( void * userData, XMP_StringPtr comment ) + static void StartDoctypeDeclHandler ( void * userData, XMP_StringPtr doctypeName, + XMP_StringPtr sysid, XMP_StringPtr pubid, int has_internal_subset ) + { +- IgnoreParam(userData); ++ IgnoreParam(doctypeName); ++ IgnoreParam(sysid); ++ IgnoreParam(pubid); ++ IgnoreParam(has_internal_subset); + + ExpatAdapter * thiz = (ExpatAdapter*)userData; + +-- +2.17.2 + diff --git a/meta-oe/recipes-support/exiv2/exiv2/0009-Fixes-in-.pc-file-for-being-compatible-with-more-dis.patch b/meta-oe/recipes-support/exiv2/exiv2/0009-Fixes-in-.pc-file-for-being-compatible-with-more-dis.patch new file mode 100644 index 000000000..c65f13bc3 --- /dev/null +++ b/meta-oe/recipes-support/exiv2/exiv2/0009-Fixes-in-.pc-file-for-being-compatible-with-more-dis.patch @@ -0,0 +1,27 @@ +From ae9eb90108c0f6a3f2030cf4e4ae907a8b203b6a Mon Sep 17 00:00:00 2001 +From: Luis Diaz Mas <[email protected]> +Date: Sat, 12 Jan 2019 13:39:12 +0100 +Subject: [PATCH 79/98] Fixes in .pc file for being compatible with more + distributions + +--- + cmake/exiv2.pc.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/cmake/exiv2.pc.in b/cmake/exiv2.pc.in +index e477696d..9018472b 100644 +--- a/cmake/exiv2.pc.in ++++ b/cmake/exiv2.pc.in +@@ -1,7 +1,7 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=${prefix} +-libdir=${prefix}/lib +-includedir=${prefix}/include ++libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ ++includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ + + Name: exiv2 + Description: @PROJECT_DESCRIPTION@ +-- +2.17.2 + diff --git a/meta-oe/recipes-support/exiv2/exiv2/0010-create-install-exiv2ConfigVersion.cmake.patch b/meta-oe/recipes-support/exiv2/exiv2/0010-create-install-exiv2ConfigVersion.cmake.patch new file mode 100644 index 000000000..0aacb70da --- /dev/null +++ b/meta-oe/recipes-support/exiv2/exiv2/0010-create-install-exiv2ConfigVersion.cmake.patch @@ -0,0 +1,50 @@ +From 487567b209ca40e56f9357b89c907253a7be8bf0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <[email protected]> +Date: Wed, 24 Apr 2019 18:59:13 +0200 +Subject: [PATCH] create & install exiv2ConfigVersion.cmake +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Backport [1] + +[1] https://github.com/Exiv2/exiv2/commit/ce0284bc1f5cef635583130a7e807f70f034bc01 + +Signed-off-by: Andreas Müller <[email protected]> +--- + src/CMakeLists.txt | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 6418bbd..f0b663a 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -7,6 +7,7 @@ if( EXIV2_BUILD_UNIT_TESTS ) + endif() + + ++include(CMakePackageConfigHelpers) + include_directories(${CMAKE_CURRENT_BINARY_DIR}) + + +@@ -218,6 +219,7 @@ if( ICONV_FOUND ) + target_link_libraries( exiv2lib PRIVATE Iconv::Iconv ) + endif() + ++write_basic_package_version_file(exiv2ConfigVersion.cmake COMPATIBILITY ExactVersion) + + install(TARGETS exiv2lib EXPORT exiv2Config + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} +@@ -232,6 +234,9 @@ install(FILES + + install(EXPORT exiv2Config DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/exiv2") + ++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/exiv2ConfigVersion.cmake DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/exiv2") ++ ++ + # ****************************************************************************** + # exiv2 application + +-- +2.20.1 + -- 2.20.1 -- _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-devel
