Dockerfile 3.67 KB
Newer Older
garciay's avatar
garciay committed
1
FROM ubuntu:18.04
garciay's avatar
garciay committed
2

garciay's avatar
garciay committed
3
MAINTAINER ETSI STF 525
garciay's avatar
garciay committed
4
5
6
7
8
9

LABEL description="STF525 Docker Image"

ENV TERM=linux
ENV HOSTNAME docker-titan-STF525

garciay's avatar
garciay committed
10
ARG ssh_pub_key
garciay's avatar
garciay committed
11

garciay's avatar
garciay committed
12
RUN echo "docker-titan-STF525" > /etc/hostname \
garciay's avatar
garciay committed
13
14
    && DEBIAN_FRONTEND=noninteractive apt-get update \
    && DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y \
garciay's avatar
garciay committed
15
    && DEBIAN_FRONTEND=noninteractive apt-get install software-properties-common -y \
garciay's avatar
garciay committed
16
17
    && DEBIAN_FRONTEND=noninteractive add-apt-repository ppa:linuxuprising/java -y \
    && DEBIAN_FRONTEND=noninteractive apt-get update \
garciay's avatar
garciay committed
18
    && DEBIAN_FRONTEND=noninteractive apt-get --allow-unauthenticated install -y \
garciay's avatar
garciay committed
19
20
21
22
23
      autoconf \
      bison \
      build-essential \
      cmake \
      curl \
garciay's avatar
garciay committed
24
      dos2unix \
garciay's avatar
garciay committed
25
26
27
28
      doxygen \
      emacs \
      expect \
      flex \
garciay's avatar
garciay committed
29
30
      g++-8 \
      gcc-8 \
garciay's avatar
garciay committed
31
      gdb \
garciay's avatar
garciay committed
32
33
      git-core \
      gnutls-bin \
garciay's avatar
garciay committed
34
      graphviz \
garciay's avatar
garciay committed
35
36
37
38
39
40
41
42
43
44
45
      libglib2.0-dev \
      libpcap-dev \
      libgcrypt-dev \
      libncurses5-dev \
      libssl-dev \
      libtool-bin \
      libtool \
      libwireshark-dev \
      libxml2-dev \
      lsof \
      ntp \
46
      openssh-server \
garciay's avatar
garciay committed
47
48
      pkg-config \
      qt5-default \
49
      qttools5-dev \
garciay's avatar
garciay committed
50
51
52
53
54
55
56
57
      qtmultimedia5-dev \
      libqt5svg5-dev \
      subversion \
      sudo \
      sshpass \
      tcpdump \
      texlive-font-utils \
      tshark \
garciay's avatar
garciay committed
58
      tzdata \
garciay's avatar
garciay committed
59
      valgrind \
garciay's avatar
garciay committed
60
      vim \
garciay's avatar
garciay committed
61
62
63
64
65
      vsftpd \
      xutils-dev \ 
      tree \
      unzip \
      wget \
garciay's avatar
garciay committed
66
      xsltproc \
garciay's avatar
garciay committed
67
68
    && DEBIAN_FRONTEND=noninteractive apt-get autoremove --purge -y \
    && DEBIAN_FRONTEND=noninteractive apt-get autoclean \
garciay's avatar
garciay committed
69
    && useradd --create-home --shell /bin/bash --user-group etsi --groups sudo \
garciay's avatar
garciay committed
70
71
    && echo "etsi:etsi" | chpasswd \
    && adduser etsi sudo \
72
    && cd /home/etsi \
garciay's avatar
garciay committed
73
74
75
76
77
78
79
    && echo "" >> /home/etsi/.bashrc \
    && echo "export HOME=/home/etsi" >> /home/etsi/.bashrc \
    && echo "export LD_LIBRARY_PATH=/home/etsi/dev/etsi_its/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 \
garciay's avatar
garciay committed
80
    && mkdir -p bin lib include tmp frameworks docs man dev \
Yann Garcia's avatar
Yann Garcia committed
81
82
    && chown etsi:etsi bin lib include tmp frameworks docs man dev \
    && echo "etsi ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
garciay's avatar
garciay committed
83
84
85

USER etsi

86
RUN cd /home/etsi/dev \
Yann Garcia's avatar
Yann Garcia committed
87
    && git clone -b STF525 --recurse-submodules https://forge.etsi.org/gitlab/ITS/ITS.git ./STF525_Its \
88
89
    && cd /home/etsi/dev/STF525_Its/ttcn/LibIts \
    && git checkout STF525
garciay's avatar
garciay committed
90
    && cd /home/etsi/dev/STF525_Its/scripts \
garciay's avatar
garciay committed
91
    && chmod 775 *.bash devenv.bash.* \
garciay's avatar
garciay committed
92
    && cd /home/etsi \
garciay's avatar
garciay committed
93
    && ln -sf /home/etsi/dev/STF525_Its/scripts/devenv.bash.ubuntu /home/etsi/devenv.bash \
garciay's avatar
garciay committed
94
    && ls -ltr /home/etsi \
garciay's avatar
garciay committed
95
96
    && export HOME=/home/etsi \
    && cd /home/etsi/frameworks \
garciay's avatar
garciay committed
97
98
99
100
101
102
    && git clone https://github.com/vlm/asn1c.git asn1c \
    && cd asn1c \
    && test -f configure || autoreconf -iv \
    && ./configure \
    && make && sudo make install \
    && cd /home/etsi/frameworks \
garciay's avatar
garciay committed
103
104
105
    && wget '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 \
garciay's avatar
garciay committed
106
107
108
    && . /home/etsi/devenv.bash \
    && cd /home/etsi/dev/STF525_Its/scripts \
    && ./build_titan.bash \
garciay's avatar
garciay committed
109
    && . /home/etsi/devenv.bash \
garciay's avatar
garciay committed
110
111
112
113
    && ./update_its_project.bash \
    && cd ${HOME}/dev/etsi_its/src/TestCodec/objs \
    && ../bin/testcodec_generate_makefile.bash \
    && ../bin/run_all.bash 
garciay's avatar
garciay committed
114
115
116
117

CMD ["/bin/bash"]

# That's all Floks