소스 검색

Add support for Debian 10

Giacomo Vacca 5 년 전
부모
커밋
da1b04720d
3개의 변경된 파일117개의 추가작업 그리고 0개의 파일을 삭제
  1. 3 0
      README.md
  2. 114 0
      docker/Dockerfile.debian10
  3. 0 0
      etc/excludeunits.txt.debian10

+ 3 - 0
README.md

@@ -48,6 +48,9 @@ Useful shell functions that might be handy to use in units are stored inside fil
 The Dockerfiles that can be used to build Docker images to run the unit tests are located in
 `docker` subfolder. These are:
 
+  * `docker/Dockerfile.debian10` - container build with Debian 10.x (Buster) deploying Kamailio installed
+  from source code. The directory with Kamailio source code is copied from local disk into the
+  container
   * `docker/Dockerfile.debian9` - container build with Debian 9.x (Stretch) deploying Kamailio installed
   from source code. The directory with Kamailio source code is copied from local disk into the
   container

+ 114 - 0
docker/Dockerfile.debian10

@@ -0,0 +1,114 @@
+FROM debian:buster
+
+RUN groupadd -r mysql && useradd -r -g mysql mysql
+
+RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install --assume-yes apt-utils \
+  autoconf gcc g++ make procps \
+  coreutils ctags curl gawk gdb git jq lynx netcat ngrep sed sip-tester vim wget \
+  bison \
+  debhelper \
+  default-libmysqlclient-dev \
+  dh-systemd \
+  docbook-xml \
+  docbook2x \
+  dpkg-dev \
+  erlang-dev \
+  flex \
+  libbson-dev \
+  libconfuse-dev \
+  libcurl4-openssl-dev \
+  libdb-dev \
+  libev-dev \
+  libevent-dev \
+  libexpat1-dev \
+  libgeoip-dev \
+  libhiredis-dev \
+  libjansson-dev \
+  libjson-c-dev \
+  libldap2-dev \
+  liblua5.1-0-dev \
+  libmaxminddb-dev \
+  libmemcached-dev \
+  libmnl-dev \
+  libmongoc-dev \
+  libmono-2.0-dev \
+  libncurses5-dev \
+  libpcre3-dev \
+  libperl-dev \
+  libphonenumber-dev \
+  libpq-dev \
+  librabbitmq-dev \
+  libradcli-dev \
+  libreadline-dev \
+  librdkafka-dev \
+  libsasl2-dev \
+  libsctp-dev \
+  libsnmp-dev \
+  libsqlite3-dev \
+  libssl-dev \
+  libsystemd-dev \
+  libunistring-dev \
+  libxml2-dev \
+  lua-cjson \
+  openssl \
+  pkg-config \
+  python \
+  python-dev \
+  python3-dev \
+  ruby-dev \
+  unixodbc-dev \
+  uuid-dev \
+  xsltproc \
+  zlib1g-dev
+
+ENV MYSQL_ROOT_PASSWORD=ktestsrootpw
+RUN DEBIAN_FRONTEND=noninteractive apt-get install --assume-yes default-mysql-client default-mysql-server
+RUN rm -rf /var/lib/mysql && mkdir -p /var/lib/mysql /var/run/mysqld \
+  && chown -R mysql:mysql /var/lib/mysql /var/run/mysqld \
+  && chmod 777 /var/run/mysqld \
+  && find /etc/mysql/ -name '*.cnf' -print0 \
+    | xargs -0 grep -lZE '^(bind-address|log)' \
+    | xargs -rt -0 sed -Ei 's/^(bind-address|log)/#&/' \
+  && echo '[mysqld]\nskip-host-cache\nskip-name-resolve' > /etc/mysql/conf.d/docker.cnf
+RUN mysql_install_db --user=mysql
+
+WORKDIR /usr/local/src
+RUN git clone https://github.com/nils-ohlmeier/sipsak
+WORKDIR /usr/local/src/sipsak
+RUN autoreconf --install
+RUN ./configure
+RUN make
+RUN make install
+
+RUN mkdir -p /usr/local/src/data/GeoLite2
+RUN mkdir -p /usr/local/src/tmp
+WORKDIR /usr/local/src/tmp
+RUN wget -O GeoLite2-City.tar.gz http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.tar.gz
+RUN tar xvfz GeoLite2-City.tar.gz
+RUN mv GeoLite2-City_*/*.* ../data/GeoLite2/
+WORKDIR /usr/local/src
+RUN rm -rf tmp
+
+COPY kamailio /usr/local/src/kamailio
+WORKDIR /usr/local/src/kamailio
+RUN make RADCLI=1 exclude_modules="db_cassandra db_oracle dnssec ndb_cassandra nsq osp app_java rtp_media_server" cfg
+RUN make RADCLI=1 Q=0 CC_EXTRA_OPTS="-Wall" all
+RUN make RADCLI=1 install
+WORKDIR src/modules/tls
+RUN make install-tls-cert
+
+ENV DBENGINE=MYSQL
+ENV DBRWPW=kamailiorw
+ENV DBROOTPW=ktestsrootpw
+
+
+RUN pwd
+RUN ls -la /usr/local/src
+
+
+COPY kamailio-tests /usr/local/src/kamailio-tests
+COPY kamailio-tests/etc/excludeunits.txt.debian10 /usr/local/src/kamailio-tests/excludeunits.txt
+WORKDIR /usr/local/src/kamailio-tests
+
+ENTRYPOINT ["/usr/local/src/kamailio-tests/ktestsctl"]
+CMD ["-m", "run"]

+ 0 - 0
etc/excludeunits.txt.debian10