5 # Copyright (C) 2019 AT&T Intellectual Property and Nokia
7 # Licensed under the Apache License, Version 2.0 (the "License");
8 # you may not use this file except in compliance with the License.
9 # You may obtain a copy of the License at
11 # http://www.apache.org/licenses/LICENSE-2.0
13 # Unless required by applicable law or agreed to in writing, software
14 # distributed under the License is distributed on an "AS IS" BASIS,
15 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 # See the License for the specific language governing permissions and
17 # limitations under the License.
19 # Installs NNG from source and RMR from PackageCloud on Ubuntu18.04
20 # Reads RMR version number from repo file rmr-version.yaml
22 echo "---> install-deb-nng-rmr.sh"
26 echo "Install packages"
27 sudo apt-get update && \
28 sudo apt-get install -y \
32 echo "INFO: cd to tox-dir $TOX_DIR"
33 cd "$WORKSPACE/$TOX_DIR"
35 version_file=rmr-version.yaml
36 if [[ -f $version_file ]]; then
37 # pipeline is less elegant than yq but that requires venv and pip install
38 ver=$(grep "^version:" "$version_file" | cut -d: -f2 | xargs )
40 echo "File $version_file not found."
43 if [[ -z $ver ]]; then
44 echo "Failed to get RMR version string from file $version_file"
47 echo "RMR version string is ${ver}"
50 # NNG repo is not frequently tagged so it's pinned to a commit hash.
51 # This commit provides fix to the proxy-reconnect
52 # bug that we identified: https://github.com/nanomsg/nng/issues/970
53 echo "Clone and build NNG"
54 git clone https://github.com/nanomsg/nng.git
56 && git checkout e618abf8f3db2a94269a79c8901a51148d48fcc2 \
59 && cmake -DBUILD_SHARED_LIBS=1 -G Ninja .. \
61 && sudo ninja install)
63 deb="rmr_${ver}_amd64.deb"
64 echo "Download RMR library ${ver} as file ${deb}"
65 wget -nv --content-disposition https://packagecloud.io/o-ran-sc/staging/packages/debian/stretch/${deb}/download.deb
66 echo "Install RMR library file ${deb}"
70 echo "---> install-deb-nng-rmr.sh ends"