From 27469599fa6302a90af252c5148daef26c4b2e81 Mon Sep 17 00:00:00 2001 From: Sana Kazi Date: Wed, 4 Jun 2025 10:21:31 +0530 Subject: imagemagick: guard sed operations in do_install for optional files When PACKAGECONFIG options like 'cxx' 'webp' and 'xml' are disabled, certain files such as Magick++-config.im7, configure.xml, or delegates.xml are not installed. Unconditionally running sed on these files results in errors during do_install Error: sed: can't read .../image/usr/bin/Magick++-config.im7: No such file or directory Signed-off-by: Nikhil R Signed-off-by: Sana Kazi Signed-off-by: Khem Raj --- .../imagemagick/imagemagick_7.1.1-43.bb | 23 ++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/meta-oe/recipes-support/imagemagick/imagemagick_7.1.1-43.bb b/meta-oe/recipes-support/imagemagick/imagemagick_7.1.1-43.bb index 9932cf01db..a892a55844 100644 --- a/meta-oe/recipes-support/imagemagick/imagemagick_7.1.1-43.bb +++ b/meta-oe/recipes-support/imagemagick/imagemagick_7.1.1-43.bb @@ -37,13 +37,24 @@ PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 libxext libxt" PACKAGECONFIG[xml] = "--with-xml,--without-xml,libxml2" do_install:append:class-target() { - for file in MagickCore-config.im7 MagickWand-config.im7 Magick++-config.im7; do - sed -i 's,${STAGING_DIR_TARGET},,g' ${D}${bindir}/"$file" + for file in MagickCore-config.im7 MagickWand-config.im7; do + sed -i 's,${STAGING_DIR_TARGET},,g' "${D}${bindir}/$file" done - sed -i 's,${S},,g' ${D}${libdir}/ImageMagick-${BASE_PV}/config-Q16HDRI/configure.xml - sed -i 's,${B},,g' ${D}${libdir}/ImageMagick-${BASE_PV}/config-Q16HDRI/configure.xml - sed -i 's,${RECIPE_SYSROOT},,g' ${D}${libdir}/ImageMagick-${BASE_PV}/config-Q16HDRI/configure.xml - sed -i 's,${HOSTTOOLS_DIR},${bindir},g' ${D}${sysconfdir}/ImageMagick-7/delegates.xml + + if ${@bb.utils.contains('PACKAGECONFIG', 'cxx', 'true', 'false', d)}; then + sed -i 's,${STAGING_DIR_TARGET},,g' "${D}${bindir}/Magick++-config.im7" + fi + + if ${@bb.utils.contains('PACKAGECONFIG', 'xml', 'true', 'false', d)}; then + xml_config="${D}${libdir}/ImageMagick-${BASE_PV}/config-Q16HDRI/configure.xml" + sed -i 's,${S},,g' "$xml_config" + sed -i 's,${B},,g' "$xml_config" + sed -i 's,${RECIPE_SYSROOT},,g' "$xml_config" + fi + + if ${@bb.utils.contains_any('PACKAGECONFIG', 'webp openjpeg', 'true', 'false', d)}; then + sed -i 's,${HOSTTOOLS_DIR},${bindir},g' "${D}${sysconfdir}/ImageMagick-7/delegates.xml" + fi } FILES:${PN} += "${libdir}/ImageMagick-${BASE_PV}/config-Q16* \ -- cgit v1.2.3-54-g00ecf