X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=docker%2Fbldr-alpine3%2FDockerfile;fp=docker%2Fbldr-alpine3%2FDockerfile;h=f37bb27ec3c9f0e736a4b9483e3990777304e663;hb=d905642612e7697fac43a8ecf4c84947a9a67245;hp=0000000000000000000000000000000000000000;hpb=4b211271217b1caac7141d2fb2ea6b30d84c9b70;p=ci-management.git diff --git a/docker/bldr-alpine3/Dockerfile b/docker/bldr-alpine3/Dockerfile new file mode 100755 index 00000000..f37bb27e --- /dev/null +++ b/docker/bldr-alpine3/Dockerfile @@ -0,0 +1,77 @@ +# O-RAN-SC +# +# Copyright (C) 2019 AT&T Intellectual Property and Nokia +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Builder image Alpine 3.9 +# gcc/g++ v 8 +# golang v 1.12 +# python 3.7 +# nng library (libnng.so, libnng.so.X.X.X; see below for pinned version) +# Includes RIC libraries as a distribution path because +# PackageCloud does not support Alpine .apk (yet): +# mdc log library (libmdclog.so, libmdbclog.so.X.X.X; see below for pinned version) +# rmr library (librmr_nng.so, libmdclog.so..X.X.X; see below for pinned version) +# How to get a library file from this Docker base image: +# COPY --from=nexus3.o-ran-sc.org:10004/bldr-alpine3:1-a3.9 /usr/local/lib64/libnng.so.X.X.X /usr/local/lib64 +# COPY --from=nexus3.o-ran-sc.org:10004/bldr-alpine3:1-a3.9 /usr/local/lib/libmdclog.so.X.X.X /usr/local/lib +# COPY --from=nexus3.o-ran-sc.org:10004/bldr-alpine3:1-a3.9 /usr/local/lib/librmr_nng.so.X.X.X /usr/local/lib + +FROM python:3.7-alpine +RUN apk update && apk add \ + autoconf \ + automake \ + build-base \ + cmake \ + libtool \ + ninja \ + pkgconfig \ + python-dev \ + git \ + go + +# the autoconf-archive in alpine's edge repos is too new +# for our purposes, so we'll use one from the source. +RUN cd /tmp \ + && git clone --branch v2015.09.25 git://git.sv.gnu.org/autoconf-archive.git \ + && cp /tmp/autoconf-archive/m4/* /usr/share/aclocal \ + && rm -rf /tmp/autoconf-archive + +# NNG, version is pinned +RUN cd /tmp \ + && git clone --branch v1.1.1 https://github.com/nanomsg/nng.git \ + && cd nng \ + && mkdir build \ + && cd build \ + && cmake -DBUILD_SHARED_LIBS=1 -G Ninja .. \ + && ninja \ + && ninja install + +# MCDLOG, version is pinned +RUN cd /tmp \ + && git clone --branch v0.0.4 https://gerrit.o-ran-sc.org/r/com/log \ + && cd log \ + && ./autogen.sh \ + && ./configure \ + && make \ + && make install + +# RMR, version is pinned +RUN cd /tmp \ + && git clone --branch 1.0.36 https://gerrit.o-ran-sc.org/r/ric-plt/lib/rmr \ + && cd rmr \ + && mkdir build \ + && cd build \ + && cmake .. \ + && make install