Dockerfile 1.87 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
# This Dockerfile creates a docker image suitable to run biboumi’s build and
# tests.  For example, it can be used on with gitlab-ci.

FROM docker.io/fedora:latest

RUN dnf update -y

# Needed to build biboumi
RUN dnf install -y gcc-c++
RUN dnf install -y clang
RUN dnf install -y valgrind
RUN dnf install -y c-ares-devel
RUN dnf install -y sqlite-devel
RUN dnf install -y libuuid-devel
RUN dnf install -y cmake
RUN dnf install -y make
RUN dnf install -y expat-devel
RUN dnf install -y libidn-devel
RUN dnf install -y uuid-devel
RUN dnf install -y systemd-devel
21
RUN dnf install -y pandoc
22 23 24 25 26 27 28 29 30 31 32

# Needed to run tests
RUN dnf install -y git
RUN dnf install -y fedora-packager python3-lxml
RUN dnf install -y lcov

# To be able to create the RPM
RUN dnf install -y rpmdevtools

# Install botan
RUN git clone https://github.com/randombit/botan.git
33
RUN cd botan && ./configure.py --prefix=/usr && make -j8 && make install
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
RUN rm -rf /botan

# Install litesql
RUN git clone git://git.louiz.org/litesql
RUN mkdir /litesql/build && cd /litesql/build && cmake .. -DCMAKE_INSTALL_PREFIX=/usr && make -j8
RUN cd /litesql/build && make install
RUN rm -rf /litesql

RUN ldconfig

# Install slixmpp, for e2e tests
RUN git clone git://git.louiz.org/slixmpp
RUN pip3 install pyasn1
RUN dnf install -y python3-devel
RUN cd slixmpp && python3 setup.py build && python3 setup.py install

RUN useradd tester

# Install charybdis, for e2e tests
RUN dnf install -y automake autoconf flex flex-devel bison libtool-ltdl-devel openssl-devel
RUN dnf install -y libtool
RUN git clone https://github.com/charybdis-ircd/charybdis.git && cd charybdis
RUN cd /charybdis && ./autogen.sh && ./configure --prefix=/home/tester/ircd --bindir=/usr/bin && make -j8 && make install
RUN chown -R tester:tester /home/tester/ircd
RUN rm -rf /charybdis

RUN su - tester -c "echo export LANG=fr_FR.utf-8 >> /home/tester/.bashrc"

WORKDIR /home/tester
USER tester