<p>osmith has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/docker-playground/+/18551">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">centos8-titan: new image<br><br>Similar to debian-stretch-titan, but build eclipse-titan from source as<br>we don't have an rpm package for it. Install libfftranscode by<br>extracting the debian archives.<br><br>Related: OS#4564<br>Change-Id: Ib8f97da937bfa5c3bb91f3436e5bccc5755f6104<br>---<br>A centos8-titan/Dockerfile<br>A centos8-titan/Makefile<br>A centos8-titan/install_libfftranscode.sh<br>3 files changed, 72 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/51/18551/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/centos8-titan/Dockerfile b/centos8-titan/Dockerfile</span><br><span>new file mode 100644</span><br><span>index 0000000..d470f75</span><br><span>--- /dev/null</span><br><span>+++ b/centos8-titan/Dockerfile</span><br><span>@@ -0,0 +1,49 @@</span><br><span style="color: hsl(120, 100%, 40%);">+FROM    centos:centos8</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+RUN   dnf install -y \</span><br><span style="color: hsl(120, 100%, 40%);">+              automake \</span><br><span style="color: hsl(120, 100%, 40%);">+            bison \</span><br><span style="color: hsl(120, 100%, 40%);">+               expect \</span><br><span style="color: hsl(120, 100%, 40%);">+              flex \</span><br><span style="color: hsl(120, 100%, 40%);">+                gcc-c++ \</span><br><span style="color: hsl(120, 100%, 40%);">+             git \</span><br><span style="color: hsl(120, 100%, 40%);">+         libxml2-devel \</span><br><span style="color: hsl(120, 100%, 40%);">+               lksctp-tools-devel \</span><br><span style="color: hsl(120, 100%, 40%);">+          make \</span><br><span style="color: hsl(120, 100%, 40%);">+                nc \</span><br><span style="color: hsl(120, 100%, 40%);">+          ncurses-devel \</span><br><span style="color: hsl(120, 100%, 40%);">+               openssl-devel \</span><br><span style="color: hsl(120, 100%, 40%);">+               python3 \</span><br><span style="color: hsl(120, 100%, 40%);">+             wget \</span><br><span style="color: hsl(120, 100%, 40%);">+                which</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+RUN    git -C /opt clone https://github.com/eclipse/titan.core && \</span><br><span style="color: hsl(120, 100%, 40%);">+  cd /opt/titan.core && \</span><br><span style="color: hsl(120, 100%, 40%);">+       git checkout 6.6.1</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Don't build Java Native Interface</span><br><span style="color: hsl(120, 100%, 40%);">+RUN      cd /opt/titan.core && \</span><br><span style="color: hsl(120, 100%, 40%);">+       echo "JNI := no" >> Makefile.personal && \</span><br><span style="color: hsl(120, 100%, 40%);">+    cat Makefile.personal</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Titan's "make install" installs everything to $PWD/Install, which is good enough for this docker container.</span><br><span style="color: hsl(120, 100%, 40%);">+# https://github.com/eclipse/titan.core/blob/master/README.linux</span><br><span style="color: hsl(120, 100%, 40%);">+# Unfortunately their Makefile breaks with parallel jobs.</span><br><span style="color: hsl(120, 100%, 40%);">+RUN  cd /opt/titan.core && \</span><br><span style="color: hsl(120, 100%, 40%);">+       make && \</span><br><span style="color: hsl(120, 100%, 40%);">+     make install</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Set environment variables</span><br><span style="color: hsl(120, 100%, 40%);">+RUN        echo "old PATH: $PATH" && \</span><br><span style="color: hsl(120, 100%, 40%);">+ echo "old LD_LIBRARY_PATH: $LD_LIBRARY_PATH"</span><br><span style="color: hsl(120, 100%, 40%);">+ENV     PATH=/opt/titan.core/Install/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin</span><br><span style="color: hsl(120, 100%, 40%);">+ENV      LD_LIBRARY_PATH=/opt/titan.core/Install/lib</span><br><span style="color: hsl(120, 100%, 40%);">+ENV        TTCN3_DIR=/opt/titan.core/Install</span><br><span style="color: hsl(120, 100%, 40%);">+ENV  TTCN3_BIN_DIR=/opt/titan.core/Install/bin</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Verify that we can run ttcn3_compiler</span><br><span style="color: hsl(120, 100%, 40%);">+RUN       ttcn3_compiler -v</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# binary-only transcoding library for RANAP/RUA/HNBAP to work around TITAN only implementing BER</span><br><span style="color: hsl(120, 100%, 40%);">+COPY     install_libfftranscode.sh /opt</span><br><span style="color: hsl(120, 100%, 40%);">+RUN     sh -ex /opt/install_libfftranscode.sh</span><br><span>diff --git a/centos8-titan/Makefile b/centos8-titan/Makefile</span><br><span>new file mode 100644</span><br><span>index 0000000..8d0e10b</span><br><span>--- /dev/null</span><br><span>+++ b/centos8-titan/Makefile</span><br><span>@@ -0,0 +1 @@</span><br><span style="color: hsl(120, 100%, 40%);">+include ../make/Makefile</span><br><span>diff --git a/centos8-titan/install_libfftranscode.sh b/centos8-titan/install_libfftranscode.sh</span><br><span>new file mode 100644</span><br><span>index 0000000..dc96564</span><br><span>--- /dev/null</span><br><span>+++ b/centos8-titan/install_libfftranscode.sh</span><br><span>@@ -0,0 +1,22 @@</span><br><span style="color: hsl(120, 100%, 40%);">+#!/bin/sh -ex</span><br><span style="color: hsl(120, 100%, 40%);">+# Hack: extract contents of libfftranscode debian archives to /</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+pkgver=0.1</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+cd /opt</span><br><span style="color: hsl(120, 100%, 40%);">+wget https://ftp.osmocom.org/binaries/libfftranscode/libfftranscode0_${pkgver}_amd64.deb</span><br><span style="color: hsl(120, 100%, 40%);">+wget https://ftp.osmocom.org/binaries/libfftranscode/libfftranscode-dev_${pkgver}_amd64.deb</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+for i in /opt/*.deb; do</span><br><span style="color: hsl(120, 100%, 40%);">+  mkdir /tmp/extract</span><br><span style="color: hsl(120, 100%, 40%);">+    cd /tmp/extract</span><br><span style="color: hsl(120, 100%, 40%);">+       ar x "$i"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ cd /</span><br><span style="color: hsl(120, 100%, 40%);">+  tar -xvf /tmp/extract/data.tar.xz</span><br><span style="color: hsl(120, 100%, 40%);">+     rm -r /tmp/extract</span><br><span style="color: hsl(120, 100%, 40%);">+done</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+rm /opt/*.deb</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ldconfig</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/docker-playground/+/18551">change 18551</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/docker-playground/+/18551"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: docker-playground </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Ib8f97da937bfa5c3bb91f3436e5bccc5755f6104 </div>
<div style="display:none"> Gerrit-Change-Number: 18551 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: osmith <osmith@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>