IMEI - ImageMagick Easy Install
Automated ImageMagick compilation from sources for Debian/Ubuntu including advanced delegate support.
- Compiles the latest ImageMagick release
- Installs ImageMagick or updates ImageMagick package previously installed (via IMEI)
- Additional HEIF/HEIC/HEIX support
- Additional AVIF support
- Additional JPEG XL support
Every IMEI build will be automatically tested against the latest Ubuntu LTS Versions (16.04 and newer) using GitHub Actions. Compatibility with other operating systems (such as Debian 10, or Ubuntu 21.04) is tested manually.
- Ubuntu 22.04 (Jammy Jellyfish)
- Debian 11 (Bullseye)
- Ubuntu 21.10 (Impish Indri)
- Ubuntu 21.04 (Hirsute Hippo)
- Ubuntu 20.10 (Groovy Gorilla)
- Ubuntu 20.04 (Focal Fossa)
- Ubuntu 19.10 (Eoan Ermine)
- Ubuntu 19.04 (Disco Dingo)
- Ubuntu 18.10 (Cosmic Cuttlefish)
- Ubuntu 18.04 (Bionic Beaver)
- Ubuntu 17.10 (Artful Aardvark)
- Ubuntu 17.04 (Zesty Zapus)
- Ubuntu 16.10 (Yakkety Yak)
- Ubuntu 16.04 (Xenial Xerus)
- Debian 12 (Bookworm)
- Debian 10 (Buster)
- Debian 9 (Stretch)
- For JPEG XL, CMake 3.10 or newer is required. On older systems (e.g. Debian 9), the maintainers version isn't sufficient. In this case, JPEG XL compilation will be skipped.
- For libaom, CMake 3.6 or newer is required. On older systems, the maintainers version may be not sufficient. In this case, libaom compilation will be skipped. Without libaom, libheif will be skipped too.
- When building using GitHub actions,
heicisn't reported as built-in delegate. While it did in the past, it stopped out of sudden. So you better avoid using it as assertion for tests.
One-Step Automated Install
t=$(mktemp) && \ wget 'https://dist.1-2.dev/imei.sh' -qO "$t" && \ bash "$t" && \ rm "$t"
Alternative Install Method
git clone https://github.com/SoftCreatR/imei && \ cd imei && \ chmod +x imei.sh && \ ./imei.sh
Verify installer integrity
Though the installer performs a self check upon startup, you can also perform it manually.
To do so,
openssl is required:
wget https://dist.1-2.dev/imei.sh && \ # Download IMEI wget https://dist.1-2.dev/imei.sh.sig && \ # Download signature file wget https://dist.1-2.dev/imei.sh.pem && \ # Download public key openssl dgst -sha512 -verify imei.sh.pem -signature imei.sh.sig imei.sh # Verify
Alternative integrity check
git clone https://github.com/SoftCreatR/imei && \ cd imei && \ openssl dgst -sha512 -verify imei.sh.pem -signature imei.sh.sig imei.sh
Currently available build options are
--skip-deps: Skip installation of dependencies
--im-version: Build the given ImageMagick version (e.g.
--force-im: Force building of ImageMagick only, even if it's are already installed in a newer or the latest version
--im-q: ImageMagick Quantum Depth (8, 16 or 32)
--aom-version: Build the given aom version (e.g.
--skip-aom: Skip building aom
--heif-version: Build the given libheif version (e.g.
--skip-heif: Skip building libheif
--jxl-version: Build the given JPEG XL version (e.g.
--skip-jxl: Skip building JPEG XL
--log-file: Log everything to the file provided
--work-dir: Download, extract & build within the directory provided
--build-dir: Build target directory for ImageMagick
--config-dir: Config target directory for ImageMagick
--force: Force building of components, even if they are already installed in a newer or the latest version
Additional options / switches:
--dev: Disable signature verification on startup
--no-backports: Disable temporary installation of OS backports (they may be used anyways, depending on your server configuration)
Default options :
- ImageMagick version:
- libaom version:
- libheif version:
- libjxl version:
- Log File:
- Work Dir:
- Build Dir:
- Config Dir:
checkinstall vs. make
IMEI supports both,
checkinstall creates packages that you can uninstall at a later time (e.g.
apt remove imei-imagemagick),
make doesn't, therefore it may be harder to remove everything, that has been installed by IMEI. However,
checkinstall isn't always available and it contains some bugs, that might result in a broken installation of IMEI`s packages.
make by default, but you can use
checkinstall via option (see "Additional options / switches") instead.
If you have any ideas, just open an issue and describe what you would like to add/change in IMEI.
If you'd like to contribute, please fork the repository and make changes as you'd like. Pull requests are warmly welcome.
This package is Treeware. If you use it in production, then we ask that you buy the world a tree to thank us for our work. By contributing to the ecologi project, you’ll be creating employment for local families and restoring wildlife habitats.