aboutsummaryrefslogtreecommitdiffstats
path: root/appimage
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2023-11-20 17:01:27 +0100
committerJay Berkenbilt <ejb@ql.org>2023-11-20 17:20:26 +0100
commitda3eae39c8e5261196bbc1b460e5b556c6836dbf (patch)
treeab4aa3813f6b7714bb5984eaaaed5406ff08b82f /appimage
parentb6e12f4883b89d0638ece7d25c46ed910fe4f42e (diff)
downloadqpdf-da3eae39c8e5261196bbc1b460e5b556c6836dbf.tar.zst
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.
Diffstat (limited to 'appimage')
-rw-r--r--appimage/Dockerfile12
-rwxr-xr-xappimage/build-appimage4
2 files changed, 11 insertions, 5 deletions
diff --git a/appimage/Dockerfile b/appimage/Dockerfile
index c1914144..24c9c672 100644
--- a/appimage/Dockerfile
+++ b/appimage/Dockerfile
@@ -1,13 +1,19 @@
-FROM ubuntu:20.04
+FROM ubuntu:18.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update
RUN apt-get -y install screen git sudo \
- build-essential pkg-config cmake \
+ build-essential pkg-config \
zlib1g-dev libjpeg-dev libgnutls28-dev \
python3-pip texlive-latex-extra latexmk \
inkscape imagemagick busybox-static wget fuse && \
apt-get clean && rm -rf /var/lib/apt/lists/*
-RUN pip3 install sphinx sphinx_rtd_theme
+# Get cmake from pypi. We need to keep Ubuntu 18.04 for a while longer
+# since the glibc in Ubuntu 20.04 is too new (as of late 2023) for
+# Amazon Linux 2 in Lambda and for some supported CentOS versions.
+# When we are ready to update to 20.04 or newer, remove the version
+# constraint on sphinx, and install the OS package for cmake.
+RUN pip3 install --upgrade pip
+RUN pip3 install sphinx==4 sphinx_rtd_theme cmake
COPY entrypoint /entrypoint
RUN chmod +x /entrypoint
ENTRYPOINT [ "/entrypoint" ]
diff --git a/appimage/build-appimage b/appimage/build-appimage
index 0e86bff6..f970b7df 100755
--- a/appimage/build-appimage
+++ b/appimage/build-appimage
@@ -47,14 +47,14 @@ fi
_osversion=$(cat /etc/os-release | grep PRETTY_NAME | awk -F'=' '{print $2}' | sed 's#"##g')
# Warn users building the AppImage locally:
-if [[ ! $_osversion =~ Ubuntu\ 20.04.*\ LTS ]]; then
+if [[ ! $_osversion =~ Ubuntu\ 18.04.*\ LTS ]]; then
set +x
echo ""
# 0 1 2 3 4 5 6 7
# 01234567890123456789012345678901234567890123456789012345678901234567890123456789
echo "+===========================================================================+"
echo "|| WARNING: You are about to build a QPDF AppImage on a system which is ||"
- echo "|| NOT Ubuntu 20.04 LTS. ||"
+ echo "|| NOT Ubuntu 18.04 LTS. ||"
echo "|| ||"
echo "|| It is recommended that you use a distribution that is at least a ||"
echo "|| few years old to maximize the number of Linux distributions the ||"