Compare commits

1 Commits
main ... 1.1

12 changed files with 237 additions and 640 deletions

View File

@@ -1,36 +0,0 @@
diff --git a/MagickCore/statistic.c b/MagickCore/statistic.c
index 8489fa4a0d1..377c7256a92 100644
--- a/MagickCore/statistic.c
+++ b/MagickCore/statistic.c
@@ -377,7 +377,7 @@ static double ApplyEvaluateOperator(RandomInfo *random_info,const Quantum pixel,
}
case PowEvaluateOperator:
{
- if (PerceptibleReciprocal(value) <= MagickEpsilon)
+ if (fabs(value) <= MagickEpsilon)
break;
if (((double) pixel < 0.0) && ((value-floor(value)) > MagickEpsilon))
result=(double) -((double) QuantumRange*pow(-(QuantumScale*(double)
diff --git a/MagickWand/operation.c b/MagickWand/operation.c
index 38e3145c321..1d853eedeb5 100644
--- a/MagickWand/operation.c
+++ b/MagickWand/operation.c
@@ -2477,14 +2477,15 @@ static MagickBooleanType CLISimpleOperatorImage(MagickCLI *cli_wand,
if (IsGeometry(arg1) == MagickFalse)
CLIWandExceptArgBreak(OptionError,"InvalidArgument",option,arg1);
constant=StringToDouble(arg1,(char **) NULL);
-#if 1
+#if 0
/* Using Gamma, via a cache */
if (IfPlusOp)
constant=PerceptibleReciprocal(constant);
(void) GammaImage(_image,constant,_exception);
#else
/* Using Evaluate POW, direct update of values - more accurate */
- if (IfNormalOp)
+ if (IfNormalOp && (fabs(constant) <= MagickEpsilon) &&
+ ((constant-1.0) > MagickEpsilon))
constant=PerceptibleReciprocal(constant);
(void) EvaluateImage(_image,PowEvaluateOperator,constant,_exception);
_image->gamma*=StringToDouble(arg1,(char **) NULL);

BIN
ImageMagick-7.1.1-21.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEE2Ccu9R2iI+TQW0Zpiatj1IJ3N3oFAmU0f0MACgkQiatj1IJ3
N3qD5A//Wn6lXGgyL6rLFtiHxGvCEmW6iZG2gvNTHRMEshnVIix41xvpDMn/Oduh
o+rJ8KID+dPnOUzOhgX5dl0JYxUQg1Qd5OwbtMOqJf6DtiHLKGGyKK9+iu1GX3pW
MRimmkEZWJj4ro28SCdlk/694VWJG9QynbE4opoj3a0HF63RPvHdG9FEb86tGMJs
B61gT4jkLMiEVEBN7pDDSCxcveabEG0QRB0CwcQKg3LEcqgHmf69qmCSDvXgxN8F
LOWvwP2kt7Gqh9OOruR4by+91SrV5Y+ckh0zS18wbQL7k346prqP0lUaa/oUCuDT
LszX9hXG6tK0T2kl25kct6fFOP5FCsy5pV5BoUu7GAVgz4ISC+/FzxHecdx2lLTg
YePZPdWG21/1FvLiX5YTCC1FLaiPGs6Fg9n21kskxKZZHXfXWwLkDNUXolSH+DLQ
92xBEDYTePmemD7cf7dduOUt5UgtQcHhLoaHKFvM1AWTBh7PoWlWF4OeinmPONC3
+R2cGlXEVtpzo8bGVgx4epYAmbvHtLJXT9ckl32p5kow6fVc+f5hsaP2cKSzAEW+
UJlgfOFk0sKX1k3RZLgnWu9co0r5gsi2ZWZbyqlmWZlJfR9FxFfM4zni+ipe4HTp
Z59bCP+z1NMCUyOI4mc/i2L8Fd9YItCG0scweuw8fugsPs/EN1w=
=8EVl
-----END PGP SIGNATURE-----

BIN
ImageMagick-7.1.1-43.tar.xz (Stored with Git LFS)

Binary file not shown.

View File

@@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEE2Ccu9R2iI+TQW0Zpiatj1IJ3N3oFAmdoeJIACgkQiatj1IJ3
N3rgoRAAph8B3N6Ssar9NhlOPJ5QlUIjTkBkh/psvKlvYuYAc7g00pQrDdqvnyqn
+hWwX4s49RP2nxfTx1A7HNaWyOw/xhaV/24FLdadw1HP2SelkX2aad1SDjvUMKA1
PGaK7v3/V6krCZINW3Yq7Rm3aN/gRxm428YY2yO5N7GBi5KhdcImOcNdLpZzq9Jw
mr9vXwK9ax/5wop3VAF724qlSNOACS9EqM/Yk+YdGg/ZruVmuVrWG91ySSWzBqSq
wNwKympBQwZeOkEPd5rGNidFdrGKdym4gxcOp/cz/F0ThtFbQjI8A/3CPaRRKAPW
0EtigG8x++l5HSrgxXGqQtR+y+m3J2RJ4JdXThL89sZV/mWy3Gjq8YOSxViPm06H
DIaEDKEV6oK5a8bBs64/JGaKSmjQGqdcpS/FNTRt6OjSZSB+INdmIj19bt8P+WrW
mnMzskbDMvGpW2DKtqQdvQttiWdeJjUtc8hYUUeyA7dvBAMFyS4gJsvSx60IJF2l
Kom6fDBn3ZaFGQs1qyTMukONkKoxhwd4S9sTMhWNWrfGGzfyMpJrRA8BHBqc7naw
yP+ucV4+hYknN7JvuE8ju4PZ6Fyb4fF4TwsiRaN/5FcdBwCMAdNX8oit5PaOBt5u
Xe7mF8k81e5FKs4XyK0DZC2jALo8AIzGICxM5qGEeiGcecD00Ow=
=QK9r
-----END PGP SIGNATURE-----

View File

@@ -1,23 +0,0 @@
diff --git a/MagickCore/statistic.c b/MagickCore/statistic.c
index caa221e7f34..8489fa4a0d1 100644
--- a/MagickCore/statistic.c
+++ b/MagickCore/statistic.c
@@ -377,12 +377,13 @@ static double ApplyEvaluateOperator(RandomInfo *random_info,const Quantum pixel,
}
case PowEvaluateOperator:
{
- if (((double) pixel < 0) && ((value-floor(value)) > MagickEpsilon))
+ if (PerceptibleReciprocal(value) <= MagickEpsilon)
+ break;
+ if (((double) pixel < 0.0) && ((value-floor(value)) > MagickEpsilon))
result=(double) -((double) QuantumRange*pow(-(QuantumScale*(double)
- pixel),(double) value));
+ pixel),value));
else
- result=(double) QuantumRange*pow(QuantumScale*(double) pixel,
- (double) value);
+ result=(double) QuantumRange*pow(QuantumScale*(double) pixel,value);
break;
}
case RightShiftEvaluateOperator:

View File

@@ -1,28 +1,6 @@
Index: ImageMagick-7.1.1-30/config/policy-secure.xml
===================================================================
--- ImageMagick-7.1.1-30.orig/config/policy-secure.xml
+++ ImageMagick-7.1.1-30/config/policy-secure.xml
@@ -62,7 +62,7 @@
<policy domain="resource" name="disk" value="1GiB"/>
<!-- Set the maximum length of an image sequence. When this limit is
exceeded, an exception is thrown. -->
- <policy domain="resource" name="list-length" value="32"/>
+ <policy domain="resource" name="list-length" value="128"/>
<!-- Set the maximum width of an image. When this limit is exceeded, an
exception is thrown. -->
<policy domain="resource" name="width" value="8KP"/>
@@ -83,17 +83,19 @@
<!-- Replace passphrase for secure distributed processing -->
<!-- <policy domain="cache" name="shared-secret" value="secret-passphrase" stealth="true"/> -->
<!-- Do not permit any delegates to execute. -->
- <policy domain="delegate" rights="none" pattern="*"/>
+ <!--policy domain="delegate" rights="none" pattern="*"/-->
<!-- Do not permit any image filters to load. -->
<policy domain="filter" rights="none" pattern="*"/>
<!-- Don't read/write from/to stdin/stdout. -->
- <policy domain="path" rights="none" pattern="-"/>
+ <!--policy domain="path" rights="none" pattern="-"/-->
<!-- don't read sensitive paths. -->
--- a/config/policy-secure.xml
+++ b/config/policy-secure.xml
@@ -92,8 +92,10 @@
<policy domain="path" rights="none" pattern="/etc/*"/>
<!-- Indirect reads are not permitted. -->
<policy domain="path" rights="none" pattern="@*"/>
@@ -30,7 +8,8 @@ Index: ImageMagick-7.1.1-30/config/policy-secure.xml
+ <policy domain="module" rights="none" pattern="{EPHEMERAL,URL,HTTPS,MVG,MSL,TEXT,SHOW,WIN,PLT}"/>
<!-- These image types are security risks on read, but write is fine -->
- <policy domain="module" rights="write" pattern="{MSL,MVG,PS,SVG,URL,XPS}"/>
+ <policy domain="module" rights="write" pattern="{MSL,MVG,PS,URL,XPS,PDF,EPI,EPS,PCL,PS1,PS2,PS3}"/>
+ <policy domain="module" rights="write" pattern="{MSL,MVG,PS,SVG,URL,XPS,PDF,EPI,EPS,PCL,PS1,PS2,PS3}"/>
<!-- This policy sets the number of times to replace content of certain
memory buffers and temporary files before they are freed or deleted. -->
<policy domain="system" name="shred" value="1"/>

View File

@@ -1,14 +0,0 @@
diff --git a/MagickWand/operation.c b/MagickWand/operation.c
index bbe00a5e5ca..38e3145c321 100644
--- a/MagickWand/operation.c
+++ b/MagickWand/operation.c
@@ -2477,7 +2477,7 @@ static MagickBooleanType CLISimpleOperatorImage(MagickCLI *cli_wand,
if (IsGeometry(arg1) == MagickFalse)
CLIWandExceptArgBreak(OptionError,"InvalidArgument",option,arg1);
constant=StringToDouble(arg1,(char **) NULL);
-#if 0
+#if 1
/* Using Gamma, via a cache */
if (IfPlusOp)
constant=PerceptibleReciprocal(constant);

View File

@@ -0,0 +1,31 @@
Index: ImageMagick-7.1.1-21/MagickCore/resource.c
===================================================================
--- ImageMagick-7.1.1-21.orig/MagickCore/resource.c
+++ ImageMagick-7.1.1-21/MagickCore/resource.c
@@ -136,7 +136,7 @@ static ResourceInfo
MagickULLConstant(768), /* file limit */
MagickULLConstant(1), /* thread limit */
MagickULLConstant(0), /* throttle limit */
- MagickResourceInfinity /* time limit */
+ INT_MAX /* time limit */
};
static SemaphoreInfo
@@ -971,7 +971,7 @@ MagickExport MagickBooleanType ListMagic
(void) FormatMagickSize(resource_info.disk_limit,MagickTrue,"B",
MagickFormatExtent,disk_limit);
(void) CopyMagickString(time_limit,"unlimited",MagickFormatExtent);
- if (resource_info.time_limit != MagickResourceInfinity)
+ if (resource_info.time_limit != INT_MAX)
FormatTimeToLive(resource_info.time_limit,time_limit);
(void) FormatLocaleFile(file,"Resource limits:\n");
(void) FormatLocaleFile(file," Width: %s\n",width_limit);
@@ -1333,7 +1333,7 @@ MagickPrivate MagickBooleanType Resource
limit,100.0));
limit=DestroyString(limit);
}
- (void) SetMagickResourceLimit(TimeResource,MagickResourceInfinity);
+ (void) SetMagickResourceLimit(TimeResource,INT_MAX);
limit=GetEnvironmentValue("MAGICK_TIME_LIMIT");
if (limit != (char *) NULL)
{

View File

@@ -1,8 +1,8 @@
Index: ImageMagick-7.1.1-38/configure
Index: ImageMagick-7.1.1-17/configure
===================================================================
--- ImageMagick-7.1.1-38.orig/configure
+++ ImageMagick-7.1.1-38/configure
@@ -35059,7 +35059,9 @@ fi
--- ImageMagick-7.1.1-17.orig/configure
+++ ImageMagick-7.1.1-17/configure
@@ -34840,7 +34840,9 @@ fi
# Subdirectory to place architecture-dependent configuration files

View File

@@ -1,335 +1,3 @@
-------------------------------------------------------------------
Mon Jan 20 13:34:51 UTC 2025 - pgajdos@suse.com
- fix [bsc#1235113]:
https://github.com/ImageMagick/Usage/issues/8
https://github.com/ImageMagick/Usage/issues/9
- added patches
fix https://github.com/ImageMagick/ImageMagick/commit/be3b73da674520ad3eab52ade2a3cda62af66d15
+ ImageMagick-0-1-are-special-cases-for-pow.patch
fix https://github.com/ImageMagick/ImageMagick/commit/1afa38ae2fa87cf4eb48040e47d410aa729ce21e
+ ImageMagick-check-for-pow-zero.patch
fix https://github.com/ImageMagick/ImageMagick/commit/056ccdbeac41c9b24b625e0139cd25a4cdffb22a
+ ImageMagick-gamma-should-call-GammaImage.patch
-------------------------------------------------------------------
Mon Dec 23 14:47:14 UTC 2024 - pgajdos@suse.com
- version update to 7.1.1.43
* no upstream changelog found
-------------------------------------------------------------------
Sun Nov 17 10:27:30 UTC 2024 - Arjen de Korte <suse+build@de-korte.org>
- version update to 7.1.1.41
* Fix compiler identification with Clang on Darwin in #7773
* revert map changes breaking ABI in #7768
-------------------------------------------------------------------
Mon Nov 11 19:59:52 UTC 2024 - Yann BOYER <yann.boyer742@gmail.com>
- version update to 7.1.1.40
* .cut (Dr Halo) reading when run count in header #7734
* Bump azure/trusted-signing-action from 0.4.0 to 0.5.0 #7725
* Implement Magic Kernel Sharp 2013 and 2021 #7701
* don't process TIFF image if there is an exception
* Corrected check for indexed channels in PSD files.
* export exception when undo resource limit exceeded
-------------------------------------------------------------------
Sun Oct 6 20:27:31 UTC 2024 - Arjen de Korte <suse+build@de-korte.org>
- version update to 7.1.1.39
* Add missing Threshold command to command array of Region of Interest mode #7606
* uhdr.c: update uhdr coder for gainmap metadata configuration #7635
* uhdr: fix language choice in autoconf #7663
-------------------------------------------------------------------
Fri Sep 13 15:38:48 UTC 2024 - pgajdos@suse.com
- version update to 7.1.1.38
* properly set image byte order 40f6599
* set max colormap size for remap 1ffe565
* beta release 250b748
* deprecate the -respect-paranthesis option 4e7d789
* Build fixes. b80c509
* save IPTC + ICC profiles are profiles, not properties 25d5335
* update copyright year 4caf7d1
* Patch to fix reading of the ICC profile. 18377f9
* prepping framework to interact with X11 clipboard b20dda3
* Build fix. 20a5af3
* More build fixes. c36fdf0
* Another attempt to silence the warnings. 600708c
* Use SetImageProfilePrivate to avoid duplicate allocations. f246eab
* support clipboard delegate 39a135a
* restore clipboard.c 1070b17
* improved rounding 27a0a9c
* don't allow negative scenes 8fda05a
* eliminate compiler warnings 878daf9
- modified patches
% ImageMagick-library-installable-in-parallel.patch (refreshed)
-------------------------------------------------------------------
Tue Aug 27 08:21:42 UTC 2024 - pgajdos@suse.com
- version update to 7.1.1.37
* Bump azure/trusted-signing-action from 0.3.20 to 0.4.0 #7518
* Silence warning and fix HEIC_COMPUTE_NUMERIC_VERSION definition when heic delegate is disabled. #7516
* protect macro arguments with parens 86cb2b1
* eliminate compiler warnings d90d8b4
* correct copyright year 115271e
* Ignore multiple exif and xmp profiles for the same jxl frame and fix reading those profiles per frame. c301208
* read/write in chunks fff3058
* optimize fwrite() arguments ada6785
* Renamed Output folder to Artifacts. 2a69677
* cancel interactive window selection with right button press ea2a2db
* cosmetic 712bde4
* eliminate compiler warning 9a9a25c
* eliminate compiler warning 0bd1687
* Make images mandatory in the issue template. c01fd37
* Added extra header detection for avif files. 9fc0590
* allow SeekBlob() to set an offset beyond the end of the blob 27c3f99
* be less forgiving for invalid image indexes 25db2e5
* Fixed problem with empty macros (#7562) 9fda5f2
* Added missing null checks for RequestOpenCLDevice. f85448e
* Added missing null check for AcquireOpenCLCommandQueue. 295e9c8
* persist app1 jpeg profile (ImageMagick/ImageMagick#4713) f0357c7
* Fixed build error. b3dd431
* Remove some of the dependencies for the macos-13 build. d0bce95
* parentheses is the plural of parenthesis 1fac80a
* distribute quantization error for -dither FloydSteinberg -depth 5b2825b
* release 8a0da9f
* properly set image byte order 40f6599
* set max colormap size for remap 1ffe565
-------------------------------------------------------------------
Sat Aug 3 18:26:29 UTC 2024 - Arjen de Korte <suse+build@de-korte.org>
- version update to 7.1.1.36
* uhdr.c: default initialize range field for hdr/sdr intent inputs to
enc by @aayushsoni111 in #7482
* Fixed typo in documentation of MagickAdaptiveBlurImage by @JonahEMorgan
in #7500
* Silence warning when freetype delegate is disabled. by @niclet in #7515
-------------------------------------------------------------------
Thu Jul 25 08:23:31 UTC 2024 - pgajdos@suse.com
- version update to 7.1.1.35
* Also set dpi-x and dpi-y when running rsvg-convert. eac001f
* convert sub-command is deprecated d67039e
* only operators should disable "identify ping" (ImageMagick/ImageMagick#7441) a262192
* fix compiler error ecc21c7
* -outdir deprecated 9980efa
* Get the correct width and height when heic:preserve-orientation is set to true. ed3a0dd
* Set heic image orientation using transform information. ba470aa
* Exit earlier when the symlink could not be created when invoking the svg:decode delegate. 8a48edd
* Fixed MSYS2 build error. 3b22378
* Also set the DNG properties when pinging the image. fc1c61b
* Silence warning when lqr delegate is disabled. ae0d69a
* Added version check for the heif_properties.h include. 656b4d2
* Make sure we always use the i64 version of the "file methods" on Windows. b3e8a78
* Changed defines to use method instead of a define. 75b66c4
* Changes due to upgrade of libheif. 841f033
* smooth the rendering of an ellipse (ImageMagick/ImageMagick#7465) 1bfce2a
-------------------------------------------------------------------
Sun Jun 23 20:52:45 UTC 2024 - Arjen de Korte <suse+build@de-korte.org>
- version update to 7.1.1.34
* Bump azure/trusted-signing-action from 0.3.18 to 0.3.19 in #7348
* Fix a typo in convert deprecation warning in #7383
* Bump azure/trusted-signing-action from 0.3.19 to 0.3.20 in #7388
* Updated FontConfig query to include font index, fixing (#7374) in #7409
- removed patch (upstreamed)
- ImageMagick-update-image-signature.patch
-------------------------------------------------------------------
Sat May 25 21:11:21 UTC 2024 - Arjen de Korte <suse+build@de-korte.org>
- version update to 7.1.1.33
* Fix typo in #7294
* Bump azure/trusted-signing-action from 0.3.16 to 0.3.18 in #7325
* Bump caphyon/advinst-github-action from 1.1 to 2.0 in #7326
- added patch
+ ImageMagick-update-image-signature.patch
-------------------------------------------------------------------
Thu May 16 09:06:36 UTC 2024 - pgajdos@suse.com
- reverted update-alternatives usage removal [bsc#1122033][bsc#1220818]
-------------------------------------------------------------------
Sun May 5 19:33:38 UTC 2024 - Arjen de Korte <suse+build@de-korte.org>
- version update to 7.1.1.32
* Fix GIF ICC profile reading #7282
* uhdr.c: add support for rgb inputs #7273
-------------------------------------------------------------------
Mon Apr 22 08:01:53 UTC 2024 - pgajdos@suse.com
- version update to 7.1.1.31
* Convert big PDF documents is slow #7263
* Update release.yml #7258
* Update README.md #7245
* uhdr.c: verify the availability of error message before accessing it #7229
- removed patches
- ImageMagick-wmflite-detection.patch (upstreamed)
`
-------------------------------------------------------------------
Mon Apr 15 10:19:07 UTC 2024 - pgajdos@suse.com
- relax list-length resource limit, fixes build of python-Wand
% ImageMagick-configuration-SUSE.patch
-------------------------------------------------------------------
Mon Apr 8 14:44:40 UTC 2024 - pgajdos@suse.com
- version update to 7.1.1.30
* install perl module into user-specified prefix by @bugfood in #7192
* Fix bmp option to bypass file size check by @OnTheList-1 in #7194
* add support for encoding/decoding ultrahdr images by @aayushsoni111 in #7198
* Updates to uhdr.c by @aayushsoni111 in #7217
- added patches
fix https://github.com/ImageMagick/ImageMagick/issues/7230
+ ImageMagick-wmflite-detection.patch
-------------------------------------------------------------------
Fri Mar 22 10:32:38 UTC 2024 - pgajdos@suse.com
- allow stdin/stdout
- modified patches
% ImageMagick-configuration-SUSE.patch
-------------------------------------------------------------------
Thu Mar 21 08:35:53 UTC 2024 - pgajdos@suse.com
- allow delegates to be executed, was disabled by default policy
- modified patches
% ImageMagick-configuration-SUSE.patch (refreshed)
% ImageMagick-library-installable-in-parallel.patch (refreshed)
-------------------------------------------------------------------
Mon Mar 4 11:55:33 UTC 2024 - pgajdos@suse.com
- enable SVG again
- modified patches
% ImageMagick-configuration-SUSE.patch (refreshed)
-------------------------------------------------------------------
Sat Mar 2 23:03:12 UTC 2024 - Marcus Rueckert <mrueckert@suse.de>
- We can not replace a symlink with a directory on the directly
Unregister the whole group manually in %pre with
update-alternatives. (boo#1220818)
Restore Requires(pre) on update-alternatives for the mean time.
-------------------------------------------------------------------
Tue Feb 27 20:28:12 UTC 2024 - Arjen de Korte <suse+build@de-korte.org>
- version update to 7.1.1.29
https://github.com/ImageMagick/Website/blob/main/ChangeLog.md
-------------------------------------------------------------------
Thu Feb 22 07:57:01 UTC 2024 - Michael Vetter <mvetter@suse.com>
- Use %patch -P N instead of deprecated %patchN.
-------------------------------------------------------------------
Sun Feb 11 20:57:22 UTC 2024 - Arjen de Korte <suse+build@de-korte.org>
- version update to 7.1.1.28
https://github.com/ImageMagick/Website/blob/main/ChangeLog.md
-------------------------------------------------------------------
Sun Jan 21 19:12:06 UTC 2024 - Arjen de Korte <suse+build@de-korte.org>
- version update to 7.1.1.27
https://github.com/ImageMagick/Website/blob/main/ChangeLog.md
-------------------------------------------------------------------
Tue Jan 16 14:54:49 UTC 2024 - pgajdos@suse.com
- only one configuration again, based on upstream 'secure' policy
- other upstream policies packaged in documentation
-------------------------------------------------------------------
Mon Jan 15 14:30:40 UTC 2024 - pgajdos@suse.com
- use correct policy.xml
-------------------------------------------------------------------
Sun Jan 14 10:57:43 UTC 2024 - munix9@googlemail.com
- Fix incomplete removal of update-alternatives for config
- Replace obsolete 'otherproviders(imagick-%{config_spec})' with
'Conflicts: imagick-%{config_spec}'
-------------------------------------------------------------------
Fri Jan 12 15:32:08 UTC 2024 - Arjen de Korte <suse+build@de-korte.org>
- version update to 7.1.1.26
https://github.com/ImageMagick/Website/blob/main/ChangeLog.md
-------------------------------------------------------------------
Fri Jan 5 10:49:19 UTC 2024 - pgajdos@suse.com
- drop update-alternatives for config; use exactly one of configuration
package provided
-------------------------------------------------------------------
Wed Jan 3 09:22:56 UTC 2024 - pgajdos@suse.com
- version update to 7.1.1.25
https://github.com/ImageMagick/Website/blob/main/ChangeLog.md
-------------------------------------------------------------------
Sat Dec 30 16:28:50 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 7.1.1.24:
* Added extra check for rare case when ImageMagick is build without
any delegates.
* Corrected order to fix invalid matches.
* only fill the alpha channel for alpha floodfill
* Make sure we use the lt_ methods like we do elsewhere.
* support dng:max-raw-memory define (ImageMagick/ImageMagick#6922)
* properly export YUV JP2 images (ImageMagick/ImageMagick#6943)
* use : specifier
* correct display program name
* check for corrupt DJVU images
* support UTF-8 comments (ImageMagick/ImageMagick#6949)
* do not prefix iTxt key with 'png:'
* enhance sampling factor parser (ImageMagick/ImageMagick#6943)
* Switch to ubuntu 20.04 in the app-image build.
* Corrected packages that need to be install due to ubuntu upgrade.
* improve accuracy of image statistics
* fx calculations of skewness and kurtosis
* Only write comments as itxt when the string contains non ansi
chars.
* check if the string contains non-Latin1 characters
* Corrected patch to check for non-Latin1 characters.
* invalid JSON with -ping (ImageMagick/ImageMagick#6966)
* throw exception if # of meta channels exceed max
https://github.com/ImageMagick/ImageMagick/security/advisories/GHSA-hx5j-pxvh-rj7r
* multiplication result converted to larger type
* invalid HTTPS certificates are no longer ignored
https://github.com/ImageMagick/ImageMagick/security/advisories/GHSA-3r24-6m6q-vxmr
* multiplication result converted to larger type
* eliminate compiler warning
* don't include the index channel in the overall image statistics
* multiplication result converted to larger type
-------------------------------------------------------------------
Thu Dec 21 10:13:14 UTC 2023 - pgajdos@suse.com
- version update to 7.1.1.23
https://github.com/ImageMagick/Website/blob/main/ChangeLog.md
- modified patches
% ImageMagick-library-installable-in-parallel.patch (refreshed)
- deleted patches
- ImageMagick-infinite-resource-time-limit.patch (upstreamed)
-------------------------------------------------------------------
Mon Nov 13 10:09:38 UTC 2023 - pgajdos@suse.com

View File

@@ -1,7 +1,7 @@
#
# spec file for package ImageMagick
#
# Copyright (c) 2025 SUSE LLC
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +20,7 @@
%define asan_build 0
%define maj 7
%define mfr_version %{maj}.1.1
%define mfr_revision 43
%define mfr_revision 21
%define quantum_depth 16
%define source_version %{mfr_version}-%{mfr_revision}
%define clibver 10
@@ -28,6 +28,7 @@
%define cxxlibver 5
%define libspec -%{maj}_Q%{quantum_depth}HDRI
%define config_dir ImageMagick-7
%define config_spec config-7
%define test_verbose 1
# bsc#1088463
%define urw_base35_fonts 0
@@ -54,12 +55,8 @@ Patch4: ImageMagick-filter.t-disable-Contrast.patch
#%%endif
#%%ifarch s390x
Patch5: ImageMagick-s390x-disable-tests.patch
# https://github.com/ImageMagick/ImageMagick/commit/1afa38ae2fa87cf4eb48040e47d410aa729ce21e
Patch6: ImageMagick-check-for-pow-zero.patch
# https://github.com/ImageMagick/ImageMagick/commit/056ccdbeac41c9b24b625e0139cd25a4cdffb22a
Patch7: ImageMagick-gamma-should-call-GammaImage.patch
# https://github.com/ImageMagick/ImageMagick/commit/be3b73da674520ad3eab52ade2a3cda62af66d15
Patch8: ImageMagick-0-1-are-special-cases-for-pow.patch
# https://github.com/ImageMagick/ImageMagick/commit/8f3c56fabc619c1672865257e5aafe33cbfaaf3e https://github.com/ImageMagick/ImageMagick/commit/3a7b915d9a810ce742987b37c935f6ae8b36df10
Patch6: ImageMagick-infinite-resource-time-limit.patch
#%%endif
BuildRequires: chrpath
BuildRequires: dejavu-fonts
@@ -137,21 +134,19 @@ Recommends: transfig
%package -n libMagickCore%{libspec}%{clibver}
Summary: C runtime library for ImageMagick
Group: Productivity/Graphics/Other
Requires: imagick-config-7
Recommends: ImageMagick-config-7-SUSE
Requires: imagick-%{config_spec}
Recommends: %{config_spec}-SUSE
Recommends: ghostscript
Suggests: ImageMagick-extra = %{version}
Recommends: ImageMagick
Suggests: %{name}-extra = %{version}
%package -n libMagickWand%{libspec}%{cwandver}
Summary: C runtime library for ImageMagick
Group: Productivity/Graphics/Other
Recommends: ImageMagick
%package -n libMagick++%{libspec}%{cxxlibver}
Summary: C++ interface runtime library for ImageMagick
Group: Development/Libraries/C and C++
Recommends: ImageMagick
Requires: %{name}
%package -n libMagick++-devel
Summary: Development files for ImageMagick's C++ interface
@@ -165,42 +160,42 @@ Summary: Document Files for ImageMagick Library
Group: Documentation/HTML
BuildArch: noarch
%package config-7-upstream-open
%package %{config_spec}-upstream-open
Summary: Open ImageMagick Security Policy
Group: Development/Libraries/C and C++
Requires(post): update-alternatives
Requires(postun): update-alternatives
Provides: imagick-config-7
Obsoletes: config-7-upstream < %{version}
Provides: config-7-upstream = %{version}
Requires(postun):update-alternatives
Provides: imagick-%{config_spec}
Obsoletes: %{config_spec}-upstream < %{version}
Provides: %{config_spec}-upstream = %{version}
%package config-7-upstream-limited
%package %{config_spec}-upstream-limited
Summary: Limited ImageMagick Security Policy
Group: Development/Libraries/C and C++
Requires(post): update-alternatives
Requires(postun): update-alternatives
Provides: imagick-config-7
Requires(postun):update-alternatives
Provides: imagick-%{config_spec}
%package config-7-upstream-secure
%package %{config_spec}-upstream-secure
Summary: Secure ImageMagick Security Policy
Group: Development/Libraries/C and C++
Requires(post): update-alternatives
Requires(postun): update-alternatives
Provides: imagick-config-7
Requires(postun):update-alternatives
Provides: imagick-%{config_spec}
%package config-7-upstream-websafe
%package %{config_spec}-upstream-websafe
Summary: Web-safe ImageMagick Security Policy
Group: Development/Libraries/C and C++
Requires(post): update-alternatives
Requires(postun): update-alternatives
Provides: imagick-config-7
Requires(postun):update-alternatives
Provides: imagick-%{config_spec}
%package config-7-SUSE
%package %{config_spec}-SUSE
Summary: SUSE Provided Configuration
Group: Development/Libraries/C and C++
Requires(post): update-alternatives
Requires(postun): update-alternatives
Provides: imagick-config-7
Requires(postun):update-alternatives
Provides: imagick-%{config_spec}
%description
ImageMagick is a robust collection of tools and libraries to read,
@@ -300,7 +295,7 @@ support multiple generations of an image in memory at one time.
%description doc
HTML documentation for ImageMagick library and scene examples.
%description config-7-upstream-open
%description %{config_spec}-upstream-open
This policy is designed for usage in secure settings like those
protected by firewalls or within Docker containers. Within this framework,
ImageMagick enjoys broad access to resources and functionalities. This policy
@@ -310,7 +305,7 @@ less regulated conditions. Thus, organizations should thoroughly assess
the appropriateness of the open policy according to their particular use
case and security prerequisites.
%description config-7-upstream-limited
%description %{config_spec}-upstream-limited
The primary objective of the limited security policy is to find a
middle ground between convenience and security. This policy involves the
deactivation of potentially hazardous functionalities, like specific coders
@@ -321,7 +316,7 @@ where there's a need to mitigate the potential threat of handling possibly
malicious or demanding images, all while retaining essential capabilities
for prevalent image formats.
%description config-7-upstream-secure
%description %{config_spec}-upstream-secure
This stringent security policy prioritizes the implementation of
rigorous controls and restricted resource utilization to establish a
profoundly secure setting while employing ImageMagick. It deactivates
@@ -336,7 +331,7 @@ undisclosed passphrase for remote connections. By adopting this robust
policy, entities can elevate their overall security stance and alleviate
potential vulnerabilities.
%description config-7-upstream-websafe
%description %{config_spec}-upstream-websafe
This security protocol designed for web-safe usage focuses on situations
where ImageMagick is applied in publicly accessible contexts, like websites.
It deactivates the capability to read from or write to any image formats
@@ -347,24 +342,22 @@ the web-safe policy fortifies the safeguarding of systems accessible to
the public, reducing the risk of exploiting ImageMagick's capabilities
for potential attacks.
%description config-7-SUSE
%description %{config_spec}-SUSE
ImageMagick configuration as provide by SUSE. It is upstream 'secure'
policy plus disable few other coders for reading and/or writing.
%prep
%setup -q -n ImageMagick-%{source_version}
%patch -P 2 -p1
%patch2 -p1
%ifarch i586
%if %{?suse_version} < 1550
%patch -P 4 -p1
%patch4 -p1
%endif
%endif
%ifarch s390x
%patch -P 5 -p1
%patch5 -p1
%endif
%patch -P 6 -p1
%patch -P 7 -p1
%patch -P 8 -p1
%patch6 -p1
%build
# bsc#1088463
@@ -397,7 +390,7 @@ export CXXFLAGS="%{optflags} -O0"
--with-gs-font-dir=%{_datadir}/fonts/ghostscript \
%endif
--with-perl \
--with-perl-options="INSTALLDIRS=vendor INSTALLVENDORARCH=%{perl_vendorarch} INSTALLVENDORMAN3DIR=/usr/share/man/man3" \
--with-perl-options="INSTALLDIRS=vendor %{?perl_prefix} CC='gcc -L$PWD/magick/.libs' LDDLFLAGS='-shared -L$PWD/magick/.libs'" \
--disable-static \
--with-gvc \
%if %{with ddjvuapi}
@@ -415,8 +408,7 @@ export CXXFLAGS="%{optflags} -O0"
--without-gcc-arch \
--enable-pipes=no \
--enable-reproducible-build=yes \
--disable-openmp \
--with-security-policy=open # open for %%check
--disable-openmp
%if %{asan_build}
sed -i -e 's/\(^CFLAGS.*\)/\1 -fsanitize=address/' \
-e 's/\(^LIBS =.*\)/\1 -lasan/' \
@@ -426,7 +418,7 @@ sed -i -e 's/\(^CFLAGS.*\)/\1 -fsanitize=address/' \
# [1] http://pkgs.fedoraproject.org/cgit/ImageMagick.git/tree/ImageMagick.spec
%make_build all
%make_build -j1 perl-build
# mostly because */demo is used later with %%check
# mostly because */demo is used later with %check
# polutting dir with .libs etc.
cp -r Magick++/demo Magick++/examples
cp -r PerlMagick/demo PerlMagick/examples
@@ -459,9 +451,9 @@ sed -i 's:TEST_VERBOSE=0:TEST_VERBOSE=1:' Makefile
cd ..
%install
%make_install pkgdocdir=%{_defaultdocdir}/ImageMagick-%{maj}/
%make_install pkgdocdir=%{_defaultdocdir}/%{name}-%{maj}/
# configuration magic
mv -t %{buildroot}%{_sysconfdir}/ImageMagick* %{buildroot}%{_datadir}/ImageMagick*/*.xml
mv -t %{buildroot}%{_sysconfdir}/%{name}* %{buildroot}%{_datadir}/%{name}*/*.xml
for policy in open limited secure websafe; do
cp -r %{buildroot}%{_sysconfdir}/%{config_dir}{,-upstream-$policy}
cp config/policy-$policy.xml %{buildroot}%{_sysconfdir}/%{config_dir}-upstream-$policy
@@ -473,10 +465,10 @@ mkdir -p %{buildroot}%{_sysconfdir}/alternatives/
ln -sf %{_sysconfdir}/alternatives/%{config_dir} %{buildroot}%{_sysconfdir}/%{config_dir}
# symlink header file relative to /usr/include/ImageMagick-7/
# so that inclusions like wand/*.h and magick/*.h work
ln -s ./MagickCore %{buildroot}%{_includedir}/ImageMagick-%{maj}/magick
ln -s ./MagickWand %{buildroot}%{_includedir}/ImageMagick-%{maj}/wand
# these will be included via %%doc
rm -r %{buildroot}%{_datadir}/doc/ImageMagick-%{maj}/
ln -s ./MagickCore %{buildroot}%{_includedir}/%{name}-%{maj}/magick
ln -s ./MagickWand %{buildroot}%{_includedir}/%{name}-%{maj}/wand
# these will be included via %doc
rm -r %{buildroot}%{_datadir}/doc/%{name}-%{maj}/
rm %{buildroot}%{_libdir}/*.la
# remove RPATH from perl module
perl_module=$(find %{buildroot}%{_prefix}/lib/perl5 -name '*.so')
@@ -486,8 +478,8 @@ chmod 555 $perl_module
# remove %%{buildroot} from distributed file
sed -i 's:%{buildroot}::' %{buildroot}/%{_libdir}/ImageMagick-%{mfr_version}/config%{libspec}%{clibver}/configure.xml
#remove duplicates
%fdupes -s %{buildroot}%{_defaultdocdir}/ImageMagick-%{maj}
%fdupes -s %{buildroot}%{_includedir}/ImageMagick-%{maj}
%fdupes -s %{buildroot}%{_defaultdocdir}/%{name}-%{maj}
%fdupes -s %{buildroot}%{_includedir}/%{name}-%{maj}
%fdupes -s %{buildroot}%{_libdir}/pkgconfig
%perl_process_packlist
@@ -498,93 +490,93 @@ sed -i 's:%{buildroot}::' %{buildroot}/%{_libdir}/ImageMagick-%{mfr_version}/con
%post -n libMagick++%{libspec}%{cxxlibver} -p /sbin/ldconfig
%postun -n libMagick++%{libspec}%{cxxlibver} -p /sbin/ldconfig
%pretrans config-7-upstream-open -p <lua>
-- this %pretrans to be removed soon [bug#1122033#37]
path = "%{_sysconfdir}/%{config_dir}"
st = posix.stat(path)
if st and st.type == "directory" then
os.remove(path .. ".rpmmoved")
os.rename(path, path .. ".rpmmoved")
end
%pretrans config-7-upstream-limited -p <lua>
-- this %pretrans to be removed soon [bug#1122033#c37]
path = "%{_sysconfdir}/%{config_dir}"
st = posix.stat(path)
if st and st.type == "directory" then
os.remove(path .. ".rpmmoved")
os.rename(path, path .. ".rpmmoved")
end
%pretrans config-7-upstream-secure -p <lua>
-- this %pretrans to be removed soon [bug#1122033#c37]
path = "%{_sysconfdir}/%{config_dir}"
st = posix.stat(path)
if st and st.type == "directory" then
os.remove(path .. ".rpmmoved")
os.rename(path, path .. ".rpmmoved")
end
%pretrans config-7-SUSE -p <lua>
-- this %pretrans to be removed soon [bug#1122033#c37]
path = "%{_sysconfdir}/%{config_dir}"
st = posix.stat(path)
if st and st.type == "directory" then
os.remove(path .. ".rpmmoved")
os.rename(path, path .. ".rpmmoved")
end
%pretrans config-7-upstream-websafe -p <lua>
-- this %pretrans to be removed soon [bug#1122033#c37]
path = "%{_sysconfdir}/%{config_dir}"
st = posix.stat(path)
if st and st.type == "directory" then
os.remove(path .. ".rpmmoved")
os.rename(path, path .. ".rpmmoved")
end
%post config-7-upstream-open
%post %{config_spec}-upstream-open
%{_sbindir}/update-alternatives --quiet --install %{_sysconfdir}/%{config_dir} %{config_dir} %{_sysconfdir}/%{config_dir}-upstream-open 1
%postun config-7-upstream-open
%postun %{config_spec}-upstream-open
if [ ! -d %{_sysconfdir}/%{config_dir}-upstream ] ; then
%{_sbindir}/update-alternatives --quiet --remove %{config_dir} %{_sysconfdir}/%{config_dir}-upstream
fi
%post config-7-upstream-limited
%post %{config_spec}-upstream-limited
%{_sbindir}/update-alternatives --quiet --install %{_sysconfdir}/%{config_dir} %{config_dir} %{_sysconfdir}/%{config_dir}-upstream-limited 5
%postun config-7-upstream-limited
%postun %{config_spec}-upstream-limited
if [ ! -d %{_sysconfdir}/%{config_dir}-upstream ] ; then
%{_sbindir}/update-alternatives --quiet --remove %{config_dir} %{_sysconfdir}/%{config_dir}-upstream-limited
fi
%post config-7-upstream-secure
%post %{config_spec}-upstream-secure
%{_sbindir}/update-alternatives --quiet --install %{_sysconfdir}/%{config_dir} %{config_dir} %{_sysconfdir}/%{config_dir}-upstream-secure 10
%postun config-7-upstream-secure
%postun %{config_spec}-upstream-secure
if [ ! -d %{_sysconfdir}/%{config_dir}-upstream ] ; then
%{_sbindir}/update-alternatives --quiet --remove %{config_dir} %{_sysconfdir}/%{config_dir}-upstream-secure
fi
%post config-7-SUSE
%pretrans %{config_spec}-upstream-open -p <lua>
-- this %pretrans to be removed soon [bug#1122033#c37]
path = "%{_sysconfdir}/%{config_dir}"
st = posix.stat(path)
if st and st.type == "directory" then
os.remove(path .. ".rpmmoved")
os.rename(path, path .. ".rpmmoved")
end
%pretrans %{config_spec}-upstream-limited -p <lua>
-- this %pretrans to be removed soon [bug#1122033#c37]
path = "%{_sysconfdir}/%{config_dir}"
st = posix.stat(path)
if st and st.type == "directory" then
os.remove(path .. ".rpmmoved")
os.rename(path, path .. ".rpmmoved")
end
%pretrans %{config_spec}-upstream-secure -p <lua>
-- this %pretrans to be removed soon [bug#1122033#c37]
path = "%{_sysconfdir}/%{config_dir}"
st = posix.stat(path)
if st and st.type == "directory" then
os.remove(path .. ".rpmmoved")
os.rename(path, path .. ".rpmmoved")
end
%pretrans %{config_spec}-SUSE -p <lua>
-- this %pretrans to be removed soon [bug#1122033#c37]
path = "%{_sysconfdir}/%{config_dir}"
st = posix.stat(path)
if st and st.type == "directory" then
os.remove(path .. ".rpmmoved")
os.rename(path, path .. ".rpmmoved")
end
%pretrans %{config_spec}-upstream-websafe -p <lua>
-- this %pretrans to be removed soon [bug#1122033#c37]
path = "%{_sysconfdir}/%{config_dir}"
st = posix.stat(path)
if st and st.type == "directory" then
os.remove(path .. ".rpmmoved")
os.rename(path, path .. ".rpmmoved")
end
%post %{config_spec}-SUSE
%{_sbindir}/update-alternatives --quiet --install %{_sysconfdir}/%{config_dir} %{config_dir} %{_sysconfdir}/%{config_dir}-SUSE 15
%postun config-7-SUSE
%postun %{config_spec}-SUSE
if [ ! -d %{_sysconfdir}/%{config_dir}-SUSE ] ; then
%{_sbindir}/update-alternatives --quiet --remove %{config_dir} %{_sysconfdir}/%{config_dir}-SUSE
fi
%post config-7-upstream-websafe
%post %{config_spec}-upstream-websafe
%{_sbindir}/update-alternatives --quiet --install %{_sysconfdir}/%{config_dir} %{config_dir} %{_sysconfdir}/%{config_dir}-upstream-websafe 20
%postun config-7-upstream-websafe
%postun %{config_spec}-upstream-websafe
if [ ! -d %{_sysconfdir}/%{config_dir}-upstream ] ; then
%{_sbindir}/update-alternatives --quiet --remove %{config_dir} %{_sysconfdir}/%{config_dir}-upstream-websafe
fi
%files
%license LICENSE
%doc NEWS.txt
%{_bindir}/[^MW]*
%{_mandir}/man1/*
%exclude %{_mandir}/man1/*-config.1%{ext_man}
@@ -650,7 +642,7 @@ fi
%files -n libMagick++-devel
%doc Magick++/examples
%doc Magick++/AUTHORS
%doc Magick++/NEWS Magick++/README Magick++/AUTHORS
%{_libdir}/libMagick++*.so
%{_includedir}/ImageMagick*/Magick++.h
%{_includedir}/ImageMagick*/Magick++
@@ -659,33 +651,33 @@ fi
%{_mandir}/man1/Magick++-config.1%{?ext_man}
%files doc
%{_defaultdocdir}/ImageMagick-%{maj}
%{_defaultdocdir}/%{name}-%{maj}
%files config-7-upstream-open
%files %{config_spec}-upstream-open
%dir %{_sysconfdir}/ImageMagick*-upstream-open/
%config(noreplace) %{_sysconfdir}/ImageMagick*-upstream-open/*
%{_sysconfdir}/%{config_dir}
%ghost %{_sysconfdir}/alternatives/%{config_dir}
%files config-7-upstream-limited
%files %{config_spec}-upstream-limited
%dir %{_sysconfdir}/ImageMagick*-upstream-limited/
%config(noreplace) %{_sysconfdir}/ImageMagick*-upstream-limited/*
%{_sysconfdir}/%{config_dir}
%ghost %{_sysconfdir}/alternatives/%{config_dir}
%files config-7-upstream-secure
%files %{config_spec}-upstream-secure
%dir %{_sysconfdir}/ImageMagick*-upstream-secure/
%config(noreplace) %{_sysconfdir}/ImageMagick*-upstream-secure/*
%{_sysconfdir}/%{config_dir}
%ghost %{_sysconfdir}/alternatives/%{config_dir}
%files config-7-SUSE
%files %{config_spec}-SUSE
%dir %{_sysconfdir}/ImageMagick*-SUSE/
%config %{_sysconfdir}/ImageMagick*-SUSE/*
%{_sysconfdir}/%{config_dir}
%ghost %{_sysconfdir}/alternatives/%{config_dir}
%files config-7-upstream-websafe
%files %{config_spec}-upstream-websafe
%dir %{_sysconfdir}/ImageMagick*-upstream-websafe/
%config(noreplace) %{_sysconfdir}/ImageMagick*-upstream-websafe/*
%{_sysconfdir}/%{config_dir}