File

tools/build-env/Containerfile @ 13467:c2a476f4712a

util.startup: Fix exiting on pidfile trouble prosody.shutdown() relies on prosody.main_thread, which has not been set yet at this point. Doing a clean shutdown might actually be harmful in case it tears down things set up by the conflicting Prosody, such as the very pidfile we were looking at. Thanks again SigmaTel71 for noticing
author Kim Alvefur <zash@zash.se>
date Wed, 27 Mar 2024 19:33:11 +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!