diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/Dockerfile b/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/Dockerfile index 1175769c..22aa627a 100644 --- a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/Dockerfile +++ b/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/Dockerfile @@ -2,13 +2,11 @@ # ImageMagick is from ImageMagick Studio LLC. See the license at http://www.imagemagick.org/script/license.php or in /ImageMagick-license.txt. -FROM alfresco/alfresco-base-java:jre11-centos7-202205121725 +FROM alfresco/alfresco-base-java:jre11-rockylinux8-202207110835 ARG IMAGEMAGICK_VERSION=7.1.0-16 -ENV IMAGEMAGICK_RPM_URL=https://nexus.alfresco.com/nexus/service/local/repositories/thirdparty/content/org/imagemagick/imagemagick-distribution/${IMAGEMAGICK_VERSION}/imagemagick-distribution-${IMAGEMAGICK_VERSION}-centos7.rpm -ENV IMAGEMAGICK_LIB_RPM_URL=https://nexus.alfresco.com/nexus/service/local/repositories/thirdparty/content/org/imagemagick/imagemagick-distribution/${IMAGEMAGICK_VERSION}/imagemagick-distribution-${IMAGEMAGICK_VERSION}-libs-centos7.rpm -ENV IMAGEMAGICK_DEP_RPM_URL=https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm +ENV IMAGEMAGICK_DEP_RPM_URL=https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm ENV JAVA_OPTS="" # Set default user information @@ -19,9 +17,12 @@ ARG USERID=33002 COPY target/${env.project_artifactId}-${env.project_version}.jar /usr/bin +COPY rpms/ImageMagick-7.1.0-16.x86_64.rockylinux8.rpm /usr/bin +COPY rpms/ImageMagick-libs-7.1.0-16.x86_64.rockylinux8.rpm /usr/bin + RUN ln /usr/bin/${env.project_artifactId}-${env.project_version}.jar /usr/bin/${env.project_artifactId}.jar && \ yum install -y $IMAGEMAGICK_DEP_RPM_URL && \ - yum install -y $IMAGEMAGICK_LIB_RPM_URL $IMAGEMAGICK_RPM_URL && \ + yum install -y /usr/bin/ImageMagick-libs-7.1.0-16.x86_64.rockylinux8.rpm /usr/bin/ImageMagick-7.1.0-16.x86_64.rockylinux8.rpm && \ yum clean all ADD target/generated-resources/licenses /licenses diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/rpms/ImageMagick-7.1.0-16.x86_64.rockylinux8.rpm b/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/rpms/ImageMagick-7.1.0-16.x86_64.rockylinux8.rpm new file mode 100644 index 00000000..42e3eaef Binary files /dev/null and b/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/rpms/ImageMagick-7.1.0-16.x86_64.rockylinux8.rpm differ diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/rpms/ImageMagick-libs-7.1.0-16.x86_64.rockylinux8.rpm b/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/rpms/ImageMagick-libs-7.1.0-16.x86_64.rockylinux8.rpm new file mode 100644 index 00000000..4e67af7d Binary files /dev/null and b/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/rpms/ImageMagick-libs-7.1.0-16.x86_64.rockylinux8.rpm differ diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-rockylinux8/README.md b/alfresco-transform-imagemagick/alfresco-transform-imagemagick-rockylinux8/README.md new file mode 100644 index 00000000..a351ddcf --- /dev/null +++ b/alfresco-transform-imagemagick/alfresco-transform-imagemagick-rockylinux8/README.md @@ -0,0 +1,16 @@ +# How to create ImageMagick RPM packages for Rocky Linux 8 +1. `cd` to this directory +2. Use Rocky Linux base image and execute the [build-rpms.sh](scripts/build-rpms.sh) script + +```bash +docker run -it --rm -v `pwd`:/opt/alfresco/imagemagick alfresco/alfresco-base-java:jre11-rockylinux8-202207110835@sha256:01810e3e77d188f48ad6549b63cf1d34ce7d61ba9ca3fb03f0c24cc8f5c73429 /bin/bash /opt/alfresco/imagemagick/scripts/build-rpms.sh +``` + +> **Note:** If you want to know more details or need to upgrade the ImageMagick version please check the comments in the [build-rpms.sh](scripts/build-rpms.sh) file + +3. RPMs will be created in the `rpms` directory + +```bash +bash-3.2$ ls rpms +ImageMagick-7.0.10-59.x86_64.rockylinux8.rpm ImageMagick-libs-7.0.10-59.x86_64.rockylinux8.rpm +``` \ No newline at end of file diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-rockylinux8/scripts/build-rpms.sh b/alfresco-transform-imagemagick/alfresco-transform-imagemagick-rockylinux8/scripts/build-rpms.sh new file mode 100644 index 00000000..b71192dd --- /dev/null +++ b/alfresco-transform-imagemagick/alfresco-transform-imagemagick-rockylinux8/scripts/build-rpms.sh @@ -0,0 +1,42 @@ +#!/bin/bash + +set -e + +IMAGEMAGICK_VERSION=7.1.0-16 + +#Installing SRPM package. For future proof builds the SRPM package is uploaded to Alfresco's nexus repository. +rpm -i https://nexus.alfresco.com/nexus/service/local/repositories/thirdparty/content/org/imagemagick/imagemagick-distribution/$IMAGEMAGICK_VERSION/imagemagick-distribution-$IMAGEMAGICK_VERSION-src.rpm + +#TODO +#liblqr is not available on CentOS 7. Removing it from the spec. +sed -i '/lqr/d' ~/rpmbuild/SPECS/ImageMagick.spec + +#We need some libraries from the epel repo. +yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm + +#We are going to compile the imagemagick so we need development tools. +yum -y group install "Development Tools" + +#We are building the imagemagick from the official SRPM package. It allows us to be as compatible with the official RPM packages as possible. +# Installing direct build time dependencies (excluding liblqr-1-devel) +yum install -y dnf-plugins-core +dnf config-manager --set-enabled powertools + +yum -y install bzip2-devel freetype-devel libjpeg-devel libpng-devel libtiff-devel giflib-devel \ + zlib-devel perl-devel perl-generators ghostscript-devel djvulibre-devel libwmf-devel jasper-devel \ + libtool-ltdl-devel libX11-devel libXext-devel libXt-devel lcms2-devel libxml2-devel librsvg2-devel \ + fftw-devel ilmbase-devel OpenEXR-devel libwebp-devel jbigkit-devel openjpeg2-devel graphviz-devel \ + libraqm-devel LibRaw-devel +# Installing indirect dependencies +# ImageMagick tests requite non default fonts +yum groupinstall -y "fonts" +# ImageMagick spec requires ldconfig_scriptlets macro +yum -y install epel-rpm-macros + +#Building binary RPM packages +rpmbuild -bb ~/rpmbuild/SPECS/ImageMagick.spec + +#Copy RPMs to well known directory. +mkdir -p /opt/alfresco/imagemagick/rpms +cp ~/rpmbuild/RPMS/x86_64/ImageMagick-$IMAGEMAGICK_VERSION.x86_64.rpm /opt/alfresco/imagemagick/rpms/ImageMagick-$IMAGEMAGICK_VERSION.x86_64.rockylinux8.rpm +cp ~/rpmbuild/RPMS/x86_64/ImageMagick-libs-$IMAGEMAGICK_VERSION.x86_64.rpm /opt/alfresco/imagemagick/rpms/ImageMagick-libs-$IMAGEMAGICK_VERSION.x86_64.rockylinux8.rpm \ No newline at end of file