aboutsummaryrefslogtreecommitdiffstats
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
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.
-rw-r--r--ChangeLog5
-rw-r--r--appimage/Dockerfile12
-rwxr-xr-xappimage/build-appimage4
3 files changed, 16 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 696a3567..34228a15 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2023-11-20 Jay Berkenbilt <ejb@ql.org>
+
+ * Build AppImage with an older Linux distribution to support AWS
+ Lambda. Fixes #1086.
+
2023-10-15 Jay Berkenbilt <ejb@ql.org>
* 11.6.3: release
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 ||"