FROM centos:7

RUN cat /etc/yum.repos.d/CentOS-Base.repo
RUN sed -i '/^mirrorlist=/d; s/^#baseurl=/baseurl=/' /etc/yum.repos.d/*.repo
#RUN find /etc/yum.repos.d/CentOS-*.repo -type f -exec sed -i 's/mirrorlist\.centos\.org/vault\.centos\.org/g' {} +
RUN find /etc/yum.repos.d/CentOS-*.repo -type f -exec sed -i 's/mirror\.centos\.org/vault\.centos\.org/g' {} +
RUN cat /etc/yum.repos.d/CentOS-Base.repo
RUN yum -y update

# hiredis from EPEL repo
# python3 from RHEL7 with some dependencies from the same repo

RUN yum install -y epel-release \
    && yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm \
    && yum install -y \
        git \
        cmake3 \
        git-core-doc \
        make \
        gcc-c++ \
        libevent-devel \
        libev-devel \
        gsm-devel \
        opus-devel \
        speex-devel \
        openssl-devel \
        python3 \
        python3-devel \
        python3.6-devel \
        python36-sip-devel \
        hiredis-devel \
        zlib-devel \
        libcurl-devel \
        libxml2-devel \
        spandsp-devel \
        man \
        mysql-connector-c++-devel \
        libsamplerate-devel \
        libmpg123-devel \
        lame-devel \
        flite-devel \
        codec2-devel \
        bcg729-devel \
        rpm-build \
        mysql-connector-c++ \
        which \
        python3-mysqlclient --nogpgcheck

RUN ln -s /usr/lib64/libpython3.6m.so /usr/lib64/libpython3.6.so
RUN ln -s /usr/bin/cmake3 /usr/bin/cmake

RUN mkdir -p /root/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
RUN mkdir -p /usr/src/sems
COPY . /usr/src/sems
WORKDIR /usr/src/sems
RUN mkdir -p build && cd build && cmake3 .. && make sems_tests && ./core/sems_tests && make rpmtar
RUN rpmbuild -ba pkg/rpm/sems.spec
RUN rpmbuild -bs pkg/rpm/sems.spec
RUN ls -al /root/rpmbuild/RPMS

# install SEMS from RPMs
RUN rpm -i /root/rpmbuild/RPMS/x86_64/sems-*.rpm
RUN /usr/sbin/sems -v
RUN ls -al /etc/sems/sems.conf

# Run SEMS with the specified configuration
CMD ["/usr/sbin/sems", "-E", "-f", "/etc/sems/sems.conf"]
