[packages/ImageMagick/ImageMagick-6] Up to 6.9.13-59; fix FPX writer build; autotrace off by default (libautotrace links MagickCore-7); r
arekm
arekm at pld-linux.org
Thu Oct 15 21:51:08 CEST 2026
commit 086e08372cc01fc7491c8d9a99d36bad3eb7ad6f
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date: Thu Oct 15 21:50:21 2026 +0200
Up to 6.9.13-59; fix FPX writer build; autotrace off by default (libautotrace links MagickCore-7); run tests
fixes CVE-2025-55154, CVE-2026-34238 (32-bit), CVE-2026-106565, CVE-2026-106567, CVE-2026-106568
ImageMagick-fpx-throw.patch | 90 +++++++++++++++++++++++++++++++++++++++++++++
ImageMagick.spec | 20 +++++++---
2 files changed, 105 insertions(+), 5 deletions(-)
---
diff --git a/ImageMagick.spec b/ImageMagick.spec
index 6abd1ad..7331a7e 100644
--- a/ImageMagick.spec
+++ b/ImageMagick.spec
@@ -4,6 +4,7 @@
# https://www.imagemagick.org/discourse-server/viewtopic.php?f=4&t=26801
#
# Conditional build:
+%bcond_without tests # test suite
# - features:
%bcond_without cxx # Magick++ library
%bcond_without opencl # OpenCL computing support
@@ -19,11 +20,12 @@
%bcond_without openjpeg # JPEG2000 module (which uses openjpeg 2 library)
%bcond_without wmf # WMF module (which uses libwmf library)
# - module features:
-%bcond_without autotrace # Autotrace support in SVG module
+# libautotrace links libMagickCore-7, whose unversioned symbols interpose with MagickCore-6 in one process
+%bcond_with autotrace # no Autotrace support in SVG module
%define origname ImageMagick
%define ver 6.9.13
-%define pver 56
+%define pver 59
Summary: Image display, conversion, and manipulation under X
Summary(de.UTF-8): Darstellen, Konvertieren und Bearbeiten von Grafiken unter X
Summary(es.UTF-8): Exhibidor, convertidor y manipulador de imágenes bajo X
@@ -35,12 +37,12 @@ Summary(tr.UTF-8): X altında resim gösterme, çevirme ve değişiklik yapma
Summary(uk.UTF-8): Перегляд, конвертування та обробка зображень під X Window
Name: ImageMagick6
Version: %{ver}%{?pver:.%{pver}}
-Release: 2
+Release: 1
Epoch: 1
License: Apache-like
Group: X11/Applications/Graphics
Source0: https://download.imagemagick.org/archive/releases/%{origname}-%{ver}-%{pver}.tar.lz
-# Source0-md5: 3a6aa7bcc5853bcfd640aa689b2fc27a
+# Source0-md5: 969d2d242a963e04fada8fcda338c847
Patch1: %{origname}-link.patch
Patch2: %{origname}-libpath.patch
Patch3: %{origname}-ldflags.patch
@@ -48,9 +50,10 @@ Patch4: %{origname}-lt.patch
Patch6: magick6.patch
Patch7: %{origname}-OpenCL.patch
+Patch8: %{origname}-fpx-throw.patch
URL: https://legacy.imagemagick.org/
%{?with_opencl:BuildRequires: OpenCL-devel}
-BuildRequires: OpenEXR-devel >= 1.0.6
+%{?with_exr:BuildRequires: OpenEXR-devel >= 1.0.6}
BuildRequires: autoconf >= 2.69
BuildRequires: automake >= 1:1.12
%{?with_autotrace:BuildRequires: autotrace-devel >= 0.31.2}
@@ -720,6 +723,7 @@ Moduł kodera dla plików WMF.
%patch -P4 -p1
%patch -P6 -p1
%patch -P7 -p1
+%patch -P8 -p1
find -type f | xargs grep -l '/usr/local/bin/perl' | xargs %{__sed} -i -e 's=!/usr/local/bin/perl=!%{__perl}='
@@ -747,9 +751,11 @@ touch www/Magick++/NEWS.html www/Magick++/ChangeLog.html
--with-dps=no \
--with-fftw \
--with-fpx%{!?with_fpx:=no} \
+ --with-flif \
--with-gs-font-dir=%{_fontsdir}/Type1 \
--with-gslib%{!?with_gs:=no} \
--with-gvc%{!?with_graphviz:=no} \
+ --with-heic \
--with-magick_plus_plus%{!?with_cxx:=no} \
--with-openexr%{!?with_exr:=no} \
--with-openjp2%{!?with_openjpeg:=no} \
@@ -766,6 +772,8 @@ touch www/Magick++/NEWS.html www/Magick++/ChangeLog.html
%{__make} -j1
%{__sed} -i -e 's,/%{origname}-%{ver}/,/%{name}-doc-%{version}/,' utilities/*.1
+%{?with_tests:%{__make} LOG_COMPILER="%__bash" check}
+
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-perl-%{version}
@@ -1083,11 +1091,13 @@ rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{modulesdir}/coders/dng.so
%{modulesdir}/coders/dng.la
+%if %{with graphviz}
%files coder-dot
%defattr(644,root,root,755)
# R: graphviz, gd
%attr(755,root,root) %{modulesdir}/coders/dot.so
%{modulesdir}/coders/dot.la
+%endif
%if %{with exr}
%files coder-exr
diff --git a/ImageMagick-fpx-throw.patch b/ImageMagick-fpx-throw.patch
new file mode 100644
index 0000000..285348b
--- /dev/null
+++ b/ImageMagick-fpx-throw.patch
@@ -0,0 +1,90 @@
+# ImageMagick6 f4454af87ec1 calls an undefined ThrowFPXrException; the macro it defines is ThrowFPXException
+--- ImageMagick-6.9.13-59/coders/fpx.c.orig
++++ ImageMagick-6.9.13-59/coders/fpx.c
+@@ -886,7 +886,7 @@
+ memory_limit=20000000;
+ fpx_status=FPX_SetToolkitMemoryLimit(&memory_limit);
+ if (fpx_status != FPX_OK)
+- ThrowFPXrException(DelegateError,"UnableToInitializeFPXLibrary");
++ ThrowFPXException(DelegateError,"UnableToInitializeFPXLibrary");
+ tile_width=64;
+ tile_height=64;
+ colorspace.numberOfComponents=3;
+@@ -930,7 +930,7 @@
+ fpx_status=FPX_SetJPEGCompression(flashpix,(unsigned short)
+ image->quality == UndefinedCompressionQuality ? 75 : image->quality);
+ if (fpx_status != FPX_OK)
+- ThrowFPXrException(DelegateError,"UnableToSetJPEGLevel");
++ ThrowFPXException(DelegateError,"UnableToSetJPEGLevel");
+ }
+ /*
+ Set image summary info.
+@@ -952,7 +952,7 @@
+ summary_info.title.ptr=(unsigned char *) AcquireQuantumMemory(
+ length+MaxTextExtent,sizeof(*summary_info.title.ptr));
+ if (summary_info.title.ptr == (unsigned char *) NULL)
+- ThrowFPXrException(DelegateError,"UnableToSetImageTitle");
++ ThrowFPXException(DelegateError,"UnableToSetImageTitle");
+ (void) CopyMagickString((char *) summary_info.title.ptr,label,
+ MaxTextExtent);
+ }
+@@ -968,13 +968,13 @@
+ }
+ fpx_status=FPX_SetSummaryInformation(flashpix,&summary_info);
+ if (fpx_status != FPX_OK)
+- ThrowFPXrException(DelegateError,"UnableToSetSummaryInfo");
++ ThrowFPXException(DelegateError,"UnableToSetSummaryInfo");
+ /*
+ Initialize FlashPix image description.
+ */
+ quantum_info=AcquireQuantumInfo(image_info,image);
+ if (quantum_info == (QuantumInfo *) NULL)
+- ThrowFPXrException(ResourceLimitError,"MemoryAllocationFailed");
++ ThrowFPXException(ResourceLimitError,"MemoryAllocationFailed");
+ pixels=GetQuantumPixels(quantum_info);
+ fpx_info.numberOfComponents=(unsigned int) colorspace.numberOfComponents;
+ for (i=0; i < (ssize_t) fpx_info.numberOfComponents; i++)
+@@ -1113,37 +1113,37 @@
+ {
+ fpx_status=FPX_SetImageAffineMatrix(flashpix,&affine);
+ if (fpx_status != FPX_OK)
+- ThrowFPXrException(DelegateError,"UnableToSetAffineMatrix");
++ ThrowFPXException(DelegateError,"UnableToSetAffineMatrix");
+ }
+ if (aspect_ratio_valid != MagickFalse)
+ {
+ fpx_status=FPX_SetImageResultAspectRatio(flashpix,&aspect_ratio);
+ if (fpx_status != FPX_OK)
+- ThrowFPXrException(DelegateError,"UnableToSetAspectRatio");
++ ThrowFPXException(DelegateError,"UnableToSetAspectRatio");
+ }
+ if (color_twist_valid != MagickFalse)
+ {
+ fpx_status=FPX_SetImageColorTwistMatrix(flashpix,&color_twist);
+ if (fpx_status != FPX_OK)
+- ThrowFPXrException(DelegateError,"UnableToSetColorTwist");
++ ThrowFPXException(DelegateError,"UnableToSetColorTwist");
+ }
+ if (contrast_valid != MagickFalse)
+ {
+ fpx_status=FPX_SetImageContrastAdjustment(flashpix,&contrast);
+ if (fpx_status != FPX_OK)
+- ThrowFPXrException(DelegateError,"UnableToSetContrast");
++ ThrowFPXException(DelegateError,"UnableToSetContrast");
+ }
+ if (sharpen_valid != MagickFalse)
+ {
+ fpx_status=FPX_SetImageFilteringValue(flashpix,&sharpen);
+ if (fpx_status != FPX_OK)
+- ThrowFPXrException(DelegateError,"UnableToSetFilteringValue");
++ ThrowFPXException(DelegateError,"UnableToSetFilteringValue");
+ }
+ if (view_rect_valid != MagickFalse)
+ {
+ fpx_status=FPX_SetImageROI(flashpix,&view_rect);
+ if (fpx_status != FPX_OK)
+- ThrowFPXrException(DelegateError,"UnableToSetRegionOfInterest");
++ ThrowFPXException(DelegateError,"UnableToSetRegionOfInterest");
+ }
+ }
+ (void) FPX_CloseImage(flashpix);
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/ImageMagick.git/commitdiff/086e08372cc01fc7491c8d9a99d36bad3eb7ad6f
More information about the pld-cvs-commit
mailing list