Software /
code /
prosody
File
tools/build-env/Containerfile @ 13439:1e229d710a3c
util.signal: Add support for signalfd(2) on Linux
signalfd allows handling signal events using the same method as sockets,
via file descriptors. Thus all signal dispatch can go through the same
main event loop as everything else, removing need for thread-scary
signal handling where execution would just jump to the signal handler
regardless of the state of Lua, and needing to keep track of Lua
states/threads.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 24 Feb 2024 00:05:29 +0100 |
parent | 13323:7bfd6db52528 |
line wrap: on
line source
ARG os ARG dist FROM ${os:-debian}:${dist:-sid} ENV DEBIAN_FRONTEND noninteractive RUN set -ex; \ apt-get update; \ apt-get install -y --no-install-recommends \ ccache dh-lua libicu-dev libidn11-dev libssl-dev \ lua-bitop lua-dbi-mysql lua-dbi-postgresql lua-dbi-sqlite3 \ lua-event lua-expat lua-filesystem lua-ldap lua-sec lua-socket \ luarocks shellcheck mercurial; \ apt-get install -y ca-certificates dns-root-data; \ apt-get install -y lua-bit32 || true; \ apt-get install -y lua-busted || true; \ apt-get install -y lua-check || true; \ apt-get install -y lua-readline || true; \ apt-get install -y lua-unbound || true; \ update-alternatives --set lua-interpreter /usr/bin/lua5.4 || true \ apt-get clean # Place this file in an empty directory and build the image with # podman build . -t prosody.im/build-env # # Substituting podman for docker should work, where that is what's available. # # Then in a source directory, run: # podman run -it --rm -v "$PWD:$PWD" -w "$PWD" --entrypoint /bin/bash \ # --userns=keep-id --network host prosody.im/build-env # # In the resulting environment everything required to compile and run prosody # is available, so e.g. `./configure; make; ./prosody` should Just Work!