FROM ubuntu:18.04 MAINTAINER ETSI STF 549 LABEL description="STF549 Docker Image" ENV TERM=xterm ENV HOSTNAME docker-titan-STF549 RUN DEBIAN_FRONTEND=noninteractive apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install software-properties-common -y \ && DEBIAN_FRONTEND=noninteractive add-apt-repository ppa:linuxuprising/java -y RUN DEBIAN_FRONTEND=noninteractive apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get --allow-unauthenticated install -y \ autoconf \ bison \ build-essential \ cmake \ curl \ dos2unix \ doxygen \ emacs \ expect \ flex \ g++-8 \ gcc-8 \ gdb \ git-core \ gnutls-bin \ graphviz \ inetutils-ping \ libglib2.0-dev \ libpcap-dev \ libgcrypt-dev \ libncurses5-dev \ libssl-dev \ libtool-bin \ libtool \ libwireshark-dev \ libxml2-dev \ lsof \ ntp \ openssh-server \ pkg-config \ qt5-default \ qttools5-dev \ qtmultimedia5-dev \ libqt5svg5-dev \ subversion \ sudo \ sshpass \ tcpdump \ texlive-font-utils \ tshark \ tzdata \ valgrind \ vim \ vsftpd \ xutils-dev \ tree \ unzip \ wget \ xsltproc \ && DEBIAN_FRONTEND=noninteractive apt-get autoremove --purge -y \ && DEBIAN_FRONTEND=noninteractive apt-get autoclean \ && rm -rf /var/lib/apt/lists/* RUN echo "docker-titan-STF549" > /etc/hostname \ && echo "root:etsi" | chpasswd RUN useradd --create-home --shell /bin/bash --user-group etsi --groups sudo \ && echo "etsi:etsi" | chpasswd \ && adduser etsi sudo RUN cd /home/etsi \ && echo "" >> /home/etsi/.bashrc \ && echo "export HOME=/home/etsi" >> /home/etsi/.bashrc \ && echo "export LD_LIBRARY_PATH=/home/etsi/dev/etsi_emcom/lib:$LD_LIBRARY_PATH" >> /home/etsi/.bashrc \ && echo "export PATH=/home/etsi/bin:$PATH" >> /home/etsi/.bashrc \ && echo "cd /home/etsi" >> /home/etsi/.bashrc \ && echo ". ./devenv.bash" >> /home/etsi/.bashrc \ && . /home/etsi/.bashrc \ && mkdir -p bin lib include tmp frameworks docs man dev \ && chown etsi:etsi bin lib include tmp frameworks docs man dev \ && echo "etsi ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers # Seems that COPY does not work as expected, to be investaged #==> Fallback to more secured solution #COPY [^.]* /home/etsi/dev/STF549_Ng112/ #COPY home home/etsi RUN git clone https://forge.etsi.org/gitlab/emergency-communications/NG112.git /home/etsi/dev/STF549_Ng112 RUN chown -R etsi /home/etsi/dev/STF549_Ng112/ && cd /home/etsi/dev/STF549_Ng112 USER etsi RUN cd /home/etsi/frameworks \ && git clone https://git.savannah.gnu.org/git/osip.git ./osip \ && cd osip \ && ./autogen.sh \ && ./configure --prefix=/home/etsi \ && make && make install RUN cd /home/etsi/frameworks \ && wget -q 'http://ftp.halifax.rwth-aachen.de/eclipse//technology/epp/downloads/release/oxygen/2/eclipse-cpp-oxygen-2-linux-gtk-x86_64.tar.gz' -Oeclipse-cpp-oxygen-2-linux-gtk-x86_64.tar.gz \ && tar -zxvf ./eclipse-cpp-oxygen-2-linux-gtk-x86_64.tar.gz \ && rm -f ./eclipse-cpp-oxygen-2-linux-gtk-x86_64.tar.gz \ && cd /home/etsi/dev/STF549_Ng112 \ && cd /home/etsi/dev/STF549_Ng112/ttcn \ && git clone https://forge.etsi.org/gitlab/LIBS/LibSip.git ./LibSip \ && git clone https://forge.etsi.org/gitlab/LIBS/LibIms.git ./LibIms \ && git clone https://forge.etsi.org/gitlab/LIBS/LibCommon.git ./LibCommon \ && git clone -bSTF525 https://forge.etsi.org/gitlab/LIBS/LibIts ./LibIts \ && cd /home/etsi/dev/STF549_Ng112/ttcn/LibIts \ && rm -fr asn1 t3q xsd \ && cd ttcn && rm -fr BTP CALM CAM Common DCC DENM GeoNetworking Ipv6OverGeoNetworking IVIM MapemSpatem Pki Security SremSsem V2G \ && cd /home/etsi/dev/STF549_Ng112/scripts \ && chmod 775 *.bash devenv.bash.* \ && cd /home/etsi \ && ln -sf /home/etsi/dev/STF549_Ng112/scripts/devenv.bash.ubuntu /home/etsi/devenv.bash \ && ls -ltr /home/etsi \ && export HOME=/home/etsi \ && . /home/etsi/devenv.bash \ && cd /home/etsi/dev/STF549_Ng112/scripts \ && ./build_titan.bash \ && . /home/etsi/devenv.bash \ && ./update_emcom_project.bash \ && cd /home/etsi/dev/etsi_emcom/src/AtsNg112/objs \ && ../bin/ng112_generate_makefile.bash # That's all Floks