Commit da3eae39c8e5261196bbc1b460e5b556c6836dbf

Authored by Jay Berkenbilt
1 parent b6e12f48

Build AppImage and linux binary using Ubuntu 18.04 (fixes #1068)

This is needed to get an old enough version of glibc to run the Linux
binary as an AWS Lambda layer and to support some versions of CentOS.
ChangeLog
  1 +2023-11-20 Jay Berkenbilt <ejb@ql.org>
  2 +
  3 + * Build AppImage with an older Linux distribution to support AWS
  4 + Lambda. Fixes #1086.
  5 +
1 2023-10-15 Jay Berkenbilt <ejb@ql.org> 6 2023-10-15 Jay Berkenbilt <ejb@ql.org>
2 7
3 * 11.6.3: release 8 * 11.6.3: release
appimage/Dockerfile
1 -FROM ubuntu:20.04 1 +FROM ubuntu:18.04
2 ENV DEBIAN_FRONTEND=noninteractive 2 ENV DEBIAN_FRONTEND=noninteractive
3 RUN apt-get update 3 RUN apt-get update
4 RUN apt-get -y install screen git sudo \ 4 RUN apt-get -y install screen git sudo \
5 - build-essential pkg-config cmake \ 5 + build-essential pkg-config \
6 zlib1g-dev libjpeg-dev libgnutls28-dev \ 6 zlib1g-dev libjpeg-dev libgnutls28-dev \
7 python3-pip texlive-latex-extra latexmk \ 7 python3-pip texlive-latex-extra latexmk \
8 inkscape imagemagick busybox-static wget fuse && \ 8 inkscape imagemagick busybox-static wget fuse && \
9 apt-get clean && rm -rf /var/lib/apt/lists/* 9 apt-get clean && rm -rf /var/lib/apt/lists/*
10 -RUN pip3 install sphinx sphinx_rtd_theme 10 +# Get cmake from pypi. We need to keep Ubuntu 18.04 for a while longer
  11 +# since the glibc in Ubuntu 20.04 is too new (as of late 2023) for
  12 +# Amazon Linux 2 in Lambda and for some supported CentOS versions.
  13 +# When we are ready to update to 20.04 or newer, remove the version
  14 +# constraint on sphinx, and install the OS package for cmake.
  15 +RUN pip3 install --upgrade pip
  16 +RUN pip3 install sphinx==4 sphinx_rtd_theme cmake
11 COPY entrypoint /entrypoint 17 COPY entrypoint /entrypoint
12 RUN chmod +x /entrypoint 18 RUN chmod +x /entrypoint
13 ENTRYPOINT [ "/entrypoint" ] 19 ENTRYPOINT [ "/entrypoint" ]
appimage/build-appimage
@@ -47,14 +47,14 @@ fi @@ -47,14 +47,14 @@ fi
47 _osversion=$(cat /etc/os-release | grep PRETTY_NAME | awk -F'=' '{print $2}' | sed 's#"##g') 47 _osversion=$(cat /etc/os-release | grep PRETTY_NAME | awk -F'=' '{print $2}' | sed 's#"##g')
48 48
49 # Warn users building the AppImage locally: 49 # Warn users building the AppImage locally:
50 -if [[ ! $_osversion =~ Ubuntu\ 20.04.*\ LTS ]]; then 50 +if [[ ! $_osversion =~ Ubuntu\ 18.04.*\ LTS ]]; then
51 set +x 51 set +x
52 echo "" 52 echo ""
53 # 0 1 2 3 4 5 6 7 53 # 0 1 2 3 4 5 6 7
54 # 01234567890123456789012345678901234567890123456789012345678901234567890123456789 54 # 01234567890123456789012345678901234567890123456789012345678901234567890123456789
55 echo "+===========================================================================+" 55 echo "+===========================================================================+"
56 echo "|| WARNING: You are about to build a QPDF AppImage on a system which is ||" 56 echo "|| WARNING: You are about to build a QPDF AppImage on a system which is ||"
57 - echo "|| NOT Ubuntu 20.04 LTS. ||" 57 + echo "|| NOT Ubuntu 18.04 LTS. ||"
58 echo "|| ||" 58 echo "|| ||"
59 echo "|| It is recommended that you use a distribution that is at least a ||" 59 echo "|| It is recommended that you use a distribution that is at least a ||"
60 echo "|| few years old to maximize the number of Linux distributions the ||" 60 echo "|| few years old to maximize the number of Linux distributions the ||"