Commit da3eae39c8e5261196bbc1b460e5b556c6836dbf
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.
Showing
3 changed files
with
16 additions
and
5 deletions
ChangeLog
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 ||" |