diff --git a/src/bookworm/src/Dockerfile b/src/bookworm/src/Dockerfile index 428a804..020b349 100644 --- a/src/bookworm/src/Dockerfile +++ b/src/bookworm/src/Dockerfile @@ -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 *'; \ @@ -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" @@ -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; \ @@ -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; \ @@ -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 \ @@ -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 diff --git a/src/bullseye/src/Dockerfile b/src/bullseye/src/Dockerfile index c0aa359..5b9d454 100644 --- a/src/bullseye/src/Dockerfile +++ b/src/bullseye/src/Dockerfile @@ -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 *'; \ @@ -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" @@ -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; \ @@ -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; \ @@ -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 \ @@ -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