From f0c6823252fcb6e5ef5386049dcf03b76ea2f8cb Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Mar 31 2020 09:37:28 +0000 Subject: import ImageMagick-6.9.10.68-3.el7 --- diff --git a/.ImageMagick.metadata b/.ImageMagick.metadata index 7acbdad..2861015 100644 --- a/.ImageMagick.metadata +++ b/.ImageMagick.metadata @@ -1 +1 @@ -531a150014119573a04eed28df6192137f4799bc SOURCES/ImageMagick-6.7.8-9.tar.xz +ed27964d872abc81dc2388d333874766058a9b5d SOURCES/ImageMagick-6.9.10-68.tar.xz diff --git a/.gitignore b/.gitignore index d76ba4f..1e383b2 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/ImageMagick-6.7.8-9.tar.xz +SOURCES/ImageMagick-6.9.10-68.tar.xz diff --git a/SOURCES/0001-Fix-CVE-2014-1947-CVE-2014-2030.patch b/SOURCES/0001-Fix-CVE-2014-1947-CVE-2014-2030.patch deleted file mode 100644 index 703a255..0000000 --- a/SOURCES/0001-Fix-CVE-2014-1947-CVE-2014-2030.patch +++ /dev/null @@ -1,49 +0,0 @@ -From b78822716fd79b380ddce5cbe23ce82d08e1df96 Mon Sep 17 00:00:00 2001 -From: cristy -Date: Thu, 14 Nov 2013 12:36:55 +0000 -Subject: [PATCH] Fix CVE-2014-1947, CVE-2014-2030 - -Upstream commit: r13736 - -Make layer_name large enough so that an overflow does not occur if -there are more than 99 layers. ---- - coders/psd.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/coders/psd.c b/coders/psd.c -index 3c0b938..5c23992 100644 ---- a/coders/psd.c -+++ b/coders/psd.c -@@ -2101,9 +2101,6 @@ static MagickBooleanType WritePSDImage(const ImageInfo *image_info,Image *image) - StringInfo - *bim_profile; - -- unsigned char -- layer_name[4]; -- - /* - Open image file. - */ -@@ -2361,12 +2358,15 @@ static MagickBooleanType WritePSDImage(const ImageInfo *image_info,Image *image) - property=(const char *) GetImageProperty(next_image,"label"); - if (property == (const char *) NULL) - { -+ char -+ layer_name[MaxTextExtent]; -+ - (void) WriteBlobMSBLong(image,16); - (void) WriteBlobMSBLong(image,0); - (void) WriteBlobMSBLong(image,0); -- (void) FormatLocaleString((char *) layer_name,MaxTextExtent, -- "L%06ld",(long) layer_count++); -- WritePascalString( image, (char*)layer_name, 4 ); -+ (void) FormatLocaleString(layer_name,MaxTextExtent,"L%06ld",(long) -+ layer_count++); -+ WritePascalString(image,layer_name,4); - } - else - { --- -1.8.3.1 - diff --git a/SOURCES/0001-Fix-man-page-scan-results.patch b/SOURCES/0001-Fix-man-page-scan-results.patch deleted file mode 100644 index 1434036..0000000 --- a/SOURCES/0001-Fix-man-page-scan-results.patch +++ /dev/null @@ -1,867 +0,0 @@ -From d4e135d9d0190e2949b17004598128d5f02a3603 Mon Sep 17 00:00:00 2001 -From: Fedora ImageMagick maintainers -Date: Thu, 25 Jul 2013 15:20:37 +0200 -Subject: [PATCH] Fix man page scan results - ---- - utilities/animate.1.in | 5 +++++ - utilities/compare.1.in | 6 ++++++ - utilities/composite.1.in | 10 ++++++++++ - utilities/convert.1.in | 30 ++++++++++++++++++++++++++++-- - utilities/display.1.in | 7 +++++++ - utilities/identify.1.in | 7 ++++++- - utilities/import.1.in | 2 ++ - utilities/mogrify.1.in | 43 ++++++++++++++++++++++++++++++++++++++----- - utilities/montage.1.in | 11 +++++++++++ - utilities/stream.1.in | 2 ++ - wand/animate.c | 3 +++ - wand/compare.c | 2 ++ - wand/composite.c | 2 ++ - wand/convert.c | 2 ++ - wand/display.c | 3 +++ - wand/identify.c | 4 ++++ - wand/import.c | 1 + - wand/mogrify.c | 12 ++++++++++++ - wand/montage.c | 4 +++- - 19 files changed, 147 insertions(+), 9 deletions(-) - -diff --git a/utilities/animate.1.in b/utilities/animate.1.in -index 14245c0..1b73ee6 100644 ---- a/utilities/animate.1.in -+++ b/utilities/animate.1.in -@@ -10,6 +10,8 @@ The \fBanimate\fP program is a member of the ImageMagick(1) suite of tools. Use - For more information about the animate command, point your browser to file://@DOCUMENTATION_PATH@/www/animate.html or http://www.imagemagick.org/script/animate.php. - .SH DESCRIPTION - Image Settings: -+ \-alpha option on, activate, off, deactivate, set, opaque, copy -+ transparent, extract, background, or shape - \-authenticate value decrypt image with this password - \-backdrop display image centered on a backdrop - \-channel type apply option to select image channels -@@ -24,6 +26,7 @@ Image Settings: - \-display server display image to this X server - \-dispose method layer disposal method - \-dither method apply error diffusion to image -+ \-filter type use this filter when resizing an image - \-format "string" output formatted image characteristics - \-gamma value level of gamma correction - \-geometry geometry preferred size and location of the Image window -@@ -43,6 +46,7 @@ Image Settings: - \-quiet suppress all warning messages - \-regard-warnings pay attention to warning messages - \-remote command execute a command in an remote display process -+ \-respect-parentheses settings remain in effect until parenthesis boundary - \-sampling-factor geometry - horizontal and vertical sampling factor - \-scenes range image scene range -@@ -69,6 +73,7 @@ Image Operators: - \-resize geometry resize the image - \-rotate degrees apply Paeth rotation to the image - \-strip strip image of all profiles and comments -+ \-thumbnail geometry create a thumbnail of the image - \-trim trim image edges - - Image Sequence Operators: -diff --git a/utilities/compare.1.in b/utilities/compare.1.in -index 0c0f070..bc951a0 100644 ---- a/utilities/compare.1.in -+++ b/utilities/compare.1.in -@@ -10,6 +10,8 @@ The \fBcompare\fP program is a member of the ImageMagick(1) suite of tools. Use - For more information about the compare command, point your browser to file://@DOCUMENTATION_PATH@/www/compare.html or http://www.imagemagick.org/script/compare.php. - .SH DESCRIPTION - Image Settings: -+ \-alpha option on, activate, off, deactivate, set, opaque, copy -+ \ transparent, extract, background, or shape - \-authenticate value decrypt image with this password - \-channel type apply option to select image channels - \-colorspace type alternate image colorspace -@@ -20,6 +22,8 @@ Image Settings: - define one or more image format options - \-density geometry horizontal and vertical density of the image - \-depth value image depth -+ \-dissimilarity-threshold value -+ \ maximum distortion for (sub)image match - \-encipher filename convert plain pixels to cipher pixels - \-extract geometry extract area from image - \-format "string" output formatted image characteristics -@@ -33,11 +37,13 @@ Image Settings: - de-emphasize pixel differences with this color - \-metric type measure differences between images with this metric - \-monitor monitor progress -+ \-passphrase filename get the passphrase from this file - \-profile filename add, delete, or apply an image profile - \-quality value JPEG/MIFF/PNG compression level - \-quiet suppress all warning messages - \-quantize colorspace reduce colors in this colorspace - \-regard-warnings pay attention to warning messages -+ \-respect-parentheses settings remain in effect until parenthesis boundary - \-sampling-factor geometry - horizontal and vertical sampling factor - \-seed value seed a new sequence of pseudo-random numbers -diff --git a/utilities/composite.1.in b/utilities/composite.1.in -index 4f0eb73..dfa12ec 100644 ---- a/utilities/composite.1.in -+++ b/utilities/composite.1.in -@@ -11,6 +11,8 @@ For more information about the composite command, point your browser to file://@ - .SH DESCRIPTION - Image Settings: - \-affine matrix affine transform matrix -+ \-alpha option on, activate, off, deactivate, set, opaque, copy -+ \ transparent, extract, background, or shape - \-authenticate value decrypt image with this password - \-blue-primary point chromaticity blue primary point - \-channel type apply option to select image channels -@@ -46,6 +48,7 @@ Image Settings: - \-quiet suppress all warning messages - \-red-primary point chromaticity red primary point - \-regard-warnings pay attention to warning messages -+ \-respect-parentheses settings remain in effect until parenthesis boundary - \-sampling-factor geometry - horizontal and vertical sampling factor - \-scene value image scene number -@@ -66,9 +69,12 @@ Image Settings: - - Image Operators: - \-blend geometry blend images -+ \-border geometry surround image with a border of color -+ \-bordercolor color border color - \-colors value preferred number of colors in the image - \-displace geometry shift image pixels defined by a displacement map - \-dissolve value dissolve the two images a given percent -+ \-distort geometry shift lookup according to a absolute distortion map - \-extract geometry extract area from image - \-geometry geometry location of the composite image - \-identify identify the format and characteristics of the image -@@ -80,6 +86,7 @@ Image Operators: - \-rotate degrees apply Paeth rotation to the image - \-resize geometry resize the image - \-sharpen geometry sharpen the image -+ \-shave geometry shave pixels from the image edges - \-stegano offset hide watermark within an image - \-stereo combine two image to create a stereo anaglyph - \-strip strip image of all profiles and comments -@@ -90,6 +97,9 @@ Image Operators: - \-watermark geometry percent brightness and saturation of a watermark - \-write filename write images to this file - -+Image Stack Operators: -+ \-swap indexes swap two images in the image sequence -+ - Miscellaneous Options: - \-debug events display copious debugging information - \-help print program options -diff --git a/utilities/convert.1.in b/utilities/convert.1.in -index 721c2b6..65882cc 100644 ---- a/utilities/convert.1.in -+++ b/utilities/convert.1.in -@@ -12,8 +12,10 @@ For more information about the convert command, point your browser to file://@DO - Image Settings: - \-adjoin join images into a single multi-image file - \-affine matrix affine transform matrix -+ \-alpha option activate, deactivate, reset, or set the alpha channel - \-antialias remove pixel-aliasing - \-authenticate value decrypt image with this password -+ \-attenuate value lessen (or intensify) when adding noise to an image - \-background color background color - \-bias value add bias when convolving an image - \-black-point-compensation -@@ -53,7 +55,11 @@ Image Settings: - \-green-primary point chromaticity green primary point - \-intent type type of rendering intent when managing the image color - \-interlace type type of image interlacing scheme -+ \-interline-spacing value -+ \ set the space between two text lines - \-interpolate method pixel color interpolation method -+ \-interword-spacing value -+ \ set the space between two words - \-kerning value set the space between two letters - \-label string assign a label to an image - \-limit type value pixel cache resource limit -@@ -63,15 +69,17 @@ Image Settings: - \-mattecolor color frame color - \-monitor monitor progress - \-orient type image orientation -- \-origin geometry image origin - \-page geometry size and location of an image canvas (setting) - \-ping efficiently determine image attributes - \-pointsize value font point size -+ \-precision value maximum number of significant digits to print - \-preview type image preview type - \-quality value JPEG/MIFF/PNG compression level - \-quiet suppress all warning messages - \-red-primary point chromaticity red primary point - \-regard-warnings pay attention to warning messages -+ \-remap filename transform image colors to match this set of colors -+ \-respect-parentheses settings remain in effect until parenthesis boundary - \-sampling-factor geometry - horizontal and vertical sampling factor - \-scene value image scene number -@@ -110,13 +118,20 @@ Image Operators: - adaptively sharpen pixels; increase effect near edges - \-annotate geometry text - annotate the image with text -+ \-auto-gamma automagically adjust gamma level of image -+ \-auto-level automagically adjust color levels of image - \-auto-orient automatically orient image -+ \-bench iterations measure performance - \-black-threshold value - force all pixels below the threshold into black -+ \-blue-shift factor simulate a scene at nighttime in the moonlight - \-blur geometry reduce image noise and reduce detail levels - \-border geometry surround image with a border of color -+ \-brightness-contrast geometry -+ \ improve brightness / contrast of the image - \-charcoal radius simulate a charcoal drawing - \-chop geometry remove pixels from the image interior -+ \-clamp restrict pixel range from 0 to the quantum depth - \-clip clip along the first path from the 8BIM profile - \-clip-mask filename associate a clip mask with the image - \-clip-path id clip along a named path from the 8BIM profile -@@ -128,7 +143,10 @@ Image Operators: - \-convolve coefficients - apply a convolution kernel to the image - \-cycle amount cycle the image colormap -+ \-deskew threshold straighten an image - \-despeckle reduce the speckles within an image -+ \-distort method args -+ \ distort images according to given method ad args - \-draw string annotate the image with a graphic primitive - \-edge radius apply a filter to detect edges in the image - \-emboss radius emboss an image -@@ -152,11 +170,17 @@ Image Operators: - \-identify identify the format and characteristics of the image - \-ift implements the inverse discrete Fourier transform (DFT) - \-implode amount implode image pixels about the center -+ \-interpolative-resize geometry -+ \ resize image using 'point sampled' interpolation - \-lat geometry local adaptive thresholding - \-layers method optimize or compare image layers - \-level value adjust the level of image contrast -+ \-level-colors color,color -+ \ level image with the given colors - \-linear-stretch geometry - improve contrast by `stretching with saturation' the intensity range -+ \-liquid-rescale geometry -+ \ rescale image with seam-carving - \-median geometry apply a median filter to the image - \-mode geometry make each pixel the 'predominant color' of the neighborhood - \-modulate value vary the brightness, saturation, and hue -@@ -205,6 +229,8 @@ Image Operators: - lightness rescaling using sigmoidal contrast enhancement - \-sketch geometry simulate a pencil sketch - \-solarize threshold negate all pixels above the threshold level -+ \-sparse-color method args -+ \ fill in a image based on a few color points - \-splice geometry splice the background color into the image - \-spread amount displace image pixels by a random amount - \-strip strip image of all profiles and comments -@@ -227,7 +253,6 @@ Image Operators: - force all pixels above the threshold into white - - Image Sequence Operators: -- \-affinity filename transform image colors to match this set of colors - \-append append an image sequence top to bottom (use +append for left to right) - \-clut apply a color lookup table to the image - \-coalesce merge a sequence of images -@@ -253,6 +278,7 @@ Image Stack Operators: - \-duplicate count,indexes - duplicate an image one or more times - \-insert index insert last image into the image sequence -+ \-reverse reverse image sequence - \-swap indexes swap two images in the image sequence - - Miscellaneous Options: -diff --git a/utilities/display.1.in b/utilities/display.1.in -index ebf1482..545cf5a 100644 ---- a/utilities/display.1.in -+++ b/utilities/display.1.in -@@ -10,6 +10,8 @@ The \fBdisplay\fP program is a member of the ImageMagick(1) suite of tools. Use - For more information about the display command, point your browser to file://@DOCUMENTATION_PATH@/www/display.html or http://www.imagemagick.org/script/display.php. - .SH DESCRIPTION - Image Settings: -+ \-alpha option on, activate, off, deactivate, set, opaque, copy -+ \ transparent, extract, background, or shape - \-antialias remove pixel-aliasing - \-authenticate value decrypt image with this password - \-backdrop display image centered on a backdrop -@@ -19,6 +21,7 @@ Image Settings: - \-comment string annotate image with comment - \-compress type type of pixel compression when writing the image - \-decipher filename convert cipher pixels to plain pixels -+ \-deskew threshold straighten an image - \-define format:option - define one or more image format options - \-delay value display the next image after pausing -@@ -52,6 +55,7 @@ Image Settings: - \-regard-warnings pay attention to warning messages - \-remote command execute a command in an remote display process - \-repage geometry size and location of an image canvas (operator) -+ \-respect-parentheses settings remain in effect until parenthesis boundary - \-sampling-factor geometry - horizontal and vertical sampling factor - \-scenes range image scene range -@@ -90,6 +94,7 @@ Image Operators: - \-gamma value level of gamma correction - \-monochrome transform image to black and white - \-negate replace each pixel with its complementary color -+ \-normalize transform image to span the full range of colors - \-raise value lighten/darken image edges to create a 3-D effect - \-resample geometry change the resolution of an image - \-resize geometry resize the image -@@ -99,6 +104,8 @@ Image Operators: - \-segment value segment an image - \-sharpen geometry sharpen the image - \-strip strip image of all profiles and comments -+ \-threshold value threshold the image -+ \-thumbnail geometry create a thumbnail of the image - \-trim trim image edges - - Image Sequence Operators: -diff --git a/utilities/identify.1.in b/utilities/identify.1.in -index 644592b..15c408a 100644 ---- a/utilities/identify.1.in -+++ b/utilities/identify.1.in -@@ -10,9 +10,12 @@ The \fBidentify\fP program is a member of the ImageMagick(1) suite of tools. It - For more information about the identify command, point your browser to file://@DOCUMENTATION_PATH@/www/identify.html or http://www.imagemagick.org/script/identify.php. - .SH DESCRIPTION - Image Settings: -+ \-alpha option on, activate, off, deactivate, set, opaque, copy -+ transparent, extract, background, or shape - \-antialias remove pixel-aliasing - \-authenticate value decrypt image with this password - \-channel type apply option to select image channels -+ \-colorspace type alternate image colorspace - \-crop geometry cut out a rectangular region of the image - \-define format:option - define one or more image format options -@@ -23,6 +26,7 @@ Image Settings: - \-features distance analyze image features (e.g. contrast, correlation) - \-format "string" output formatted image characteristics - \-fuzz distance colors within this distance are considered equal -+ \-gamma value of gamma correction - \-interlace type type of image interlacing scheme - \-interpolate method pixel color interpolation method - \-limit type value pixel cache resource limit -@@ -33,6 +37,7 @@ Image Settings: - \-ping efficiently determine image attributes - \-quiet suppress all warning messages - \-regard-warnings pay attention to warning messages -+ \-respect-parentheses settings remain in effect until parenthesis boundary - \-sampling-factor geometry - horizontal and vertical sampling factor - \-seed value seed a new sequence of pseudo-random numbers -@@ -51,8 +56,8 @@ Image Operators: - Miscellaneous Options: - \-debug events display copious debugging information - \-help print program options -- \-log format format of debugging information - \-list type print a list of supported option arguments -+ \-log format format of debugging information - \-version print version information - - By default, the image format of `file' is determined by its magic number. To specify a particular image format, precede the filename with an image format name and a colon (i.e. ps:image) or specify the image type as the filename suffix (i.e. image.ps). Specify 'file' as '-' for standard input or output. -diff --git a/utilities/import.1.in b/utilities/import.1.in -index e84dae5..d8ee780 100644 ---- a/utilities/import.1.in -+++ b/utilities/import.1.in -@@ -28,6 +28,7 @@ Image Settings: - \-encipher filename convert plain pixels to cipher pixels - \-endian type endianness (MSB or LSB) of the image - \-encoding type text encoding type -+ \-filter type use this filter when resizing an image - \-format "string" output formatted image characteristics - \-frame include window manager frame - \-gravity direction which direction to gravitate towards -@@ -43,6 +44,7 @@ Image Settings: - \-quality value JPEG/MIFF/PNG compression level - \-quiet suppress all warning messages - \-regard-warnings pay attention to warning messages -+ \-respect-parentheses settings remain in effect until parenthesis boundary - \-sampling-factor geometry - horizontal and vertical sampling factor - \-scene value image scene number -diff --git a/utilities/mogrify.1.in b/utilities/mogrify.1.in -index 83e61ab..b058c50 100644 ---- a/utilities/mogrify.1.in -+++ b/utilities/mogrify.1.in -@@ -12,8 +12,10 @@ For more information about the mogrify command, point your browser to file://@DO - Image Settings: - \-adjoin join images into a single multi-image file - \-affine matrix affine transform matrix -+ \-alpha option activate, deactivate, reset, or set the alpha channel - \-antialias remove pixel-aliasing - \-authenticate value decrypt image with this password -+ \-attenuate value lessen (or intensify) when adding noise to an image - \-background color background color - \-bias value add bias when convolving an image - \-black-point-compensation -@@ -54,7 +56,9 @@ Image Settings: - \-green-primary point chromaticity green primary point - \-intent type type of rendering intent when managing the image color - \-interlace type type of image interlacing scheme -+ \-interline-spacing value set the space between two text lines - \-interpolate method pixel color interpolation method -+ \-interword-spacing value set the space between two words - \-kerning value set the space between two letters - \-label string assign a label to an image - \-limit type value pixel cache resource limit -@@ -66,16 +70,18 @@ Image Settings: - \-morphology method kernel - apply a morphology method to the image - \-orient type image orientation -- \-origin geometry image origin - \-page geometry size and location of an image canvas (setting) - \-path path write images to this path on disk - \-ping efficiently determine image attributes - \-pointsize value font point size -+ \-precision value maximum number of significant digits to print - \-preview type image preview type - \-quality value JPEG/MIFF/PNG compression level - \-quiet suppress all warning messages - \-red-primary point chromaticity red primary point - \-regard-warnings pay attention to warning messages -+ \-remap filename transform image colors to match this set of colors -+ \-respect-parentheses settings remain in effect until parenthesis boundary - \-sampling-factor geometry - horizontal and vertical sampling factor - \-scene value image scene number -@@ -85,7 +91,6 @@ Image Settings: - \-stroke color graphic primitive stroke color - \-strokewidth value graphic primitive stroke width - \-style type render text with this font style -- \-support factor resize support: > 1.0 is blurry, < 1.0 is sharp - \-synchronize synchronize image to storage device - \-taint declare the image as modified - \-texture filename name of texture to tile onto the image background -@@ -110,15 +115,26 @@ Image Operators: - adaptively resize image with data dependent triangulation - \-adaptive-sharpen geometry - adaptively sharpen pixels; increase effect near edges -+ \-alpha option on, activate, off, deactivate, set, opaque, copy -+ transparent, extract, background, or shape - \-annotate geometry text - annotate the image with text -- \-auto-orient automatically orient image -+ \-auto-gamma automagically adjust gamma level of image -+ \-auto-level automagically adjust color levels of image -+ \-auto-orient automagically orient (rotate) image -+ \-bench iterations measure performance - \-black-threshold value - force all pixels below the threshold into black -+ \-blue-shift simulate a scene at nighttime in the moonlight - \-blur geometry reduce image noise and reduce detail levels - \-border geometry surround image with a border of color -+ \-bordercolor color border color -+ \-brightness-contrast geometry -+ improve brightness / contrast of the image -+ \-cdl filename color correct with a color decision list - \-charcoal radius simulate a charcoal drawing - \-chop geometry remove pixels from the image interior -+ \-clamp restrict pixel range from 0 to the quantum depth - \-clip clip along the first path from the 8BIM profile - \-clip-mask filename associate a clip mask with the image - \-clip-path id clip along a named path from the 8BIM profile -@@ -130,9 +146,14 @@ Image Operators: - \-convolve coefficients - apply a convolution kernel to the image - \-cycle amount cycle the image colormap -+ \-decipher filename convert cipher pixels to plain pixels -+ \-deskew threshold straighten an image - \-despeckle reduce the speckles within an image -+ \-distort method args -+ distort images according to given method ad args - \-draw string annotate the image with a graphic primitive - \-edge radius apply a filter to detect edges in the image -+ \-encipher filename convert plain pixels to cipher pixels - \-emboss radius emboss an image - \-enhance apply a digital filter to enhance a noisy image - \-equalize perform histogram equalization to an image -@@ -140,29 +161,38 @@ Image Operators: - evaluate an arithmetic, relational, or logical expression - \-extent geometry set the image size - \-extract geometry extract area from image -+ \-features distance analyze image features (e.g. contrast, correlation) - \-fft implements the discrete Fourier transform (DFT) - \-flip flip image vertically - \-floodfill geometry color - floodfill the image with color - \-flop flop image horizontally - \-frame geometry surround image with an ornamental border -+ \-function name parameters -+ apply function over image values - \-gamma value level of gamma correction - \-gaussian-blur geometry - reduce image noise and reduce detail levels - \-geometry geometry preferred size or location of the image -- \-ift implements the inverse discrete Fourier transform (DFT) - \-help print program options - \-identify identify the format and characteristics of the image -+ \-ift implements the inverse discrete Fourier transform (DFT) - \-implode amount implode image pixels about the center - \-lat geometry local adaptive thresholding -- \-layers method optimize or compare image layers -+ \-layers method optimize, merge, or compare image layers - \-level value adjust the level of image contrast -+ \-level-colors color,color -+ level image with the given colors - \-linear-stretch geometry - improve contrast by `stretching with saturation' the intensity range -+ \-liquid-rescale geometry -+ rescale image with seam-carving - \-median geometry apply a median filter to the image - \-mode geometry make each pixel the 'predominant color' of the neighborhood - \-modulate value vary the brightness, saturation, and hue - \-monochrome transform image to black and white -+ \-morphology method kernel -+ apply a morphology method to the image - \-motion-blur geometry - simulate motion blur - \-negate replace each pixel with its complementary color -@@ -205,6 +235,8 @@ Image Operators: - lightness rescaling using sigmoidal contrast enhancement - \-sketch geometry simulate a pencil sketch - \-solarize threshold negate all pixels above the threshold level -+ \-sparse-color method args -+ fill in a image based on a few color points - \-splice geometry splice the background color into the image - \-spread amount displace image pixels by a random amount - \-statistic type geometry -@@ -254,6 +286,7 @@ Image Stack Operators: - \-duplicate count,indexes - duplicate an image one or more times - \-insert index insert last image into the image sequence -+ \-reverse reverse image sequence - \-swap indexes swap two images in the image sequence - - Miscellaneous Options: -diff --git a/utilities/montage.1.in b/utilities/montage.1.in -index c10268f..81099da 100644 ---- a/utilities/montage.1.in -+++ b/utilities/montage.1.in -@@ -12,9 +12,12 @@ For more information about the montage command, point your browser to file://@DO - Image Settings: - \-adjoin join images into a single multi-image file - \-affine matrix affine transform matrix -+ \-alpha option on, activate, off, deactivate, set, opaque, copy -+ \ transparent, extract, background, or shape - \-authenticate value decrypt image with this password - \-blue-primary point chromaticity blue primary point - \-bordercolor color border color -+ \-caption string assign a caption to an image - \-channel type apply option to select image channels - \-colors value preferred number of colors in the image - \-colorspace type alternate image colorsapce -@@ -50,6 +53,7 @@ Image Settings: - \-mattecolor color frame color - \-mode type framing style - \-monitor monitor progress -+ \-origin geometry image origin - \-page geometry size and location of an image canvas (setting) - \-pointsize value font point size - \-profile filename add, delete, or apply an image profile -@@ -58,6 +62,7 @@ Image Settings: - \-quiet suppress all warning messages - \-red-primary point chromaticity red primary point - \-regard-warnings pay attention to warning messages -+ \-respect-parentheses settings remain in effect until parenthesis boundary - \-sampling-factor geometry - horizontal and vertical sampling factor - \-scenes range image scene range -@@ -68,6 +73,7 @@ Image Settings: - \-stroke color color to use when stroking a graphic primitive - \-support factor resize support: > 1.0 is blurry, < 1.0 is sharp - \-synchronize synchronize image to storage device -+ \-taint declare the image as modified - \-texture filename name of texture to tile onto the image background - \-thumbnail geometry create a thumbnail of the image - \-tile geometry number of tiles per row and column -@@ -87,9 +93,11 @@ Image Operators: - adaptively sharpen pixels; increase effect near edges - \-annotate geometry text - annotate the image with text -+ \-auto-orient automagically orient image - \-blur geometry reduce image noise and reduce detail levels - \-border geometry surround image with a border of color - \-crop geometry preferred size and location of the cropped image -+ \-extent geometry set the image size - \-flatten flatten a sequence of images - \-flip flip image in the vertical direction - \-flop flop image in the horizontal direction -@@ -101,12 +109,14 @@ Image Operators: - \-rotate degrees apply Paeth rotation to the image - \-strip strip image of all profiles and comments - \-transform affine transform image -+ \-transpose flip image vertically and rotate 90 degrees - \-transparent color make this color transparent within the image - \-type type image type - \-unsharp geometry sharpen the image - - Image Sequence Operators: - \-coalesce merge a sequence of images -+ \-composite composite image - - Image Stack Operators: - \-clone indexes clone an image -@@ -114,6 +124,7 @@ Image Stack Operators: - \-duplicate count,indexes - duplicate an image one or more times - \-insert index insert last image into the image sequence -+ \-reverse reverse image sequence - \-swap indexes swap two images in the image sequence - - Miscellaneous Options: -diff --git a/utilities/stream.1.in b/utilities/stream.1.in -index a0ed253..f1f615c 100644 ---- a/utilities/stream.1.in -+++ b/utilities/stream.1.in -@@ -28,6 +28,7 @@ Image Settings: - \-quantize colorspace reduce colors in this colorspace - \-quiet suppress all warning messages - \-regard-warnings pay attention to warning messages -+ \-respect-parentheses settings remain in effect until parenthesis boundary - \-sampling-factor geometry - horizontal and vertical sampling factor - \-seed value seed a new sequence of pseudo-random numbers -@@ -35,6 +36,7 @@ Image Settings: - \-size geometry width and height of image - \-storage-type type pixel storage type - \-synchronize synchronize image to storage device -+ \-taint declare the image as modified - \-transparent-color color - transparent color - \-verbose print detailed information about the image -diff --git a/wand/animate.c b/wand/animate.c -index c400052..e115106 100644 ---- a/wand/animate.c -+++ b/wand/animate.c -@@ -155,6 +155,7 @@ static MagickBooleanType AnimateUsage(void) - "-interpolate method pixel color interpolation method", - "-limit type value pixel cache resource limit", - "-loop iterations loop images then exit", -+ "-matte store matte channel if the image has one", - "-map type display image using this Standard Colormap", - "-monitor monitor progress", - "-pause seconds to pause before reanimating", -@@ -166,9 +167,11 @@ static MagickBooleanType AnimateUsage(void) - "-respect-parentheses settings remain in effect until parenthesis boundary", - "-sampling-factor geometry", - " horizontal and vertical sampling factor", -+ "-scenes range image scene range", - "-seed value seed a new sequence of pseudo-random numbers", - "-set attribute value set an image attribute", - "-size geometry width and height of image", -+ "-support factor resize support: > 1.0 is blurry, < 1.0 is sharp", - "-transparent-color color", - " transparent color", - "-treedepth value color tree depth", -diff --git a/wand/compare.c b/wand/compare.c -index 3b932bd..d1574f5 100644 ---- a/wand/compare.c -+++ b/wand/compare.c -@@ -138,6 +138,8 @@ static MagickBooleanType CompareUsage(void) - "-quality value JPEG/MIFF/PNG compression level", - "-size geometry width and height of image", - "-subimage-search search for subimage", -+ "-synchronize synchronize image to storage device", -+ "-taint declare the image as modified", - "-transparent-color color", - " transparent color", - "-type type image type", -diff --git a/wand/composite.c b/wand/composite.c -index 8be851d..bbc36d3 100644 ---- a/wand/composite.c -+++ b/wand/composite.c -@@ -304,6 +304,7 @@ static MagickBooleanType CompositeUsage(void) - "-interpolate method pixel color interpolation method", - "-label string assign a label to an image", - "-limit type value pixel cache resource limit", -+ "-matte store matte channel if the image has one", - "-monitor monitor progress", - "-page geometry size and location of an image canvas (setting)", - "-pointsize value font point size", -@@ -317,6 +318,7 @@ static MagickBooleanType CompositeUsage(void) - "-scene value image scene number", - "-seed value seed a new sequence of pseudo-random numbers", - "-size geometry width and height of image", -+ "-support factor resize support: > 1.0 is blurry, < 1.0 is sharp", - "-synchronize synchronize image to storage device", - "-taint declare the image as modified", - "-transparent-color color", -diff --git a/wand/convert.c b/wand/convert.c -index 1838fa7..d1fb504 100644 ---- a/wand/convert.c -+++ b/wand/convert.c -@@ -375,6 +375,7 @@ static MagickBooleanType ConvertUsage(void) - "-limit type value pixel cache resource limit", - "-loop iterations add Netscape loop extension to your GIF animation", - "-mask filename associate a mask with the image", -+ "-matte store matte channel if the image has one", - "-mattecolor color frame color", - "-monitor monitor progress", - "-orient type image orientation", -@@ -398,6 +399,7 @@ static MagickBooleanType ConvertUsage(void) - "-stroke color graphic primitive stroke color", - "-strokewidth value graphic primitive stroke width", - "-style type render text with this font style", -+ "-support factor resize support: > 1.0 is blurry, < 1.0 is sharp", - "-synchronize synchronize image to storage device", - "-taint declare the image as modified", - "-texture filename name of texture to tile onto the image background", -diff --git a/wand/display.c b/wand/display.c -index 9bd2bbf..a4ee63a 100644 ---- a/wand/display.c -+++ b/wand/display.c -@@ -185,6 +185,7 @@ static MagickBooleanType DisplayUsage(void) - "-limit type value pixel cache resource limit", - "-loop iterations loop images then exit", - "-map type display image using this Standard Colormap", -+ "-matte store matte channel if the image has one", - "-monitor monitor progress", - "-page geometry size and location of an image canvas", - "-profile filename add, delete, or apply an image profile", -@@ -197,9 +198,11 @@ static MagickBooleanType DisplayUsage(void) - "-respect-parentheses settings remain in effect until parenthesis boundary", - "-sampling-factor geometry", - " horizontal and vertical sampling factor", -+ "-scenes range image scene range", - "-seed value seed a new sequence of pseudo-random numbers", - "-set property value set an image property", - "-size geometry width and height of image", -+ "-support factor resize support: > 1.0 is blurry, < 1.0 is sharp", - "-texture filename name of texture to tile onto the image background", - "-transparent-color color", - " transparent color", -diff --git a/wand/identify.c b/wand/identify.c -index 441f591..afa0b68 100644 ---- a/wand/identify.c -+++ b/wand/identify.c -@@ -122,6 +122,7 @@ static MagickBooleanType IdentifyUsage(void) - "-crop geometry cut out a rectangular region of the image", - "-define format:option", - " define one or more image format options", -+ "-define unique=true return the number of unique colors in the image", - "-density geometry horizontal and vertical density of the image", - "-depth value image depth", - "-extract geometry extract area from image", -@@ -132,6 +133,9 @@ static MagickBooleanType IdentifyUsage(void) - "-interlace type type of image interlacing scheme", - "-interpolate method pixel color interpolation method", - "-limit type value pixel cache resource limit", -+ "-list type Color, Configure, Delegate, Format, Magic, Module,", -+ " Resource, or Type", -+ "-matte store matte channel if the image has one", - "-monitor monitor progress", - "-ping efficiently determine image attributes", - "-quiet suppress all warning messages", -diff --git a/wand/import.c b/wand/import.c -index 1cba0fc..8b0708e 100644 ---- a/wand/import.c -+++ b/wand/import.c -@@ -172,6 +172,7 @@ static MagickBooleanType ImportUsage(void) - "-set property value set an image property", - "-silent operate silently, i.e. don't ring any bells ", - "-snaps value number of screen snapshots", -+ "-support factor resize support: > 1.0 is blurry, < 1.0 is sharp", - "-synchronize synchronize image to storage device", - "-taint declare the image as modified", - "-transparent-color color", -diff --git a/wand/mogrify.c b/wand/mogrify.c -index 8b8ccc8..0957f58 100644 ---- a/wand/mogrify.c -+++ b/wand/mogrify.c -@@ -3359,6 +3359,7 @@ static MagickBooleanType MogrifyUsage(void) - "-gaussian-blur geometry", - " reduce image noise and reduce detail levels", - "-geometry geometry preferred size or location of the image", -+ "-help print program options", - "-identify identify the format and characteristics of the image", - "-ift implements the inverse discrete Fourier transform (DFT)", - "-implode amount implode image pixels about the center", -@@ -3447,6 +3448,7 @@ static MagickBooleanType MogrifyUsage(void) - }, - *sequence_operators[]= - { -+ "-affinity filename transform image colors to match this set of colors", - "-append append an image sequence", - "-clut apply a color lookup table to the image", - "-coalesce merge a sequence of images", -@@ -3484,12 +3486,14 @@ static MagickBooleanType MogrifyUsage(void) - "-blue-primary point chromaticity blue primary point", - "-bordercolor color border color", - "-caption string assign a caption to an image", -+ "-cdl filename color correct with a color decision list", - "-channel type apply option to select image channels", - "-colors value preferred number of colors in the image", - "-colorspace type alternate image colorspace", - "-comment string annotate image with comment", - "-compose operator set image composite operator", - "-compress type type of pixel compression when writing the image", -+ "-decipher filename convert cipher pixels to plain pixels", - "-define format:option", - " define one or more image format options", - "-delay value display the next image after pausing", -@@ -3499,13 +3503,17 @@ static MagickBooleanType MogrifyUsage(void) - "-display server get image or font from this X server", - "-dispose method layer disposal method", - "-dither method apply error diffusion to image", -+ "-encipher filename convert plain pixels to cipher pixels", - "-encoding type text encoding type", - "-endian type endianness (MSB or LSB) of the image", - "-family name render text with this font family", -+ "-features distance analyze image features (e.g. contrast, correlation)", - "-fill color color to use when filling a graphic primitive", - "-filter type use this filter when resizing an image", -+ "-flatten flatten a sequence of images", - "-font name render text with this font", - "-format \"string\" output formatted image characteristics", -+ "-function name apply a function to the image", - "-fuzz distance colors within this distance are considered equal", - "-gravity type horizontal and vertical text placement", - "-green-primary point chromaticity green primary point", -@@ -3521,10 +3529,14 @@ static MagickBooleanType MogrifyUsage(void) - "-limit type value pixel cache resource limit", - "-loop iterations add Netscape loop extension to your GIF animation", - "-mask filename associate a mask with the image", -+ "-matte store matte channel if the image has one", - "-mattecolor color frame color", - "-monitor monitor progress", -+ "-morphology method kernel", -+ " apply a morphology method to the image", - "-orient type image orientation", - "-page geometry size and location of an image canvas (setting)", -+ "-path path write images to this path on disk", - "-ping efficiently determine image attributes", - "-pointsize value font point size", - "-precision value maximum number of significant digits to print", -diff --git a/wand/montage.c b/wand/montage.c -index 5a615c8..912c469 100644 ---- a/wand/montage.c -+++ b/wand/montage.c -@@ -100,7 +100,7 @@ static MagickBooleanType MontageUsage(void) - { - "-adaptive-sharpen geometry", - " adaptively sharpen pixels; increase effect near edges", -- " annotate geometry text", -+ "-annotate geometry text", - " annotate the image with text", - "-auto-orient automagically orient image", - "-blur geometry reduce image noise and reduce detail levels", -@@ -166,6 +166,7 @@ static MagickBooleanType MontageUsage(void) - "-kerning value set the space between two letters", - "-label string assign a label to an image", - "-limit type value pixel cache resource limit", -+ "-matte store matte channel if the image has one", - "-mattecolor color frame color", - "-mode type framing style", - "-monitor monitor progress", -@@ -187,6 +188,7 @@ static MagickBooleanType MontageUsage(void) - "-shadow add a shadow beneath a tile to simulate depth", - "-size geometry width and height of image", - "-stroke color color to use when stroking a graphic primitive", -+ "-support factor resize support: > 1.0 is blurry, < 1.0 is sharp", - "-synchronize synchronize image to storage device", - "-taint declare the image as modified", - "-texture filename name of texture to tile onto the image background", --- -1.8.3.1 - diff --git a/SOURCES/0002-1303227-fix-exr-crash.patch b/SOURCES/0002-1303227-fix-exr-crash.patch deleted file mode 100644 index 7fc9c85..0000000 --- a/SOURCES/0002-1303227-fix-exr-crash.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up ImageMagick-6.7.8-9/coders/exr.c.exr-crash ImageMagick-6.7.8-9/coders/exr.c ---- ImageMagick-6.7.8-9/coders/exr.c.exr-crash 2016-02-02 16:47:39.442691507 +0100 -+++ ImageMagick-6.7.8-9/coders/exr.c 2016-02-02 16:48:41.241648194 +0100 -@@ -195,7 +195,7 @@ static Image *ReadEXRImage(const ImageIn - return((Image *) NULL); - } - hdr_info=ImfInputHeader(file); -- ImfHeaderDisplayWindow(hdr_info,&min_x,&min_y,&max_x,&max_y); -+ ImfHeaderDataWindow(hdr_info,&min_x,&min_y,&max_x,&max_y); - image->columns=max_x-min_x+1UL; - image->rows=max_y-min_y+1UL; - image->matte=MagickTrue; diff --git a/SOURCES/ImageMagick-cve-2016-3717.patch b/SOURCES/ImageMagick-cve-2016-3717.patch deleted file mode 100644 index eb013ae..0000000 --- a/SOURCES/ImageMagick-cve-2016-3717.patch +++ /dev/null @@ -1,134 +0,0 @@ -diff -up ImageMagick-6.7.8-9/config/delegates.xml.in.cve-2016-3717 ImageMagick-6.7.8-9/config/delegates.xml.in ---- ImageMagick-6.7.8-9/config/delegates.xml.in.cve-2016-3717 2012-06-26 14:23:25.000000000 +0200 -+++ ImageMagick-6.7.8-9/config/delegates.xml.in 2016-05-05 13:52:30.751570145 +0200 -@@ -85,11 +85,11 @@ - - - -- -+ - - - -- -+ - - - -@@ -109,11 +109,11 @@ - - - -- -+ - - - -- -+ - - - -diff -up ImageMagick-6.7.8-9/config/policy.xml.cve-2016-3717 ImageMagick-6.7.8-9/config/policy.xml ---- ImageMagick-6.7.8-9/config/policy.xml.cve-2016-3717 2012-03-03 02:18:13.000000000 +0100 -+++ ImageMagick-6.7.8-9/config/policy.xml 2016-05-05 14:08:15.249092848 +0200 -@@ -35,6 +35,10 @@ - - - -+ Let's prevent possible exploits by removing the right to use indirect reads. -+ -+ -+ - Any large image is cached to disk rather than memory: - - -@@ -55,4 +59,14 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - -diff -up ImageMagick-6.7.8-9/magick/property.c.cve-2016-3717 ImageMagick-6.7.8-9/magick/property.c ---- ImageMagick-6.7.8-9/magick/property.c.cve-2016-3717 2012-08-10 13:08:37.000000000 +0200 -+++ ImageMagick-6.7.8-9/magick/property.c 2016-05-05 13:52:30.752570145 +0200 -@@ -66,6 +66,7 @@ - #include "magick/monitor.h" - #include "magick/montage.h" - #include "magick/option.h" -+#include "magick/policy.h" - #include "magick/profile.h" - #include "magick/property.h" - #include "magick/quantum.h" -@@ -2357,6 +2358,29 @@ static const char *GetMagickPropertyLett - CommandOptionToMnemonic(MagickDisposeOptions,(ssize_t) image->dispose)); - break; - } -+ case 'F': -+ { -+ const char -+ *q; -+ -+ register char -+ *p; -+ -+ static char -+ whitelist[] = -+ "^-ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" -+ "+&@#/%?=~_|!:,.;()"; -+ -+ /* -+ * Magick filename (sanitized) - filename given incl. coder & read mods. -+ * */ -+ (void) CopyMagickString(value,image->magick_filename,MaxTextExtent); -+ p=value; -+ q=value+strlen(value); -+ for (p+=strspn(p,whitelist); p != q; p+=strspn(p,whitelist)) -+ *p='_'; -+ break; -+ } - case 'G': /* Image size as geometry = "%wx%h" */ - { - (void) FormatLocaleString(value,MaxTextExtent,"%.20gx%.20g",(double) -@@ -2943,16 +2967,23 @@ MagickExport char *InterpretImagePropert - if ((embed_text == (const char *) NULL) || (*embed_text == '\0')) - return((char *) NULL); - p=embed_text; -+ while ((isspace((int) ((unsigned char) *p)) != 0) && (*p != '\0')) -+ p++; -+ if (*p == '\0') -+ return(ConstantString("")); -+ -+ if ((*p == '@') && (IsPathAccessible(p+1) != MagickFalse)) -+ { -+ /* handle a '@' replace string from file */ -+ if (IsRightsAuthorized(PathPolicyDomain,ReadPolicyRights,p) == MagickFalse) -+ { -+ errno=EPERM; -+ (void) ThrowMagickException(&image->exception,GetMagickModule(), -+ PolicyError,"NotAuthorized","`%s'",p); -+ return(ConstantString("")); -+ } - -- /* handle a '@' replace string from file */ -- if (*p == '@') { -- p++; -- if (*p != '-' && (IsPathAccessible(p) == MagickFalse) ) { -- (void) ThrowMagickException(&image->exception,GetMagickModule(), -- OptionError,"UnableToAccessPath","%s",p); -- return((char *) NULL); -- } -- return(FileToString(p,~0,&image->exception)); -+ return(FileToString(p+1,~0,&image->exception)); - } - - /* diff --git a/SOURCES/ImageMagick-cve-2016-5240.patch b/SOURCES/ImageMagick-cve-2016-5240.patch deleted file mode 100644 index 9abb99f..0000000 --- a/SOURCES/ImageMagick-cve-2016-5240.patch +++ /dev/null @@ -1,47 +0,0 @@ -diff -up ImageMagick-6.7.8-9/magick/draw.c.svg-endless-loop ImageMagick-6.7.8-9/magick/draw.c ---- ImageMagick-6.7.8-9/magick/draw.c.svg-endless-loop 2012-07-30 14:28:56.000000000 +0200 -+++ ImageMagick-6.7.8-9/magick/draw.c 2016-06-03 13:54:20.337142553 +0200 -@@ -1569,7 +1569,7 @@ static MagickBooleanType DrawDashPolygon - status=MagickTrue; - maximum_length=0.0; - total_length=0.0; -- for (i=1; i < (ssize_t) number_vertices; i++) -+ for (i=1; (i < (ssize_t) number_vertices) && (length >= 0.0); i++) - { - dx=primitive_info[i].point.x-primitive_info[i-1].point.x; - dy=primitive_info[i].point.y-primitive_info[i-1].point.y; -@@ -1581,7 +1581,7 @@ static MagickBooleanType DrawDashPolygon - n=0; - length=scale*(draw_info->dash_pattern[n]+(n == 0 ? -0.5 : 0.5)); - } -- for (total_length=0.0; (total_length+length) <= maximum_length; ) -+ for (total_length=0.0; (length >= 0.0) && (total_length+length) <= maximum_length; ) - { - total_length+=length; - if ((n & 0x01) != 0) -@@ -2561,9 +2561,7 @@ MagickExport MagickBooleanType DrawImage - } - if (LocaleCompare("stroke-dasharray",keyword) == 0) - { -- if (graphic_context[n]->dash_pattern != (double *) NULL) -- graphic_context[n]->dash_pattern=(double *) -- RelinquishMagickMemory(graphic_context[n]->dash_pattern); -+ graphic_context[n]->dash_pattern = RelinquishMagickMemory(graphic_context[n]->dash_pattern); - if (IsPoint(q) != MagickFalse) - { - const char -@@ -2596,7 +2594,14 @@ MagickExport MagickBooleanType DrawImage - GetMagickToken(q,&q,token); - graphic_context[n]->dash_pattern[j]=StringToDouble(token, - (char **) NULL); -+ if (graphic_context[n]->dash_pattern[j] < 0.0) -+ status=MagickFalse; - } -+ if (status == MagickFalse) -+ { -+ graphic_context[n]->dash_pattern = RelinquishMagickMemory(graphic_context[n]->dash_pattern); -+ break; -+ } - if ((x & 0x01) != 0) - for ( ; j < (2*x); j++) - graphic_context[n]->dash_pattern[j]= diff --git a/SOURCES/ImageMagick-freeze-svg-empty-class.patch b/SOURCES/ImageMagick-freeze-svg-empty-class.patch new file mode 100644 index 0000000..4d5722b --- /dev/null +++ b/SOURCES/ImageMagick-freeze-svg-empty-class.patch @@ -0,0 +1,16 @@ +diff -up ImageMagick-6.9.10-68/coders/svg.c.freeze ImageMagick-6.9.10-68/coders/svg.c +--- ImageMagick-6.9.10-68/coders/svg.c.freeze 2019-11-11 12:30:05.611595848 +0100 ++++ ImageMagick-6.9.10-68/coders/svg.c 2019-11-11 12:28:36.574295494 +0100 +@@ -1679,6 +1679,12 @@ static void SVGStartElement(void *contex + value); + break; + } ++ else ++ { ++ // empty class name ++ (void) FormatLocaleFile(svg_info->file,"class \"\"\n"); ++ break; ++ } + } + break; + } diff --git a/SOURCES/ImageMagick-gnuplot-delegate-remove.diff b/SOURCES/ImageMagick-gnuplot-delegate-remove.diff deleted file mode 100644 index edc339b..0000000 --- a/SOURCES/ImageMagick-gnuplot-delegate-remove.diff +++ /dev/null @@ -1,141 +0,0 @@ -diff -up ImageMagick-6.7.8-9/config/delegates.xml.in.gnuplot-delegate-remove ImageMagick-6.7.8-9/config/delegates.xml.in ---- ImageMagick-6.7.8-9/config/delegates.xml.in.gnuplot-delegate-remove 2016-06-02 13:46:27.392910453 +0200 -+++ ImageMagick-6.7.8-9/config/delegates.xml.in 2016-06-02 13:52:15.161907901 +0200 -@@ -80,7 +80,6 @@ - - - -- - - - -diff -up ImageMagick-6.7.8-9/configure.ac.gnuplot-delegate-remove ImageMagick-6.7.8-9/configure.ac ---- ImageMagick-6.7.8-9/configure.ac.gnuplot-delegate-remove 2012-08-05 17:58:14.000000000 +0200 -+++ ImageMagick-6.7.8-9/configure.ac 2016-06-02 13:48:27.359909573 +0200 -@@ -3055,7 +3055,6 @@ FIGDecodeDelegateDefault='fig2dev' - ConvertDelegateDefault=`echo convert | sed ${configure_transform_name}` - DisplayDelegateDefault=`echo display | sed ${configure_transform_name}` - MogrifyDelegateDefault=`echo mogrify | sed ${configure_transform_name}` --GnuplotDecodeDelegateDefault='gnuplot' - HPGLDecodeDelegateDefault='hp2xx' - HTMLDecodeDelegateDefault='html2ps' - ILBMDecodeDelegateDefault='ilbmtoppm' -@@ -3107,7 +3106,6 @@ AC_PATH_PROG(FIGDecodeDelegate, "$FIGDec - AC_PATH_PROG(ConvertDelegate, "$ConvertDelegateDefault", "$ConvertDelegateDefault") - AC_PATH_PROG(DisplayDelegate, "$DisplayDelegateDefault", "$DisplayDelegateDefault") - AC_PATH_PROG(MogrifyDelegate, "$MogrifyDelegateDefault", "$MogrifyDelegateDefault") --AC_PATH_PROG(GnuplotDecodeDelegate, "$GnuplotDecodeDelegateDefault", "$GnuplotDecodeDelegateDefault") - AC_PATH_PROG(HPGLDecodeDelegate, "$HPGLDecodeDelegateDefault", "$HPGLDecodeDelegateDefault") - AC_PATH_PROG(HTMLDecodeDelegate, "$HTMLDecodeDelegateDefault", "$HTMLDecodeDelegateDefault") - AC_PATH_PROG(ILBMDecodeDelegate, "$ILBMDecodeDelegateDefault", "$ILBMDecodeDelegateDefault") -@@ -3273,7 +3271,6 @@ if test "$with_frozenpaths" != 'yes'; th - EchoDelegate="$EchoDelegateDefault" - EditorDelegate="$EditorDelegateDefault" - FIGDecodeDelegate="$FIGDecodeDelegateDefault" -- GnuplotDecodeDelegate="$GnuplotDecodeDelegateDefault" - HPGLDecodeDelegate="$HPGLDecodeDelegateDefault" - HTMLDecodeDelegate="$HTMLDecodeDelegateDefault" - ILBMDecodeDelegate="$ILBMDecodeDelegateDefault" -@@ -3318,7 +3315,6 @@ AC_SUBST(DVIDecodeDelegate) - AC_SUBST(EchoDelegate) - AC_SUBST(EditorDelegate) - AC_SUBST(FIGDecodeDelegate) --AC_SUBST(GnuplotDecodeDelegate) - AC_SUBST(HPGLDecodeDelegate) - AC_SUBST(HTMLDecodeDelegate) - AC_SUBST(ILBMDecodeDelegate) -diff -up ImageMagick-6.7.8-9/configure.gnuplot-delegate-remove ImageMagick-6.7.8-9/configure ---- ImageMagick-6.7.8-9/configure.gnuplot-delegate-remove 2016-06-02 13:46:27.368910453 +0200 -+++ ImageMagick-6.7.8-9/configure 2016-06-02 13:50:26.856908696 +0200 -@@ -725,7 +725,6 @@ ILBMEncodeDelegate - ILBMDecodeDelegate - HTMLDecodeDelegate - HPGLDecodeDelegate --GnuplotDecodeDelegate - MogrifyDelegate - DisplayDelegate - ConvertDelegate -@@ -32794,7 +32793,6 @@ FIGDecodeDelegateDefault='fig2dev' - ConvertDelegateDefault=`echo convert | sed ${configure_transform_name}` - DisplayDelegateDefault=`echo display | sed ${configure_transform_name}` - MogrifyDelegateDefault=`echo mogrify | sed ${configure_transform_name}` --GnuplotDecodeDelegateDefault='gnuplot' - HPGLDecodeDelegateDefault='hp2xx' - HTMLDecodeDelegateDefault='html2ps' - ILBMDecodeDelegateDefault='ilbmtoppm' -@@ -33445,48 +33443,6 @@ else - $as_echo "no" >&6; } - fi - -- --# Extract the first word of ""$GnuplotDecodeDelegateDefault"", so it can be a program name with args. --set dummy "$GnuplotDecodeDelegateDefault"; ac_word=$2 --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 --$as_echo_n "checking for $ac_word... " >&6; } --if ${ac_cv_path_GnuplotDecodeDelegate+:} false; then : -- $as_echo_n "(cached) " >&6 --else -- case $GnuplotDecodeDelegate in -- [\\/]* | ?:[\\/]*) -- ac_cv_path_GnuplotDecodeDelegate="$GnuplotDecodeDelegate" # Let the user override the test with a path. -- ;; -- *) -- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -- ac_cv_path_GnuplotDecodeDelegate="$as_dir/$ac_word$ac_exec_ext" -- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -- break 2 -- fi --done -- done --IFS=$as_save_IFS -- -- test -z "$ac_cv_path_GnuplotDecodeDelegate" && ac_cv_path_GnuplotDecodeDelegate=""$GnuplotDecodeDelegateDefault"" -- ;; --esac --fi --GnuplotDecodeDelegate=$ac_cv_path_GnuplotDecodeDelegate --if test -n "$GnuplotDecodeDelegate"; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GnuplotDecodeDelegate" >&5 --$as_echo "$GnuplotDecodeDelegate" >&6; } --else -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 --$as_echo "no" >&6; } --fi -- -- - # Extract the first word of ""$HPGLDecodeDelegateDefault"", so it can be a program name with args. - set dummy "$HPGLDecodeDelegateDefault"; ac_word=$2 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -@@ -34783,7 +34739,6 @@ if test "$with_frozenpaths" != 'yes'; th - EchoDelegate="$EchoDelegateDefault" - EditorDelegate="$EditorDelegateDefault" - FIGDecodeDelegate="$FIGDecodeDelegateDefault" -- GnuplotDecodeDelegate="$GnuplotDecodeDelegateDefault" - HPGLDecodeDelegate="$HPGLDecodeDelegateDefault" - HTMLDecodeDelegate="$HTMLDecodeDelegateDefault" - ILBMDecodeDelegate="$ILBMDecodeDelegateDefault" -@@ -34819,7 +34774,6 @@ fi - - - -- - - - -diff -up ImageMagick-6.7.8-9/Makefile.in.gnuplot-delegate-remove ImageMagick-6.7.8-9/Makefile.in ---- ImageMagick-6.7.8-9/Makefile.in.gnuplot-delegate-remove 2012-08-10 14:41:20.000000000 +0200 -+++ ImageMagick-6.7.8-9/Makefile.in 2016-06-02 13:46:27.392910453 +0200 -@@ -2534,7 +2534,6 @@ GS_LIBS = @GS_LIBS@ - GVCDecodeDelegate = @GVCDecodeDelegate@ - GVC_CFLAGS = @GVC_CFLAGS@ - GVC_LIBS = @GVC_LIBS@ --GnuplotDecodeDelegate = @GnuplotDecodeDelegate@ - HPGLDecodeDelegate = @HPGLDecodeDelegate@ - HTMLDecodeDelegate = @HTMLDecodeDelegate@ - ILBMDecodeDelegate = @ILBMDecodeDelegate@ diff --git a/SOURCES/ImageMagick-icon-mem.patch b/SOURCES/ImageMagick-icon-mem.patch deleted file mode 100644 index a2d2a62..0000000 --- a/SOURCES/ImageMagick-icon-mem.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up ImageMagick-6.7.8-9/coders/icon.c.icon-mem ImageMagick-6.7.8-9/coders/icon.c ---- ImageMagick-6.7.8-9/coders/icon.c.icon-mem 2012-07-17 21:11:28.000000000 +0200 -+++ ImageMagick-6.7.8-9/coders/icon.c 2016-06-02 16:18:24.366200378 +0200 -@@ -277,6 +277,8 @@ static Image *ReadICONImage(const ImageI - Icon image encoded as a compressed PNG image. - */ - length=icon_file.directory[i].size; -+ if (~length < 16) -+ ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed"); - png=(unsigned char *) AcquireQuantumMemory(length+16,sizeof(*png)); - if (png == (unsigned char *) NULL) - ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed"); diff --git a/SOURCES/ImageMagick-null-pointer-access.patch b/SOURCES/ImageMagick-null-pointer-access.patch deleted file mode 100644 index b92df43..0000000 --- a/SOURCES/ImageMagick-null-pointer-access.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff -up ImageMagick-6.7.8-9/magick/constitute.c.null-pointer-access ImageMagick-6.7.8-9/magick/constitute.c ---- ImageMagick-6.7.8-9/magick/constitute.c.null-pointer-access 2012-07-29 22:26:50.000000000 +0200 -+++ ImageMagick-6.7.8-9/magick/constitute.c 2016-06-02 17:32:26.990718329 +0200 -@@ -1324,7 +1324,7 @@ MagickExport MagickBooleanType WriteImag - status; - - register Image -- *p; -+ *p, *next_p; - - assert(image_info != (const ImageInfo *) NULL); - assert(image_info->signature == MagickSignature); -@@ -1349,8 +1349,11 @@ MagickExport MagickBooleanType WriteImag - sans_exception); - sans_exception=DestroyExceptionInfo(sans_exception); - p=images; -- for ( ; GetNextImageInList(p) != (Image *) NULL; p=GetNextImageInList(p)) -- if (p->scene >= GetNextImageInList(p)->scene) -+ for ( ; GetNextImageInList(p) != (Image *) NULL; p=GetNextImageInList(p)) { -+ next_p = GetNextImageInList(p); -+ if (next_p == (Image *) NULL) -+ break; -+ if (p->scene >= next_p->scene) - { - register ssize_t - i; -@@ -1363,6 +1366,7 @@ MagickExport MagickBooleanType WriteImag - p->scene=(size_t) i++; - break; - } -+ } - /* - Write images. - */ diff --git a/SOURCES/ImageMagick-pict-doublefree.patch b/SOURCES/ImageMagick-pict-doublefree.patch deleted file mode 100644 index ff744ae..0000000 --- a/SOURCES/ImageMagick-pict-doublefree.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 0f6fc2d5bf8f500820c3dbcf0d23ee14f2d9f734 Mon Sep 17 00:00:00 2001 -From: cristy -Date: Sat, 30 May 2015 00:49:11 +0000 -Subject: [PATCH] - -diff --git a/coders/pict.c b/coders/pict.c -index 4f51eb3..027119d 100644 ---- a/coders/pict.c -+++ b/coders/pict.c -@@ -1637,6 +1637,7 @@ static MagickBooleanType WritePICTImage(const ImageInfo *image_info, - size_t - bytes_per_line, - count, -+ row_bytes, - storage_class; - - ssize_t -@@ -1649,7 +1650,6 @@ static MagickBooleanType WritePICTImage(const ImageInfo *image_info, - - unsigned short - base_address, -- row_bytes, - transfer_mode; - - /* -@@ -1681,7 +1681,7 @@ static MagickBooleanType WritePICTImage(const ImageInfo *image_info, - source_rectangle=size_rectangle; - destination_rectangle=size_rectangle; - base_address=0xff; -- row_bytes=(unsigned short) (image->columns | 0x8000); -+ row_bytes=image->columns; - bounds.top=0; - bounds.left=0; - bounds.bottom=(short) image->rows; -@@ -1711,7 +1711,7 @@ static MagickBooleanType WritePICTImage(const ImageInfo *image_info, - pixmap.bits_per_pixel=32; - pixmap.pack_type=0x04; - transfer_mode=0x40; -- row_bytes=(unsigned short) ((4*image->columns) | 0x8000); -+ row_bytes=4*image->columns; - } - /* - Allocate memory. - diff --git a/SOURCES/ImageMagick-splice-crash.patch b/SOURCES/ImageMagick-splice-crash.patch deleted file mode 100644 index 9b6a59f..0000000 --- a/SOURCES/ImageMagick-splice-crash.patch +++ /dev/null @@ -1,69 +0,0 @@ -diff -up ImageMagick-6.7.8-9/magick/transform.c.splice-crash ImageMagick-6.7.8-9/magick/transform.c ---- ImageMagick-6.7.8-9/magick/transform.c.splice-crash 2012-06-20 15:03:21.000000000 +0200 -+++ ImageMagick-6.7.8-9/magick/transform.c 2016-06-02 17:40:43.860641940 +0200 -@@ -65,6 +65,7 @@ - #include "magick/string_.h" - #include "magick/thread-private.h" - #include "magick/transform.h" -+#define MagickMin(x,y) (((x) < (y)) ? (x) : (y)) - - /* - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -@@ -1646,6 +1647,7 @@ MagickExport Image *SpliceImage(const Im - splice_geometry; - - ssize_t -+ columns, - y; - - /* -@@ -1730,6 +1732,7 @@ MagickExport Image *SpliceImage(const Im - */ - status=MagickTrue; - progress=0; -+ columns=MagickMin(splice_geometry.x,(ssize_t) splice_image->columns); - image_view=AcquireVirtualCacheView(image,exception); - splice_view=AcquireAuthenticCacheView(splice_image,exception); - #if defined(MAGICKCORE_OPENMP_SUPPORT) -@@ -1753,7 +1756,8 @@ MagickExport Image *SpliceImage(const Im - - if (status == MagickFalse) - continue; -- p=GetCacheViewVirtualPixels(image_view,0,y,image->columns,1,exception); -+ p=GetCacheViewVirtualPixels(image_view,0,y,splice_image->columns,1, -+ exception); - q=QueueCacheViewAuthenticPixels(splice_view,0,y,splice_image->columns,1, - exception); - if ((p == (const PixelPacket *) NULL) || (q == (PixelPacket *) NULL)) -@@ -1763,7 +1767,7 @@ MagickExport Image *SpliceImage(const Im - } - indexes=GetCacheViewAuthenticIndexQueue(image_view); - splice_indexes=GetCacheViewAuthenticIndexQueue(splice_view); -- for (x=0; x < splice_geometry.x; x++) -+ for (x=0; x < columns; x++) - { - SetPixelRed(q,GetPixelRed(p)); - SetPixelGreen(q,GetPixelGreen(p)); -@@ -1833,10 +1837,10 @@ MagickExport Image *SpliceImage(const Im - - if (status == MagickFalse) - continue; -- p=GetCacheViewVirtualPixels(image_view,0,y-(ssize_t) splice_geometry.height, -- image->columns,1,exception); -- if ((y < 0) || (y >= (ssize_t) splice_image->rows)) -+ if ((y < 0) || (y >= (ssize_t)splice_image->rows)) - continue; -+ p=GetCacheViewVirtualPixels(image_view,0,y-(ssize_t) splice_geometry.height, -+ splice_image->columns,1,exception); - q=QueueCacheViewAuthenticPixels(splice_view,0,y,splice_image->columns,1, - exception); - if ((p == (const PixelPacket *) NULL) || (q == (PixelPacket *) NULL)) -@@ -1846,7 +1850,7 @@ MagickExport Image *SpliceImage(const Im - } - indexes=GetCacheViewAuthenticIndexQueue(image_view); - splice_indexes=GetCacheViewAuthenticIndexQueue(splice_view); -- for (x=0; x < splice_geometry.x; x++) -+ for (x=0; x < columns; x++) - { - SetPixelRed(q,GetPixelRed(p)); - SetPixelGreen(q,GetPixelGreen(p)); diff --git a/SOURCES/rhbz1633602-quantize.patch b/SOURCES/rhbz1633602-quantize.patch deleted file mode 100644 index bf15493..0000000 --- a/SOURCES/rhbz1633602-quantize.patch +++ /dev/null @@ -1,134 +0,0 @@ -diff -up ImageMagick-6.7.8-9/magick/quantize.c.quantize ImageMagick-6.7.8-9/magick/quantize.c ---- ImageMagick-6.7.8-9/magick/quantize.c.quantize 2012-08-09 02:12:12.000000000 +0200 -+++ ImageMagick-6.7.8-9/magick/quantize.c 2018-10-23 14:16:48.484639782 +0200 -@@ -333,7 +333,9 @@ static MagickBooleanType - SetGrayscaleImage(Image *); - - static size_t -- DefineImageColormap(Image *,CubeInfo *,NodeInfo *); -+ DefineImageColormap(Image *,CubeInfo *,NodeInfo *), -+ QuantizeErrorFlatten(const Image *,const CubeInfo *,const NodeInfo *, -+ const ssize_t,const size_t,MagickRealType *); - - static void - ClosestColor(const Image *,CubeInfo *,const NodeInfo *), -@@ -2882,6 +2884,66 @@ MagickExport MagickBooleanType QuantizeI - % % - % % - % % -++ Q u a n t i z e E r r o r F l a t t e n % -+% % -+% % -+% % -+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -+% -+% QuantizeErrorFlatten() traverses the color cube and flattens the quantization -+% error into a sorted array. This accelerates the color reduction process. -+% -+% Contributed by Yoya. -+% -+% The format of the QuantizeImages method is: -+% -+% size_t QuantizeErrorFlatten(const Image *image,const CubeInfo *cube_info, -+% const NodeInfo *node_info,const ssize_t offset,const size_t extent, -+% MagickRealType *quantize_error) -+% -+% A description of each parameter follows. -+% -+% o image: the image. -+% -+% o cube_info: A pointer to the Cube structure. -+% -+% o node_info: pointer to node in color cube tree that is current pointer. -+% -+% o offset: quantize error offset. -+% -+% o extent: quantize error offset maximum limit. -+% -+% o quantize_error: the quantization error vector. -+% -+*/ -+static size_t QuantizeErrorFlatten(const Image *image,const CubeInfo *cube_info, -+ const NodeInfo *node_info,const ssize_t offset,const size_t extent, -+ MagickRealType *quantize_error) -+{ -+ register ssize_t -+ i; -+ -+ size_t -+ n, -+ number_children; -+ -+ if (offset >= (ssize_t) extent) -+ return(0); -+ quantize_error[offset]=node_info->quantize_error; -+ n=1; -+ number_children=cube_info->associate_alpha == MagickFalse ? 8UL : 16UL; -+ for (i=0; i < (ssize_t) number_children ; i++) -+ if (node_info->child[i] != (NodeInfo *) NULL) -+ n+=QuantizeErrorFlatten(image,cube_info,node_info->child[i],offset+n, -+ extent,quantize_error); -+ return(n); -+} -+ -+/* -+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -+% % -+% % -+% % - + R e d u c e % - % % - % % -@@ -2988,6 +3050,22 @@ static void Reduce(const Image *image,Cu - % o cube_info: A pointer to the Cube structure. - % - */ -+ -+static int MagickRealTypeCompare(const void *error_p,const void *error_q) -+{ -+ MagickRealType -+ *p, -+ *q; -+ -+ p=(MagickRealType *) error_p; -+ q=(MagickRealType *) error_q; -+ if (*p > *q) -+ return(1); -+ if (fabs((double) (*q-*p)) <= MagickEpsilon) -+ return(0); -+ return(-1); -+} -+ - static void ReduceImageColors(const Image *image,CubeInfo *cube_info) - { - #define ReduceImageTag "Reduce/Image" -@@ -3002,6 +3080,29 @@ static void ReduceImageColors(const Imag - span; - - cube_info->next_threshold=0.0; -+ if (cube_info->colors > cube_info->maximum_colors) -+ { -+ MagickRealType -+ *quantize_error; -+ -+ /* -+ Enable rapid reduction of the number of unique colors. -+ */ -+ quantize_error=(MagickRealType *) AcquireQuantumMemory(cube_info->nodes, -+ sizeof(*quantize_error)); -+ if (quantize_error != (MagickRealType *) NULL) -+ { -+ (void) QuantizeErrorFlatten(image,cube_info,cube_info->root,0, -+ cube_info->nodes,quantize_error); -+ qsort(quantize_error,cube_info->nodes,sizeof(MagickRealType), -+ MagickRealTypeCompare); -+ if (cube_info->nodes > (110*(cube_info->maximum_colors+1)/100)) -+ cube_info->next_threshold=quantize_error[cube_info->nodes-110* -+ (cube_info->maximum_colors+1)/100]; -+ quantize_error=(MagickRealType *) RelinquishMagickMemory( -+ quantize_error); -+ } -+ } - for (span=cube_info->colors; cube_info->colors > cube_info->maximum_colors; ) - { - cube_info->pruning_threshold=cube_info->next_threshold; diff --git a/SPECS/ImageMagick.spec b/SPECS/ImageMagick.spec index 253acf2..f8383a6 100644 --- a/SPECS/ImageMagick.spec +++ b/SPECS/ImageMagick.spec @@ -1,27 +1,17 @@ -%global VER 6.7.8 -%global Patchlevel 9 +%global VER 6.9.10 +%global Patchlevel 68 Name: ImageMagick Version: %{VER}.%{Patchlevel} -Release: 18%{?dist} +Release: 3%{?dist} Summary: An X application for displaying and manipulating images Group: Applications/Multimedia License: ImageMagick Url: http://www.imagemagick.org/ Source0: ftp://ftp.ImageMagick.org/pub/%{name}/%{name}-%{VER}-%{Patchlevel}.tar.xz -Patch0: 0001-Fix-man-page-scan-results.patch -Patch1: 0001-Fix-CVE-2014-1947-CVE-2014-2030.patch -Patch2: 0002-1303227-fix-exr-crash.patch -Patch3: ImageMagick-cve-2016-3717.patch Patch4: ImageMagick-cve-2016-5118.patch -Patch5: ImageMagick-pict-doublefree.patch -Patch6: ImageMagick-gnuplot-delegate-remove.diff -Patch7: ImageMagick-icon-mem.patch -Patch8: ImageMagick-splice-crash.patch -Patch9: ImageMagick-null-pointer-access.patch -Patch10: ImageMagick-cve-2016-5240.patch -Patch11: rhbz1633602-quantize.patch +Patch5: ImageMagick-freeze-svg-empty-class.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: bzip2-devel, freetype-devel, libjpeg-devel, libpng-devel @@ -31,6 +21,8 @@ BuildRequires: libwmf-devel, jasper-devel, libtool-ltdl-devel BuildRequires: libX11-devel, libXext-devel, libXt-devel BuildRequires: libxml2-devel, librsvg2-devel, OpenEXR-devel BuildRequires: lcms2-devel +# For fixing bug https://bugzilla.redhat.com/show_bug.cgi?id=1743658 +Requires: urw-base35-fonts %description ImageMagick is an image display and manipulation tool for the X @@ -136,18 +128,8 @@ mv README.txt.tmp README.txt # for %doc mkdir Magick++/examples cp -p Magick++/demo/*.cpp Magick++/demo/*.miff Magick++/examples -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -z .cve-2016-3717 %patch4 -p1 -b .cve-2016-5118 -%patch5 -p1 -b .pict-doublefree -%patch6 -p1 -b .gnuplot-delegate-remove -%patch7 -p1 -b .icon-mem -%patch8 -p1 -b .splice-crash -%patch9 -p1 -b .null-pointer-access -%patch10 -p1 -b .cve-2016-5240 -%patch11 -p1 -b .quantize +%patch5 -p1 -b .cve-2016-5240 %build %configure --enable-shared \ @@ -182,7 +164,7 @@ cp -a www/source %{buildroot}%{_datadir}/doc/%{name}-%{VER} rm %{buildroot}%{_libdir}/*.la # fix weird perl Magick.so permissions -chmod 755 %{buildroot}%{perl_vendorarch}/auto/Image/Magick/Magick.so +#chmod 755 %{buildroot}%{perl_vendorarch}/auto/Image/Magick/Magick.so # perlmagick: fix perl path of demo files %{__perl} -MExtUtils::MakeMaker -e 'MY->fixin(@ARGV)' PerlMagick/demo/*.pl @@ -205,26 +187,32 @@ if [ -z perl-pkg-files ] ; then exit -1 fi -# fix multilib issues -mv %{buildroot}%{_includedir}/%{name}/magick/magick-config.h \ - %{buildroot}%{_includedir}/%{name}/magick/magick-config-%{__isa_bits}.h +# fix multilib issues: Rename provided file with platform-bits in name. +# Create platform independant file inplace of provided and conditionally include required. +# $1 - filename.h to process. +function multilibFileVersions(){ +mv $1 ${1%%.h}-%{__isa_bits}.h -cat >%{buildroot}%{_includedir}/%{name}/magick/magick-config.h <$1 < #if __WORDSIZE == 32 -# include "magick-config-32.h" +# include "${basename%%.h}-32.h" #elif __WORDSIZE == 64 -# include "magick-config-64.h" +# include "${basename%%.h}-64.h" #else # error "unexpected value for __WORDSIZE macro" #endif - -#endif EOF +} + +multilibFileVersions %{buildroot}%{_includedir}/%{name}-6/magick/magick-config.h +multilibFileVersions %{buildroot}%{_includedir}/%{name}-6/magick/magick-baseconfig.h +multilibFileVersions %{buildroot}%{_includedir}/%{name}-6/magick/version.h + +sed -i 's|/usr/share/ghostscript/fonts/|/usr/share/X11/fonts/urw-fonts/|g' %{buildroot}%{_sysconfdir}/%{name}-6/type-ghostscript.xml # Fonts must be packaged separately. It does nothave matter and demos work without it. rm PerlMagick/demo/Generic.ttf @@ -246,14 +234,15 @@ rm -rf %{buildroot} %defattr(-,root,root,-) %doc QuickStart.txt ChangeLog Platforms.txt %doc README.txt LICENSE NOTICE AUTHORS.txt NEWS.txt -%{_libdir}/libMagickCore.so.5* -%{_libdir}/libMagickWand.so.5* +%{_libdir}/libMagickCore-6*.so* +%{_libdir}/libMagickWand-6*.so* %{_bindir}/[a-z]* %{_libdir}/%{name}-%{VER} -%{_datadir}/%{name}-%{VER} +#%{_datadir}/%{name}-%{VER} +%{_datadir}/%{name}-6 %{_mandir}/man[145]/[a-z]* %{_mandir}/man1/%{name}.* -%{_sysconfdir}/%{name} +%{_sysconfdir}/%{name}-6 %files devel %defattr(-,root,root,-) @@ -261,15 +250,19 @@ rm -rf %{buildroot} %{_bindir}/Magick-config %{_bindir}/MagickWand-config %{_bindir}/Wand-config -%{_libdir}/libMagickCore.so -%{_libdir}/libMagickWand.so +%{_libdir}/libMagickCore-6*.so +%{_libdir}/libMagickWand-6*.so %{_libdir}/pkgconfig/MagickCore.pc +%{_libdir}/pkgconfig/MagickCore-6*.pc %{_libdir}/pkgconfig/ImageMagick.pc +%{_libdir}/pkgconfig/ImageMagick-6*.pc %{_libdir}/pkgconfig/MagickWand.pc +%{_libdir}/pkgconfig/MagickWand-6*.pc %{_libdir}/pkgconfig/Wand.pc -%dir %{_includedir}/%{name} -%{_includedir}/%{name}/magick -%{_includedir}/%{name}/wand +%{_libdir}/pkgconfig/Wand-6*.pc +%dir %{_includedir}/%{name}-6 +%{_includedir}/%{name}-6/magick +%{_includedir}/%{name}-6/wand %{_mandir}/man1/Magick-config.* %{_mandir}/man1/MagickCore-config.* %{_mandir}/man1/Wand-config.* @@ -278,23 +271,26 @@ rm -rf %{buildroot} %files doc %defattr(-,root,root,-) %doc %{_datadir}/doc/%{name}-%{VER} +%doc %{_datadir}/doc/%{name}-6 %doc LICENSE %files c++ %defattr(-,root,root,-) %doc Magick++/AUTHORS Magick++/ChangeLog Magick++/NEWS Magick++/README %doc www/Magick++/COPYING -%{_libdir}/libMagick++.so.5* +%{_libdir}/libMagick++-6*.so* %files c++-devel %defattr(-,root,root,-) %doc Magick++/examples %{_bindir}/Magick++-config -%{_includedir}/%{name}/Magick++ -%{_includedir}/%{name}/Magick++.h -%{_libdir}/libMagick++.so +%{_includedir}/%{name}-6/Magick++ +%{_includedir}/%{name}-6/Magick++.h +%{_libdir}/libMagick++-6*.so %{_libdir}/pkgconfig/Magick++.pc +%{_libdir}/pkgconfig/Magick++-6*.pc %{_libdir}/pkgconfig/ImageMagick++.pc +%{_libdir}/pkgconfig/ImageMagick++-6*.pc %{_mandir}/man1/Magick++-config.* %files perl -f perl-pkg-files @@ -303,6 +299,15 @@ rm -rf %{buildroot} %doc PerlMagick/demo/ PerlMagick/Changelog PerlMagick/README.txt %changelog +* Mon Nov 11 2019 Jan Horak - 6.9.10.68-3 +- Fixing freeze when svg file contains class='' + +* Thu Nov 7 2019 Jan Horak - 6.9.10.68-2 +- Fixed ghostscript fonts, fixed multilib conflicts + +* Wed Oct 23 2019 Jan Horak - 6.9.10.68-1 +- Rebase to 6.9.10.68 + * Thu Apr 11 2019 Jan Horak - 6.7.8.9-18 - Fixed white images