Add PyPI templates for RMR python binding
[ci-management.git] / jjb / shell / install-rpm-nng-rmr.sh
1 #!/bin/bash
2
3 # O-RAN-SC
4 #
5 # Copyright (C) 2019 AT&T Intellectual Property and Nokia
6 #
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
10 #
11 #      http://www.apache.org/licenses/LICENSE-2.0
12 #
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.
18
19 # Installs NNG from source and RMR from PackageCloud on CentOS7
20 # Reads RMR version number from repo file rmr-version.yaml
21
22 echo "---> install-rpm-nng-rmr.sh"
23
24 set -eu
25
26 echo "Install packages"
27 sudo yum install -y \
28     cmake3 \
29     ninja-build
30
31 echo "INFO: cd to tox-dir $TOX_DIR"
32 cd "$WORKSPACE/$TOX_DIR"
33
34 version_file=rmr-version.yaml
35 if [[ -f $version_file ]]; then
36     # pipeline is less elegant than yq but that requires venv and pip install
37     ver=$(grep "^version:" "$version_file" | cut -d: -f2 | xargs )
38 else
39     echo "File $version_file not found."
40     exit 1
41 fi
42 if [[ -z $ver ]]; then
43     echo "Failed to get RMR version string from file $version_file"
44     exit 1
45 else
46     echo "RMR version string is ${ver}"
47 fi
48
49 # NNG repo is not frequently tagged so it's pinned to a commit hash.
50 # This commit provides fix to the proxy-reconnect
51 # bug that we identified:  https://github.com/nanomsg/nng/issues/970
52 echo "Clone and build NNG"
53 git clone https://github.com/nanomsg/nng.git
54 (cd nng \
55     && git checkout e618abf8f3db2a94269a79c8901a51148d48fcc2 \
56     && mkdir build \
57     && cd build \
58     && cmake3 -DBUILD_SHARED_LIBS=1 -G Ninja .. \
59     && ninja-build \
60     && sudo ninja-build install)
61
62 # RPM packager adds suffix "-1" to version
63 rpm="rmr-${ver}-1.x86_64.rpm"
64 echo "Download RMR library ${ver} as file ${rpm}"
65 wget --content-disposition https://packagecloud.io/o-ran-sc/staging/packages/el/5/${rpm}/download.rpm
66 echo "Install RMR library file ${rpm}"
67 sudo rpm -iv ${rpm}
68
69 echo "---> install-rpm-nng-rmr.sh ends"