amazonlinux / amazon-linux-2023

Amazon Linux 2023
https://aws.amazon.com/linux/amazon-linux-2023/
Other
500 stars 37 forks source link

[Package Request] - Update ImageMagick 6.x #722

Open Tristan971 opened 1 month ago

Tristan971 commented 1 month ago

What package is missing from Amazon Linux 2023? Please describe and include package name.

The current ImageMagick package in AmazonLinux 2023, for ImageMagick 6.x, is lagging behind quite a lot when it comes to patch updates.

Even though AL2023 aims at being stable, I believe that it would be very desirable to follow upstream closer in this case for reasons described below.

Is this an update to existing package or new package request?

This is an update to an existing package.

Is this package available in Amazon Linux 2? If it is available via external sources such as EPEL, please specify.

The 6.x version is in AL2 and EPEL. The 7.x version is in Fedora from (at least) 38 up to 40.

The main issue here however is the missing patch updates. And a lagging 7.x would be as problematic as the current lagging 6.x.

To be precise, the current (released) upstream versions are:

And the current packaged versions are:

Any additional information you'd like to include.

Why following upstream close is necessary

ImageMagick is currently by far the most complete and robust open-source image processing solution. As a result, it is often entrusted with large-scale image handling, and thus exposed to files created by almost any image creation software in existence.

That large amount of image creation software (whose output ImageMagick is expected to interact with) keeps on being updated, and keeps on stretching specs (or breaking them in some cases). Which causes new incompatibilities all the time.

The contributors to ImageMagick do an impressive job keeping up with this.

But this means that regular patch updates are very much necessary to ensure continued interoperability with (almost) all image files one encounters. And without these updates, compatibility drops quite quickly over time.

Why a user solution is impractical

Since AL2023 is a "stable" distribution, it is tempting to not want to follow upstream too close, and to instead suggest custom builds for those that need them.

And the build process appears trivial at first glance.

But in practice it is extremely tedious to maintain because:

  1. Every single image format is opt-in
  2. They are autodetected and configured at build time based on installed libraries
  3. You cannot reasonably indicate that a specific list of formats must be present or fail the build
  4. There are quite a few (very) surprising dependencies needed to get a fully-featured build of ImageMagick running

This means a complicated chase for the many relevant packages for all these image formats, their header files, and quite a few more supporting packages. This summarizes the sprawling amount of dependencies that go into it quite well:

$ docker run -it amazonlinux:2023    
bash-5.2# dnf install ImageMagick
Amazon Linux 2023 repository  
...
Transaction Summary
=================================
Install  80 Packages

This ends up making these builds complicated to design and maintain, and heavily distribution-dependent on top of that.