You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
2.3 KiB
83 lines
2.3 KiB
# Note: we deliberately use an old Debian stable as base image.
|
|
# from https://docs.appimage.org/introduction/concepts.html :
|
|
# "[AppImages] should be built on the oldest possible system, allowing them to run on newer system[s]"
|
|
|
|
FROM debian:buster@sha256:fb9654aac57319592f1d51497c62001e7033eddf059355408a0b53f7c71f8d5f
|
|
|
|
ENV LC_ALL=C.UTF-8 LANG=C.UTF-8
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
# need ca-certificates before using snapshot packages
|
|
RUN apt update -qq > /dev/null && apt install -qq --yes --no-install-recommends \
|
|
ca-certificates
|
|
|
|
# pin the distro packages
|
|
COPY apt.sources.list /etc/apt/sources.list
|
|
COPY apt.preferences /etc/apt/preferences.d/snapshot
|
|
|
|
RUN apt-get update -q && \
|
|
apt-get install -qy --allow-downgrades \
|
|
sudo \
|
|
git \
|
|
wget \
|
|
make \
|
|
autotools-dev \
|
|
autoconf \
|
|
libtool \
|
|
autopoint \
|
|
pkg-config \
|
|
xz-utils \
|
|
libssl-dev \
|
|
libssl1.1 \
|
|
openssl \
|
|
zlib1g-dev \
|
|
libffi-dev \
|
|
libncurses5-dev \
|
|
libncurses5 \
|
|
libtinfo-dev \
|
|
libtinfo5 \
|
|
libsqlite3-dev \
|
|
libusb-1.0-0-dev \
|
|
libudev-dev \
|
|
libudev1 \
|
|
gettext \
|
|
libzbar0 \
|
|
libdbus-1-3 \
|
|
xutils-dev \
|
|
libxkbcommon0 \
|
|
libxkbcommon-x11-0 \
|
|
libxcb1-dev \
|
|
libxcb-xinerama0 \
|
|
libxcb-randr0 \
|
|
libxcb-render0 \
|
|
libxcb-shm0 \
|
|
libxcb-shape0 \
|
|
libxcb-sync1 \
|
|
libxcb-xfixes0 \
|
|
libxcb-xkb1 \
|
|
libxcb-icccm4 \
|
|
libxcb-image0 \
|
|
libxcb-keysyms1 \
|
|
libxcb-util0 \
|
|
#libxcb-util1 \
|
|
libxcb-render-util0 \
|
|
libx11-xcb1 \
|
|
libc6-dev \
|
|
libc6 \
|
|
libc-dev-bin \
|
|
&& \
|
|
rm -rf /var/lib/apt/lists/* && \
|
|
apt-get autoremove -y && \
|
|
apt-get clean
|
|
|
|
# create new user to avoid using root; but with sudo access and no password for convenience.
|
|
ENV USER="user"
|
|
ENV HOME_DIR="/home/${USER}"
|
|
ENV WORK_DIR="${HOME_DIR}/wspace" \
|
|
PATH="${HOME_DIR}/.local/bin:${PATH}"
|
|
RUN useradd --create-home --shell /bin/bash ${USER}
|
|
RUN usermod -append --groups sudo ${USER}
|
|
RUN echo "%sudo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
|
|
WORKDIR ${WORK_DIR}
|
|
RUN chown --recursive ${USER} ${WORK_DIR}
|
|
USER ${USER}
|
|
|