Message ID | 20221003170623.26207-1-alex.kiernan@gmail.com |
---|---|
State | Under Review |
Headers | show |
Series | [meta-oe,1/3] jansson: Honour multilib paths | expand |
Should it be using GNUInstallDirs cmake module I wonder On Mon, Oct 3, 2022 at 10:06 AM Alex Kiernan <alex.kiernan@gmail.com> wrote: > > When multilib is enabled, builds fail during package_qa: > > ERROR: jansson-2.14-r0 do_package: QA Issue: jansson: Files/directories were installed but not shipped in any package: > /usr/lib > /usr/lib/libjansson.a > /usr/lib/pkgconfig > /usr/lib/cmake > /usr/lib/pkgconfig/jansson.pc > /usr/lib/cmake/jansson > /usr/lib/cmake/jansson/janssonTargets-noconfig.cmake > /usr/lib/cmake/jansson/janssonConfig.cmake > /usr/lib/cmake/jansson/janssonConfigVersion.cmake > /usr/lib/cmake/jansson/janssonTargets.cmake > Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. > jansson: 10 installed and not shipped files. [installed-vs-shipped] > ERROR: jansson-2.14-r0 do_package: Fatal QA errors were found, failing task. > > Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> > --- > .../jansson/0001-Honour-multilib-paths.patch | 63 +++++++++++++++++++ > .../recipes-extended/jansson/jansson_2.14.bb | 4 +- > 2 files changed, 66 insertions(+), 1 deletion(-) > create mode 100644 meta-oe/recipes-extended/jansson/jansson/0001-Honour-multilib-paths.patch > > diff --git a/meta-oe/recipes-extended/jansson/jansson/0001-Honour-multilib-paths.patch b/meta-oe/recipes-extended/jansson/jansson/0001-Honour-multilib-paths.patch > new file mode 100644 > index 000000000000..513d1094593a > --- /dev/null > +++ b/meta-oe/recipes-extended/jansson/jansson/0001-Honour-multilib-paths.patch > @@ -0,0 +1,63 @@ > +From e66885e66a2ce7fd916933b12d1ba523a25141e4 Mon Sep 17 00:00:00 2001 > +From: Alex Kiernan <alex.kiernan@gmail.com> > +Date: Mon, 3 Oct 2022 13:25:05 +0100 > +Subject: [PATCH] Honour multilib paths > + > +Upstream-Status: Pending > +Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> > +--- > + CMakeLists.txt | 14 +++++++------- > + 1 file changed, 7 insertions(+), 7 deletions(-) > + > +diff --git a/CMakeLists.txt b/CMakeLists.txt > +index 39b9ad365f78..bf297e936a72 100644 > +--- a/CMakeLists.txt > ++++ b/CMakeLists.txt > +@@ -20,8 +20,8 @@ endif () > + > + # Set some nicer output dirs. > + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin) > +-set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib) > +-set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib) > ++set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) > ++set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) > + set(JANSSON_TEMP_DIR ${CMAKE_CURRENT_BINARY_DIR}/tmp) > + > + # Give the debug version a different postfix for windows, > +@@ -573,14 +573,14 @@ endif () > + # > + > + # Allow the user to override installation directories. > +-set(JANSSON_INSTALL_LIB_DIR lib CACHE PATH "Installation directory for libraries") > ++set(JANSSON_INSTALL_LIB_DIR ${CMAKE_INSTALL_LIBDIR} CACHE PATH "Installation directory for libraries") > + set(JANSSON_INSTALL_BIN_DIR bin CACHE PATH "Installation directory for executables") > + set(JANSSON_INSTALL_INCLUDE_DIR include CACHE PATH "Installation directory for header files") > + > + if(WIN32 AND NOT CYGWIN) > + set(DEF_INSTALL_CMAKE_DIR cmake) > + else() > +- set(DEF_INSTALL_CMAKE_DIR lib/cmake/jansson) > ++ set(DEF_INSTALL_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/jansson) > + endif() > + > + set(JANSSON_INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH "Installation directory for CMake files") > +@@ -633,8 +633,8 @@ option(JANSSON_INSTALL "Generate installation target" ON) > + if (JANSSON_INSTALL) > + install(TARGETS jansson > + EXPORT janssonTargets > +- LIBRARY DESTINATION "lib" > +- ARCHIVE DESTINATION "lib" > ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" > ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" > + RUNTIME DESTINATION "bin" > + INCLUDES DESTINATION "include") > + > +@@ -644,7 +644,7 @@ if (JANSSON_INSTALL) > + # Install the pkg-config. > + install(FILES > + ${CMAKE_CURRENT_BINARY_DIR}/jansson.pc > +- DESTINATION lib/pkgconfig) > ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) > + > + # Install the configs. > + install(FILES > diff --git a/meta-oe/recipes-extended/jansson/jansson_2.14.bb b/meta-oe/recipes-extended/jansson/jansson_2.14.bb > index 94bb99ab71a9..68e24c890726 100644 > --- a/meta-oe/recipes-extended/jansson/jansson_2.14.bb > +++ b/meta-oe/recipes-extended/jansson/jansson_2.14.bb > @@ -4,7 +4,9 @@ BUGTRACKER = "https://github.com/akheron/jansson/issues" > LICENSE = "MIT" > LIC_FILES_CHKSUM = "file://LICENSE;md5=afd92c4cfc08f4896003251b878cc0bf" > > -SRC_URI = "https://github.com/akheron/${BPN}/releases/download/v${PV}/${BP}.tar.bz2" > +SRC_URI = "https://github.com/akheron/${BPN}/releases/download/v${PV}/${BP}.tar.bz2 \ > + file://0001-Honour-multilib-paths.patch \ > + " > SRC_URI[sha256sum] = "fba956f27c6ae56ce6dfd52fbf9d20254aad42821f74fa52f83957625294afb9" > > UPSTREAM_CHECK_URI = "https://github.com/akheron/${BPN}/releases" > -- > 2.35.1 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#99040): https://lists.openembedded.org/g/openembedded-devel/message/99040 > Mute This Topic: https://lists.openembedded.org/mt/94095620/1997914 > Group Owner: openembedded-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
Probably, only cmake scares me every time I have to touch it :) When I was digging through all of this, I wondered if going back to autotools would be preferable and fixing up the lld case (the --default-symver test exists in CMakeLists.txt, but not configure.ac). On Mon, Oct 3, 2022 at 10:37 PM Khem Raj <raj.khem@gmail.com> wrote: > > Should it be using GNUInstallDirs cmake module I wonder > > On Mon, Oct 3, 2022 at 10:06 AM Alex Kiernan <alex.kiernan@gmail.com> wrote: > > > > When multilib is enabled, builds fail during package_qa: > > > > ERROR: jansson-2.14-r0 do_package: QA Issue: jansson: Files/directories were installed but not shipped in any package: > > /usr/lib > > /usr/lib/libjansson.a > > /usr/lib/pkgconfig > > /usr/lib/cmake > > /usr/lib/pkgconfig/jansson.pc > > /usr/lib/cmake/jansson > > /usr/lib/cmake/jansson/janssonTargets-noconfig.cmake > > /usr/lib/cmake/jansson/janssonConfig.cmake > > /usr/lib/cmake/jansson/janssonConfigVersion.cmake > > /usr/lib/cmake/jansson/janssonTargets.cmake > > Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. > > jansson: 10 installed and not shipped files. [installed-vs-shipped] > > ERROR: jansson-2.14-r0 do_package: Fatal QA errors were found, failing task. > > > > Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> > > --- > > .../jansson/0001-Honour-multilib-paths.patch | 63 +++++++++++++++++++ > > .../recipes-extended/jansson/jansson_2.14.bb | 4 +- > > 2 files changed, 66 insertions(+), 1 deletion(-) > > create mode 100644 meta-oe/recipes-extended/jansson/jansson/0001-Honour-multilib-paths.patch > > > > diff --git a/meta-oe/recipes-extended/jansson/jansson/0001-Honour-multilib-paths.patch b/meta-oe/recipes-extended/jansson/jansson/0001-Honour-multilib-paths.patch > > new file mode 100644 > > index 000000000000..513d1094593a > > --- /dev/null > > +++ b/meta-oe/recipes-extended/jansson/jansson/0001-Honour-multilib-paths.patch > > @@ -0,0 +1,63 @@ > > +From e66885e66a2ce7fd916933b12d1ba523a25141e4 Mon Sep 17 00:00:00 2001 > > +From: Alex Kiernan <alex.kiernan@gmail.com> > > +Date: Mon, 3 Oct 2022 13:25:05 +0100 > > +Subject: [PATCH] Honour multilib paths > > + > > +Upstream-Status: Pending > > +Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> > > +--- > > + CMakeLists.txt | 14 +++++++------- > > + 1 file changed, 7 insertions(+), 7 deletions(-) > > + > > +diff --git a/CMakeLists.txt b/CMakeLists.txt > > +index 39b9ad365f78..bf297e936a72 100644 > > +--- a/CMakeLists.txt > > ++++ b/CMakeLists.txt > > +@@ -20,8 +20,8 @@ endif () > > + > > + # Set some nicer output dirs. > > + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin) > > +-set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib) > > +-set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib) > > ++set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) > > ++set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) > > + set(JANSSON_TEMP_DIR ${CMAKE_CURRENT_BINARY_DIR}/tmp) > > + > > + # Give the debug version a different postfix for windows, > > +@@ -573,14 +573,14 @@ endif () > > + # > > + > > + # Allow the user to override installation directories. > > +-set(JANSSON_INSTALL_LIB_DIR lib CACHE PATH "Installation directory for libraries") > > ++set(JANSSON_INSTALL_LIB_DIR ${CMAKE_INSTALL_LIBDIR} CACHE PATH "Installation directory for libraries") > > + set(JANSSON_INSTALL_BIN_DIR bin CACHE PATH "Installation directory for executables") > > + set(JANSSON_INSTALL_INCLUDE_DIR include CACHE PATH "Installation directory for header files") > > + > > + if(WIN32 AND NOT CYGWIN) > > + set(DEF_INSTALL_CMAKE_DIR cmake) > > + else() > > +- set(DEF_INSTALL_CMAKE_DIR lib/cmake/jansson) > > ++ set(DEF_INSTALL_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/jansson) > > + endif() > > + > > + set(JANSSON_INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH "Installation directory for CMake files") > > +@@ -633,8 +633,8 @@ option(JANSSON_INSTALL "Generate installation target" ON) > > + if (JANSSON_INSTALL) > > + install(TARGETS jansson > > + EXPORT janssonTargets > > +- LIBRARY DESTINATION "lib" > > +- ARCHIVE DESTINATION "lib" > > ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" > > ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" > > + RUNTIME DESTINATION "bin" > > + INCLUDES DESTINATION "include") > > + > > +@@ -644,7 +644,7 @@ if (JANSSON_INSTALL) > > + # Install the pkg-config. > > + install(FILES > > + ${CMAKE_CURRENT_BINARY_DIR}/jansson.pc > > +- DESTINATION lib/pkgconfig) > > ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) > > + > > + # Install the configs. > > + install(FILES > > diff --git a/meta-oe/recipes-extended/jansson/jansson_2.14.bb b/meta-oe/recipes-extended/jansson/jansson_2.14.bb > > index 94bb99ab71a9..68e24c890726 100644 > > --- a/meta-oe/recipes-extended/jansson/jansson_2.14.bb > > +++ b/meta-oe/recipes-extended/jansson/jansson_2.14.bb > > @@ -4,7 +4,9 @@ BUGTRACKER = "https://github.com/akheron/jansson/issues" > > LICENSE = "MIT" > > LIC_FILES_CHKSUM = "file://LICENSE;md5=afd92c4cfc08f4896003251b878cc0bf" > > > > -SRC_URI = "https://github.com/akheron/${BPN}/releases/download/v${PV}/${BP}.tar.bz2" > > +SRC_URI = "https://github.com/akheron/${BPN}/releases/download/v${PV}/${BP}.tar.bz2 \ > > + file://0001-Honour-multilib-paths.patch \ > > + " > > SRC_URI[sha256sum] = "fba956f27c6ae56ce6dfd52fbf9d20254aad42821f74fa52f83957625294afb9" > > > > UPSTREAM_CHECK_URI = "https://github.com/akheron/${BPN}/releases" > > -- > > 2.35.1 > > > > > > -=-=-=-=-=-=-=-=-=-=-=- > > Links: You receive all messages sent to this group. > > View/Reply Online (#99040): https://lists.openembedded.org/g/openembedded-devel/message/99040 > > Mute This Topic: https://lists.openembedded.org/mt/94095620/1997914 > > Group Owner: openembedded-devel+owner@lists.openembedded.org > > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com] > > -=-=-=-=-=-=-=-=-=-=-=- > >
diff --git a/meta-oe/recipes-extended/jansson/jansson/0001-Honour-multilib-paths.patch b/meta-oe/recipes-extended/jansson/jansson/0001-Honour-multilib-paths.patch new file mode 100644 index 000000000000..513d1094593a --- /dev/null +++ b/meta-oe/recipes-extended/jansson/jansson/0001-Honour-multilib-paths.patch @@ -0,0 +1,63 @@ +From e66885e66a2ce7fd916933b12d1ba523a25141e4 Mon Sep 17 00:00:00 2001 +From: Alex Kiernan <alex.kiernan@gmail.com> +Date: Mon, 3 Oct 2022 13:25:05 +0100 +Subject: [PATCH] Honour multilib paths + +Upstream-Status: Pending +Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> +--- + CMakeLists.txt | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 39b9ad365f78..bf297e936a72 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -20,8 +20,8 @@ endif () + + # Set some nicer output dirs. + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin) +-set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib) +-set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib) ++set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) ++set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) + set(JANSSON_TEMP_DIR ${CMAKE_CURRENT_BINARY_DIR}/tmp) + + # Give the debug version a different postfix for windows, +@@ -573,14 +573,14 @@ endif () + # + + # Allow the user to override installation directories. +-set(JANSSON_INSTALL_LIB_DIR lib CACHE PATH "Installation directory for libraries") ++set(JANSSON_INSTALL_LIB_DIR ${CMAKE_INSTALL_LIBDIR} CACHE PATH "Installation directory for libraries") + set(JANSSON_INSTALL_BIN_DIR bin CACHE PATH "Installation directory for executables") + set(JANSSON_INSTALL_INCLUDE_DIR include CACHE PATH "Installation directory for header files") + + if(WIN32 AND NOT CYGWIN) + set(DEF_INSTALL_CMAKE_DIR cmake) + else() +- set(DEF_INSTALL_CMAKE_DIR lib/cmake/jansson) ++ set(DEF_INSTALL_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/jansson) + endif() + + set(JANSSON_INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH "Installation directory for CMake files") +@@ -633,8 +633,8 @@ option(JANSSON_INSTALL "Generate installation target" ON) + if (JANSSON_INSTALL) + install(TARGETS jansson + EXPORT janssonTargets +- LIBRARY DESTINATION "lib" +- ARCHIVE DESTINATION "lib" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + RUNTIME DESTINATION "bin" + INCLUDES DESTINATION "include") + +@@ -644,7 +644,7 @@ if (JANSSON_INSTALL) + # Install the pkg-config. + install(FILES + ${CMAKE_CURRENT_BINARY_DIR}/jansson.pc +- DESTINATION lib/pkgconfig) ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + + # Install the configs. + install(FILES diff --git a/meta-oe/recipes-extended/jansson/jansson_2.14.bb b/meta-oe/recipes-extended/jansson/jansson_2.14.bb index 94bb99ab71a9..68e24c890726 100644 --- a/meta-oe/recipes-extended/jansson/jansson_2.14.bb +++ b/meta-oe/recipes-extended/jansson/jansson_2.14.bb @@ -4,7 +4,9 @@ BUGTRACKER = "https://github.com/akheron/jansson/issues" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=afd92c4cfc08f4896003251b878cc0bf" -SRC_URI = "https://github.com/akheron/${BPN}/releases/download/v${PV}/${BP}.tar.bz2" +SRC_URI = "https://github.com/akheron/${BPN}/releases/download/v${PV}/${BP}.tar.bz2 \ + file://0001-Honour-multilib-paths.patch \ + " SRC_URI[sha256sum] = "fba956f27c6ae56ce6dfd52fbf9d20254aad42821f74fa52f83957625294afb9" UPSTREAM_CHECK_URI = "https://github.com/akheron/${BPN}/releases"
When multilib is enabled, builds fail during package_qa: ERROR: jansson-2.14-r0 do_package: QA Issue: jansson: Files/directories were installed but not shipped in any package: /usr/lib /usr/lib/libjansson.a /usr/lib/pkgconfig /usr/lib/cmake /usr/lib/pkgconfig/jansson.pc /usr/lib/cmake/jansson /usr/lib/cmake/jansson/janssonTargets-noconfig.cmake /usr/lib/cmake/jansson/janssonConfig.cmake /usr/lib/cmake/jansson/janssonConfigVersion.cmake /usr/lib/cmake/jansson/janssonTargets.cmake Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. jansson: 10 installed and not shipped files. [installed-vs-shipped] ERROR: jansson-2.14-r0 do_package: Fatal QA errors were found, failing task. Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> --- .../jansson/0001-Honour-multilib-paths.patch | 63 +++++++++++++++++++ .../recipes-extended/jansson/jansson_2.14.bb | 4 +- 2 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 meta-oe/recipes-extended/jansson/jansson/0001-Honour-multilib-paths.patch