summaryrefslogtreecommitdiffstats
path: root/molecule/archlinux/Dockerfile.j2
blob: 907fb7c11ecfd2f56325cca7241f2df1d8509930 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
FROM docker.io/library/archlinux

ENV container docker

# pacman's syscall sandbox doesn't work under QEMU user-mode emulation
# (e.g. building amd64 images on an arm64 host): its seccomp filter needs
# syscalls QEMU doesn't emulate, so pacman fails with "error restricting
# syscalls via seccomp" before ever reaching the network. Only the syscall
# sandbox is disabled here, not the whole sandbox (DisableSandbox), which
# is unnecessarily broad. Native (non-emulated) CI runners never hit the
# syscall sandbox failure and are unaffected by this either way.
RUN sed -i '/^\[options\]/a DisableSandboxSyscalls' /etc/pacman.conf

RUN pacman -Syu --noconfirm --needed python3 systemd udev dbus \
    && pacman -Scc --noconfirm

# Workaround archlinux not including any non-indo-european locales
# https://gitlab.archlinux.org/archlinux/archlinux-docker/-/issues/59
RUN cp -r /usr/share/i18n/locales/en_US /usr/share/i18n/locales/de_DE;

VOLUME ["/sys/fs/cgroup"]

CMD ["/lib/systemd/systemd"]