diff --git a/.ImageMagick.metadata b/.ImageMagick.metadata new file mode 100644 index 0000000..7acbdad --- /dev/null +++ b/.ImageMagick.metadata @@ -0,0 +1 @@ +531a150014119573a04eed28df6192137f4799bc SOURCES/ImageMagick-6.7.8-9.tar.xz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d76ba4f --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/ImageMagick-6.7.8-9.tar.xz diff --git a/README.md b/README.md deleted file mode 100644 index 0e7897f..0000000 --- a/README.md +++ /dev/null @@ -1,5 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6 - -If you find this file in a distro specific branch, it means that no content has been checked in yet diff --git a/SOURCES/0001-Fix-CVE-2014-1947-CVE-2014-2030.patch b/SOURCES/0001-Fix-CVE-2014-1947-CVE-2014-2030.patch new file mode 100644 index 0000000..703a255 --- /dev/null +++ b/SOURCES/0001-Fix-CVE-2014-1947-CVE-2014-2030.patch @@ -0,0 +1,49 @@ +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 new file mode 100644 index 0000000..1434036 --- /dev/null +++ b/SOURCES/0001-Fix-man-page-scan-results.patch @@ -0,0 +1,867 @@ +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 new file mode 100644 index 0000000..7fc9c85 --- /dev/null +++ b/SOURCES/0002-1303227-fix-exr-crash.patch @@ -0,0 +1,12 @@ +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 new file mode 100644 index 0000000..eb013ae --- /dev/null +++ b/SOURCES/ImageMagick-cve-2016-3717.patch @@ -0,0 +1,134 @@ +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-5118.patch b/SOURCES/ImageMagick-cve-2016-5118.patch new file mode 100644 index 0000000..ad6375b --- /dev/null +++ b/SOURCES/ImageMagick-cve-2016-5118.patch @@ -0,0 +1,11 @@ +diff -up ImageMagick-6.7.8-9/magick/blob.c.cve-2016-5118 ImageMagick-6.7.8-9/magick/blob.c +--- ImageMagick-6.7.8-9/magick/blob.c.cve-2016-5118 2016-06-02 11:11:35.681242509 +0200 ++++ ImageMagick-6.7.8-9/magick/blob.c 2016-06-02 11:34:57.707081030 +0200 +@@ -91,6 +91,7 @@ + #define _O_BINARY O_BINARY + #endif + ++#undef MAGICKCORE_HAVE_POPEN + /* + Typedef declarations. + */ diff --git a/SOURCES/ImageMagick-cve-2016-5240.patch b/SOURCES/ImageMagick-cve-2016-5240.patch new file mode 100644 index 0000000..9abb99f --- /dev/null +++ b/SOURCES/ImageMagick-cve-2016-5240.patch @@ -0,0 +1,47 @@ +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-gnuplot-delegate-remove.diff b/SOURCES/ImageMagick-gnuplot-delegate-remove.diff new file mode 100644 index 0000000..edc339b --- /dev/null +++ b/SOURCES/ImageMagick-gnuplot-delegate-remove.diff @@ -0,0 +1,141 @@ +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 new file mode 100644 index 0000000..a2d2a62 --- /dev/null +++ b/SOURCES/ImageMagick-icon-mem.patch @@ -0,0 +1,12 @@ +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 new file mode 100644 index 0000000..b92df43 --- /dev/null +++ b/SOURCES/ImageMagick-null-pointer-access.patch @@ -0,0 +1,34 @@ +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 new file mode 100644 index 0000000..ff744ae --- /dev/null +++ b/SOURCES/ImageMagick-pict-doublefree.patch @@ -0,0 +1,44 @@ +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 new file mode 100644 index 0000000..9b6a59f --- /dev/null +++ b/SOURCES/ImageMagick-splice-crash.patch @@ -0,0 +1,69 @@ +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 new file mode 100644 index 0000000..8e5418f --- /dev/null +++ b/SOURCES/rhbz1633602-quantize.patch @@ -0,0 +1,133 @@ +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,28 @@ 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); ++ cube_info->next_threshold=quantize_error[cube_info->nodes- ++ cube_info->maximum_colors]; ++ 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 new file mode 100644 index 0000000..2810256 --- /dev/null +++ b/SPECS/ImageMagick.spec @@ -0,0 +1,979 @@ +%global VER 6.7.8 +%global Patchlevel 9 + +Name: ImageMagick +Version: %{VER}.%{Patchlevel} +Release: 16%{?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 + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: bzip2-devel, freetype-devel, libjpeg-devel, libpng-devel +BuildRequires: libtiff-devel, giflib-devel, zlib-devel, perl-devel >= 5.8.1 +BuildRequires: ghostscript-devel +BuildRequires: libwmf-devel, jasper-devel, libtool-ltdl-devel +BuildRequires: libX11-devel, libXext-devel, libXt-devel +BuildRequires: libxml2-devel, librsvg2-devel, OpenEXR-devel + +%description +ImageMagick is an image display and manipulation tool for the X +Window System. ImageMagick can read and write JPEG, TIFF, PNM, GIF, +and Photo CD image formats. It can resize, rotate, sharpen, color +reduce, or add special effects to an image, and when finished you can +either save the completed work in the original format or a different +one. ImageMagick also includes command line programs for creating +animated or transparent .gifs, creating composite images, creating +thumbnail images, and more. + +ImageMagick is one of your choices if you need a program to manipulate +and display images. If you want to develop your own applications +which use ImageMagick code or APIs, you need to install +ImageMagick-devel as well. + + +%package devel +Summary: Library links and header files for ImageMagick app development +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} +Requires: libX11-devel, libXext-devel, libXt-devel +Requires: ghostscript-devel +Requires: bzip2-devel +Requires: freetype-devel +Requires: libtiff-devel +Requires: libjpeg-devel +Requires: jasper-devel +Requires: pkgconfig + +%description devel +ImageMagick-devel contains the library links and header files you'll +need to develop ImageMagick applications. ImageMagick is an image +manipulation program. + +If you want to create applications that will use ImageMagick code or +APIs, you need to install ImageMagick-devel as well as ImageMagick. +You do not need to install it if you just want to use ImageMagick, +however. + + +%package doc +Summary: ImageMagick html documentation +Group: Documentation + +%description doc +ImageMagick documentation, this package contains usage (for the +commandline tools) and API (for the libraries) documentation in html format. +Note this documentation can also be found on the ImageMagick website: +http://www.imagemagick.org/ + + +%package perl +Summary: ImageMagick perl bindings +Group: System Environment/Libraries +Requires: %{name} = %{version}-%{release} +Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) + +%description perl +Perl bindings to ImageMagick. + +Install ImageMagick-perl if you want to use any perl scripts that use +ImageMagick. + + +%package c++ +Summary: ImageMagick Magick++ library (C++ bindings) +Group: System Environment/Libraries +Requires: %{name} = %{version}-%{release} + +%description c++ +This package contains the Magick++ library, a C++ binding to the ImageMagick +graphics manipulation library. + +Install ImageMagick-c++ if you want to use any applications that use Magick++. + + +%package c++-devel +Summary: C++ bindings for the ImageMagick library +Group: Development/Libraries +Requires: %{name}-c++ = %{version}-%{release} +Requires: %{name}-devel = %{version}-%{release} + +%description c++-devel +ImageMagick-devel contains the static libraries and header files you'll +need to develop ImageMagick applications using the Magick++ C++ bindings. +ImageMagick is an image manipulation program. + +If you want to create applications that will use Magick++ code +or APIs, you'll need to install ImageMagick-c++-devel, ImageMagick-devel and +ImageMagick. +You don't need to install it if you just want to use ImageMagick, or if you +want to develop/compile applications using the ImageMagick C interface, +however. + + +%prep +%setup -q -n %{name}-%{VER}-%{Patchlevel} +sed -i 's/libltdl.la/libltdl.so/g' configure +iconv -f ISO-8859-1 -t UTF-8 README.txt > README.txt.tmp +touch -r README.txt README.txt.tmp +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 + +%build +%configure --enable-shared \ + --disable-static \ + --with-modules \ + --with-perl \ + --with-x \ + --with-threads \ + --with-magick_plus_plus \ + --with-gslib \ + --with-wmf \ + --with-rsvg \ + --with-xml \ + --with-perl-options="INSTALLDIRS=vendor %{?perl_prefix} CC='%__cc -L$PWD/magick/.libs' LDDLFLAGS='-shared -L$PWD/magick/.libs'" \ + --without-dps \ + --without-included-ltdl --with-ltdl-include=%{_includedir} \ + --with-ltdl-lib=%{_libdir} +# Disable rpath +sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool +sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool +# Do *NOT* use %%{?_smp_mflags}, this causes PerlMagick to be silently misbuild +make + + +%install +rm -rf %{buildroot} + +make install DESTDIR=%{buildroot} INSTALL="install -p" +cp -a www/source %{buildroot}%{_datadir}/doc/%{name}-%{VER} +# Delete *ONLY* _libdir/*.la files! .la files used internally to handle plugins - BUG#185237!!! +rm %{buildroot}%{_libdir}/*.la + +# fix weird perl Magick.so permissions +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 + +# perlmagick: cleanup various perl tempfiles from the build which get installed +find %{buildroot} -name "*.bs" |xargs rm -f +find %{buildroot} -name ".packlist" |xargs rm -f +find %{buildroot} -name "perllocal.pod" |xargs rm -f + +# perlmagick: build files list +echo "%defattr(-,root,root,-)" > perl-pkg-files +find %{buildroot}/%{_libdir}/perl* -type f -print \ + | sed "s@^%{buildroot}@@g" > perl-pkg-files +find %{buildroot}%{perl_vendorarch} -type d -print \ + | sed "s@^%{buildroot}@%dir @g" \ + | grep -v '^%dir %{perl_vendorarch}$' \ + | grep -v '/auto$' >> perl-pkg-files +if [ -z perl-pkg-files ] ; then + echo "ERROR: EMPTY FILE LIST" + exit -1 +fi + +# fix multilib issues +mv %{buildroot}%{_includedir}/%{name}/magick/magick-config.h \ + %{buildroot}%{_includedir}/%{name}/magick/magick-config-%{__isa_bits}.h + +cat >%{buildroot}%{_includedir}/%{name}/magick/magick-config.h < + +#if __WORDSIZE == 32 +# include "magick-config-32.h" +#elif __WORDSIZE == 64 +# include "magick-config-64.h" +#else +# error "unexpected value for __WORDSIZE macro" +#endif + +#endif +EOF + +# Fonts must be packaged separately. It does nothave matter and demos work without it. +rm PerlMagick/demo/Generic.ttf + +%clean +rm -rf %{buildroot} + + +%post -p /sbin/ldconfig + +%post c++ -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%postun c++ -p /sbin/ldconfig + + +%files +%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* +%{_bindir}/[a-z]* +%{_libdir}/%{name}-%{VER} +%{_datadir}/%{name}-%{VER} +%{_mandir}/man[145]/[a-z]* +%{_mandir}/man1/%{name}.* +%{_sysconfdir}/%{name} + +%files devel +%defattr(-,root,root,-) +%{_bindir}/MagickCore-config +%{_bindir}/Magick-config +%{_bindir}/MagickWand-config +%{_bindir}/Wand-config +%{_libdir}/libMagickCore.so +%{_libdir}/libMagickWand.so +%{_libdir}/pkgconfig/MagickCore.pc +%{_libdir}/pkgconfig/ImageMagick.pc +%{_libdir}/pkgconfig/MagickWand.pc +%{_libdir}/pkgconfig/Wand.pc +%dir %{_includedir}/%{name} +%{_includedir}/%{name}/magick +%{_includedir}/%{name}/wand +%{_mandir}/man1/Magick-config.* +%{_mandir}/man1/MagickCore-config.* +%{_mandir}/man1/Wand-config.* +%{_mandir}/man1/MagickWand-config.* + +%files doc +%defattr(-,root,root,-) +%doc %{_datadir}/doc/%{name}-%{VER} +%doc LICENSE + +%files c++ +%defattr(-,root,root,-) +%doc Magick++/AUTHORS Magick++/ChangeLog Magick++/NEWS Magick++/README +%doc www/Magick++/COPYING +%{_libdir}/libMagick++.so.5* + +%files c++-devel +%defattr(-,root,root,-) +%doc Magick++/examples +%{_bindir}/Magick++-config +%{_includedir}/%{name}/Magick++ +%{_includedir}/%{name}/Magick++.h +%{_libdir}/libMagick++.so +%{_libdir}/pkgconfig/Magick++.pc +%{_libdir}/pkgconfig/ImageMagick++.pc +%{_mandir}/man1/Magick++-config.* + +%files perl -f perl-pkg-files +%defattr(-,root,root,-) +%{_mandir}/man3/* +%doc PerlMagick/demo/ PerlMagick/Changelog PerlMagick/README.txt + +%changelog +* Wed Oct 24 2018 Jan Horak - 6.7.8.9-16 +- Added fix for long convert under some circumstances (rhbz#1633602) + +* Thu Jun 2 2016 Jan Horak - 6.7.8.9-15 +- Added fix for CVE-2016-5118, CVE-2016-5240, rhbz#1269562, + rhbz#1326834, rhbz#1334188, rhbz#1269553 + +* Thu May 5 2016 Jan Horak - 6.7.8.9-13 +- Add fix for CVE-2016-3714, CVE-2016-3715, CVE-2016-3716, CVE-2016-3717 + +* Tue Feb 2 2016 Jan Horak - 6.7.8.9-11 +- Fixed crash when processing .exr files (rhbz#1303227) + +* Tue Apr 01 2014 Benjamin Tissoires 6.7.8.9-10 +- backported r13736 to fix CVE-2014-1947, CVE-2014-2030 (rhbz#1083080) + +* Fri Jan 24 2014 Daniel Mach - 6.7.8.9-9 +- Mass rebuild 2014-01-24 + +* Fri Dec 27 2013 Daniel Mach - 6.7.8.9-8 +- Mass rebuild 2013-12-27 + +* Fri Nov 08 2013 Benjamin Tissoires 6.7.8.9-7 +- add aarch64 as a target by using %{__isa_bits} set by platform, instead of hardcoding the list of 64-bit arches (rhbz#1028584) + +* Mon Sep 09 2013 Benjamin Tissoires 6.7.8.9-6 +- drop djvulibre (BZ#1004852) + +* Thu Jul 25 2013 Benjamin Tissoires 6.7.8.9-5.3 +- Fix man page scan + +* Tue Jul 23 2013 Petr Šabata - 6.7.8.9-5.2 +- Rebuild without lcms +- Fix bogus dates in changelog + +* Tue Mar 19 2013 Daniel Mach - 6.7.8.9-5.1 +- Rebuild for OpenEXR + +* Sun Mar 10 2013 Rex Dieter - 6.7.8.9-5 +- rebuild (OpenEXR) + +* Wed Feb 13 2013 Fedora Release Engineering - 6.7.8.9-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Fri Jan 18 2013 Adam Tkac - 6.7.8.9-3 +- rebuild due to "jpeg8-ABI" feature drop + +* Fri Dec 21 2012 Adam Tkac - 6.7.8.9-2 +- rebuild against new libjpeg + +* Sat Aug 11 2012 Pavel Alexeev - 6.7.8.9-1 +- Update to 6.7.8-9 to fix CVE-2012-3437 (bz#844101, 844103). + +* Wed Jul 18 2012 Fedora Release Engineering - 6.7.7.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Mon Jun 11 2012 Petr Pisar - 6.7.7.5-2 +- Perl 5.16 rebuild + +* Sat Jun 2 2012 Pavel Alexeev - 6.7.7.5-1 +- Update to 6.7.7-5 version. Prepare and update in stable Fedora 16 to address security problems (f.e. bz#808159). + +* Fri May 11 2012 Pavel Alexeev - 6.7.6.5-2 +- Rebuild due libtiff update http://www.mail-archive.com/devel@lists.fedoraproject.org/msg42846.html + +* Tue Apr 10 2012 Pavel Alexeev - 6.7.6.5-1 +- Update to 6.7.6.5 to fix security issues: bz#807993, bz#807994, bz#807997, + bz#808159, bz#804591, bz#804588 + +* Sat Feb 25 2012 Pavel Alexeev - 6.7.5.6-1 +- Update by request https://bugzilla.redhat.com/show_bug.cgi?id=755827#c8 +- Delete multilib patch as it should be in main sources. +- Replace $RPM_BUILD_ROOT by %%buildroot + +* Thu Jan 12 2012 Fedora Release Engineering - 6.7.1.9-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Mon Dec 05 2011 Adam Jackson 6.7.1.9-2 +- Rebuild for new libpng + +* Mon Aug 22 2011 Pavel Alexeev - 6.7.1.9-1 +- New version 6.7.1-9. + +* Thu Jul 21 2011 Petr Sabata - 6.7.0.10-3 +- Perl mass rebuild + +* Wed Jul 20 2011 Petr Sabata - 6.7.0.10-2 +- Perl mass rebuild + +* Wed Jun 22 2011 Pavel Alexeev - 6.7.0.10-1 +- Update to 6.7.0-10. + +* Fri Jun 17 2011 Marcela Mašláňová - 6.6.8.4-3 +- Perl mass rebuild + +* Fri Jun 10 2011 Marcela Mašláňová - 6.6.8.4-2 +- Perl 5.14 mass rebuild + +* Tue Mar 15 2011 Pavel Alexeev - 6.6.8.4-1 +- Add BR liblqr-1-devel (BZ#683159) +- Update to new version (BZ#579458) 6.6.8-4 + +* Mon Feb 07 2011 Fedora Release Engineering - 6.6.5.10-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Fri Dec 17 2010 Pavel Alexeev - 6.6.5.10-18 +- Add BR OpenEXR-devel to support OpenEXR format (BZ#663705) + +* Thu Nov 25 2010 Pavel Alexeev - 6.6.5.10-17 +- New version 6.6.5-10. +- Add --enable-hdri switch by request of Petr Vlašic. + +* Thu Sep 30 2010 Pavel Alexeev - 6.6.4.8-16 +- Rebuild against new ghostscript in rawhide. +- Update to 6.6.4-8 version. + +* Wed Sep 29 2010 Tom "spot" Callaway - 6.6.4.1-15 +- rebuild against new ghostscript + +* Fri Sep 17 2010 Rex Dieter - 6.6.4.1-14 +- %%files: track sonames, so as not to be surprised by future ABI breaks + +* Tue Sep 14 2010 Pavel Alexeev - 6.6.4.1-13 +- Update to 6.6.4-1 to fix FBFS BZ#631169. + +* Fri Jul 30 2010 Pavel Alexeev - 6.6.2.1-12 +- Add %%doc LICENSE as it required new Licensing Guidelines Update + ( https://fedoraproject.org/wiki/Packaging:LicensingGuidelines ) + +* Wed Jun 23 2010 Mamoru Tasaka - 6.6.2.1-11 +- Rebuild (to fix downgrade after perl-5.12.0-rebuild tag) + +* Tue Jun 1 2010 Pavel Alexeev - 6.6.2.1-10 +- New version 6.6.2-1 (BZ#579458, BZ#565940 - http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=16320) +- Replace %%define by %%global + +* Tue Jun 01 2010 Marcela Maslanova - 6.6.0.2-9 +- Mass rebuild with perl-5.12.0 + +* Sat Mar 6 2010 Pavel Alexeev - 6.6.0.2-8 +- Update to 6.6.0-2 (BZ#570766) + +* Tue Jan 5 2010 Pavel Alexeev - 6.5.8.10-6 +- Update to 6.5.8-10 (BZ#547806) +- Change source tarball from .tar.lzma to .tar.xz folow to upstream. + +* Fri Dec 4 2009 Stepan Kasal - 6.5.4.7-5 +- rebuild against perl 5.10.1 + +* Mon Nov 30 2009 Pavel Alexeev - 6.5.4.7-4 +- Explude file Generic.ttf from -perl subpackage demos. Demos perfectly work without it, but with bundled font + package does not pass QA (Unfortunately no bugreport there, only mail from Nicolas Mailhot) + +* Mon Aug 3 2009 Pavel Alexeev - 6.5.4.7-3 +- Update to version 6.5.4-7 +- Use lzma-compressed source tarball as sugested by Ville Skyttä (BZ#515319) + +* Fri Jul 24 2009 Fedora Release Engineering - 6.5.3.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Mon Jun 15 2009 Hans de Goede 6.5.3.7-1 +- New upstream release 6.5.3-7 + +* Mon Apr 13 2009 Tom "spot" Callaway - 6.5.1.2-1 +- update to 6.5.1-2 + +* Fri Mar 13 2009 Hans de Goede 6.4.9.6-2 +- Fix undefined warning in magick-type.h (#489453) +- Do not link PerlMagick against system ImageMagick, but against the just + build one + +* Mon Mar 9 2009 Hans de Goede 6.4.9.6-1 +- New upstream release 6.4.9-6 + +* Mon Feb 23 2009 Fedora Release Engineering - 6.4.5.5-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Fri Jan 30 2009 Hans de Goede 6.4.5.5-8 +- Remove (TM) from description as per new guidelines + +* Sat Jan 17 2009 Rakesh Pandit 6.4.5.5-7 +- Corrected the wrong release and bumped + +* Sat Jan 17 2009 Rakesh Pandit 6.4.5.5-6 +- Rebuild with new djvulibre + +* Sat Dec 27 2008 Hans de Goede 6.4.5.5-5 +- Remove 2 included copies of the non Free artbrush font (rh 477399) + +* Wed Dec 10 2008 Hans de Goede 6.4.5.5-4 +- Do not pass -jX to make when building, this breaks PerlMagick (rh 475554) + +* Wed Nov 19 2008 Hans de Goede 6.4.5.5-3 +- Remove --without-windows-font-dir from configure args, specifying it + makes ImageMagick search for windows fonts in the "no/" dir (rh 472244) + +* Fri Nov 14 2008 Hans de Goede 6.4.5.5-2 +- Enable djvu support, put the new djvu plugin into a separate -djvu + subpackage because of deps (rh 225897) + +* Fri Nov 14 2008 Hans de Goede 6.4.5.5-1 +- New upstream release 6.4.5-5 +- Various specfile fixes from merge review (rh 225897) +- Fix building with new libtool (rh 471468) + +* Thu Nov 13 2008 Hans de Goede 6.4.0.10-3 +- Rebuild for new libtool (rh 471468) + +* Sun Jul 27 2008 Hans de Goede 6.4.0.10-2 +- Fix ownership of /usr/include/ImageMagick (bz 444647) + +* Sat Apr 26 2008 Hans de Goede 6.4.0.10-1 +- New upstream release 6.4.0.10 +- This fixes conversion of 24 bpp windows icons (bz 440136) +- Don't reuse GError structs, that upsets glib2 (bz 325211) +- Use the system ltdl, not the included copy (bz 237475) +- Fix various multilib conflicts (bz 341561) +- Use xdg-open instead of htmlview (bz 388451) +- Some small specfile cleanups (utf-8 stuff & others) fixing rpmlint warnings + +* Wed Feb 27 2008 Tom "spot" Callaway - 6.3.8.1-3 +- Rebuild for perl 5.10 (again) + +* Tue Feb 19 2008 Fedora Release Engineering - 6.3.8.1-2 +- Autorebuild for GCC 4.3 + +* Thu Jan 24 2008 Tom "spot" Callaway 6.3.8.1-1 +- update to 6.3.8.1 +- rebuild for new perl +- fix license tag +- fix rpath issues +- add sparc64 to 64bit arch list + +* Fri Sep 21 2007 Norm Murray 6.3.5.9-1.fc8 +- rebase to 6.3.5.9 +- fix build with missing open() arg +- add build require of jasper-devel, remove windows font dir +- update multilib patch + +* Thu Apr 5 2007 Norm Murray 6.3.2.9-3.fc7 +- heap overflows (#235075, CVE-2007-1797) + +* Fri Mar 30 2007 Norm Murray 6.3.2.9-2.fc7 +- perlmagick build fix (#231259) + +* Fri Mar 2 2007 Norm Murray 6.3.2.9-1.fc7.0 +- update to 6.3.2-9 + +* Wed Aug 23 2006 Matthias Clasen - 6.2.8.0-3.fc6 +- fix several integer and buffer overflows (#202193, CVE-2006-3743) +- fix more integer overflows (#202771, CVE-2006-4144) + +* Mon Jul 24 2006 Matthias Clasen - 6.2.8.0-2 +- Add missing BRs + +* Wed Jul 12 2006 Jesse Keating - 6.2.8.0-1.1 +- rebuild + +* Fri Jun 9 2006 Matthias Clasen - 6.2.8-1 +- Update to 6.2.8 + +* Fri Jun 2 2006 Matthias Clasen - 6.2.5.4-7 +- Fix multilib issues + +* Thu May 25 2006 Matthias Clasen - 6.2.5.4-6 +- Fix a heap overflow CVE-2006-2440 (#192279) +- Include required .la files + +* Mon Mar 20 2006 Matthias Clasen - 6.2.5.4-5 +- Don't ship .la and .a files (#185237) + +* Mon Feb 13 2006 Jesse Keating - 6.2.5.4-4.2.1 +- rebump for build order issues during double-long bump + +* Fri Feb 10 2006 Jesse Keating - 6.2.5.4-4.2 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jesse Keating - 6.2.5.4-4.1 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Mon Jan 30 2006 Matthias Clasen 6.2.5.4-4 +- Make -devel require lcms-devel (#179200) + +* Mon Jan 23 2006 Matthias Clasen 6.2.5.4-3 +- Fix linking of DSOs. (#176695) + +* Mon Jan 9 2006 Matthias Clasen 6.2.5.4-2 +- fix a format string vulnerability (CVE-2006-0082) + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Tue Nov 1 2005 Matthias Clasen 6.2.5.4-1 +- Switch requires to modular X +- Update to 6.2.5 + +* Tue Sep 20 2005 Matthias Clasen 6.2.4.6-1 +- Update to 6.2.4-6 +- Drop upstreamed patches +- Disable DPS (#158984) +- Add missing requires (#165931) + +* Thu Jun 9 2005 Tim Waugh 6.2.2.0-4 +- Rebuilt for fixed ghostscript. + +* Mon Jun 6 2005 Tim Waugh 6.2.2.0-3 +- Rebuilt for new ghostscript. + +* Thu May 26 2005 - 6.2.2.0-2 +- fix a denial of service in the xwd coder (#158791, CAN-2005-1739) + +* Tue Apr 26 2005 Matthias Clasen - 6.2.2.0-1 +- Update to 6.2.2 to fix a heap corruption issue + in the pnm coder. + +* Mon Apr 25 2005 Matthias Clasen - 6.2.1.7-4 +- .la files for modules are needed, actually + +* Mon Apr 25 2005 Matthias Clasen - 6.2.1.7-3 +- Really remove .la files for modules + +* Mon Apr 25 2005 - 6.2.1.7-1 +- Update to 6.2.1 +- Include multiple improvements and bugfixes + by Rex Dieter et al (111961, 145466, 151196, 149970, + 146518, 113951, 145449, 144977, 144570, 139298) + +* Sun Apr 24 2005 - 6.2.0.7-3 +- Make zip compression work for tiff (#154045) + +* Wed Mar 16 2005 - 6.2.0.7-2 +- Update to 6.2.0 to fix a number of security issues: + #145112 (CAN-2005-05), #151265 (CAN-2005-0397) +- Drop a lot of upstreamed patches + +* Wed Mar 2 2005 Matthias Clasen 6.0.7.1-7 +- rebuild with gcc4 +- remove an extraneous vsnprintf prototype which causes + gcc4 to complain + +* Mon Oct 11 2004 Tim Waugh 6.0.7.1-4 +- The devel subpackage requires XFree86-devel (bug #126509). +- Fixed build requirements (bug #120776). From Robert Scheck. + +* Tue Sep 14 2004 Karsten Hopp 6.0.7.1-3 +- move *.mgk files (#132007, #131708, #132397) + +* Sun Sep 12 2004 Karsten Hopp 6.0.7.1-1 +- update to 6.0.7 Patchlevel 1, fixes #132106 + +* Sat Sep 4 2004 Bill Nottingham 6.0.6.2-2 +- move libWand out of -devel, fix requirements (#131767) + +* Wed Sep 01 2004 Karsten Hopp 6.0.6.2-1 +- update to latest stable version +- get rid of obsolete patches +- fix remaining patches + +* Sat Jun 19 2004 Alan Cox +- Easyfixes (#124791) - fixed missing dependancy between -devel and + libexif-devel + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Tue Mar 23 2004 Karsten Hopp 5.5.7.15-1.3 +- freetype patch to fix convert (#115716) + +* Tue Mar 02 2004 Elliot Lee +- rebuilt + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Sun Jan 25 2004 Nils Philippsen 5.5.7.15-0.2 +- make perl module link against the built library instead of the installed one + +* Thu Jan 22 2004 Nils Philippsen 5.5.7.15-0.1 +- version 5.5.7 patchlevel 15 + +* Mon Oct 13 2003 Nils Philippsen 5.5.7.10-0.1 +- rebuild with release 0.1 to not block an official update package + +* Wed Sep 10 2003 Nils Philippsen 5.5.7.10-2 +- hack around libtool stupidity +- disable automake patch as we require automake-1.7 anyway + +* Wed Sep 10 2003 Nils Philippsen 5.5.7.10-1 +- version 5.5.7 patchlevel 10 + +* Wed Jun 04 2003 Elliot Lee +- rebuilt + +* Thu May 29 2003 Tim Powers 5.5.6-4 +- rebuild for RHEL to fix broken deps + +* Thu May 15 2003 Tim Powers 5.5.6-3 +- rebuild again to fix broken dep on libMagick.so.5 + +* Mon May 12 2003 Karsten Hopp 5.5.6-2 +- rebuild + +* Fri May 09 2003 Karsten Hopp 5.5.6-1 +- update +- specfile fixes + #63897 (_target instead of _arch) + #74521 (SRPM doesn't compile) + #80441 (RFE: a newer version of ImageMagick is available) + #88450 (-devel package missing dependancy) + #57396 (convert won't read RAW format images) +- verified that the upstream version fixes the following bugreports: + #57544 (display cannot handle many xpm's which both ee and rh71 display can) + #63727 (ImageMagick fails to handle RGBA files) + #73864 (composite dumps core on certain operations) + #78242 (Header files for c missing in devel rpms) + #79783 (magick_config.h is missing from ImageMagick-c++-devel) + #80117 (Documentation is installed twice by RPM ) + #82762 (Trouble with browsing help files) + #85760 (Segmentation fault) + #86120 (eps->ppm convert crashes) + +* Wed Jan 22 2003 Tim Powers +- rebuilt + +* Sat Jan 4 2003 Jeff Johnson 5.4.7-9 +- use internal dep generator. + +* Mon Dec 16 2002 Tim Powers 5.4.7-8 +- rebuild + +* Sat Dec 14 2002 Tim Powers 5.4.7-7 +- don't use rpms internal dep generator + +* Fri Nov 22 2002 Tim Powers +- fix perl paths in file list + +* Thu Nov 21 2002 Tim Powers +- lib64'ize +- don't throw stuff in /usr/X11R6, that's for X only +- remove files we aren't shipping + +* Sat Aug 10 2002 Elliot Lee +- rebuilt with gcc-3.2 (we hope) + +* Tue Jul 23 2002 Tim Powers 5.4.7-4 +- build using gcc-3.2-0.1 + +* Wed Jul 03 2002 Karsten Hopp 5.4.7-3 +- fix non-cpp headers in -devel package +- fix #62157 (wrong path for include files in ImageMagick-devel) +- fix #63897 (use _target instead of _arch) in libtool workaround +- fix #65860, #65780 (tiff2ps) expands images to >10 MB Postscript files. + +* Mon Jul 01 2002 Karsten Hopp 5.4.7-1 +- update +- fix localdoc patch +- fix %%files section +- disable nonroot patch +- fix #62100,55950,62162,63136 (display doesn't start form gnome menu) +- fix libtool workaround +- moved Magick*-config into -devel package (#64249) + +* Sun May 26 2002 Tim Powers +- automated rebuild + +* Mon May 6 2002 Bernhard Rosenkraenzer 5.4.6-1 +- 5.4.6 + +* Thu Mar 14 2002 Bernhard Rosenkraenzer 5.4.3.11-1 +- Update to pl 11 + +* Fri Feb 22 2002 Bernhard Rosenkraenzer 5.4.3.5-1 +- Update to 5.4.3 pl5; this fixes #58080 + +* Thu Jan 17 2002 Bernhard Rosenkraenzer 5.4.2.3-1 +- Patchlevel 3 + +* Wed Jan 09 2002 Tim Powers +- automated rebuild + +* Fri Jan 4 2002 Bernhard Rosenkraenzer 5.4.2.2-1 +- Update to 5.4.2-2 +- Fix #57923, also don't hardcode netscape as html viewer + +* Wed Dec 5 2001 Bernhard Rosenkraenzer 5.4.1-1 +- 5.4.1 +- Link against new libstdc++ + +* Fri Nov 9 2001 Bernhard Rosenkraenzer 5.4.0.5-1 +- 5.4.0.5 +- Make the error message when trying to display an hpgl file more + explicit (#55875) + +* Mon Nov 5 2001 Bernhard Rosenkraenzer 5.4.0.3-1 +- 5.4.0.3 +- Fix names of man pages + +* Mon Oct 22 2001 Bernhard Rosenkraenzer 5.4.0-1 +- 5.4.0 +- work around build system breakage causing applications to be named + %%{_arch}-redhat-linux-foo rather than foo + +* Wed Sep 19 2001 Bernhard Rosenkraenzer 5.3.9-1 +- 5.3.9 + +* Mon Aug 27 2001 Bernhard Rosenkraenzer 5.3.8-3 +- Add delegates.mgk back, got lost during the update to 5.3.8 (Makefile bug) + (#52611) + +* Mon Aug 20 2001 Bernhard Rosenkraenzer 5.3.8-2 +- Remove Magick++ includes from -devel, they're already in -c++-devel + (#51590) + +* Sat Jul 28 2001 Bernhard Rosenkraenzer 5.3.8-1 +- 5.3.8 (bugfix release) + +* Fri Jul 27 2001 Than Ngo 5.3.7-3 +- fix to build Perlmagic on s390 s390x + +* Thu Jul 26 2001 Bernhard Rosenkraenzer 5.3.7-2 +- Add delegates.mgk to the package (#50725) + +* Tue Jul 24 2001 Bernhard Rosenkraenzer 5.3.7-1 +- 5.3.7 +- Fix build without previously installed ImageMagick-devel (#49816) +- Move perl bindings to a separate package. + +* Mon Jul 9 2001 Bernhard Rosenkraenzer 5.3.6-2 +- Fix build as non-root again +- Shut up rpmlint + +* Tue Jul 3 2001 Bernhard Rosenkraenzer 5.3.6-1 +- 5.3.6 +- Get rid of the ia64 patch, it's no longer needed since glibc was fixed + +* Sat Jun 16 2001 Than Ngo +- update to 5.3.5 +- cleanup specfile + +* Sat May 19 2001 Bernhard Rosenkraenzer 5.3.3-2 +- 5.3.3-respin, fixes #41196 + +* Tue May 1 2001 Bernhard Rosenkraenzer 5.3.3-1 +- 5.3.3 +- Add a desktop file for "display" (RFE#17417) + +* Sun Apr 15 2001 Bernhard Rosenkraenzer +- 5.3.2 +- work around bugs in ia64 glibc headers + +* Mon Jan 08 2001 Florian La Roche +- remove patch for s390, it is not necessary + +* Mon Jan 1 2001 Bernhard Rosenkraenzer +- 5.2.7 + +* Wed Dec 27 2000 Bernhard Rosenkraenzer +- 5.2.6 + +* Mon Dec 18 2000 Than Ngo +- ported to s390 + +* Mon Sep 25 2000 Bernhard Rosenkraenzer +- 5.2.4 +- Fix up and package the C++ bindings in the new c++/c++-devel packages. + +* Wed Aug 2 2000 Matt Wilson +- rebuild against new libpng + +* Wed Jul 19 2000 Nalin Dahyabhai +- include images with docs (#10312) + +* Thu Jul 13 2000 Matt Wilson +- don't build with -ggdb, use -g instead. + +* Wed Jul 12 2000 Prospector +- automatic rebuild + +* Mon Jul 3 2000 Florian La Roche +- update to 5.2.2 beta + +* Mon Jul 3 2000 Florian La Roche +- update to 5.2.1, redone patches as they failed + +* Fri Jun 30 2000 Matt Wilson +- remove hacks to move perl man pages +- don't include the perl*/man stuff, these files go in /usr/share/man now. + +* Thu Jun 15 2000 Nalin Dahyabhai +- disable optimization on Alpha and Sparc + +* Wed Jun 14 2000 Nalin Dahyabhai +- update to 5.2.0 +- update URL +- remove redundant CXXFLAGS=$RPM_OPT_FLAGS + +* Thu Jun 1 2000 Matt Wilson +- bootstrap rebuilt to nuke broken libbz2 deps +- add Prefix: tag such that the FHS macros work properly + +* Wed May 17 2000 Trond Eivind Glomsrød +- now compiles with bzip2 1.0 +- changed buildroot to include version + +* Fri May 5 2000 Bill Nottingham +- fix compilation with new perl + +* Sat Mar 18 2000 Bernhard Rosenkraenzer +- 5.1.1 + +* Thu Feb 3 2000 Bernhard Rosenkraenzer +- Rebuild to get compressed man pages + +* Thu Nov 18 1999 Michael K. Johnson +- ugly hack to print with lpr instead of lp + +* Mon Aug 30 1999 Bill Nottingham +- update to 4.2.9 + +* Tue Aug 17 1999 Bill Nottingham +- update to 4.2.8 + +* Fri Apr 09 1999 Cristian Gafton +- include the perl man pages as well + +* Tue Apr 06 1999 Michael K. Johnson +- remove --enable-16bit because it damages interoperability + +* Mon Apr 5 1999 Bill Nottingham +- update to 4.2.2 +- change ChangeLog to refer to actual dates. +- strip binaries + +* Thu Apr 1 1999 Bill Nottingham +- add more files. Oops. + +* Sun Mar 21 1999 Cristian Gafton +- auto rebuild in the new build environment (release 2) + +* Wed Mar 10 1999 Bill Nottingham +- version 4.2.1 + +* Tue Jan 19 1999 Michael K. Johnson +- changed group + +* Tue Jan 19 1999 Cristian Gafton +- hacks to make it work with the new perl +- version 4.1.0 (actually installs the sonames as 4.0.10... doh!) +- make sure the libraries have the x bit on + +* Wed Jun 10 1998 Prospector System +- translations modified for de, fr + +* Thu May 07 1998 Prospector System +- translations modified for de, fr, tr + +* Tue Apr 21 1998 Cristian Gafton +- updated to 4.0.5 + +* Wed Apr 08 1998 Cristian Gafton +- updated to 4.0.4 +- added BuildRoot + +* Thu Oct 23 1997 Donnie Barnes +- updated from 3.8.3 to 3.9.1 +- removed PNG patch (appears to be fixed) + +* Wed Oct 15 1997 Erik Troan +- build against new libpng + +* Thu Jul 10 1997 Erik Troan +- built against glibc + +* Thu Mar 20 1997 Michael Fulbright +- updated to version 3.8.3. +- updated source and url tags.