try building an image for aarch64
authorRafael dos Santos Silva <xfalcox@gmail.com>
Wed, 1 Dec 2021 20:31:05 +0000 (17:31 -0300)
committerRafael dos Santos Silva <xfalcox@gmail.com>
Thu, 2 Dec 2021 20:19:43 +0000 (17:19 -0300)
image/auto_build.rb
image/base/Dockerfile
image/base/install-imagemagick

index 814f86edf3ab44682df0da9b9b29f3638708f580..f3d9655b8db9b7308d601a1fc0780a03324b72db 100644 (file)
@@ -30,7 +30,7 @@ def run(command)
 end
 
 def build(image)
-  lines = run("cd #{image[:name]} && docker build . --no-cache --tag #{image[:tag]} #{image[:squash] ? '--squash' : ''} #{image[:extra_args] ? image[:extra_args] : ''}")
+  lines = run("cd #{image[:name]} && docker buildx build . --platform linux/arm64 --load --tag #{image[:tag]} #{image[:extra_args] ? image[:extra_args] : ''}")
   raise "Error building the image for #{image[:name]}: #{lines[-1]}" if lines[-1] =~ /successfully built/
 end
 
index 9a390c3bf8907f37794ee6d9787f563758b3dc03..9d38ce71e3406dc85e784695687da441e8c2ba6b 100644 (file)
@@ -1,6 +1,6 @@
 # NAME:     discourse/base
 # VERSION:  release
-FROM debian:buster-slim
+FROM debian:bullseye-slim
 
 ENV PG_MAJOR 13
 ENV RUBY_ALLOCATOR /usr/lib/libjemalloc.so.1
@@ -10,6 +10,7 @@ ENV RAILS_ENV production
 
 RUN echo 2.0.`date +%Y%m%d` > /VERSION
 
+RUN echo 'deb http://deb.debian.org/debian bullseye-backports main' > /etc/apt/sources.list.d/bullseye-backports.list
 RUN apt update && apt install -y gnupg sudo curl
 RUN echo "debconf debconf/frontend select Teletype" | debconf-set-selections
 RUN apt update && apt -y install fping
@@ -24,7 +25,7 @@ ENV LANG en_US.UTF-8
 ENV LANGUAGE en_US.UTF-8
 
 RUN curl https://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | apt-key add -
-RUN echo "deb http://apt.postgresql.org/pub/repos/apt/ buster-pgdg main" | \
+RUN echo "deb http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main" | \
         tee /etc/apt/sources.list.d/postgres.list
 RUN curl --silent --location https://deb.nodesource.com/setup_16.x | sudo bash -
 RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
index 34f4eb27f19e7614a4ad379d5fc77b64bc9ac53a..3a5dbb33522eec024a9242dcc5b150187294e6b2 100755 (executable)
@@ -5,13 +5,6 @@ set -e
 IMAGE_MAGICK_VERSION="7.1.0-6"
 IMAGE_MAGICK_HASH="0e925a1e6192bf2908bfcf1a99eec271f36844663ab3b6d2690cdaaa11b928c7"
 
-# version check: https://github.com/strukturag/libheif/releases
-LIBHEIF_VERSION="1.12.0"
-LIBHEIF_HASH="086145b0d990182a033b0011caadb1b642da84f39ab83aa66d005610650b3c65"
-
-# version check: https://aomedia.googlesource.com/aom
-LIB_AOM_VERSION="3.1.3"
-
 # We use debian, but GitHub CI is stuck on Ubuntu Bionic, so this must be compatible with both
 LIBJPEGTURBO=$(cat /etc/issue | grep -qi Debian && echo 'libjpeg62-turbo libjpeg62-turbo-dev' || echo 'libjpeg-turbo8 libjpeg-turbo8-dev')
 
@@ -26,30 +19,11 @@ apt -y -q install git make gcc pkg-config autoconf curl g++ \
     libpng16-16 libpng-dev ${LIBJPEGTURBO} libwebp6 libwebp-dev libgomp1 libwebpmux3 libwebpdemux2 ghostscript libxml2-dev libxml2-utils \
     libbz2-dev gsfonts libtiff-dev libfreetype6-dev libjpeg-dev
 
-mkdir -p $WDIR
-cd $WDIR
+# Use backports instead of compiling it
+apt -y -q install -t bullseye-backports libheif1 libaom-dev libheif-dev
 
-# Building libaom
-git clone https://aomedia.googlesource.com/aom
-cd aom && git checkout v${LIB_AOM_VERSION} && cd ..
-mkdir build_aom
-cd build_aom
-cmake ../aom/ -DENABLE_TESTS=0 -DBUILD_SHARED_LIBS=1 && make && make install
-ldconfig /usr/local/lib
-cd ..
-rm -rf aom
-rm -rf build_aom
-
-# Build and install libheif
+mkdir -p $WDIR
 cd $WDIR
-wget -O $WDIR/libheif.tar.gz "https://github.com/strukturag/libheif/archive/v$LIBHEIF_VERSION.tar.gz"
-sha256sum $WDIR/libheif.tar.gz
-echo "$LIBHEIF_HASH $WDIR/libheif.tar.gz" | sha256sum -c
-tar -xzvf $WDIR/libheif.tar.gz
-cd libheif-$LIBHEIF_VERSION
-./autogen.sh
-./configure
-make && make install
 
 # Build and install ImageMagick
 wget -O $WDIR/ImageMagick.tar.gz "https://github.com/ImageMagick/ImageMagick/archive/$IMAGE_MAGICK_VERSION.tar.gz"