Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[INFRA] change imagick installation #9

Closed
wants to merge 4 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 35 additions & 32 deletions src/bookworm/src/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,12 @@ RUN set -xe; \
chown www-data:www-data /home/www-data; \
usermod -d /home/www-data www-data; \
\
## block packages from being installed
{ \
echo 'Package: libjpeg*'; \
echo 'Pin: release *'; \
echo 'Pin-Priority: -1'; \
} > /etc/apt/preferences.d/no-libjpeg; \
{ \
echo 'Package: libtiff*'; \
echo 'Pin: release *'; \
Expand All @@ -23,20 +29,20 @@ RUN set -xe; \

ARG IMAGICK_RUNTIME_REQUIREMENTS="libpng16-16 liblcms2-2 libgomp1 libltdl7 bzip2 gosu brotli"
ARG IMAGICK_RUNTIME_REQUIREMENTS_EXTRA=""
ARG IMAGICK_BUILD_REQUIREMENTS="curl cmake gcc libtool libedit-dev liblcms2-dev build-essential autoconf automake pkg-config libpng-dev libjpeg-dev libltdl-dev nasm"
ARG IMAGICK_BUILD_REQUIREMENTS="curl cmake gcc libtool libedit-dev liblcms2-dev build-essential autoconf automake pkg-config libpng-dev libltdl-dev nasm"
ARG IMAGICK_BUILD_REQUIREMENTS_EXTRA=""
ARG IMAGICK_EXTRA_CONFIGURE_ARGS=""

ARG MOZJPEG_VERSION="4.1.1"
ARG MOZJPEG_EXTRA_CONFIGURE_ARGS=""

ARG TIFF_VERSION="4.6.0"
ARG TIFF_VERSION="4.7.0"
ARG TIFF_EXTRA_CONFIGURE_ARGS=""

ARG WEBP_VERSION="1.4.0"
ARG WEBP_VERSION="1.5.0"
ARG WEBP_EXTRA_CONFIGURE_ARGS=""

ARG IMAGICK_VERSION="3.7.0"
ARG IMAGICK_VERSION="7.1.1-44"
ARG IMAGICK_EXTRA_CONFIGURE_ARGS=""

ARG OPENJPEG_VERSION="2.5.3"
Expand All @@ -45,19 +51,21 @@ ARG OPENJPEG_VERSION="2.5.3"
RUN set -xe; \
\
/usr/local/bin/docker-install-requirements imagick; \
################################################
## install mozjpeg
################################################
mkdir -p /tmp/mozjpeg;
mkdir -p /tmp/mozjpeg; \
mkdir -p /tmp/tiff; \
mkdir -p /tmp/libwebp; \
mkdir -p /tmp/openjpeg;
################################################
## install mozjpeg
################################################
WORKDIR /tmp/mozjpeg
RUN docker-package-download -o mozjpeg.tar.gz -s https://github.com/mozilla/mozjpeg/archive/refs/tags/v${MOZJPEG_VERSION}.tar.gz; \
tar --strip 1 -xzf mozjpeg.tar.gz; \
cmake -G"Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/usr/lib -DWITH_JPEG8=true; \
make install prefix=/usr libdir=/usr/lib64 ; \
################################################
## install tiff
################################################
mkdir -p /tmp/tiff;
make install prefix=/usr libdir=/usr/lib64;
################################################
## install tiff
################################################
WORKDIR /tmp/tiff
RUN docker-package-download -o tiff.tar.gz -s http://download.osgeo.org/libtiff/tiff-${TIFF_VERSION}.tar.gz; \
tar --strip 1 -xzf tiff.tar.gz; \
Expand All @@ -66,11 +74,10 @@ RUN docker-package-download -o tiff.tar.gz -s http://download.osgeo.org/libtiff/
${TIFF_EXTRA_CONFIGURE_ARGS:-} \
; \
make -j"$(nproc)"; \
make install; \
################################################
## install webp
################################################
mkdir -p /tmp/libwebp;
make install;
################################################
## install webp
################################################
WORKDIR /tmp/libwebp
RUN docker-package-download -o libwebp.tar.gz -s https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-${WEBP_VERSION}.tar.gz; \
tar --strip 1 -xzf libwebp.tar.gz; \
Expand All @@ -79,26 +86,23 @@ RUN docker-package-download -o libwebp.tar.gz -s https://storage.googleapis.com/
${WEBP_EXTRA_CONFIGURE_ARGS:-} \
; \
make -j"$(nproc)"; \
make install; \
################################################
## install openjpeg
################################################
mkdir -p /tmp/openjpeg;
make install;
################################################
## install openjpeg
################################################
WORKDIR /tmp/openjpeg
RUN docker-package-download -o openjpeg.tar.gz -s https://github.com/uclouvain/openjpeg/releases/download/v${OPENJPEG_VERSION}/openjpeg-v${OPENJPEG_VERSION}-linux-x86_64.tar.gz; \
RUN docker-package-download -o openjpeg.tar.gz -s https://github.com/uclouvain/openjpeg/archive/refs/tags/v${OPENJPEG_VERSION}.tar.gz; \
tar --strip 1 -xzf openjpeg.tar.gz; \
mkdir build;
WORKDIR /tmp/openjpeg/build
RUN cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr; \
make -j"$(nproc)"; \
make install; \
make clean; \
################################################
## install imagick
################################################
mkdir -p /tmp/imagemagick;
make install;
################################################
## install imagick
################################################
WORKDIR /tmp/imagemagick
RUN docker-package-download -o imagemagick.tar.gz -s https://github.com/Imagick/imagick/archive/refs/tags/${IMAGICK_VERSION}.tar.gz/; \
RUN docker-package-download -o imagemagick.tar.gz -s https://github.com/ImageMagick/ImageMagick/archive/refs/tags/${IMAGICK_VERSION}.tar.gz; \
tar --strip 1 -xzf imagemagick.tar.gz; \
./configure \
--prefix=/usr \
Expand All @@ -115,5 +119,4 @@ RUN docker-package-download -o imagemagick.tar.gz -s https://github.com/Imagick/
; \
make -j"$(nproc)"; \
make install; \
make clean; \
/usr/local/bin/docker-layer-clean
67 changes: 35 additions & 32 deletions src/bullseye/src/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,12 @@ RUN set -xe; \
chown www-data:www-data /home/www-data; \
usermod -d /home/www-data www-data; \
\
## block packages from being installed
{ \
echo 'Package: libjpeg*'; \
echo 'Pin: release *'; \
echo 'Pin-Priority: -1'; \
} > /etc/apt/preferences.d/no-libjpeg; \
{ \
echo 'Package: libtiff*'; \
echo 'Pin: release *'; \
Expand All @@ -23,20 +29,20 @@ RUN set -xe; \

ARG IMAGICK_RUNTIME_REQUIREMENTS="libpng16-16 liblcms2-2 libgomp1 libltdl7 bzip2 gosu brotli"
ARG IMAGICK_RUNTIME_REQUIREMENTS_EXTRA=""
ARG IMAGICK_BUILD_REQUIREMENTS="curl cmake gcc libtool libedit-dev liblcms2-dev build-essential autoconf automake pkg-config libpng-dev libjpeg-dev libltdl-dev nasm"
ARG IMAGICK_BUILD_REQUIREMENTS="curl cmake gcc libtool libedit-dev liblcms2-dev build-essential autoconf automake pkg-config libpng-dev libltdl-dev nasm"
ARG IMAGICK_BUILD_REQUIREMENTS_EXTRA=""
ARG IMAGICK_EXTRA_CONFIGURE_ARGS=""

ARG MOZJPEG_VERSION="4.1.1"
ARG MOZJPEG_EXTRA_CONFIGURE_ARGS=""

ARG TIFF_VERSION="4.6.0"
ARG TIFF_VERSION="4.7.0"
ARG TIFF_EXTRA_CONFIGURE_ARGS=""

ARG WEBP_VERSION="1.4.0"
ARG WEBP_VERSION="1.5.0"
ARG WEBP_EXTRA_CONFIGURE_ARGS=""

ARG IMAGICK_VERSION="3.7.0"
ARG IMAGICK_VERSION="7.1.1-44"
ARG IMAGICK_EXTRA_CONFIGURE_ARGS=""

ARG OPENJPEG_VERSION="2.5.3"
Expand All @@ -45,19 +51,21 @@ ARG OPENJPEG_VERSION="2.5.3"
RUN set -xe; \
\
/usr/local/bin/docker-install-requirements imagick; \
################################################
## install mozjpeg
################################################
mkdir -p /tmp/mozjpeg;
mkdir -p /tmp/mozjpeg; \
mkdir -p /tmp/tiff; \
mkdir -p /tmp/libwebp; \
mkdir -p /tmp/openjpeg;
################################################
## install mozjpeg
################################################
WORKDIR /tmp/mozjpeg
RUN docker-package-download -o mozjpeg.tar.gz -s https://github.com/mozilla/mozjpeg/archive/refs/tags/v${MOZJPEG_VERSION}.tar.gz; \
tar --strip 1 -xzf mozjpeg.tar.gz; \
cmake -G"Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/usr/lib -DWITH_JPEG8=true; \
make install prefix=/usr libdir=/usr/lib64 ; \
################################################
## install tiff
################################################
mkdir -p /tmp/tiff;
make install prefix=/usr libdir=/usr/lib64;
################################################
## install tiff
################################################
WORKDIR /tmp/tiff
RUN docker-package-download -o tiff.tar.gz -s http://download.osgeo.org/libtiff/tiff-${TIFF_VERSION}.tar.gz; \
tar --strip 1 -xzf tiff.tar.gz; \
Expand All @@ -66,11 +74,10 @@ RUN docker-package-download -o tiff.tar.gz -s http://download.osgeo.org/libtiff/
${TIFF_EXTRA_CONFIGURE_ARGS:-} \
; \
make -j"$(nproc)"; \
make install; \
################################################
## install webp
################################################
mkdir -p /tmp/libwebp;
make install;
################################################
## install webp
################################################
WORKDIR /tmp/libwebp
RUN docker-package-download -o libwebp.tar.gz -s https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-${WEBP_VERSION}.tar.gz; \
tar --strip 1 -xzf libwebp.tar.gz; \
Expand All @@ -79,26 +86,23 @@ RUN docker-package-download -o libwebp.tar.gz -s https://storage.googleapis.com/
${WEBP_EXTRA_CONFIGURE_ARGS:-} \
; \
make -j"$(nproc)"; \
make install; \
################################################
## install openjpeg
################################################
mkdir -p /tmp/openjpeg;
make install;
################################################
## install openjpeg
################################################
WORKDIR /tmp/openjpeg
RUN docker-package-download -o openjpeg.tar.gz -s https://github.com/uclouvain/openjpeg/releases/download/v${OPENJPEG_VERSION}/openjpeg-v${OPENJPEG_VERSION}-linux-x86_64.tar.gz; \
RUN docker-package-download -o openjpeg.tar.gz -s https://github.com/uclouvain/openjpeg/archive/refs/tags/v${OPENJPEG_VERSION}.tar.gz; \
tar --strip 1 -xzf openjpeg.tar.gz; \
mkdir build;
WORKDIR /tmp/openjpeg/build
RUN cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr; \
make -j"$(nproc)"; \
make install; \
make clean; \
################################################
## install imagick
################################################
mkdir -p /tmp/imagemagick;
make install;
################################################
## install imagick
################################################
WORKDIR /tmp/imagemagick
RUN docker-package-download -o imagemagick.tar.gz -s https://github.com/Imagick/imagick/archive/refs/tags/${IMAGICK_VERSION}.tar.gz/; \
RUN docker-package-download -o imagemagick.tar.gz -s https://github.com/ImageMagick/ImageMagick/archive/refs/tags/${IMAGICK_VERSION}.tar.gz; \
tar --strip 1 -xzf imagemagick.tar.gz; \
./configure \
--prefix=/usr \
Expand All @@ -115,5 +119,4 @@ RUN docker-package-download -o imagemagick.tar.gz -s https://github.com/Imagick/
; \
make -j"$(nproc)"; \
make install; \
make clean; \
/usr/local/bin/docker-layer-clean